I set this up recently using the packages from here -> https://www.pgadmin.org/download/pgadmin-4-rpm/
No idea if you've looked at those but thought I'd point them out in case they have any good practise you can "borrow"
Graham
-----Original Message-----
From: Sandro Mani <manisandro@xxxxxxxxx>
Reply-To: Development discussions related to Fedora <devel@xxxxxxxxxxxxxxxxxxxxxxx>
To: Development discussions related to Fedora <devel@xxxxxxxxxxxxxxxxxxxxxxx>
Subject: Packaging pgAdmin4
Date: Thu, 9 Dec 2021 14:17:41 +0100
Hi
I gave it a go at packaging pgadmin4 [1], to replace the current obsolete and abandoned (and crashy) pgadmin3.
pgadmin4 is a mix of Python/Flask for serverside and HTML/JS for client side, for which I wrote a minimal Qt5WebEngineView wrapper to make it appear like a desktop application. The spec is here: [2]
I have a couple of questions to eventually be able to put it up for review:
- The client side uses node/package.json to build static assets. Currently I have this in the spec
# git clone https://github.com/postgres/pgadmin4.git
# cd pgadmin4/web
# yarn install
# find node_modules/webpack/lib/ -type f -exec sed -i 's|md4|sha256|g' {} \;
# yarn run bundle
# cd ..
# tar cfJ pgadmin4-static-js-generated-$(git rev-parse --short=7 HEAD).tar.xz web/pgadmin/static/js/generated/
Source1: %{name}-static-js-generated-%{shortcommit}.tar.xz
Is this in any way acceptable? Is this compatible with "You can provide a package that uses nodejs, but you should bundle all the nodejs libraries that are needed."[3]
- I install the actual pgadmin4 files /usr/lib/pgadmin4/ and then install my custom qt wrapper to %{_bindir} which then internally invokes "python3 /usr/lib/pgadmin4/pgadmin4.py". Is /usr/lib/pgadmin4/ an appropriate directory for this?
- I currently have to manually specify the requires, which I can generate using
python3 /usr/lib/rpm/redhat/pyproject_buildrequires.py -N requirements.txt 2>/dev/null | awk '{print "Requires: "$0}'
Is there a way to automatically generate the runtime Requires, similar to the buildtime BuildRequires?
Thanks
Sandro
[1] https://copr.fedorainfracloud.org/coprs/smani/pgAdmin4
[2] https://smani.fedorapeople.org/pgadmin4.spec
[3] https://docs.fedoraproject.org/en-US/packaging-guidelines/Node.js/
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure
_______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure