fix packaging for f37 (2/n)
[plcapi.git] / Makefile
index 8a71a78..87ce913 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -18,16 +18,25 @@ bindir := /usr/bin
 
 PWD := $(shell pwd)
 
-all: 
-       python setup.py build
+all:
+       python3 setup.py build
 
 install: install-python install-phpxmlrpc
 
 install-python:
-       python setup.py install \
-           --install-purelib=$(DESTDIR)/$(datadir)/plc_api \
-           --install-scripts=$(DESTDIR)/$(datadir)/plc_api \
-           --install-data=$(DESTDIR)/$(datadir)/plc_api
+       # we mention --upgrade because otherwise
+       # pip install complains the php/ target already exists
+       # and it refuses to put plc_api.php in there
+       pip install --upgrade --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
+       mv $(DESTDIR)/$(datadir)/plc_api/bin/Server.py $(DESTDIR)/$(datadir)/Server.py
+       # the old recipe used to read
+       # 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
@@ -35,9 +44,9 @@ install-phpxmlrpc:
        mkdir -p $(DESTDIR)/$(datadir)/plc_api/php/phpxmlrpc/
        rsync --exclude .git -ai php/phpxmlrpc/ $(DESTDIR)/$(datadir)/plc_api/php/phpxmlrpc/
 
-clean: 
+clean:
        find . -name '*.pyc' | xargs rm -f
-       python setup.py clean && rm -rf build
+       python3 setup.py clean && rm -rf build
 
 index:
        echo "This step is obsolete"
@@ -73,9 +82,9 @@ endif
 endif
 
 LOCAL_RSYNC_EXCLUDES   := --exclude '*.pyc' --exclude Accessors_site.py
-RSYNC_EXCLUDES         := --exclude .svn --exclude .git --exclude '*~' --exclude TAGS $(LOCAL_RSYNC_EXCLUDES)
+RSYNC_EXCLUDES         := --exclude '*~' --exclude TAGS $(LOCAL_RSYNC_EXCLUDES)
 RSYNC_COND_DRY_RUN     := $(if $(findstring n,$(MAKEFLAGS)),--dry-run,)
-RSYNC                  := rsync -a -v $(RSYNC_COND_DRY_RUN) $(RSYNC_EXCLUDES)
+RSYNC                  := rsync -ai $(RSYNC_COND_DRY_RUN) $(RSYNC_EXCLUDES)
 
 sync:
 ifeq (,$(SSHURL))
@@ -84,12 +93,11 @@ ifeq (,$(SSHURL))
        @echo "  make sync PLCHOSTLXC=.. GUESTHOSTNAME=.. GUESTNAME=.."
        @exit 1
 else
-       +$(RSYNC) plcsh PLC planetlab5.sql migrations aspects $(SSHURL)/usr/share/plc_api/
+       +$(RSYNC) plcsh PLC planetlab5.sql migrations php $(SSHURL)/usr/share/plc_api/
        +$(RSYNC) db-config.d/ $(SSHURL)/etc/planetlab/db-config.d/
        +$(RSYNC) plc.d/ $(SSHURL)/etc/plc.d/
        +$(RSYNC) apache/plc.wsgi $(SSHURL)/usr/share/plc_api/apache/
-       $(SSHCOMMAND) /etc/plc.d/httpd stop
-       $(SSHCOMMAND) /etc/plc.d/httpd start
+       $(SSHCOMMAND) systemctl restart plc
 endif
 
 #################### convenience, for debugging only
@@ -101,4 +109,3 @@ endif
 +%: varname=$(subst +,,$@)
 +%:
        @echo "$($(varname))"
-