[arch-commits] Commit in pgadmin4/repos/community-x86_64 (10 files)

Levente Polyak anthraxx at archlinux.org
Wed Dec 19 21:29:11 UTC 2018


    Date: Wednesday, December 19, 2018 @ 21:29:11
  Author: anthraxx
Revision: 416787

archrelease: copy trunk to community-x86_64

Added:
  pgadmin4/repos/community-x86_64/PKGBUILD
    (from rev 416786, pgadmin4/trunk/PKGBUILD)
  pgadmin4/repos/community-x86_64/config_distro.py
    (from rev 416786, pgadmin4/trunk/config_distro.py)
  pgadmin4/repos/community-x86_64/config_local.py
    (from rev 416786, pgadmin4/trunk/config_local.py)
  pgadmin4/repos/community-x86_64/pgAdmin4.desktop
    (from rev 416786, pgadmin4/trunk/pgAdmin4.desktop)
  pgadmin4/repos/community-x86_64/pgadmin4-compatibility-with-python3-pycryptodome.patch
    (from rev 416786, pgadmin4/trunk/pgadmin4-compatibility-with-python3-pycryptodome.patch)
  pgadmin4/repos/community-x86_64/pgadmin4-python-de-vendor-venv-paths.patch
    (from rev 416786, pgadmin4/trunk/pgadmin4-python-de-vendor-venv-paths.patch)
Deleted:
  pgadmin4/repos/community-x86_64/PKGBUILD
  pgadmin4/repos/community-x86_64/config_distro.py
  pgadmin4/repos/community-x86_64/config_local.py
  pgadmin4/repos/community-x86_64/pgAdmin4.desktop

--------------------------------------------------------+
 PKGBUILD                                               |  219 ++++++++-------
 config_distro.py                                       |    4 
 pgAdmin4.desktop                                       |   22 -
 pgadmin4-compatibility-with-python3-pycryptodome.patch |   45 +++
 pgadmin4-python-de-vendor-venv-paths.patch             |   33 ++
 5 files changed, 220 insertions(+), 103 deletions(-)

