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 <manisan...@gmail.com>
Reply-To: Development discussions related to Fedora
<devel@lists.fedoraproject.org>
To: Development discussions related to Fedora
<devel@lists.fedoraproject.org>
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@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it:
https://pagure.io/fedora-infrastructure
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure

Reply via email to