[arch-commits] Commit in postorius/trunk (5 files)

David Runge dvzrv at archlinux.org
Sat Feb 1 23:52:07 UTC 2020


    Date: Saturday, February 1, 2020 @ 23:52:07
  Author: dvzrv
Revision: 561202

upgpkg: postorius 1.3.2-2: Changing to correct dir in uwsgi config. Patching global FHS paths in settings.py specifically.
Installing state dir and log dir more restrictively. Using .install file to explain post-install/upgrade steps.

Added:
  postorius/trunk/postorius.install
Modified:
  postorius/trunk/PKGBUILD
  postorius/trunk/postorius-1.3.2-settings.patch
  postorius/trunk/postorius.tmpfiles
  postorius/trunk/postorius.uwsgi

--------------------------------+
 PKGBUILD                       |   24 +++++++++++++++---------
 postorius-1.3.2-settings.patch |   28 ++++++++++------------------
 postorius.install              |    9 +++++++++
 postorius.tmpfiles             |    6 ++++--
 postorius.uwsgi                |    5 +++--
 5 files changed, 41 insertions(+), 31 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2020-02-01 23:24:40 UTC (rev 561201)
+++ PKGBUILD	2020-02-01 23:52:07 UTC (rev 561202)
@@ -2,7 +2,7 @@
 
 pkgname=postorius
 pkgver=1.3.2
-pkgrel=1
+pkgrel=2
 pkgdesc="The New Mailman Web UI"
 arch=('any')
 url="https://gitlab.com/mailman/postorius"
@@ -12,10 +12,12 @@
 makedepends=('python-setuptools')
 checkdepends=('mailman3' 'python-beautifulsoup4' 'python-isort' 'python-mock'
 'python-pytest' 'python-pytest-django' 'python-vcrpy')
-optdepends=('uwsgi-plugin-python: for running inside uwsgi')
+optdepends=('mailman3: for configuring a local mailman instance'
+            'uwsgi-plugin-python: for running inside uwsgi')
 replaces=('python-django-postorius')
 backup=("etc/uwsgi/${pkgname}.ini"
         "etc/webapps/${pkgname}/settings.py")
