trash our own brew of xmlrpc, that was all about supporting <nil/>
authorThierry Parmentelat <thierry.parmentelat@inria.fr>
Mon, 29 May 2017 13:13:30 +0000 (15:13 +0200)
committerThierry Parmentelat <thierry.parmentelat@inria.fr>
Mon, 29 May 2017 13:13:30 +0000 (15:13 +0200)
i.e. marshalling None

plan is to use http://gggeek.github.io/phpxmlrpc/ as a replacement

1  2 
Makefile
plcapi.spec

diff --combined Makefile
+++ b/Makefile
@@@ -10,7 -10,6 +10,6 @@@
  # starting with 5.0, support for these two modules is taken out
  
  # Other stuff - doc not implicit, it's redone by myplc-docs
- subdirs := php/xmlrpc
  
  # autoconf compatible variables
  DESTDIR := /
@@@ -19,7 -18,7 +18,7 @@@ bindir := /usr/bi
  
  PWD := $(shell pwd)
  
- all: $(subdirs) 
+ all: 
        python setup.py build
  
  install: 
            --install-purelib=$(DESTDIR)/$(datadir)/plc_api \
            --install-scripts=$(DESTDIR)/$(datadir)/plc_api \
            --install-data=$(DESTDIR)/$(datadir)/plc_api
-       install -D -m 755 php/xmlrpc/xmlrpc.so $(DESTDIR)/$(shell php-config --extension-dir)/xmlrpc.so
- $(subdirs): %:
-       $(MAKE) -C $@
  
  clean: 
        find . -name '*.pyc' | xargs rm -f
-       rm -f $(INIT)
-       for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir clean ; done
        python setup.py clean && rm -rf build
  
  index:
@@@ -45,7 -38,7 +38,7 @@@
  
  force:
  
- .PHONY: all install force clean index tags $(subdirs)
+ .PHONY: all install force clean index tags
  
  #################### devel tools
  tags:
@@@ -80,13 -73,12 +73,13 @@@ sync
  ifeq (,$(SSHURL))
        @echo "sync: I need more info from the command line, e.g."
        @echo "  make sync PLC=boot.planetlab.eu"
 -      @echo "  make sync PLCHOSTLXC=.. GUESTNAME=.."
 +      @echo "  make sync PLCHOSTLXC=.. GUESTHOSTNAME=.. GUESTNAME=.."
        @exit 1
  else
        +$(RSYNC) plcsh PLC planetlab5.sql migrations aspects $(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
  endif
diff --combined plcapi.spec
@@@ -52,19 -52,21 +52,16 @@@ Requires: memcached python-memcache
  ### avoid having yum complain about updates, as stuff is moving around
  # plc.d/api
  Conflicts: MyPLC <= 4.3
 -# xmlrpc
 -Requires: php-xmlrpc
  
--# We use psycopg2
--#
--# but we don't need to rebuild it as we depend on distro's packages - baris
--# BuildRequires: postgresql-devel
--
- # Standard xmlrpc.so that ships with PHP does not marshal NULL
- # for building the wsdl interface we used to require PyXML
- # but this has gone with f20 so turning this off for now
- BuildRequires: php-devel
- #BuildRequires: python-simplejson
- Obsoletes: php-xmlrpc
- Provides: php-xmlrpc
 -### # Standard xmlrpc.so that ships with PHP does not marshal NULL
 -### # for building the wsdl interface we used to require PyXML
 -### # but this has gone with f20 so turning this off for now
 -### BuildRequires: php-devel
 -### #BuildRequires: python-simplejson
 -### Obsoletes: php-xmlrpc
 -### Provides: php-xmlrpc
++# 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
++# 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
@@@ -99,11 -101,11 +96,11 @@@ rm -rf $RPM_BUILD_ROO
  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
### 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"
@@@ -134,7 -136,7 +131,7 @@@ chown apache:apache $RPM_BUILD_ROOT/var
  %clean
  rm -rf $RPM_BUILD_ROOT
  
- %define php_extension_dir %(php-config --extension-dir)
###%define php_extension_dir %(php-config --extension-dir)
  
  %files
  %defattr(-,root,root,-)
  #%dir /var/log/omf/
  %{_datadir}/plc_api/*
  %{_bindir}/plcsh
- %{php_extension_dir}/xmlrpc.so
- %{_sysconfdir}/php.d/xmlrpc.ini
### %{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