From 13cdde8c6f6ea0dac1ea30d703d70938ba8dfcb1 Mon Sep 17 00:00:00 2001 From: Thierry Parmentelat Date: Wed, 23 Nov 2022 15:27:40 +0100 Subject: [PATCH] review packaging for f37 (1/n) use pip install rather than python setup.py install in the mix the 2 commands (plcsh and Server.py) end up in /usr/share/plc_api/bin/ use setuptools rather than distutils --- Makefile | 12 ++++++++---- plcapi.spec | 12 +++--------- setup.py | 33 +++++++++++++++++++++------------ 3 files changed, 32 insertions(+), 25 deletions(-) diff --git a/Makefile b/Makefile index 0c546e3..b138e05 100644 --- a/Makefile +++ b/Makefile @@ -24,10 +24,14 @@ all: install: install-python install-phpxmlrpc install-python: - python3 setup.py install \ - --install-purelib=$(DESTDIR)/$(datadir)/plc_api \ - --install-scripts=$(DESTDIR)/$(datadir)/plc_api \ - --install-data=$(DESTDIR)/$(datadir)/plc_api + pip install --target $(DESTDIR)/$(datadir)/plc_api . + # it's important that plcsh sits in /usr/share/plc_api + # and not under bin/ so that python can find the PLC/ modules + mv $(DESTDIR)/$(datadir)/plc_api/bin/plcsh $(DESTDIR)/$(datadir)/plc_api + # python3 setup.py install \ + # --install-purelib=$(DESTDIR)/$(datadir)/plc_api \ + # --install-scripts=$(DESTDIR)/$(datadir)/plc_api \ + # --install-data=$(DESTDIR)/$(datadir)/plc_api # phpxmlrpc is a git subtree; we just ship all its contents # under /usr/share/plc_api/php/phpxmlrpc diff --git a/plcapi.spec b/plcapi.spec index 426901f..84fc9d3 100644 --- a/plcapi.spec +++ b/plcapi.spec @@ -19,13 +19,13 @@ Distribution: PlanetLab %{plrelease} URL: %{SCMURL} Provides: PLCAPI -Obsoletes: PLCAPI +# Obsoletes: PLCAPI # requirement to mod_python or mod_wsgi: deferred to myplc Requires: httpd mod_ssl # f29 does not come with an rpm for that; use pip instead # Requires: Django -Requires: postgresql >= 8.2, postgresql-server >= 8.2 +Requires: postgresql, postgresql-server # We use set everywhere Requires: python3 Requires: python3-postgresql @@ -39,7 +39,7 @@ Requires: python3-lxml Requires: memcached python3-memcached #################### -# obsolete +# phpxmlrpc #################### # standard xmlrpc.so that ships with PHP does not marshal NULL # prior to May 2017 we used to ship our own brew of xmlrpc but @@ -97,12 +97,6 @@ mkdir -p ${RPM_BUILD_ROOT}/etc/planetlab/db-config.d cp db-config.d/* ${RPM_BUILD_ROOT}/etc/planetlab/db-config.d chmod 444 ${RPM_BUILD_ROOT}/etc/planetlab/db-config.d/* -## Thierry - June 2013 - omfv6 does not require xmpp pubsub nodes management any more -## Install omf_slicemgr.py -#install -D -m 755 omf/omf_slicemgr.py $RPM_BUILD_ROOT/usr/bin/omf_slicemgr.py -#install -D -m 755 omf/reset_xmpp_pubsub_nodes.py $RPM_BUILD_ROOT/usr/bin/reset_xmpp_pubsub_nodes.py -#mkdir -p $RPM_BUILD_ROOT/var/log/omf - # Create log file for plcapi mkdir -p $RPM_BUILD_ROOT/var/log touch $RPM_BUILD_ROOT/var/log/plcapi.log diff --git a/setup.py b/setup.py index a530ad1..e2a5931 100755 --- a/setup.py +++ b/setup.py @@ -6,19 +6,28 @@ # Copyright (C) 2006 The Trustees of Princeton University # -from distutils.core import setup +from setuptools import setup from glob import glob -setup(packages = ['PLC', 'PLC/Methods', 'PLC/Methods/system', 'PLC/Accessors'], - scripts = ['plcsh', 'Server.py'], - data_files = [ - ('', ['planetlab5.sql']), +setup( + name="plc_api", + packages = ['PLC', 'PLC/Methods', 'PLC/Methods/system', 'PLC/Accessors'], + scripts = ['plcsh', 'Server.py'], + data_files = [ + ('', + ['planetlab5.sql']), # package for mod_python and mod_wsgi, defer choice to myplc - ('apache', ['apache/ModPython.py', 'apache/__init__.py', 'apache/plc.wsgi']), - ('php', ['php/plc_api.php']), + ('apache', + ['apache/ModPython.py', + 'apache/__init__.py', + 'apache/plc.wsgi']), + ('php', + ['php/plc_api.php']), ('migrations', - ['migrations/README.txt', - 'migrations/extract-views.py'] - + glob('migrations/[0-9][0-9][0-9]*')), - ('extensions', ['extensions/README.txt']), - ]) + ['migrations/README.txt', + 'migrations/extract-views.py'] + + glob('migrations/[0-9][0-9][0-9]*')), + ('extensions', + ['extensions/README.txt']), + ] +) -- 2.43.0