Deleted: PKGBUILD
===================================================================
--- PKGBUILD	2018-12-19 21:29:03 UTC (rev 416786)
+++ PKGBUILD	2018-12-19 21:29:11 UTC (rev 416787)
@@ -1,90 +0,0 @@
-# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
-# Maintainer: Jerome Leclanche <jerome at leclan.ch>
-
-pkgname=pgadmin4
-pkgver=3.5
-pkgrel=1
-pkgdesc='Comprehensive design and management interface for PostgreSQL'
-url='https://www.pgadmin.org/'
-arch=('x86_64')
-license=('custom')
-depends=('qt5-base' 'python' 'python-psycopg2' 'postgresql-libs' 'hicolor-icon-theme')
-makedepends=('python-setuptools' 'imagemagick')
-source=(https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v${pkgver}/source/${pkgname}-${pkgver}.tar.gz{,.asc}
-        pgAdmin4.desktop
-        config_distro.py
-        config_local.py)
-validpgpkeys=('E8697E2EEF76C02D3A6332778881B2A8210976F2') # Package Manager (Package Signing Key) <packages at pgadmin.org>
-sha512sums=('6971c003a39fdd2f279fa7a652a32e1554d17d1794fa0b84c4aa3394ab128efbb44299890bd69b07a0ca926d918668fba124f99f3d7271c60ee70616eedd6d1c'
-            'SKIP'
-            'b19dda3331585010c759099eb09f4db288ce4cd3d36882b56748e1e3756dc7bee2899d7438d496280498ec6a60f6e1ba90309d49fc599403f1fdc7e8817b6645'
-            '16d00dc2095904a6b12da7039458f632873829ad98d4d7653eac5804032ba92097ccae4488d56467d0ea9bd64e2654a3dead73eb7924c947ff1737ff6e3b4745'
-            'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e')
-
-prepare() {
-  cd "${pkgname}-${pkgver}"
-  local PYTHONVERSION="$(python -c 'import sys; print("{}.{}".format(sys.version_info.major, sys.version_info.minor))')"
-  sed 's|value("PythonPath")|value("PythonPath", "/usr/lib/pgadmin4/venv/lib/python'${PYTHONVERSION}'/site-packages:/usr/lib/python'${PYTHONVERSION}'/site-packages:/usr/lib/python'${PYTHONVERSION}'")|g' -i runtime/{pgAdmin4.cpp,Server.cpp,TrayIcon.cpp}
-  sed -r 's|(venv/lib/python)|\1'${PYTHONVERSION}'|g' -i runtime/Server.cpp
-}
-
-
-build() {
-  export LANG=en_US.UTF-8
-  export LC_ALL=en_US.UTF-8
-
-  cd ${pkgname}-${pkgver}
-  convert +set date:create +set date:modify runtime/pgAdmin4.{ico,png}
-
-  python -m venv ./venv
-  venv/bin/python -m pip install -r requirements.txt
-
-  python -m venv ./venv-docs
-  venv-docs/bin/python -m pip install -r requirements.txt
-  venv-docs/bin/python -m pip install sphinx
-
-  PATH="${srcdir}/${pkgname}-${pkgver}/venv-docs/bin:${PATH}" make docs
-
-  cd runtime
-  qmake CONFIG+=release
-  make
-}
-
-
-package() {
-  cd "${pkgname}-${pkgver}"
-
-  install -Dm 755 runtime/pgAdmin4 "${pkgdir}/usr/lib/pgadmin4/runtime/pgAdmin4"
-
-  cp -a docs web "${pkgdir}/usr/lib/pgadmin4"
-  cp -a venv "${pkgdir}/usr/lib/pgadmin4/venv"
-
-  install -Dm 644 "${srcdir}"/config_{distro,local}.py -t "${pkgdir}/usr/lib/pgadmin4/web"
-
-  ### fixup some python wonkyness
-  local PYTHONVERSION="$(python -c 'import sys; print("{}.{}".format(sys.version_info.major, sys.version_info.minor))')"
-  rm -r "${pkgdir}/usr/lib/pgadmin4/venv/lib/python${PYTHONVERSION}/site-packages/psycopg2"
-  ln -s /usr/lib/python${PYTHONVERSION}/lib-dynload "${pkgdir}/usr/lib/pgadmin4/venv/lib/python${PYTHONVERSION}/lib-dynload"
-
-  ### Launcher
-  install -Dm 644 runtime/pgAdmin4-0.png "${pkgdir}/usr/share/icons/hicolor/256x256/apps/pgAdmin4.png"
-  install -Dm 644 runtime/pgAdmin4-1.png "${pkgdir}/usr/share/icons/hicolor/48x48/apps/pgAdmin4.png"
-  install -Dm 644 runtime/pgAdmin4-2.png "${pkgdir}/usr/share/icons/hicolor/32x32/apps/pgAdmin4.png"
-  install -Dm 644 runtime/pgAdmin4-3.png "${pkgdir}/usr/share/icons/hicolor/16x16/apps/pgAdmin4.png"
-  install -Dm 644 "${srcdir}/pgAdmin4.desktop" -t "${pkgdir}/usr/share/applications"
-
-  install -D /dev/stdin "${pkgdir}/usr/bin/pgadmin4" <<END
-#!/bin/sh
-cd /usr/lib/pgadmin4
-exec runtime/pgAdmin4 "\$@"
-END
-  install -D /dev/stdin "${pkgdir}/usr/bin/pgadmin4-server" <<END
-#!/bin/sh
-cd /usr/lib/pgadmin4
-PYTHONPATH="/usr/lib/pgadmin4/venv/lib/python${PYTHONVERSION}/site-packages" python web/pgAdmin4.py "\$@"
-END
-
-  install -Dm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
-}
-
-# vim: ts=2 sw=2 et:

