diff --git a/pgadmin4.yaml b/pgadmin4.yaml index 3e31efe4033..f201401873d 100644 --- a/pgadmin4.yaml +++ b/pgadmin4.yaml @@ -9,10 +9,10 @@ package: runtime: - libpq-${{vars.latest-pg-version}} - nodejs + - postfix + - py${{vars.py-version}}-setuptools - python-${{vars.py-version}} - sudo-rs - - postfix - - py${{vars.py-version}}-gunicorn vars: py-version: 3.13 @@ -38,10 +38,11 @@ environment: - busybox - glibc-locale-en - krb5-dev + - libcap-utils - libffi-dev - libjpeg-turbo-dev - libpng-dev - - libpq-17 + - libpq-${{vars.latest-pg-version}} - libtool - make - nasm @@ -52,13 +53,12 @@ environment: - postgresql-${{vars.latest-pg-version}}-contrib - postgresql-${{vars.latest-pg-version}}-dev - py${{vars.py-version}}-pip - - python-${{vars.py-version}}-dev - py${{vars.py-version}}-setuptools + - python-${{vars.py-version}}-dev - rust - yarn - yasm - zlib-dev - - libcap-utils var-transforms: - from: ${{package.version}} @@ -94,7 +94,7 @@ pipeline: pip install --upgrade pip pip install -r requirements.txt pip install sphinx sphinxcontrib-youtube - pip install --no-cache-dir gunicorn==22.0.0 + pip install --no-cache-dir gunicorn pip install -r web/regression/requirements.txt # Build documentation and ignore warnings @@ -103,36 +103,29 @@ pipeline: # Build Python package make pip + # Create the /pgadmin4 directory and copy the source into it mkdir -p ${{targets.destdir}}/pgadmin4 mkdir -p ${{targets.destdir}}/venv mkdir -p ${{targets.destdir}}/var/lib/pgadmin mkdir -p ${{targets.destdir}}/var/log/pgadmin - mkdir -p ${{targets.destdir}}/pgadmin4/pgadmin - ln -sf ${{targets.destdir}}/pgadmin4/web/pgadmin/utils ${{targets.destdir}}/pgadmin4/pgadmin/utils - # Copy in the code and docs - cp -R web/ ${{targets.destdir}}/pgadmin4/ + cp -R web/* ${{targets.destdir}}/pgadmin4 cp -R docs/ ${{targets.destdir}}/pgadmin4/ cp -R venv/ ${{targets.destdir}}/ cp ./pkg/docker/run_pgadmin.py ${{targets.destdir}}/pgadmin4/ cp ./pkg/docker/gunicorn_config.py ${{targets.destdir}}/pgadmin4/ cp ./pkg/docker/entrypoint.sh ${{targets.destdir}}/entrypoint.sh - - touch ${{targets.destdir}}/pgadmin4/config_distro.py - chmod 755 ${{targets.destdir}}/pgadmin4/config_distro.py # License files cp -R ./LICENSE ${{targets.destdir}}/pgadmin4/ cp -R ./DEPENDENCIES ${{targets.destdir}}/pgadmin4/ + # entrypoint.sh script required files, permissions and path + touch ${{targets.destdir}}/pgadmin4/config_distro.py + chmod 755 ${{targets.destdir}}/pgadmin4/config_distro.py setcap CAP_NET_BIND_SERVICE=+eip /usr/bin/python${{vars.py-version}} - - # # sed command causes errors trying to edit .pyc files in pycache - # rm -rf ${{targets.destdir}}/pgadmin4/venv/bin/__pycache* - # sed -i "s|/home/build|/pgadmin4|g" ${{targets.destdir}}/pgadmin4/venv/bin/* - # # allow site-packages - # sed -i "s|include-system-site-packages = false|include-system-site-packages = true|g" ${{targets.destdir}}/pgadmin4/venv/pyvenv.cfg + sed -i '1s|^.*|#!/venv/bin/python|' ${{targets.destdir}}/venv/bin/gunicorn subpackages: - range: pg-versions @@ -164,15 +157,15 @@ test: environment: contents: packages: - - postgresql-17 - - postgresql-17-client + - postgresql-${{vars.latest-pg-version}} + - postgresql-${{vars.latest-pg-version}}-client - py${{vars.py-version}}-setuptools - shadow - sudo-rs - curl - glibc-locale-en environment: - PYTHONPATH: /pgadmin4/web:/pgadmin4 + PYTHONPATH: /pgadmin4 PGADMIN_SETUP_EMAIL: admin@gmail.com PGADMIN_SETUP_PASSWORD: admin123 PGDATA: /tmp/test_db @@ -191,7 +184,7 @@ test: with: start: | env PATH="/venv/bin:$PATH" \ - python${{vars.py-version}} /pgadmin4/web/pgAdmin4.py + python${{vars.py-version}} /pgadmin4/pgAdmin4.py expected_output: | Starting pgAdmin 4. Please navigate to http://127.0.0.1:5050 in your browser. error_strings: |