all:
python setup.py build
-install:
+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
+# phpxmlrpc is a git subtree; we just ship all its contents
+# under /usr/share/plc_api/php/phpxmlrpc
+install-phpxmlrpc:
+ mkdir -p $(DESTDIR)/$(datadir)/plc_api/php/phpxmlrpc/
+ rsync --exclude .git -ai php/phpxmlrpc/ $(DESTDIR)/$(datadir)/plc_api/php/phpxmlrpc/
+
clean:
find . -name '*.pyc' | xargs rm -f
python setup.py clean && rm -rf build
# plc.d/api
Conflicts: MyPLC <= 4.3
+####################
+# obsolete
+####################
# 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
# that does not build anymore on f25
# So bottom line is:
# * don't use fedora's php-xmlrpc (no support for marshalling NULL)
# * don't use our own that is way too old
-# * instead, thanks to Ciro we pull it from
+# * instead - thank you Ciro - we pull it as a git subtree from
# https://github.com/gggeek/phpxmlrpc.git
# Requires: php-xmlrpc
+####################
+
# PostgreSQL and SOAPpy are necessary to run the API server, but not
# plcsh. Since the only supported method of running the server is via
mkdir -p $RPM_BUILD_ROOT/%{_bindir}
ln -s %{_datadir}/plc_api/plcsh $RPM_BUILD_ROOT/%{_bindir}/plcsh
-### mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/php.d
-### cat > $RPM_BUILD_ROOT/%{_sysconfdir}/php.d/xmlrpc.ini <<EOF
-### ; Enable xmlrpc extension module
-### extension=xmlrpc.so
-### EOF
-
# Install initscripts
echo "* Installing initscripts"
find plc.d | cpio -p -d -u ${RPM_BUILD_ROOT}/etc/
#%dir /var/log/omf/
%{_datadir}/plc_api/*
%{_bindir}/plcsh
-### %{php_extension_dir}/xmlrpc.so
-### %{_sysconfdir}/php.d/xmlrpc.ini
%config (noreplace) %{_datadir}/plc_api/PLC/Accessors/Accessors_site.py
/etc/plc.d
/etc/planetlab/db-config.d