pgadmin4: 6.21 -> 7.0

Changelog: https://www.pgadmin.org/docs/pgadmin4/latest/release_notes_7_0.html

Signed-off-by: Florian Brandes <florian.brandes@posteo.de>
This commit is contained in:
Florian Brandes 2023-04-14 10:35:39 +02:00
parent 35b5ea83e3
commit 39dc9a9f2c
5 changed files with 1622 additions and 1485 deletions

View file

@ -1,9 +1,7 @@
diff --git a/web/config.py b/web/config.py
index 4774043..5b73fd3 100644
--- a/web/config.py
+++ b/web/config.py
@@ -884,6 +884,12 @@ if os.path.exists(system_config_dir + '/config_system.py'):
user_config_settings.update(config_system_settings)
--- a/web/pgadmin/evaluate_config.py 2023-04-11 17:36:46.000000000 +0200
+++ b/web/pgadmin/evaluate_config.py 2023-04-14 09:54:33.496434314 +0200
@@ -76,6 +76,12 @@
custom_config_settings.update(config_system_settings)
except ImportError:
pass
+ except PermissionError:
@ -13,5 +11,5 @@ index 4774043..5b73fd3 100644
+ {str(system_config_dir + '/config_system.py')}, please check the correct permissions.")
+ pass
# Update settings for 'LOG_FILE', 'SQLITE_PATH', 'SESSION_DB_PATH',
# 'AZURE_CREDENTIAL_CACHE_DIR', 'KERBEROS_CCACHE_DIR', 'STORAGE_DIR'
def evaluate_and_patch_config(config: dict) -> dict:

View file

