Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package pgadmin4 for openSUSE:Factory checked in at 2023-08-04 15:04:35 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/pgadmin4 (Old) and /work/SRC/openSUSE:Factory/.pgadmin4.new.22712 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pgadmin4" Fri Aug 4 15:04:35 2023 rev:21 rq:1102334 version:7.4 Changes: -------- --- /work/SRC/openSUSE:Factory/pgadmin4/pgadmin4.changes 2021-06-13 23:06:16.979683750 +0200 +++ /work/SRC/openSUSE:Factory/.pgadmin4.new.22712/pgadmin4.changes 2023-08-04 15:04:47.808794208 +0200 @@ -1,0 +2,119 @@ +Mon Jul 31 07:23:54 UTC 2023 - Steve Kowalik <[email protected]> + +- Update to 7.4, extremely large list of changes, partially chosen: + * Make Statistics, Dependencies, Dependants tabs closable and the user + can add them back using the 'Add panel' option. + * Added support for Logical Replication. + * Implemented runtime using NWjs to open pgAdmin4 in a standalone window + instead of the system tray and web browser. + * Added Quick Search functionality for menu items and help articles. + * Added publication and subscription support in Schema Diff. + * Use cheroot as the default production server for pgAdmin4. + * Show the login roles that are members of a group role be shown when + examining a group role. + * Added '--replace' option in Import server to replace the list of + servers with the newly imported one. + * Added zoom scaling options with keyboard shortcuts in runtime. + * Use schema qualification while accessing the catalog objects. + * Make the 'Save Data Changes' icon to be more intuitive. + * Improve code coverage and API test cases for Server module. + * Added support to set auto width of columns by content size in the data + output window. + * Added support to connect PostgreSQL servers via Kerberos authentication. + * Added "IF NOT EXISTS" clause while creating tables and partition tables + which is convenient while using the ERD tool. + * Added browse button to select the binary path in the Preferences. + * Added Grant Wizard option under Package node. + * Added support to launch PSQL for the connected database server. + * Added window maximize/restore functionality for properties dialog. + * Added support to set the binary path for the different database server + versions. + * Added OS, Browser, Configuration details in the About dialog. + * Added support for rotating the pgAdmin log file on the basis of size + and age. + * Added RESQL/MSQL test cases for Table and its child nodes. + * Updated Flask-Security-Too to the latest v4. + * Added a mechanism to detect a corrupt/broken config database file. + * Highlighted long running queries on the dashboards. + * Added support for Reassign/Drop Owned for login roles. + * Do not block the query editor window when running a query. + * Added support for OAuth 2 authentication. + * Added option to provide maximum width of the column when 'Resize by + data?â option in the preferences is set to True. + * Added support to copy SQL from main window to query tool. + * Added support for formatted JSON viewer/editor when interacting with + data in a JSON column. + * Rename the "Resize by data?" to "Columns sized by" and disabled the + 'Maximum column width' button if 'Columns sized by' is set to + 'Column data'. + * Added support for the truncate table with restart identity. + * Make code folding case insensitive in the code mirror. + * Added database and server information on the Maintenance process watcher + dialog. + * Allow the referenced table to be the same as the local table in one to + many relationship for ERD Tool. + * Set PSQLRC and PSQL_HISTORY env vars to apt. user storage path in the + server mode. + * Added support for OWNED BY Clause for sequences. + * Revisit all the CREATE and DROP DDL's to add appropriate 'IF EXISTS', + 'CASCADE' and 'CREATE OR REPLACE'. + * Added support for indent guides in the browser tree. + * Added support for advanced table fields like the foreign key, primary key in the ERD tool. + * Added support to allow tables to be dragged to ERD Tool. + * Added index creation when generating SQL in the ERD tool. + * Added support for authentication via the webserver (REMOTE_USER). + * Added support to enable/disable rules. + * Added support of Aggregate and Operator node in view-only mode. + * Ensure that users should be able to modify the REMOTE_USER environment + variable as per their environment by introducing the new config + parameter WEBSERVER_REMOTE_USER. + * Added support for Two-factor authentication for improving security. + * Added support to disable the auto-discovery of the database servers. + * Replace Flask-BabelEx with Flask-Babel. + * Upgrade Flask to version 2. + * Added support to import/export server groups and servers from GUI. + * Added support to open SQL help, Dialog help, and online help in an + external web browser. + * Rename the menu 'Disconnect Server' to 'Disconnect from server'. + * Added capability to deploy PostgreSQL servers on Amazon RDS. + * Rename the menu 'Disconnect Database' to 'Disconnect from database'. + * Added transaction start time to Server activity sessions view. + * Added support for unique keys in ERD. + * Added status bar to the Query Tool. + * Ensure that row numbers should be visible in view when scrolling + horizontally. + * Relocate GIS Viewer Button to the Left Side of the Results Table. + * Added capability to deploy PostgreSQL servers on EDB BigAnimal. + * Added options 'Ignore owner' and 'Ignore whitespace' to the schema diff + panel. + * Added support for Azure AD OAUTH2 authentication. + * Ensure the database and schema restriction controls are not shown as a + drop-down. + * Added the ability to resize columns on dashboard tables. + * PG 15 compatibility issues fixed. + * Added capability to deploy PostgreSQL servers on Microsoft Azure. + * Added support for visualise the graph using a Line chart in the query tool. + * Added option to trigger autocomplete on key press in the query tool. + * Allow users to delete files/folders from the storage manager. + * Allow users to search within the file/storage manager. + * Added support for visualizing the graphs using Stacked Line, Bar, and + Stacked Bar charts in the query tool. + * Added support for visualise the graph using a Pie chart in the query tool. + * Removing dynamic module loading and replacing it with static loading. + * Added support to show all background processes in separate panel. + * Added support to create triggers from existing trigger functions in EPAS. + * Remove the SQL files for the unsupported versions of the database server. + * Fixed improper parsing of HTTP requests in Pallets Werkzeug v2.1.0 + and below (CVE-2022-29361). +- Drop patches remove_simplejson_dep.patch, fix-python-lib.patch and + 0001-Fix-bug-ValueError-unsupported-format-character-D.patch +- Add patch support-new-werkzeug.patch and support-new-azure-mgmt-rdbms.patch: + * Support changes among our dependencies. + +------------------------------------------------------------------- +Sat Feb 11 16:50:03 UTC 2023 - Matej Cepl <[email protected]> + +- Remove dependency on python-simplejson + (gh#pgadmin-org/pgadmin4#5853). + +------------------------------------------------------------------- Old: ---- 0001-Fix-bug-ValueError-unsupported-format-character-D.patch fix-python-lib.patch pgadmin4-4.30.tar.gz pgadmin4-4.30.tar.gz.asc New: ---- pgadmin4-7.4.tar.gz pgadmin4-7.4.tar.gz.asc support-new-azure-mgmt-rdbms.patch support-new-werkzeug.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ pgadmin4.spec ++++++ --- /var/tmp/diff_new_pack.sd5x5f/_old 2023-08-04 15:04:49.268803309 +0200 +++ /var/tmp/diff_new_pack.sd5x5f/_new 2023-08-04 15:04:49.272803334 +0200 @@ -1,7 +1,7 @@ # # spec file for package pgadmin4 # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,56 +16,52 @@ # -%global python3_babel_min_version 1.3 -%global python3_beautifulsoup4_min_version 4.4.1 -%global python3_blinker_min_version 1.4 -%global python3_extras_min_version 1.0.0 -%global python3_fixtures_min_version 3.0.0 -%global python3_flask_babelex_min_version 0.9.4 +%define pythons python3 +%global python3_authlib_min_version 1.2.0 +%global python3_azure_identity_min_version 1.13 +%global python3_azure_mgmt_rdbms_min_version 10.1 +%global python3_azure_mgmt_resource_min_version 23.0 +%global python3_azure_mgmt_subscription_min_version 3.1 +%global python3_boto3_min_version 1.26 +%global python3_flask_babel_min_version 3.1.0 %global python3_flask_compress_min_version 1.4.0 %global python3_flask_gravatar_min_version 0.5.0 -%global python3_flask_htmlmin_min_version 1.3.2 %global python3_flask_login_min_version 0.4.1 %global python3_flask_mail_min_version 0.9.1 -%global python3_flask_migrate_min_version 2.4.0 -%global python3_flask_min_version 1.0.2 +%global python3_flask_migrate_min_version 4.0 +%global python3_flask_min_version 2.2 %global python3_flask_paranoid_min_version 0.2.0 -%global python3_flask_principal_min_version 0.4.0 -%global python3_flask_security_too_min_version 3.0.0 -%global python3_flask_sqlalchemy_min_version 2.4.1 -%global python3_flask_wtf_min_version 0.14.3 -%global python3_gssapi_min_version 1.6.11 -%global python3_html5lib_min_version 1.0.1 -%global python3_htmlmin_min_version 0.1.12 -%global python3_itsdangerous_min_version 0.24 -%global python3_jinja2_min_version 2.7.3 +%global python3_flask_security_too_min_version 5.1.0 +%global python3_flask_socketio_min_version 5.3.0 +%global python3_flask_sqlalchemy_min_version 3.0 +%global python3_flask_wtf_min_version 1.1 +%global python3_httpagentparser_min_version 1.9 +%global python3_google_api_python_client_min_version 2.0 +%global python3_google_auth_oauthlib_min_version 1.0 %global python3_ldap3_min_version 2.5.1 -%global python3_linecache2_min_version 1.0.0 -%global python3_markupsafe_min_version 0.23 +%global python3_pillow_min_version 9.0 +%global python3_pyotp_min_version 2.0 +%global python3_keyring_min_version 23.0 %global python3_passlib_min_version 1.7.2 -%global python3_pbr_min_version 3.1.1 -%global python3_psutil_min_version 5.7.0 -%global python3_psycopg2_min_version 2.8 -%global python3_pycrypto_min_version 2.6.1 -%global python3_pyrsistent_min_version 0.14.2 +%global python3_psutil_min_version 5.9.0 +%global python3_psycopg_min_version 3.1.8 %global python3_python_dateutil_min_version 2.8.0 -%global python3_python_mimeparse_min_version 1.6.0 -%global python3_pytz_min_version 2020.1 -%global python3_simplejson_min_version 3.16.0 -%global python3_six_min_version 1.12.0 +%global python3_pytz_min_version 2023.0 +%global python3_qrcode_min_version 7.0 %global python3_speaklater_min_version 1.3 -%global python3_sqlalchemy_min_version 1.3.13 +%global python3_sqlalchemy_min_version 2.0 %global python3_sqlparse_min_version 0.3.0 %global python3_sshtunnel_min_version 0.1.5 -%global python3_werkzeug_min_version 0.15.0 -%global python3_wtforms_min_version 2.2.1 +%global python3_user_agents_min_version 2.2 +%global python3_werkzeug_min_version 2.2 +%global python3_wtforms_min_version 3.0 %global pgadmin4instdir %{_libdir}/pgadmin4-%{version} %global pgadmin4homedir /var/lib/pgadmin %global user_group_name pgadmin Name: pgadmin4 -Version: 4.30 +Version: 7.4 Release: 0 Summary: Management tool for PostgreSQL License: PostgreSQL @@ -85,63 +81,59 @@ Source9: README.SUSE.uwsgi.in Patch0: use-os-makedirs.patch Patch1: fix-python3-crypto-call.patch -Patch2: fix-python-lib.patch -Patch3: 0001-Fix-bug-ValueError-unsupported-format-character-D.patch -BuildRequires: Mesa-libGL-devel +Patch2: support-new-azure-mgmt-rdbms.patch +Patch3: support-new-werkzeug.patch BuildRequires: fdupes -BuildRequires: gcc-c++ -BuildRequires: libQt5Core-devel -BuildRequires: libQt5Network-devel -BuildRequires: libQt5Widgets-devel -BuildRequires: python3-Babel >= %{python3_babel_min_version} +BuildRequires: python-rpm-macros +BuildRequires: python3-Authlib >= %{python3_authlib_min_version} BuildRequires: python3-Flask >= %{python3_flask_min_version} -BuildRequires: python3-Flask-BabelEx >= %{python3_flask_babelex_min_version} +BuildRequires: python3-Flask-Babel >= %{python3_flask_babel_min_version} BuildRequires: python3-Flask-Compress >= %{python3_flask_compress_min_version} BuildRequires: python3-Flask-Gravatar >= %{python3_flask_gravatar_min_version} -BuildRequires: python3-Flask-HTMLmin >= %{python3_flask_htmlmin_min_version} BuildRequires: python3-Flask-Login >= %{python3_flask_login_min_version} BuildRequires: python3-Flask-Mail >= %{python3_flask_mail_min_version} BuildRequires: python3-Flask-Migrate >= %{python3_flask_migrate_min_version} BuildRequires: python3-Flask-Paranoid >= %{python3_flask_paranoid_min_version} -BuildRequires: python3-Flask-Principal >= %{python3_flask_principal_min_version} BuildRequires: python3-Flask-SQLAlchemy >= %{python3_flask_sqlalchemy_min_version} BuildRequires: python3-Flask-Security-Too >= %{python3_flask_security_too_min_version} +BuildRequires: python3-Flask-SocketIO >= %{python3_flask_socketio_min_version} BuildRequires: python3-Flask-WTF >= %{python3_flask_wtf_min_version} -BuildRequires: python3-Jinja2 >= %{python3_jinja2_min_version} -BuildRequires: python3-MarkupSafe >= %{python3_markupsafe_min_version} +BuildRequires: python3-Pillow >= %{python3_pillow_min_version} BuildRequires: python3-SQLAlchemy >= %{python3_sqlalchemy_min_version} BuildRequires: python3-WTForms >= %{python3_wtforms_min_version} BuildRequires: python3-Werkzeug >= %{python3_werkzeug_min_version} -BuildRequires: python3-beautifulsoup4 >= %{python3_beautifulsoup4_min_version} -BuildRequires: python3-blinker >= %{python3_blinker_min_version} -BuildRequires: python3-click +BuildRequires: python3-azure-identity >= %{python3_azure_identity_min_version} +BuildRequires: python3-azure-mgmt-rdbms >= %{python3_azure_mgmt_rdbms_min_version} +BuildRequires: python3-azure-mgmt-resource >= %{python3_azure_mgmt_resource_min_version} +BuildRequires: python3-azure-mgmt-subscription >= %{python3_azure_mgmt_subscription_min_version} +BuildRequires: python3-boto3 >= %{python3_boto3_min_version} BuildRequires: python3-cryptography -BuildRequires: python3-devel -BuildRequires: python3-extras >= %{python3_extras_min_version} -BuildRequires: python3-fixtures >= %{python3_fixtures_min_version} -BuildRequires: python3-gssapi >= %{python3_gssapi_min_version} -BuildRequires: python3-html5lib >= %{python3_html5lib_min_version} -BuildRequires: python3-htmlmin >= %{python3_htmlmin_min_version} -BuildRequires: python3-itsdangerous >= %{python3_itsdangerous_min_version} +BuildRequires: python3-eventlet +BuildRequires: python3-google-api-python-client >= %{python3_google_api_python_client_min_version} +BuildRequires: python3-google-auth-oauthlib >= %{python3_google_auth_oauthlib_min_version} +BuildRequires: python3-httpagentparser >= %{python3_httpagentparser_min_version} +BuildRequires: python3-keyring >= %{python3_keyring_min_version} BuildRequires: python3-ldap3 >= %{python3_ldap3_min_version} -BuildRequires: python3-linecache2 >= %{python3_linecache2_min_version} BuildRequires: python3-passlib >= %{python3_passlib_min_version} -BuildRequires: python3-pbr >= %{python3_pbr_min_version} +BuildRequires: python3-pip BuildRequires: python3-psutil >= %{python3_psutil_min_version} -BuildRequires: python3-psycopg2 >= %{python3_psycopg2_min_version} -BuildRequires: python3-pycrypto >= %{python3_pycrypto_min_version} -BuildRequires: python3-pyrsistent >= %{python3_pyrsistent_min_version} +BuildRequires: python3-psycopg >= %{python3_psycopg_min_version} +BuildRequires: python3-pyotp >= %{python3_pyotp_min_version} BuildRequires: python3-python-dateutil >= %{python3_python_dateutil_min_version} -BuildRequires: python3-python-mimeparse >= %{python3_python_mimeparse_min_version} BuildRequires: python3-pytz >= %{python3_pytz_min_version} -BuildRequires: python3-simplejson >= %{python3_simplejson_min_version} -BuildRequires: python3-six >= %{python3_six_min_version} +BuildRequires: python3-qrcode >= %{python3_qrcode_min_version} +BuildRequires: python3-selenium BuildRequires: python3-speaklater >= %{python3_speaklater_min_version} BuildRequires: python3-sqlparse >= %{python3_sqlparse_min_version} BuildRequires: python3-sshtunnel >= %{python3_sshtunnel_min_version} +BuildRequires: python3-testscenarios +BuildRequires: python3-urllib3 < 2 +BuildRequires: python3-user-agents >= %{python3_user_agents_min_version} +BuildRequires: python3-wheel BuildRequires: systemd-rpm-macros Requires: %{name}-web = %{version} -Requires: python3 >= 3.3 +Requires: python3 >= 3.7 +BuildArch: noarch %{?systemd_requires} %description @@ -159,54 +151,49 @@ %package web Summary: Web package for pgAdmin4 Group: Productivity/Databases/Tools -Requires: python3-Babel >= %{python3_babel_min_version} +Requires: python3-Authlib >= %{python3_authlib_min_version} Requires: python3-Flask >= %{python3_flask_min_version} -Requires: python3-Flask-BabelEx >= %{python3_flask_babelex_min_version} +Requires: python3-Flask-Babel >= %{python3_flask_babel_min_version} Requires: python3-Flask-Compress >= %{python3_flask_compress_min_version} Requires: python3-Flask-Gravatar >= %{python3_flask_gravatar_min_version} -Requires: python3-Flask-HTMLmin >= %{python3_flask_htmlmin_min_version} Requires: python3-Flask-Login >= %{python3_flask_login_min_version} Requires: python3-Flask-Mail >= %{python3_flask_mail_min_version} Requires: python3-Flask-Migrate >= %{python3_flask_migrate_min_version} Requires: python3-Flask-Paranoid >= %{python3_flask_paranoid_min_version} -Requires: python3-Flask-Principal >= %{python3_flask_principal_min_version} Requires: python3-Flask-SQLAlchemy >= %{python3_flask_sqlalchemy_min_version} Requires: python3-Flask-Security-Too >= %{python3_flask_security_too_min_version} +Requires: python3-Flask-SocketIO >= %{python3_flask_socketio_min_version} Requires: python3-Flask-WTF >= %{python3_flask_wtf_min_version} -Requires: python3-Jinja2 >= %{python3_jinja2_min_version} -Requires: python3-MarkupSafe >= %{python3_markupsafe_min_version} +Requires: python3-Pillow >= %{python3_pillow_min_version} Requires: python3-SQLAlchemy >= %{python3_sqlalchemy_min_version} Requires: python3-WTForms >= %{python3_wtforms_min_version} Requires: python3-Werkzeug >= %{python3_werkzeug_min_version} -Requires: python3-beautifulsoup4 >= %{python3_beautifulsoup4_min_version} -Requires: python3-blinker >= %{python3_blinker_min_version} -Requires: python3-click +Requires: python3-azure-identity >= %{python3_azure_identity_min_version} +Requires: python3-azure-mgmt-rdbms >= %{python3_azure_mgmt_rdbms_min_version} +Requires: python3-azure-mgmt-resource >= %{python3_azure_mgmt_resource_min_version} +Requires: python3-azure-mgmt-subscription >= %{python3_azure_mgmt_subscription_min_version} +Requires: python3-boto3 >= %{python3_boto3_min_version} Requires: python3-cryptography -Requires: python3-extras >= %{python3_extras_min_version} -Requires: python3-fixtures >= %{python3_fixtures_min_version} -Requires: python3-gssapi >= %{python3_gssapi_min_version} -Requires: python3-html5lib >= %{python3_html5lib_min_version} -Requires: python3-htmlmin >= %{python3_htmlmin_min_version} -Requires: python3-itsdangerous >= %{python3_itsdangerous_min_version} +Requires: python3-eventlet +Requires: python3-google-api-python-client >= %{python3_google_api_python_client_min_version} +Requires: python3-google-auth-oauthlib >= %{python3_google_auth_oauthlib_min_version} +Requires: python3-httpagentparser >= %{python3_httpagentparser_min_version} +Requires: python3-keyring >= %{python3_keyring_min_version} Requires: python3-ldap3 >= %{python3_ldap3_min_version} -Requires: python3-linecache2 >= %{python3_linecache2_min_version} Requires: python3-passlib >= %{python3_passlib_min_version} -Requires: python3-pbr >= %{python3_pbr_min_version} Requires: python3-psutil >= %{python3_psutil_min_version} -Requires: python3-psycopg2 >= %{python3_psycopg2_min_version} -Requires: python3-pycrypto >= %{python3_pycrypto_min_version} -Requires: python3-pyrsistent >= %{python3_pyrsistent_min_version} +Requires: python3-psycopg >= %{python3_psycopg_min_version} +Requires: python3-pyotp >= %{python3_pyotp_min_version} Requires: python3-python-dateutil >= %{python3_python_dateutil_min_version} -Requires: python3-python-mimeparse >= %{python3_python_mimeparse_min_version} Requires: python3-pytz >= %{python3_pytz_min_version} -Requires: python3-simplejson >= %{python3_simplejson_min_version} -Requires: python3-six >= %{python3_six_min_version} +Requires: python3-qrcode >= %{python3_qrcode_min_version} Requires: python3-speaklater >= %{python3_speaklater_min_version} Requires: python3-sqlparse >= %{python3_sqlparse_min_version} Requires: python3-sshtunnel >= %{python3_sshtunnel_min_version} +Requires: python3-urllib3 < 2 +Requires: python3-user-agents >= %{python3_user_agents_min_version} Recommends: python3-mod_wsgi Suggests: %{name}-doc -BuildArch: noarch %description web pgAdmin 4 is a rewrite of the pgAdmin3 management tool for the @@ -217,7 +204,6 @@ %package doc Summary: Documentation for pgAdmin4 Group: Documentation/HTML -BuildArch: noarch %description doc pgAdmin 4 is a rewrite of the pgAdmin3 management tool for the @@ -228,7 +214,6 @@ %package web-uwsgi Summary: Pgamdin4 - uwsgi configuration Group: Productivity/Networking/Web/Utilities -BuildArch: noarch Requires: pgadmin4-web Requires: uwsgi @@ -238,13 +223,7 @@ This package holds the uwsgi configuration. %prep -%setup -q -%patch0 -p1 -%patch1 -p1 -%if %{?pkg_vcmp:%{pkg_vcmp python3-devel >= 3.8}}%{!?pkg_vcmp:0} -%patch2 -p1 -%endif -%patch3 -p1 +%autosetup -p1 sed -e 's@PYTHONSITELIB@%{python3_sitelib}@g' <%{SOURCE1} > %{name}.conf sed -e 's@PYTHONDIR@%{_bindir}/python3@g' -e 's@PYTHONSITELIB@%{python3_sitelib}@g' < %{SOURCE2} > %{name}.service @@ -260,25 +239,32 @@ chmod -x docs/en_US/theme/pgadmin4/theme.conf %build -cd runtime -export PYTHON_CONFIG=%{_bindir}/python3-config -export PYTHON_VERSION=%{python3_version} -export PGADMIN_PYTHON_DIR=%{_prefix} -export CFLAGS=%{RPM_OPT_FLAGS} -qmake-qt5 -o Makefile pgAdmin4.pro -make %{?_smp_mflags} VERBOSE=1 +mkdir -p pip-build/pgadmin4 +cp -a web/* pip-build/pgadmin4 +echo recursive-include pgadmin4 \* > pip-build/MANIFEST.in +find pip-build -name '.gitignore' -o -name '.coverage*' -delete +cat << EOF > pip-build/pgadmin4/config_distro.py +# SERVER_MODE = True +MINIFY_HTML = False +HTML_HELP = '%{_datadir}/doc/%{name}-docs/en_US/html/' +UPGRADE_CHECK_ENABLED = False +DEFAULT_BINARY_PATHS = { + "pg": "%{_bindir}" +} +EOF +pushd pip-build +python3 ../pkg/pip/setup_pip.py bdist_wheel +popd +mv -v pip-build/dist/*.whl . %install +%pyproject_install +mkdir -p %{buildroot}%{_docdir}/%{name} +cp README.md %{buildroot}%{_docdir}/%{name} + install -d -m 755 %{buildroot}%{_docdir}/%{name}-docs/ cp -pr docs/* %{buildroot}%{_docdir}/%{name}-docs - -pushd runtime -install -d -m 755 %{buildroot}%{_bindir} -cp pgAdmin4 %{buildroot}%{_bindir} -popd - -install -d -m 755 %{buildroot}%{python3_sitelib}/pgadmin4-web -cp -pR web/* %{buildroot}%{python3_sitelib}/pgadmin4-web +find %{buildroot}%{_docdir}/%{name}-docs -name '.gitignore' -delete install -d %{buildroot}%{_sysconfdir}/apache2/conf.d/ install -m 0644 -p %{name}.conf %{buildroot}%{_sysconfdir}/apache2/conf.d/%{name}.conf @@ -305,25 +291,10 @@ mkdir -p %{buildroot}/%{_tmpfilesdir} install -m 0644 %{SOURCE3} %{buildroot}/%{_tmpfilesdir}/%{name}.conf -pushd %{buildroot}%{python3_sitelib}/%{name}-web -rm -f %{name}.db - -cat << EOF > config_distro.py -# SERVER_MODE = True -HTML_HELP = '%{_datadir}/doc/%{name}-docs/en_US/html/' -UPGRADE_CHECK_ENABLED = False -DEFAULT_BINARY_PATHS = { - "pg": "%{_bindir}" -} -EOF -popd - chmod -x %{buildroot}%{_docdir}/%{name}-docs/en_US/images/* -rm %{buildroot}%{python3_sitelib}/%{name}-web/regression/.gitignore -rm %{buildroot}%{_docdir}/%{name}-docs/en_US/.gitignore mkdir -p %{buildroot}%{_sbindir} ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rcpgadmin4 -%fdupes %{buildroot}/%{_prefix} +%fdupes %{buildroot}%{_prefix} install -d -m 0755 %{buildroot}%{pgadmin4homedir} install -d -m 0755 %{buildroot}%{pgadmin4homedir}/storage @@ -332,6 +303,10 @@ install -d -m 0755 %{buildroot}%{_sysconfdir}/uwsgi/vassals install -m 0644 %{name}.uwsgi %{buildroot}%{_sysconfdir}/uwsgi/vassals/pgadmin4.ini +##%check +## Requires Postgres running +##PYTHONPATH=%{buildroot}%{python3_sitelib} python3 -B web/regression/runtests.py --exclude feature_tests + %pre web /usr/sbin/groupadd -r %{user_group_name} &>/dev/null || : /usr/sbin/useradd -g %{user_group_name} -s /bin/false -r -c "%{name}" -d %{pgadmin4homedir} %{user_group_name} &>/dev/null || : @@ -350,9 +325,9 @@ %files %defattr(-,root,root,-) -%doc README README.SUSE +%doc README.md README.SUSE %license LICENSE -%{_bindir}/pgAdmin4 +%{_bindir}/pgadmin4 %{_datadir}/applications/%{name}.desktop %dir %{_sysconfdir}/xdg/pgadmin %config %{_sysconfdir}/xdg/pgadmin/pgadmin4.conf @@ -363,8 +338,8 @@ %dir %{_sysconfdir}/apache2/conf.d %config(noreplace) %{_sysconfdir}/apache2/conf.d/%{name}.conf -%dir %{python3_sitelib}/%{name}-web/ -%{python3_sitelib}/%{name}-web/* +%{python3_sitelib}/%{name} +%{python3_sitelib}/%{name}-%{version}.dist-info %{_unitdir}/%{name}.service %{_tmpfilesdir}/%{name}.conf ++++++ fix-python3-crypto-call.patch ++++++ --- /var/tmp/diff_new_pack.sd5x5f/_old 2023-08-04 15:04:49.352803832 +0200 +++ /var/tmp/diff_new_pack.sd5x5f/_new 2023-08-04 15:04:49.356803857 +0200 @@ -23,11 +23,13 @@ TypeError: Object type <class 'str'> cannot be passed to C code -Index: pgadmin4-4.2/web/pgadmin/utils/crypto.py -=================================================================== ---- pgadmin4-4.2.orig/web/pgadmin/utils/crypto.py -+++ pgadmin4-4.2/web/pgadmin/utils/crypto.py -@@ -26,6 +26,12 @@ padding_string = b'}' +--- + web/pgadmin/utils/crypto.py | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +--- a/web/pgadmin/utils/crypto.py ++++ b/web/pgadmin/utils/crypto.py +@@ -22,6 +22,12 @@ padding_string = b'}' iv_size = AES.block_size // 8 @@ -40,7 +42,7 @@ def encrypt(plaintext, key): """ Encrypt the plaintext with AES method. -@@ -35,6 +41,9 @@ def encrypt(plaintext, key): +@@ -31,6 +37,9 @@ def encrypt(plaintext, key): key -- Key for encryption. """ @@ -50,7 +52,7 @@ iv = os.urandom(iv_size) cipher = Cipher(AES(pad(key)), CFB8(iv), default_backend()) encryptor = cipher.encryptor() -@@ -57,6 +66,9 @@ def decrypt(ciphertext, key): +@@ -53,6 +62,9 @@ def decrypt(ciphertext, key): key -- key to decrypt the encrypted string. """ ++++++ pgadmin4-4.30.tar.gz -> pgadmin4-7.4.tar.gz ++++++ /work/SRC/openSUSE:Factory/pgadmin4/pgadmin4-4.30.tar.gz /work/SRC/openSUSE:Factory/.pgadmin4.new.22712/pgadmin4-7.4.tar.gz differ: char 12, line 1 ++++++ pgadmin4.desktop.in ++++++ --- /var/tmp/diff_new_pack.sd5x5f/_old 2023-08-04 15:04:49.424804281 +0200 +++ /var/tmp/diff_new_pack.sd5x5f/_new 2023-08-04 15:04:49.428804306 +0200 @@ -1,7 +1,7 @@ [Desktop Entry] Encoding=UTF-8 Name=pgAdmin 4 -Exec=/usr/bin/pgAdmin4 +Exec=/usr/bin/pgadmin4 Icon=PYTHONSITELIB/pgadmin4-web/pgadmin/static/img/logo-256.png Type=Application Categories=Development;Office;Database;GUIDesigner; ++++++ support-new-azure-mgmt-rdbms.patch ++++++ Index: pgadmin4-7.4/web/pgadmin/misc/cloud/azure/__init__.py =================================================================== --- pgadmin4-7.4.orig/web/pgadmin/misc/cloud/azure/__init__.py +++ pgadmin4-7.4/web/pgadmin/misc/cloud/azure/__init__.py @@ -30,7 +30,7 @@ from azure.identity import AzureCliCrede from azure.mgmt.resource import ResourceManagementClient from azure.mgmt.subscription import SubscriptionClient from azure.mgmt.rdbms.postgresql_flexibleservers.models import \ - NameAvailabilityRequest + CheckNameAvailabilityRequest MODULE_NAME = 'azure' @@ -354,7 +354,7 @@ class Azure: """ postgresql_client = self._get_azure_client('postgresql') res = postgresql_client.check_name_availability.execute( - NameAvailabilityRequest( + CheckNameAvailabilityRequest( name=cluster_name, type='Microsoft.DBforPostgreSQL/flexibleServers')) res = res.__dict__ ++++++ support-new-werkzeug.patch ++++++ Index: pgadmin4-7.4/web/regression/python_test_utils/csrf_test_client.py =================================================================== --- pgadmin4-7.4.orig/web/regression/python_test_utils/csrf_test_client.py +++ pgadmin4-7.4/web/regression/python_test_utils/csrf_test_client.py @@ -91,7 +91,6 @@ class TestClient(testing.FlaskClient): # powers `flask.session`, # and make a test request context that has those cookies in it. environ_overrides = {} - self.cookie_jar.inject_wsgi(environ_overrides) with self.app.test_request_context(): # Now, we call Flask-WTF's method of generating a CSRF token... csrf_token = generate_csrf() ++++++ use-os-makedirs.patch ++++++ --- /var/tmp/diff_new_pack.sd5x5f/_old 2023-08-04 15:04:49.544805029 +0200 +++ /var/tmp/diff_new_pack.sd5x5f/_new 2023-08-04 15:04:49.548805054 +0200 @@ -3,17 +3,21 @@ So parent directories are created if needed -Index: pgadmin4-4.19/web/pgadmin/setup/data_directory.py +--- + web/pgadmin/setup/data_directory.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: pgadmin4-7.4/web/pgadmin/setup/data_directory.py =================================================================== ---- pgadmin4-4.19.orig/web/pgadmin/setup/data_directory.py -+++ pgadmin4-4.19/web/pgadmin/setup/data_directory.py -@@ -13,7 +13,7 @@ from flask import current_app +--- pgadmin4-7.4.orig/web/pgadmin/setup/data_directory.py ++++ pgadmin4-7.4/web/pgadmin/setup/data_directory.py +@@ -18,7 +18,7 @@ FAILED_CREATE_DIR = \ def _create_directory_if_not_exists(_path): if _path and not os.path.exists(_path): - os.mkdir(_path) + os.makedirs(_path) + return True - - def create_app_data_directory(config): + return False