Copied: pgadmin4/repos/community-x86_64/PKGBUILD (from rev 416786, pgadmin4/trunk/PKGBUILD)
===================================================================
--- PKGBUILD	                        (rev 0)
+++ PKGBUILD	2018-12-19 21:29:11 UTC (rev 416787)
@@ -0,0 +1,129 @@
+# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
+# Maintainer: Jerome Leclanche <jerome at leclan.ch>
+
+pkgname=pgadmin4
+pkgver=3.6
+pkgrel=1
+pkgdesc='Comprehensive design and management interface for PostgreSQL'
+url='https://www.pgadmin.org/'
+arch=('x86_64')
+license=('custom')
+depends=('qt5-base' 'postgresql-libs' 'hicolor-icon-theme'
+         'python' 'python-blinker' 'python-extras' 'python-fixtures'
+         'python-flask' 'python-flask-login' 'python-flask-migrate'
+         'python-flask-sqlalchemy' 'python-flask-wtf' 'python-html5lib'
+         'python-passlib' 'python-mimeparse' 'python-pytz' 'python-simplejson'
+         'python-six' 'python-speaklater' 'python-sqlparse' 'python-wtforms'
+         'python-psutil' 'python-jinja' 'python-paramiko' 'python-psycopg2'
+         'python-pycryptodome' 'python-sqlalchemy' 'python-testtools'
+         'python-webencodings' 'python-werkzeug' 'python-dateutil'
+         'python-pyrsistent' 'python-pbr' 'python-flask-gravatar'
+         'python-flask-mail' 'python-flask-principal' 'python-flask-paranoid'
+         'python-htmlmin' 'python-flask-htmlmin' 'python-sshtunnel'
+         'python-flask-security')
+makedepends=('python-setuptools' 'python-sphinx' 'imagemagick')
+source=(https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v${pkgver}/source/${pkgname}-${pkgver}.tar.gz{,.asc}
+        pgAdmin4.desktop
+        config_distro.py
+        config_local.py
+        pgadmin4-compatibility-with-python3-pycryptodome.patch
+        pgadmin4-python-de-vendor-venv-paths.patch)
+validpgpkeys=('E8697E2EEF76C02D3A6332778881B2A8210976F2') # Package Manager (Package Signing Key) <packages at pgadmin.org>
+sha512sums=('565867a8a1d925fd5b3a24a6ef58bf98508321d4a4ebe404090defc03a67c8e22b7367ba049b6ec6a9a6c33de220bce3f281df4bc9a6cdd41d408507ebcceeee'
+            'SKIP'
+            'b19dda3331585010c759099eb09f4db288ce4cd3d36882b56748e1e3756dc7bee2899d7438d496280498ec6a60f6e1ba90309d49fc599403f1fdc7e8817b6645'
+            '16d00dc2095904a6b12da7039458f632873829ad98d4d7653eac5804032ba92097ccae4488d56467d0ea9bd64e2654a3dead73eb7924c947ff1737ff6e3b4745'
+            'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e'
+            '37f47723ed4ce4a2fef5e400eefb77a3c5dfe8e51ba749dad1c91c403379a02b0bfdf78086bd9fc33c5e9e6fbe8462f7b6103bcfb992ba0c3dcfca919d9eb985'
+            '70c8e589421ab50cf81753fbcfb5df65669b0feeefa3a57ee574b3785424fd107af720fc7007e52876798a46fae88f2c02dbf156aa096397afa0f85ac04fdb76')
+
+prepare() {
+  cd ${pkgname}-${pkgver}
+
+  patch -Np1 < ../pgadmin4-compatibility-with-python3-pycryptodome.patch
+  patch -Np1 < ../pgadmin4-python-de-vendor-venv-paths.patch
+
+  local PYTHONVERSION="$(python -c 'import sys; print(f"{sys.version_info.major}.{sys.version_info.minor}")')"
+  sed -E "s|/usr/pgadmin4/web|/usr/lib/pgadmin4/web|g;
+          s|/usr/pgadmin4/lib/python[0-9\\.]+|/usr/lib/python${PYTHONVERSION}|g" \
+      -i runtime/ConfigWindow.ui
+  sed "s|##PYTHONVERSION##|${PYTHONVERSION}|g" -i runtime/Server.cpp
+
+  sed -E -i requirements.txt \
+    -e '/blinker>?=/d' \
+    -e '/extras>?=/d' \
+    -e '/fixtures>?=/d' \
+    -e '/Flask>?=/d' \
+    -e '/Flask-Login>?=/d' \
+    -e '/Flask-Migrate>?=/d' \
+    -e '/Flask-SQLAlchemy>?=/d' \
+    -e '/Flask-WTF>?=/d' \
+    -e '/html5lib>?=/d' \
+    -e '/pycrypto>?=/d' \
+    -e '/passlib>?=/d' \
+    -e '/python-mimeparse>?=/d' \
+    -e '/pytz>?=/d' \
+    -e '/simplejson>?=/d' \
+    -e '/six>?=/d' \
+    -e '/speaklater>?=/d' \
+    -e '/sqlparse>?=/d' \
+    -e '/WTForms>?=/d' \
+    -e '/psutil>?=/d' \
+    -e '/psycopg2>?=/d' \
+    -e '/python-dateutil>?=/d' \
+    -e '/SQLAlchemy>?=/d' \
+    -e '/pyrsistent>?=/d' \
+    -e '/pbr>?=/d' \
+    -e '/linecache2>?=/d' \
+    -e '/Flask-Gravatar>?=/d' \
+    -e '/Flask-Mail>?=/d' \
+    -e '/Flask-Principal>?=/d' \
+    -e '/Flask-Paranoid>?=/d' \
+    -e '/htmlmin>?=/d' \
+    -e '/Flask-Security>?=/d' \
+    -e '/Flask-HTMLmin>?=/d' \
+    -e '/sshtunnel>?=/d'
+  cat requirements.txt
+}
+
+build() {
+  export LANG=en_US.UTF-8
+  export LC_ALL=en_US.UTF-8
+
+  cd ${pkgname}-${pkgver}
+  convert +set date:create +set date:modify runtime/pgAdmin4.{ico,png}
+  make docs
+
+  cd runtime
+  qmake CONFIG+=release
+  make
+}
+
+package() {
+  cd ${pkgname}-${pkgver}
+
+  install -Dm 755 runtime/pgAdmin4 "${pkgdir}/usr/lib/pgadmin4/runtime/pgAdmin4"
+  cp -a docs web "${pkgdir}/usr/lib/pgadmin4"
+  install -Dm 644 "${srcdir}"/config_{distro,local}.py -t "${pkgdir}/usr/lib/pgadmin4/web"
+
+  install -Dm 644 runtime/pgAdmin4-0.png "${pkgdir}/usr/share/icons/hicolor/256x256/apps/pgAdmin4.png"
+  install -Dm 644 runtime/pgAdmin4-1.png "${pkgdir}/usr/share/icons/hicolor/48x48/apps/pgAdmin4.png"
+  install -Dm 644 runtime/pgAdmin4-2.png "${pkgdir}/usr/share/icons/hicolor/32x32/apps/pgAdmin4.png"
+  install -Dm 644 runtime/pgAdmin4-3.png "${pkgdir}/usr/share/icons/hicolor/16x16/apps/pgAdmin4.png"
+  install -Dm 644 "${srcdir}/pgAdmin4.desktop" -t "${pkgdir}/usr/share/applications"
+
+  install -D /dev/stdin "${pkgdir}/usr/bin/pgadmin4" <<END
+#!/bin/sh
+cd /usr/lib/pgadmin4
+exec runtime/pgAdmin4 "\$@"
+END
+  install -D /dev/stdin "${pkgdir}/usr/bin/pgadmin4-server" <<END
+#!/bin/sh
+cd /usr/lib/pgadmin4
+python web/pgAdmin4.py "\$@"
+END
+
+  install -Dm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
+}
+
+# vim: ts=2 sw=2 et:

