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
 

Reply via email to