%define name plcapi
-%define version 5.3
-%define taglevel 11
+%define version 5.4
+%define taglevel 1
%define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
# requirement to mod_python or mod_wsgi: deferred to myplc
Requires: httpd mod_ssl
-Requires: Django
+# f29 does not come with an rpm for that; use pip instead
+# Requires: Django
Requires: postgresql >= 8.2, postgresql-server >= 8.2
# We use set everywhere
Requires: python >= 2.7
Requires: pcucontrol >= 1.0-6
# for OMF integration
Requires: pyaspects >= 0.4
-Requires: python-twisted-words
-Requires: python-twisted-web
+# again, these are no longer available in f29
+# Requires: python-twisted-words
+# Requires: python-twisted-web
# ldap
Requires: python-ldap
# for 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
+
+####################
+# 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 - thank you Ciro - we pull it as a git subtree from
+# https://github.com/gggeek/phpxmlrpc.git
+# that stuff requires the following though
+Requires: php-xml
+####################
+
# 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/
#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
-# Install ratelimit log
+# Create log file for plcapi
mkdir -p $RPM_BUILD_ROOT/var/log
+touch $RPM_BUILD_ROOT/var/log/plcapi.log
+chown apache:apache $RPM_BUILD_ROOT/var/log/plcapi.log
+
+# Install ratelimit log
touch $RPM_BUILD_ROOT/var/log/plc_api_ratelimit.log
chown apache:apache $RPM_BUILD_ROOT/var/log/plc_api_ratelimit.log
#%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
/var/www/html/wsdl/plcapi.wsdl
#/usr/bin/omf_slicemgr.py*
#/usr/bin/reset_xmpp_pubsub_nodes.py*
+/var/log/plcapi.log
/var/log/plc_api_ratelimit.log
%changelog
+* Wed May 16 2018 Thierry <Parmentelat> - plcapi-5.4-1
+- define accessor for site tag disabled_registration (used in plewww-5.2-9)
+- set disable_existing_loggers = False in logging config, that otherwise voids sfa logs
+
+* Sun Jul 16 2017 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - plcapi-5.4-0
+- embed phpxmlrpc as a git subtree from github (OK with fedora24 and 25, probably sooner too)
+- logs in /var/log/plcapi.log
+- context managers for most open files
+
* Wed Feb 08 2017 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - plcapi-5.3-11
- mostly issued for the R2lab deployment
- *** major