+install="${pkgname}.install"
 source=("https://files.pythonhosted.org/packages/source/${pkgname::1}/${pkgname}/${pkgname}-${pkgver}.tar.gz"{,.asc}
         "${pkgname}.sysusers"
         "${pkgname}.tmpfiles"
@@ -24,9 +26,9 @@
 sha512sums=('41ff225fa574dd4bd0ac88419a10a55a71c52a64df01a1a593963fdfa62baf16a0df735364688ea24680c8e88093841892474279d40c1428948375db7eb6333b'
             'SKIP'
             '3884b818da2deb148279e50316f720c95f0aaa529777b1b3662d8ab253cda823a90682a9eb47e941ca5ba80eefcb9a2d4afacd29f0340d7f9828b36ebcee23b3'
-            '0be8c2bac3feb69519a8d7039002b43b7a705db638d7385b925a4c9fd6ba70d4707954872cabbe5fab2176f48d48fabd8f31338064bb630d02ad1380536915c4'
-            'f7ec287cac22679166398f53b6db440f0defa022554dd8997092b99eab972bb8ba8d158e7415da939645d2e5ff298e496eb46011c6391b9857e6405c9f0c2c47'
-            '811d52a246d55c900ee07cdb7572410aebc7eff05261166287c196ae9994079ee3e925bbf5e539155ecf452328316ae8dac2176dfb4398df1acb519a2accf0b8')
+            '0fe9517bb56c241d38e97e0141e499480760b3c6e786e78a4e6f5825fc319a4b518649a2457a5a224e49decaeb0340cbb0929ec82d51b66afe9cce7f9d270f1d'
+            'c042f00d0d8dc72dadd19023152e55246c4d7a4b9d53bca3a05e7b8cb38cac5116417440d4ae82350820c7cb0cd414dcce45fa6af9be19296c4ebd0862dba896'
+            '589b000789375a1669eaa165c904e27fec097802fca39b4469b61cac6b615031a2ca6ece63f32cfd78f91ef249b0b15ec43c6ce6130166e7c127ef3d717e02f2')
 validpgpkeys=('541EA0448453394FF77A0ECC9D9B2BA061D0A67C') # Abhilash Raj <raj.abhilash1 at gmail.com>
 
 prepare() {
@@ -52,7 +54,6 @@
 
 package() {
   cd "$pkgname-$pkgver"
-  local python_stdlib_basepath="$(python -c "from sysconfig import get_path; print(get_path('stdlib'))")"
   python setup.py install --skip-build \
     --optimize=1 \
     --prefix=/usr \
@@ -60,11 +61,16 @@
   # django project
   install -vDm 644 example_project/{__init__,manage,urls,wsgi}.py \
     -t "${pkgdir}/usr/share/webapps/${pkgname}"
-  # symlink locale and static files (instead of generating them)
-  ln -svf "$python_stdlib_basepath/site-packages/${pkgname}/locale/" \
+  # symlink locale and static dirs to state dir
+  ln -svf "/var/lib//${pkgname}/locale/" \
     "${pkgdir}/usr/share/webapps/${pkgname}"
-  ln -svf "$python_stdlib_basepath/site-packages/${pkgname}/static/" \
+  ln -svf "/var/lib/${pkgname}/static/" \
     "${pkgdir}/usr/share/webapps/${pkgname}"
+  # state dir
+  install -vdm 750 "${pkgdir}/var/lib/${pkgname}"
+  install -vdm 755 "${pkgdir}/var/lib/${pkgname}/"{locale,static}
+  # log dir
+  install -vdm 750 "${pkgdir}/var/log/${pkgname}"
   # config
   install -vDm 640 example_project/settings.py \
     -t "${pkgdir}/etc/webapps/${pkgname}"

Modified: postorius-1.3.2-settings.patch
===================================================================
--- postorius-1.3.2-settings.patch	2020-02-01 23:24:40 UTC (rev 561201)
+++ postorius-1.3.2-settings.patch	2020-02-01 23:52:07 UTC (rev 561202)
@@ -1,39 +1,31 @@
-diff -ruN a/example_project/settings.py b/example_project/settings.py
---- a/example_project/settings.py	2019-04-22 07:45:09.000000000 +0200
-+++ b/example_project/settings.py	2020-01-13 23:13:35.505547214 +0100
-@@ -33,7 +33,7 @@
- from django.contrib.messages import constants as messages
- 
- 
--BASE_DIR = os.path.dirname(os.path.abspath(__file__))
-+BASE_DIR = '/'
- 
- 
- # Quick-start development settings - unsuitable for production
-@@ -136,7 +136,7 @@
+diff --git c/example_project/settings.py w/example_project/settings.py
+index c54af7e..d05535b 100644
+--- c/example_project/settings.py
++++ w/example_project/settings.py
+@@ -136,7 +136,7 @@ WSGI_APPLICATION = 'wsgi.application'
  DATABASES = {
      'default': {
          'ENGINE': 'django.db.backends.sqlite3',
 -        'NAME': os.path.join(BASE_DIR, 'postorius.db'),
-+        'NAME': os.path.join(BASE_DIR, '/var/lib/', 'postorius.db'),
++        'NAME': '/var/lib/postorius/postorius.db',
      }
  }
  
-@@ -180,7 +180,7 @@
+@@ -180,7 +180,7 @@ USE_TZ = True
  # Don't put anything in this directory yourself; store your static files
  # in apps' "static/" subdirectories and in STATICFILES_DIRS.
  # Example: "/var/www/example.com/static/"
 -STATIC_ROOT = os.path.join(BASE_DIR, 'static')
-+STATIC_ROOT = os.path.join(BASE_DIR, '/usr/share/webapps/postorius', 'static')
++STATIC_ROOT = '/var/lib/postorius/static'
  
  # URL prefix for static files.
  # Example: "http://example.com/static/", "http://static.example.com/"
-@@ -259,7 +259,7 @@
+@@ -259,7 +259,7 @@ LOGGING = {
              'level': 'INFO',
              #'class': 'logging.handlers.RotatingFileHandler',
              'class': 'logging.handlers.WatchedFileHandler',
 -            'filename': os.path.join(BASE_DIR, 'logs', 'postorius.log'),
-+            'filename': os.path.join(BASE_DIR, '/var/log/postorius/', 'postorius.log'),
++            'filename': '/var/log/postorius/postorius.log',
              'formatter': 'verbose',
          },
      },

Added: postorius.install
===================================================================
--- postorius.install	                        (rev 0)
+++ postorius.install	2020-02-01 23:52:07 UTC (rev 561202)
@@ -0,0 +1,9 @@
+post_install() {
+  echo "Run the following to create/migrate the database:"
+  echo "sudo -u postorius django-admin migrate --pythonpath /usr/share/webapps/postorius/ --settings settings"
+}
+
+post_upgrade() {
+  echo "Run the following to update static files and compress them:"
+  echo "sudo -u postorius django-admin collectstatic --pythonpath /usr/share/webapps/postorius --settings settings"
+}

Modified: postorius.tmpfiles
===================================================================
--- postorius.tmpfiles	2020-02-01 23:24:40 UTC (rev 561201)
+++ postorius.tmpfiles	2020-02-01 23:52:07 UTC (rev 561202)
@@ -1,4 +1,6 @@
 z /etc/webapps/postorius/settings.py 0640 root postorius -
-d %L/postorius - postorius postorius -
-d %S/postorius - postorius postorius -
+d %L/postorius 750 postorius postorius -
+d %S/postorius 750 postorius postorius -
+d %S/postorius/static - postorius postorius -
+d %S/postorius/locale - postorius postorius -
 d %t/postorius - postorius postorius -

Modified: postorius.uwsgi
===================================================================
--- postorius.uwsgi	2020-02-01 23:24:40 UTC (rev 561201)
+++ postorius.uwsgi	2020-02-01 23:52:07 UTC (rev 561202)
@@ -11,7 +11,8 @@
 cheaper-step = 1
 idle = 120
 die-on-idle = true
-chdir = /usr/share/webapps
-module = postorius.wsgi
+chdir = /usr/share/webapps/postorius
+module = wsgi
 home = /
+touch-reload = %p
 vacuum = true



More information about the arch-commits mailing list