%define name sfa
-%define version 3.1
-%define taglevel 22
+%define version 4.0
+%define taglevel 2
%define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
%global python_sitearch %( python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)" )
Summary: Server-side for SFA, generic implementation derived from PlanetLab
Group: Applications/System
BuildRequires: make
-BuildRequires: python-setuptools
+# for uuidgen - used in db password generation
+Requires: util-linux-ng
# for the registry
Requires: postgresql >= 8.2, postgresql-server >= 8.2
Requires: postgresql-python
-Requires: python-psycopg2
-# f8=0.4 - f12=0.5 f14=0.6 f16=0.7
-Requires: python-sqlalchemy
-Requires: python-migrate
-# for uuidgen - used in db password generation
-# on f8 this actually comes with e2fsprogs, go figure
-Requires: util-linux-ng
-# and the SFA libraries of course
+Requires: python2-psycopg2
+Requires: python2-sqlalchemy
+Requires: python2-migrate
+# and of course the bulk of it
Requires: sfa-common
%package common
Summary: Python libraries for SFA, generic implementation derived from PlanetLab
Group: Applications/System
-Requires: python >= 2.7
-Requires: pyOpenSSL >= 0.7
+Requires: python
+Requires: pyOpenSSL
Requires: m2crypto
-Requires: python-dateutil
-Requires: python-lxml
-Requires: libxslt-python
+Requires: python2-dateutil
+Requires: python2-lxml
+%if "%{distro}" == "Fedora" && "%{distrorelease}" <= "27"
Requires: python-ZSI
+%else
+Requires: python2-zsi
+%endif
+Requires: libxslt-python
Requires: xmlsec1-openssl-devel
%package client
Group: Applications/System
Requires: sfa
-%package nitos
-Summary: the SFA layer around NITOS
-Group: Applications/System
-Requires: sfa
-
%package iotlab
Summary: the SFA layer around IotLab
Group: Applications/System
This package implements the SFA interface which serves as a layer
between the existing PlanetLab interfaces and the SFA API.
-%description nitos
-The SFA driver for NITOS.
-
%description iotlab
The SFA driver for IotLab.
rm -rf $RPM_BUILD_ROOT
%files
-/usr/lib/systemd/system/*.service
+/lib/systemd/system/*.service
%{_bindir}/sfa-start.py*
%{_bindir}/sfaadmin.py*
%{_bindir}/sfaadmin
%files plc
%defattr(-,root,root)
%{python_sitelib}/sfa/planetlab
-%{python_sitelib}/sfa/openstack
/etc/sfa/pl.rng
/etc/sfa/credential.xsd
/etc/sfa/top.xsd
/etc/sfa/protogeni-rspec-common.xsd
/etc/sfa/topology
-%files nitos
-%{python_sitelib}/sfa/nitos
-
%files iotlab
%{python_sitelib}/sfa/iotlab
%files tests
%{_datadir}/sfa/tests
-### sfa installs the 'sfa' service
+# arbitrary choice here, subject to manual tweaks if needed
+# this is in line with default_config.xml
+# no need to enable sfa-db, will be activated as a dependency
%post
-chkconfig --add sfa
+systemctl enable sfa-aggregate
+systemctl enable sfa-registry
%preun
if [ "$1" = 0 ] ; then
- /sbin/service sfa stop || :
- /sbin/chkconfig --del sfa || :
+ for service in sfa-aggregate sfa-registry sfa-db; do
+ systemctl is-enabled $service && systemctl disable $service
+ systemctl is-active $service && systemctl stop $service
+ done
fi
%postun
-[ "$1" -ge "1" ] && { service sfa dbdump ; service sfa restart ; }
-
-#### sfa-cm installs the 'sfa-cm' service
-#%post cm
-#chkconfig --add sfa-cm
-#
-#%preun cm
-#if [ "$1" = 0 ] ; then
-# /sbin/service sfa-cm stop || :
-# /sbin/chkconfig --del sfa-cm || :
-#fi
-#
-#%postun cm
-#[ "$1" -ge "1" ] && service sfa-cm restart || :
+if [ "$1" -ge "1" ] ; then
+ for service in sfa-db sfa-registry sfa-aggregate; do
+ systemctl is-active $service && systemctl restart $service
+ done
+fi
%changelog
+* Mon Jan 07 2019 Thierry <Parmentelat> - sfa-4.0-2
+- have shebangs mention python2 since it is what this version runs on
+- use rpm names in python2-something for expressing dependencies
+- remove build dependency to python-setuptools
+- Handle C-BAS hrn format with "\" (Loic)
+- sfa-start does not daemonize anymore (this is handled by systemd)
+- a little nicer logs when troubleshooting auth issues
+- use systemctl in Makefile when syncing
+
+* Wed May 30 2018 Thierry <Parmentelat> - sfa-4.0-1
+- systemd service files install in /lib instead of /usr/lib for ubuntus
+- removed all features relating to slice manager
+- removed all features relating to component manager
+
+* Mon May 28 2018 Thierry <Parmentelat> - sfa-4.0-0
+- expose geni_api_versions as https://
+- avoid publishing non-relevant entries in GetVersion
+- fixes in the IoT-lab driver (thanks Loic)
+- reviewed logging policy, less awkward and more reliable; /var/log/sfa{,-import}.log should now be alive and time rotate
+- rewrote init-style startup script into systemd-native services: sfa-aggregate and sfa-registry, that both depend on sfa-db
+- huge cleanup, removed everything related to init.d; debian; flash-policy; max aggregate; federica, openstack/nova and nitos drivers
+
* Fri Mar 16 2018 Thierry <Parmentelat> - sfa-3.1-22
- pl: tweaks for exposing country / city on nodes from site tags if set
- pl: tweaks for exposing hardware_types on nodes from node tag 'hardware_type' if set