Deleted: config_distro.py
===================================================================
--- config_distro.py	2018-12-19 21:29:03 UTC (rev 416786)
+++ config_distro.py	2018-12-19 21:29:11 UTC (rev 416787)
@@ -1,2 +0,0 @@
-SERVER_MODE = False
-HELP_PATH = "/usr/lib/pgadmin4/docs/en_US/_build/html/"

Copied: pgadmin4/repos/community-x86_64/config_distro.py (from rev 416786, pgadmin4/trunk/config_distro.py)
===================================================================
--- config_distro.py	                        (rev 0)
+++ config_distro.py	2018-12-19 21:29:11 UTC (rev 416787)
@@ -0,0 +1,2 @@
+SERVER_MODE = False
+HELP_PATH = "/usr/lib/pgadmin4/docs/en_US/_build/html/"

Deleted: config_local.py
===================================================================
Copied: pgadmin4/repos/community-x86_64/config_local.py (from rev 416786, pgadmin4/trunk/config_local.py)
===================================================================
Deleted: pgAdmin4.desktop
===================================================================
--- pgAdmin4.desktop	2018-12-19 21:29:03 UTC (rev 416786)
+++ pgAdmin4.desktop	2018-12-19 21:29:11 UTC (rev 416787)
@@ -1,11 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Name=pgAdmin 4
-Exec=/usr/lib/pgadmin4/runtime/pgAdmin4
-Icon=pgAdmin4
-Type=Application
-Categories=Application;Development;Database;
-MimeType=text/html
-DocPath=/usr/lib/pgadmin4/docs/en_US/_build/html/index.html
-Comment=PostgreSQL Tools
-Keywords=database;db;sql;query;administration;development;

