a little nicer wrt pep8
[sfa.git] / sfa.spec
index 723e9a1..198ab34 100644 (file)
--- a/sfa.spec
+++ b/sfa.spec
@@ -1,10 +1,8 @@
 %define name sfa
 %define name sfa
-%define version 3.1
-%define taglevel 22
+%define version 5.0
+%define taglevel 0
 
 %define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
 
 %define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
-%global python_sitearch        %( python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)" )
-%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
 
 Name: %{name}
 Version: %{version}
 
 Name: %{name}
 Version: %{version}
@@ -24,31 +22,34 @@ URL: %{SCMURL}
 Summary: Server-side for SFA, generic implementation derived from PlanetLab
 Group: Applications/System
 BuildRequires: make
 Summary: Server-side for SFA, generic implementation derived from PlanetLab
 Group: Applications/System
 BuildRequires: make
-BuildRequires: python-setuptools
 
 
-# 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
 # for uuidgen - used in db password generation
-# on f8 this actually comes with e2fsprogs, go figure
 Requires: util-linux-ng
 Requires: util-linux-ng
-# and the SFA libraries of course
+# for the registry
+Requires: postgresql >= 8.2, postgresql-server >= 8.2
+Requires: python3-PyGreSQL
+Requires: python3-psycopg2
+Requires: python3-sqlalchemy
+Requires: python3-migrate
+Requires: python3-tempita
+Requires: python3-decorator
+# 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: 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: m2crypto
-Requires: python-dateutil
-Requires: python-lxml
-Requires: libxslt-python
-Requires: python-ZSI
+Requires: python3
+Requires: python3-pyOpenSSL
+Requires: python3-m2crypto
+Requires: python3-dateutil
+Requires: python3-lxml
+# %if "%{distro}" == "Fedora" && "%{distrorelease}" <= "27"
+# Requires: python-ZSI
+# %else
+# Requires: python2-zsi
+# %endif
+# Requires: libxslt-python
 Requires: xmlsec1-openssl-devel
 
 %package client
 Requires: xmlsec1-openssl-devel
 
 %package client
@@ -62,21 +63,6 @@ Summary: the SFA layer around MyPLC
 Group: Applications/System
 Requires: sfa
 
 Group: Applications/System
 Requires: sfa
 
-%package flashpolicy
-Summary: SFA support for flash clients
-Group: Applications/System
-Requires: sfa
-
-%package federica
-Summary: the SFA layer around Federica
-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
 %package iotlab
 Summary: the SFA layer around IotLab
 Group: Applications/System
@@ -113,15 +99,6 @@ sfi.py, together with other utilities.
 This package implements the SFA interface which serves as a layer
 between the existing PlanetLab interfaces and the SFA API.
 
 This package implements the SFA interface which serves as a layer
 between the existing PlanetLab interfaces and the SFA API.
 
-%description flashpolicy
-This package provides support for adobe flash client applications.
-
-%description federica
-The SFA driver for FEDERICA.
-
-%description nitos
-The SFA driver for NITOS.
-
 %description iotlab
 The SFA driver for IotLab.
 
 %description iotlab
 The SFA driver for IotLab.
 
@@ -150,7 +127,7 @@ make VERSIONTAG="%{version}-%{taglevel}" SCMURL="%{SCMURL}" install DESTDIR="$RP
 rm -rf $RPM_BUILD_ROOT
 
 %files
 rm -rf $RPM_BUILD_ROOT
 
 %files
