%define name plcapi
-%define version 5.3
-%define taglevel 11
+%define version 7.1
+%define taglevel 0
%define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
URL: %{SCMURL}
Provides: PLCAPI
-Obsoletes: PLCAPI
+# Obsoletes: PLCAPI
# requirement to mod_python or mod_wsgi: deferred to myplc
Requires: httpd mod_ssl
-Requires: Django
-Requires: postgresql >= 8.2, postgresql-server >= 8.2
+# f29 does not come with an rpm for that; use pip instead
+# Requires: Django
+Requires: postgresql, postgresql-server
# We use set everywhere
-Requires: python >= 2.7
-Requires: postgresql-python
-Requires: python-psycopg2
-Requires: python-pycurl
+Requires: python3
+Requires: python3-postgresql
+Requires: python3-psycopg2
+Requires: python3-pycurl
# used in GPG.py as a replacement to PyXML's Canonicalize
-Requires: python-lxml
-# Fedora had support for SOAPpy up to fedora20
-# https://lists.fedoraproject.org/pipermail/devel/2014-June/199730.html
-# https://lists.fedoraproject.org/pipermail/devel/2014-June/200379.html
-%if ("%{distro}" == "Fedora" && %{distrorelease} <= 20) || ("%{distro}" != "Fedora")
-Requires: SOAPpy
-%endif
-#Requires: python-simplejson
+Requires: python3-lxml
# for the RebootNodeWithPCU method
-Requires: pcucontrol >= 1.0-6
-# for OMF integration
-Requires: pyaspects >= 0.4
-Requires: python-twisted-words
-Requires: python-twisted-web
-# ldap
-Requires: python-ldap
+#Requires: pcucontrol >= 1.0-6
# for memcache
-Requires: memcached python-memcached
-### avoid having yum complain about updates, as stuff is moving around
-# plc.d/api
-Conflicts: MyPLC <= 4.3
+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
# python-pycurl and python-psycopg2 avail. from fedora 5
# we used to ship our own version of psycopg2 and pycurl, for fedora4
# starting with 4.3, support for these two modules is taken out
-#
-# Build __init__.py metafiles and PHP API.
+#
+# Build __init__.py metafiles and PHP API.
%{__make} %{?_smp_mflags}
-%{__make} -C wsdl
%install
rm -rf $RPM_BUILD_ROOT
cp db-config.d/* ${RPM_BUILD_ROOT}/etc/planetlab/db-config.d
chmod 444 ${RPM_BUILD_ROOT}/etc/planetlab/db-config.d/*
-# Install wsdl
-echo "* Installing wsdl"
-install -D -m 644 wsdl/plcapi.wsdl $RPM_BUILD_ROOT/var/www/html/wsdl/plcapi.wsdl
-
-## 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
%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
%changelog
+* Sat Apr 30 2022 Thierry Parmentelat <thierry.parmentelat@inria.fr> - plcapi-7.1-0
+- for php8 in f35:
+- * the phpxmlrpc layer has been upgraded to recent 4.6.1 that is php8-ready
+- * classes to use __construct() to define a constructor
+- * curl_setopt with verifyhost being 1 is no longer allowed
+- also other older changes related to pgsql 12
+
+* Mon Jan 07 2019 Thierry Parmentelat <thierry.parmentelat@inria.fr> - plcapi-7.0-0
+- based on python3, runs on f27 and f29
+- removed dependency to aspects, and so to rate limits
+- remove dependency to the Django rpm that is no longer available in f29
+- remove deps to python-twisted
+- use systemctl rather than service to manage postgresql
+
+* 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
* Fri May 09 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLCAPI-4.2-7
- no more doc packaged outside of myplc-docs - doc/ cleaned up
-- enhancements in doc on filters
+- enhancements in doc on filters
- bootcd-aware GetBootMedium merged from onelab
* Thu May 08 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLCAPI-4.2-6
- checkpoint while the new myplc-docs package is underway
- bugfix: GetSlivers & conf files
-- doc: removed target files
+- doc: removed target files
* Wed Apr 23 2008 Stephen Soltesz <soltesz@cs.princeton.edu> - PLCAPI-4.2-5
- Removed conditions on the persons, site, and nodes indexes. previsouly only
- the non-deleted fields were index, resulting in massivly slow queries.
--
+-
* Wed Mar 26 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLCAPI-4.2-3 PLCAPI-4.2-4
- plcsh: better handling of options when running as a shell script
- tweaks for accepted args in GetPCUTypes and BootNotifyOwners
* Thu Feb 14 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLCAPI-4.2-2 PLCAPI-4.2-3
-- GetBootMedium support for build.sh full options, incl. serial & console_spec
+- GetBootMedium support for build.sh full options, incl. serial & console_spec
- GetBootMedium simpler, cleaner and safer use of tmpdirs in (dated from bootcustom.sh)
* Fri Feb 01 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - PLCAPI-4.2-1 PLCAPI-4.2-2
- plcsh adds its own path to sys.path
- fix so GetNodes can be called from a Node
-* Fri Oct 27 2006 Mark Huang <mlhuang@CS.Princeton.EDU> -
+* Fri Oct 27 2006 Mark Huang <mlhuang@CS.Princeton.EDU> -
- Initial build.
%define module_current_branch 4.3