X-Git-Url: http://git.onelab.eu/?p=myplc.git;a=blobdiff_plain;f=myplc.spec;h=5567fcb2ed9f0ae1815390af3f2c43bc6f95be33;hp=28066237a78eb1ac5d515b5ebcae0a7486f0fd81;hb=HEAD;hpb=59a075fbdc02c0d77e94c55100eecaba0cb561ef diff --git a/myplc.spec b/myplc.spec index 2806623..5567fcb 100644 --- a/myplc.spec +++ b/myplc.spec @@ -1,6 +1,6 @@ %define name myplc %define version 5.3 -%define taglevel 4 +%define taglevel 5 %define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}} %global python_sitearch %( python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)" ) @@ -20,14 +20,71 @@ URL: %{SCMURL} %define nodefamily %{pldistro}-%{distroname}-%{_arch} -####################### myplc + +####################### myplc - mostly a meta-package Summary: PlanetLab Central (PLC) Portable Installation Group: Applications/Systems -# as much as possible, requires should go in the subpackages specfile +# planetlab stuff +Requires: myplc-docs +Requires: myplc-release +Requires: myplc-core +Requires: createrepo +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 +%if "%{distro}" == "Fedora" && %{distrorelease} >= 16 +Requires: rpm-sign +%endif + + +%description +MyPLC is a complete PlanetLab Central (PLC) portable installation. +The default installation consists of a web server, an XML-RPC API +server, a boot server, and a database server: the core components of +PLC. The installation may be customized through a graphical +interface. All PLC services are started up and shut down through a +single System V init script. + + +####################### myplc-core +# Warning: it appears that Requires should come here +# BEFORE the %description thingy + +%package core + +Summary: core contents of myplc with API + db + www UI + +# 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 + +# this technically is a plewww dependency +# starting with f27 we depend on this new rpm +%if "%{distro}" == "Fedora" && %{distrorelease} >= 27 +Requires: php-fpm +%endif + Requires: redhat-lsb Requires: bzip2 -Requires: tar +Requires: tar Requires: less Requires: sendmail Requires: sendmail-cf @@ -37,9 +94,8 @@ Requires: php-pgsql Requires: curl Requires: rsync Requires: python-devel -Requires: yum +Requires: dnf #Requires: PyXML -Requires: createrepo Requires: cpio Requires: wget Requires: php @@ -53,44 +109,12 @@ Requires: xmlsec1 Requires: xmlsec1-openssl Requires: ed Requires: cronie -# starting with f16 we depend on this new rpm -%if "%{distro}" == "Fedora" && %{distrorelease} >= 16 -Requires: rpm-sign -%endif -# starting with f27 we depend on this new rpm -%if "%{distro}" == "Fedora" && %{distrorelease} >= 27 -Requires: php-fpm -%endif - -# planetlab stuff -Requires: bootmanager -Requires: bootcd-%{nodefamily} -Requires: bootcd-initscripts -Requires: PLCWWW -Requires: www-register-wizard -Requires: nodeconfig -Requires: nodeyum -Requires: plcapi >= 5.2 -# this technically is a plcapi dependency but it's simpler here for chosing which -%if "%{distro}" == "Fedora" && %{distrorelease} >= 18 -Requires: mod_wsgi -%else -Requires: mod_python -%endif -Requires: nodeimage-%{nodefamily} -Requires: myplc-docs -Requires: myplc-release -Requires: myplc-config -%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 -server, a boot server, and a database server: the core components of -PLC. The installation may be customized through a graphical -interface. All PLC services are started up and shut down through a -single System V init script. +%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 @@ -104,6 +128,7 @@ Requires: python This package provides the Python module to configure MyPLC. + %prep %setup -q @@ -123,10 +148,10 @@ rsync -av --exclude .svn bin/ ${RPM_BUILD_ROOT}/usr/bin/ (cd $RPM_BUILD_ROOT/usr/bin; ln -s mtail.py mtail) chmod 755 ${RPM_BUILD_ROOT}/usr/bin/* -# Install initscript +# Install initscript echo "* Installing plc initscript" -install -D -m 755 plc.init ${RPM_BUILD_ROOT}/etc/init.d/plc -install -D -m 644 plc.service ${RPM_BUILD_ROOT}/lib/systemd/system/plc.service +install -D -m 755 systemd/plc-ctl ${RPM_BUILD_ROOT}/usr/bin/plc-ctl +install -D -m 644 systemd/plc.service ${RPM_BUILD_ROOT}/usr/lib/systemd/system/plc.service # Install initscripts echo "* Installing plc.d initscripts" @@ -201,10 +226,7 @@ if [ $1 -gt 0 ] ; then fi %post -if [ -x /sbin/chkconfig ] ; then - /sbin/chkconfig --add plc - /sbin/chkconfig plc on -fi +systemctl enable plc %if "%{distro}" == "Fedora" && %{distrorelease} >= 27 systemctl enable php-fpm @@ -223,27 +245,27 @@ if [ $1 -gt 0 ] ; then fi fi done -fi +fi %preun # 0 = erase, 1 = upgrade if [ $1 -eq 0 ] ; then %{_sysconfdir}/init.d/plc stop - if [ -x /sbin/chkconfig ] ; then - /sbin/chkconfig plc off - /sbin/chkconfig --del plc - fi + systemctl disable plc fi + %files +/usr/share/myplc/bashrc + +%files core %defattr(-,root,root,-) -# Host startup script and configuration file -/etc/init.d/plc +/usr/lib/systemd/system/plc.service +/usr/bin/plc-ctl /etc/plc.d /etc/planetlab /etc/plc_sliceinitscripts /etc/support-scripts -/usr/share/myplc/bashrc # keep a detailed list, to avoid duplicate of plc-config, # that belongs to the myplc-config rpm /usr/bin/plc-config-tty @@ -261,7 +283,7 @@ fi /usr/bin/check-hrns.py* /usr/bin/check-vsys-defaults.py* /usr/bin/spot-dup-accounts.sh -/lib/systemd/system/plc.service + %files config %defattr(-,root,root,-) @@ -270,6 +292,13 @@ fi %changelog +* Mon Jan 07 2019 Thierry Parmentelat - myplc-5.3-5 +- last version suitable for f27/f29 with python2 +- packaging is split up, one more rpm named 'myplc-core' is produced, +- that covers the infrastructure side only (without bootcds and nodeimages and all node-oriented material) +- no more init file, one systemd service only, that leverages new /usr/bin/plc-ctl +- more robust config for httpd and php-fpm and php + * Sun Jul 16 2017 Thierry Parmentelat - myplc-5.3-4 - takes care of creating plcapi log file @@ -573,22 +602,22 @@ fi - figures in doc package * Fri May 09 2008 Thierry Parmentelat - MyPLC-4.2-11 -- no more doc packaged outside of myplc-docs - doc/ cleaned up +- no more doc packaged outside of myplc-docs - doc/ cleaned up - chroot packaging does not have docs anymore - 'cvs' and 'dev' not required from myplc-native anymore - cosmetic change in kml output * Thu May 08 2008 Thierry Parmentelat - MyPLC-4.2-10 - defaults for *_IP conf vars now void, expect more accurate /etc/hosts -- gethostbyname uses python rather than perl (hope this shrinks deps) +- gethostbyname uses python rather than perl (hope this shrinks deps) - doc: reviewed myplc doc - deprecated everything related to myplc-devel - doc: packaging doc in myplc-native (myplc&PLCAPI) & removed target files from svn -- make sync now works towards vserver-based myplc only +- make sync now works towards vserver-based myplc only * Mon May 05 2008 Stephen Soltesz - MyPLC-4.2-9 -- +- - added vsys 'pfmount' script to the default netflow slice attributes. -- +- * Thu Apr 24 2008 Thierry Parmentelat - MyPLC-4.2-8 - plc.d/bootcd step altered for handling legacy bootcd smooth migration @@ -603,10 +632,10 @@ fi - resolv file in /etc/resolv.conf, not plc_resolv.conf - improved sirius script - remove the 'driver' node-network-setting that was unused, and new 'Multihome' category -- expires more properly set +- expires more properly set * Mon Apr 07 2008 Stephen Soltesz - MyPLC-4.2-4 MyPLC-4.2-5 -- +- * Wed Mar 26 2008 Thierry Parmentelat - MyPLC-4.2-3 MyPLC-4.2-4 - renew_reminder script moved to support-scripts/