-/usr/lib/systemd/system/*.service
+/lib/systemd/system/*.service
 %{_bindir}/sfa-start.py*
 %{_bindir}/sfaadmin.py*
 %{_bindir}/sfaadmin
 %{_bindir}/sfa-start.py*
 %{_bindir}/sfaadmin.py*
 %{_bindir}/sfaadmin
@@ -164,20 +141,20 @@ rm -rf $RPM_BUILD_ROOT
 %config (noreplace) /etc/sfa/api_versions.xml
 /usr/share/sfa/migrations
 /usr/share/sfa/examples
 %config (noreplace) /etc/sfa/api_versions.xml
 /usr/share/sfa/migrations
 /usr/share/sfa/examples
-/var/www/html/wsdl/*.wsdl
 
 %files common
 
 %files common
-%{python_sitelib}/sfa/__init__.py*
-%{python_sitelib}/sfa/trust
-%{python_sitelib}/sfa/storage
-%{python_sitelib}/sfa/util
-%{python_sitelib}/sfa/server
-%{python_sitelib}/sfa/methods
-%{python_sitelib}/sfa/generic
-%{python_sitelib}/sfa/managers
-%{python_sitelib}/sfa/importer
-%{python_sitelib}/sfa/rspecs
-%{python_sitelib}/sfa/client
+%{python3_sitelib}/sfa/__init__.py*
+%{python3_sitelib}/sfa/__pycache__/__init__*.pyc
+%{python3_sitelib}/sfa/trust
+%{python3_sitelib}/sfa/storage
+%{python3_sitelib}/sfa/util
+%{python3_sitelib}/sfa/server
+%{python3_sitelib}/sfa/methods
+%{python3_sitelib}/sfa/generic
+%{python3_sitelib}/sfa/managers
+%{python3_sitelib}/sfa/importer
+%{python3_sitelib}/sfa/rspecs
+%{python3_sitelib}/sfa/client
 
 %files client
 %config (noreplace) /etc/sfa/sfi_config
 
 %files client
 %config (noreplace) /etc/sfa/sfi_config
@@ -192,8 +169,7 @@ rm -rf $RPM_BUILD_ROOT
 
 %files plc
 %defattr(-,root,root)
 
 %files plc
 %defattr(-,root,root)
-%{python_sitelib}/sfa/planetlab
-%{python_sitelib}/sfa/openstack
+%{python3_sitelib}/sfa/planetlab
 /etc/sfa/pl.rng
 /etc/sfa/credential.xsd
 /etc/sfa/top.xsd
 /etc/sfa/pl.rng
 /etc/sfa/credential.xsd
 /etc/sfa/top.xsd
@@ -202,57 +178,71 @@ rm -rf $RPM_BUILD_ROOT
 /etc/sfa/protogeni-rspec-common.xsd
 /etc/sfa/topology
 
 /etc/sfa/protogeni-rspec-common.xsd
 /etc/sfa/topology
 
-%files flashpolicy
-%{_bindir}/sfa_flashpolicy.py*
-/etc/sfa/sfa_flashpolicy_config.xml
-
-%files federica
-%{python_sitelib}/sfa/federica
-
-%files nitos
-%{python_sitelib}/sfa/nitos
-
 %files iotlab
 %files iotlab
-%{python_sitelib}/sfa/iotlab
+%{python3_sitelib}/sfa/iotlab
 
 %files dummy
 
 %files dummy
-%{python_sitelib}/sfa/dummy
+%{python3_sitelib}/sfa/dummy
 
 %files sfatables
 /etc/sfatables/*
 %{_bindir}/sfatables
 
 %files sfatables
 /etc/sfatables/*
 %{_bindir}/sfatables
-%{python_sitelib}/sfatables
+%{python3_sitelib}/sfatables
 
 %files tests
 %{_datadir}/sfa/tests
 
 
 %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
 %post
-chkconfig --add sfa
+systemctl enable sfa-aggregate
+systemctl enable sfa-registry
+true
 
 %preun
 if [ "$1" = 0 ] ; then
 
 %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
 fi
+true
 
 %postun
 
 %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
+true
 
 %changelog
 
 %changelog
+* Fri Mar 29 2019 Thierry Parmentelat <thierry.parmentelat@inria.fr> - sfa-5.0-0
+- ported to python3 - no other change
+
+* 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
 * 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
@@ -828,7 +818,7 @@ fi
 * Fri Jun 10 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - sfa-1.0-23
 - includes a change on passphrases that was intended in 1.0-22
 
 * Fri Jun 10 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - sfa-1.0-23
 - includes a change on passphrases that was intended in 1.0-22
 
-* Thu Jun 6 2011 Tony Mack <tmack@cs.princeton.edu> - sfa-1.0-22
+* Mon Jun 6 2011 Tony Mack <tmack@cs.princeton.edu> - sfa-1.0-22
 - Added support for ProtoGENI RSpec v2
 
 * Wed Mar 16 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - sfa-1.0-21
 - Added support for ProtoGENI RSpec v2
 
 * Wed Mar 16 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - sfa-1.0-21
@@ -956,7 +946,7 @@ fi
   the api handler on every new server request, making it easier to access the
   cache and use in more general ways.
 
   the api handler on every new server request, making it easier to access the
   cache and use in more general ways.
 
-* Thu May 11 2010 Tony Mack <tmack@cs.princeton.edu> - sfa-0.9-11
+* Tue May 11 2010 Tony Mack <tmack@cs.princeton.edu> - sfa-0.9-11
 - SfaServer now uses a pool of threads to handle requests concurrently
 - sfa.util.rspec no longer used to process/manage rspecs (deprecated). This is now handled by sfa.plc.network and is not backwards compatible
 - PIs can now get a slice credential for any slice at their site without having to be a member of the slice
 - SfaServer now uses a pool of threads to handle requests concurrently
 - sfa.util.rspec no longer used to process/manage rspecs (deprecated). This is now handled by sfa.plc.network and is not backwards compatible
 - PIs can now get a slice credential for any slice at their site without having to be a member of the slice
@@ -1075,7 +1065,7 @@ fi
 * Sat May 30 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - geniwrapper-0.2-2
 - bugfixes - still a work in progress
 
 * Sat May 30 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - geniwrapper-0.2-2
 - bugfixes - still a work in progress
 
-* Fri May 18 2009 Baris Metin <tmetin@sophia.inria.fr>
+* Mon May 18 2009 Baris Metin <tmetin@sophia.inria.fr>
 - initial package
 
 
 - initial package