Copied: pgadmin4/repos/community-x86_64/pgAdmin4.desktop (from rev 416786, pgadmin4/trunk/pgAdmin4.desktop)
===================================================================
--- pgAdmin4.desktop	                        (rev 0)
+++ pgAdmin4.desktop	2018-12-19 21:29:11 UTC (rev 416787)
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=pgAdmin 4
+Exec=/usr/lib/pgadmin4/runtime/pgAdmin4
+Icon=pgAdmin4
+Type=Application
+Categories=Application;Development;Database;
+MimeType=text/html
+DocPath=/usr/lib/pgadmin4/docs/en_US/_build/html/index.html
+Comment=PostgreSQL Tools
+Keywords=database;db;sql;query;administration;development;

Copied: pgadmin4/repos/community-x86_64/pgadmin4-compatibility-with-python3-pycryptodome.patch (from rev 416786, pgadmin4/trunk/pgadmin4-compatibility-with-python3-pycryptodome.patch)
===================================================================
--- pgadmin4-compatibility-with-python3-pycryptodome.patch	                        (rev 0)
+++ pgadmin4-compatibility-with-python3-pycryptodome.patch	2018-12-19 21:29:11 UTC (rev 416787)
@@ -0,0 +1,45 @@
+From 058fe07217d40551195f0d54e9f76c9a20c13d91 Mon Sep 17 00:00:00 2001
+From: anthraxx <levente at leventepolyak.net>
+Date: Tue, 13 Nov 2018 17:54:21 +0100
+Subject: [PATCH] compatibility with python3 pycryptodome
+
+---
+ web/pgadmin/utils/crypto.py                     | 4 ++--
+ web/pgadmin/utils/driver/psycopg2/connection.py | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/web/pgadmin/utils/crypto.py b/web/pgadmin/utils/crypto.py
+index 8350f7a1..74633493 100644
+--- a/web/pgadmin/utils/crypto.py
++++ b/web/pgadmin/utils/crypto.py
+@@ -28,12 +28,12 @@ def encrypt(plaintext, key):
+     """
+ 
+     iv = Random.new().read(AES.block_size)
+-    cipher = AES.new(pad(key), AES.MODE_CFB, iv)
++    cipher = AES.new(pad(key.encode('utf-8')), AES.MODE_CFB, iv)
+     # If user has entered non ascii password (Python2)
+     # we have to encode it first
+     if hasattr(str, 'decode'):
+         plaintext = plaintext.encode('utf-8')
+-    encrypted = base64.b64encode(iv + cipher.encrypt(plaintext))
++    encrypted = base64.b64encode(iv + cipher.encrypt(plaintext.encode('utf-8')))
+ 
+     return encrypted
+ 
+diff --git a/web/pgadmin/utils/driver/psycopg2/connection.py b/web/pgadmin/utils/driver/psycopg2/connection.py
+index 4f11c12b..e5fdd31f 100644
+--- a/web/pgadmin/utils/driver/psycopg2/connection.py
++++ b/web/pgadmin/utils/driver/psycopg2/connection.py
+@@ -256,7 +256,7 @@ class Connection(BaseConnection):
+                 return False, gettext("Unauthorized request.")
+ 
+             try:
+-                password = decrypt(encpass, user.password)
++                password = decrypt(encpass, user.password.encode('utf-8'))
+                 # Handling of non ascii password (Python2)
+                 if hasattr(str, 'decode'):
+                     password = password.decode('utf-8').encode('utf-8')
+-- 
+2.19.1
+

Copied: pgadmin4/repos/community-x86_64/pgadmin4-python-de-vendor-venv-paths.patch (from rev 416786, pgadmin4/trunk/pgadmin4-python-de-vendor-venv-paths.patch)
===================================================================
--- pgadmin4-python-de-vendor-venv-paths.patch	                        (rev 0)
+++ pgadmin4-python-de-vendor-venv-paths.patch	2018-12-19 21:29:11 UTC (rev 416787)
@@ -0,0 +1,33 @@
+From 8d3c335b578e7c33942a92194f01ad95c227809f Mon Sep 17 00:00:00 2001
+From: anthraxx <levente at leventepolyak.net>
+Date: Wed, 19 Dec 2018 01:10:25 +0100
+Subject: [PATCH] python: de-vendor venv paths
+
+---
+ runtime/Server.cpp | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/runtime/Server.cpp b/runtime/Server.cpp
+index 15344c11..203fe1a9 100644
+--- a/runtime/Server.cpp
++++ b/runtime/Server.cpp
+@@ -135,11 +135,11 @@ Server::Server(quint16 port, QString key, QString logFileName)
+     add_to_path(pythonHome, venvPath.canonicalFilePath());
+ #else
+     // Build (and canonicalise) the virtual environment path
+-    QFileInfo venvBinPath(app_dir + "/../venv/bin");
+-    QFileInfo venvLibPath(app_dir + "/../venv/lib/python");
+-    QFileInfo venvDynLibPath(app_dir + "/../venv/lib/python/lib-dynload");
+-    QFileInfo venvSitePackagesPath(app_dir + "/../venv/lib/python/site-packages");
+-    QFileInfo venvPath(app_dir + "/../venv");
++    QFileInfo venvBinPath("/usr/bin");
++    QFileInfo venvLibPath("/usr/lib/python##PYTHONVERSION##");
++    QFileInfo venvDynLibPath("/usr/lib/python##PYTHONVERSION##/lib-dynload");
++    QFileInfo venvSitePackagesPath("/usr/lib/python##PYTHONVERSION##/site-packages");
++    QFileInfo venvPath("/usr/lib/python##PYTHONVERSION##");
+ 
+     // Prepend the bin directory to the path
+     add_to_path(path_env, venvBinPath.canonicalFilePath(), true);
+-- 
+2.20.1
+



More information about the arch-commits mailing list