@ -12,11 +12,11 @@
let
pname = "pgadmin";
version = "6.21";
version = "7.0";
src = fetchurl {
url = "https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v${version}/source/pgadmin4-${version}.tar.gz";
hash = "sha256-9ErMhxzixyiwcwcduLP63JfM3rNy0W/3w0b+BbQAjUA=";
hash = "sha256-iYsICW9aTG47eWB0g3MlWo5F1BStQLiM84+qxFq7G70=";
};
yarnDeps = mkYarnModules {
@ -31,74 +31,6 @@ let
# keep the scope, as it is used throughout the derivation and tests
# this also makes potential future overrides easier
pythonPackages = python3.pkgs.overrideScope (final: prev: rec {
# flask-security-too 4.1.5 is incompatible with flask-babel 3.x
flask-babel = prev.flask-babel.overridePythonAttrs (oldAttrs: rec {
version = "2.0.0";
src = prev.fetchPypi {
inherit pname version;
hash = "sha256-+fr0XNsuGjLqLsFEA1h9QpUQjzUBenghorGsuM/ZJX0=";
};
nativeBuildInputs = [ ];
format = "setuptools";
outputs = [ "out" ];
patches = [ ];
});
# flask-babel 2.0.0 is incompatible with babel > 2.11.0
babel = prev.babel.overridePythonAttrs (oldAttrs: rec {
version = "2.11.0";
src = prev.fetchPypi {
pname = "Babel";
inherit version;
hash = "sha256-XvSzImsBgN7d7UIpZRyLDho6aig31FoHMnLzE+TPl/Y=";
};
propagatedBuildInputs = [ prev.pytz ];
});
# pgadmin 6.21 is incompatible with flask 2.2
# https://redmine.postgresql.org/issues/7651
flask = prev.flask.overridePythonAttrs (oldAttrs: rec {
version = "2.1.3";
src = oldAttrs.src.override {
inherit version;
hash = "sha256-FZcuUBffBXXD1sCQuhaLbbkCWeYgrI1+qBOjlrrVtss=";
};
});
# flask 2.1.3 is incompatible with flask-sqlalchemy > 3
flask-sqlalchemy = prev.flask-sqlalchemy.overridePythonAttrs (oldAttrs: rec {
version = "2.5.1";
format = "setuptools";
src = oldAttrs.src.override {
inherit version;
hash = "sha256-K9pEtD58rLFdTgX/PMH4vJeTbMRkYjQkECv8LDXpWRI=";
};
});
# flask-sqlalchemy 2.5.1 is incompatible with sqlalchemy > 1.4.45
sqlalchemy = prev.sqlalchemy.overridePythonAttrs (oldAttrs: rec {
version = "1.4.45";
src = oldAttrs.src.override {
inherit version;
hash = "sha256-/WmFCGAJOj9p/v4KtW0EHt/f4YUQtT2aLq7LovFfp5U=";
};
});
# flask-security-too 4.1.5 is incompatible with flask-wtf > 1.0.1
flask-wtf = prev.flask-wtf.overridePythonAttrs (oldAttrs: rec {
version = "1.0.1";
src = oldAttrs.src.override {
inherit version;
hash = "sha256-NP5cb+4PabUOMPgaO36haqFJKncf6a0JdNFkYQwJpsk=";
};
});
# pgadmin 6.21 is incompatible with the major flask-security-too update to 5.0.x
flask-security-too = prev.flask-security-too.overridePythonAttrs (oldAttrs: rec {
version = "4.1.5";
src = oldAttrs.src.override {
inherit version;
hash = "sha256-98jKcHDv/+mls7QVWeGvGcmoYOGCspxM7w5/2RjJxoM=";
};
propagatedBuildInputs = oldAttrs.propagatedBuildInputs ++ [
final.pythonPackages.flask_mail
final.pythonPackages.pyqrcode
];
});
});
in
@ -131,10 +63,13 @@ pythonPackages.buildPythonApplication rec {
# relax dependencies
sed 's|==|>=|g' -i requirements.txt
#TODO: Can be removed once cryptography>=40 has been merged to master
substituteInPlace requirements.txt \
--replace "cryptography>=40.0.*" "cryptography>=39.0.*"
# fix extra_require error with "*" in match
sed 's|*|0|g' -i requirements.txt
substituteInPlace pkg/pip/setup_pip.py \
--replace "req = req.replace('psycopg2', 'psycopg2-binary')" "req = req"
--replace "req = req.replace('psycopg[c]', 'psycopg[binary]')" "req = req"
${lib.optionalString (!server-mode) ''
substituteInPlace web/config.py \
--replace "SERVER_MODE = True" "SERVER_MODE = False"
@ -202,7 +137,7 @@ pythonPackages.buildPythonApplication rec {
wtforms
flask-paranoid
psutil
psycopg2
psycopg
python-dateutil
sqlalchemy
itsdangerous
@ -233,6 +168,8 @@ pythonPackages.buildPythonApplication rec {
dnspython
greenlet
speaklater3
google-auth-oauthlib
google-api-python-client
];
passthru.tests = {

View file

@ -8,7 +8,7 @@
"license": "PostgreSQL",
"devDependencies": {
"@babel/core": "^7.10.2",
"@babel/eslint-parser": "^7.17.0",
"@babel/eslint-parser": "^7.21.3",
"@babel/eslint-plugin": "^7.17.7",
"@babel/plugin-proposal-object-rest-spread": "^7.10.1",
"@babel/plugin-syntax-jsx": "^7.16.0",
@ -20,7 +20,9 @@
"@emotion/styled": "^10.0.14",
"@emotion/utils": "^1.0.0",
"@svgr/webpack": "^6.2.1",
"@wojtekmaj/enzyme-adapter-react-17": "^0.4.1",
"@typescript-eslint/eslint-plugin": "^5.57.0",
"@typescript-eslint/parser": "^5.57.0",
"@wojtekmaj/enzyme-adapter-react-17": "^0.8.0",
"autoprefixer": "^10.2.4",
"axios-mock-adapter": "^1.17.0",
"babel-loader": "^8.1.0",
@ -32,7 +34,7 @@
"css-loader": "^6.7.2",
"css-minimizer-webpack-plugin": "^3.0.0",
"enzyme": "^3.11.0",
"eslint": "^7.19.0",
"eslint": "^8.37.0",
"eslint-plugin-react": "^7.20.5",
"eslint-plugin-react-hooks": "^4.3.0",
"exports-loader": "^2.0.0",
@ -54,12 +56,11 @@
"karma-jasmine-html-reporter": "^1.4.0",
"karma-requirejs": "~1.1.0",
"karma-source-map-support": "^1.4.0",
"karma-sourcemap-loader": "^0.3.7",
"karma-sourcemap-loader": "^0.4.0",
"karma-webpack": "^5.0.0",
"loader-utils": "^3.2.1",
"mini-css-extract-plugin": "^1.3.5",
"popper.js": "^1.16.1",
"postcss-loader": "^5.0.0",
"postcss-loader": "^7.1.0",
"process": "^0.11.10",
"prop-types": "^15.7.2",
"resize-observer-polyfill": "^1.5.1",
@ -67,16 +68,16 @@
"sass-loader": "^11.0.0",
"sass-resources-loader": "^2.2.1",
"shim-loader": "^1.0.1",
"style-loader": "^3.3.1",
"style-loader": "^3.3.2",
"stylis": "^4.0.7",
"svgo": "^2.7.0",
"svgo-loader": "^2.2.0",
"terser-webpack-plugin": "^5.1.1",
"typescript": "^3.2.2",
"url-loader": "^4.1.1",
"webfonts-loader": "^7.5.2",
"webpack": "^5.21.2",
"webpack-bundle-analyzer": "^4.4.0",
"webfonts-loader": "^8.0.1",
"webpack": "^5.76.3",
"webpack-bundle-analyzer": "^4.8.0",
"webpack-cli": "^4.5.0",
"yarn-audit-html": "^4.0.0"
},
@ -95,7 +96,7 @@
"@szhsin/react-menu": "^2.2.0",
"@types/classnames": "^2.2.6",
"@types/react": "^16.7.18",
"@types/react-dom": "^16.0.11",
"@types/react-dom": "^17.0.11",
"ajv": "^8.8.2",
"anti-trojan-source": "^1.4.0",
"aspen-decorations": "^1.0.2",
@ -103,8 +104,6 @@
"babelify": "~10.0.0",
"bignumber.js": "^9.0.1",
"bootstrap": "^4.3.1",
"bootstrap-datepicker": "^1.8.0",
"bootstrap4-toggle": "^3.6.1",
"brace": "^0.11.1",
"browserfs": "^1.4.3",
"chart.js": "^3.0.0",
@ -122,6 +121,7 @@
"insert-if": "^1.1.0",
"ip-address": "^7.1.0",
"jquery": "^3.6.0",
"jquery-contextmenu": "^2.9.2",
"json-bignumber": "^1.0.1",
"jsoneditor": "^9.5.4",
"karma-coverage": "^2.0.3",
@ -136,13 +136,14 @@
"path-fx": "^2.0.0",
"pathfinding": "^0.4.18",
"paths-js": "^0.4.9",
"popper.js": "^1.16.1",
"postcss": "^8.2.15",
"raf": "^3.4.1",
"rc-dock": "^3.2.9",
"react": "^17.0.1",
"react-aspen": "^1.1.0",
"react-checkbox-tree": "^1.7.2",
"react-data-grid": "git+https://github.com/pgadmin-org/react-data-grid.git/#200d2f5e02de694e3e9ffbe177c279bc40240fb8",
"react-data-grid": "https://github.com/pgadmin-org/react-data-grid.git#200d2f5e02de694e3e9ffbe177c279bc40240fb8",
"react-dnd": "^16.0.1",
"react-dnd-html5-backend": "^16.0.1",
"react-dom": "^17.0.1",
@ -152,22 +153,20 @@
"react-resize-detector": "^8.0.3",
"react-rnd": "^10.3.5",
"react-router-dom": "^6.2.2",
"react-select": "^4.2.1",
"react-select": "^5.7.2",
"react-table": "^7.6.3",
"react-timer-hook": "^3.0.5",
"react-virtualized-auto-sizer": "^1.0.6",
"react-window": "^1.8.5",
"select2": "^4.0.13",
"snapsvg-cjs": "^0.0.6",
"socket.io-client": "^4.5.0",
"split.js": "^1.5.10",
"styled-components": "^5.2.1",
"tempusdominus-bootstrap-4": "^5.1.2",
"tempusdominus-core": "^5.19.3",
"uplot": "^1.6.24",
"uplot-react": "^1.1.4",
"valid-filename": "^2.0.1",
"webcabin-docker": "git+https://github.com/pgadmin-org/wcdocker/#3df8aac825ee2892f4d824de273b779cc6dbcad8",
"webcabin-docker": "https://github.com/pgadmin-org/wcdocker#460fc6d90ba170bb177faaa8277f5fbb8279522a",
"wkx": "^0.5.0",
"xterm": "^4.11.0",
"xterm-addon-fit": "^0.5.0",
@ -175,7 +174,7 @@
"xterm-addon-web-links": "^0.4.0"
},
"scripts": {
"linter": "yarn eslint --no-eslintrc -c .eslintrc.js --ext .js --ext .jsx .",
"linter": "yarn eslint --no-eslintrc -c .eslintrc.js --ext .js --ext .jsx --ext .ts --ext .tsx .",
"webpacker": "yarn run webpack --config webpack.config.js --progress",
"webpacker:watch": "yarn run webpack --config webpack.config.js --progress --watch",
"bundle:watch": "yarn run linter && yarn run webpacker:watch",

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff