%define name myplc
-%define version 5.3
-%define taglevel 4
+%define version 7.1
+%define taglevel 0
%define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
-%global python_sitearch %( python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)" )
+
Name: %{name}
Version: %{version}
Group: Applications/Systems
# planetlab stuff
-Requires: bootmanager
-Requires: bootcd-%{nodefamily}
-Requires: bootcd-initscripts
-Requires: www-register-wizard
-Requires: nodeconfig
-Requires: nodeyum
-Requires: nodeimage-%{nodefamily}
Requires: myplc-docs
Requires: myplc-release
Requires: myplc-core
Requires: createrepo
+## serverside only
+#Requires: bootmanager
+#Requires: bootcd-%{nodefamily}
+#Requires: bootcd-initscripts
+#Requires: nodeimage-%{nodefamily}
+#Requires: nodeconfig
+#Requires: nodeyum
+Requires: www-register-wizard
# starting with f16 we depend on this new rpm
%endif
-%define debug_package %{nil}
-
%description
MyPLC is a complete PlanetLab Central (PLC) portable installation.
The default installation consists of a web server, an XML-RPC API
####################### myplc-core
+# Warning: it appears that Requires should come here
+# BEFORE the %description thingy
%package core
-Summary: this package is designed for deployments that only need
-the API + db + www UI. Installing this will not require any node-oriented
-package, like bootcd, nodeiamge, or bootmanager.
-
-% description core
-The core of myplc is about its API + database + web interface
+Summary: core contents of myplc with API + db + www UI
-# as much as possible, requires should go in the subpackages specfile
+# as much as possible, requires should have gone
+# with the individual packages, but well
Requires: myplc-config
Requires: plcapi
Requires: plewww
# this technically is a plcapi dependency
# but it's simpler here for chosing which
-%if "%{distro}" == "Fedora" && %{distrorelease} >= 29
-Requires: python2-mod_wsgi
-%else
-Requires: mod_wsgi
-%endif
+Requires: python3-mod_wsgi
# this technically is a plewww dependency
# starting with f27 we depend on this new rpm
Requires: php-pgsql
Requires: curl
Requires: rsync
-Requires: python-devel
+Requires: python3-devel
Requires: dnf
#Requires: PyXML
Requires: cpio
Requires: cronie
+%description core
+The core of myplc is about its API + database + web interface.
+Installing this will not require any node-oriented
+package, like bootcd, nodeimage, or bootmanager.
+
####################### myplc-config
%package config
Summary: PlanetLab Central (PLC) configuration python module
Group: Applications/Systems
-Requires: python
+Requires: python3
%description config
This package provides the Python module to configure MyPLC.
+
%prep
%setup -q
rm -rf $RPM_BUILD_ROOT
# Install configuration scripts
-echo "* Installing plc_config.py in " ${PYTHON_SITEARCH}
-PYTHON_SITEARCH=`python -c 'from distutils.sysconfig import get_python_lib; print get_python_lib(1)'`
-install -D -m 755 plc_config.py ${RPM_BUILD_ROOT}/${PYTHON_SITEARCH}/plc_config.py
+echo "* Installing plc_config.py in %{python3_sitelib}"
+install -D -m 755 plc_config.py ${RPM_BUILD_ROOT}/%{python3_sitelib}/plc_config.py
echo "* Installing scripts in /usr/bin"
mkdir -p ${RPM_BUILD_ROOT}/usr/bin
%files core
%defattr(-,root,root,-)
+/usr/lib/systemd/system/plc.service
+/usr/bin/plc-ctl
+/etc/plc.d
/etc/planetlab
/etc/plc_sliceinitscripts
/etc/support-scripts
%files config
%defattr(-,root,root,-)
/usr/bin/plc-config
-%{python_sitearch}/plc_config.py*
-
+%{python3_sitelib}/plc_config.py*
+%exclude %{python3_sitelib}/__pycache__/*.pyc
%changelog
+* Sat Apr 30 2022 Thierry Parmentelat <thierry.parmentelat@inria.fr> - myplc-7.1-0
+- ready on f35
+
+* Mon Jan 07 2019 Thierry Parmentelat <thierry.parmentelat@inria.fr> - myplc-7.0-0
+- suitable for python3 on both f27 and f29
+
* Sun Jul 16 2017 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - myplc-5.3-4
- takes care of creating plcapi log file