no more unversioned obsolete
[sliceimage.git] / sliceimage.spec
index 09a4860..89abe0d 100644 (file)
@@ -1,11 +1,17 @@
 %define slicefamily %{pldistro}-%{distroname}-%{_arch}
 
 %define slicefamily %{pldistro}-%{distroname}-%{_arch}
 
+# historically there was one dummy 'sliceimage' package, and 
+# then 2 subpackages with {slicefamily} and system-{slicefamily}
+# however the python spec2make that we need to use on f>=15 is dumb
+# it cannot detect it's an empty/dummy package, and thus includes it
+# in e.g. noderepo, which fails
+# so we now only have the 2 relevant packages
+
 %define name sliceimage
 %define version 5.1
 %define name sliceimage
 %define version 5.1
-%define taglevel 1
+%define taglevel 12
 
 # pldistro already in the rpm name
 
 # pldistro already in the rpm name
-#%define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
 %define release %{taglevel}%{?date:.%{date}}
 
 
 %define release %{taglevel}%{?date:.%{date}}
 
 
 %define __os_install_post %{nil}
 %define debug_package %{nil}
 
 %define __os_install_post %{nil}
 %define debug_package %{nil}
 
+# this is needed as of f27 to prevent rpmbuild from inserting a huge
+# /usr/lib/.build-id area, that not only is not helping:
+# it comes in the way when creating the node image
+%global _build_id_links none
+
 Vendor: PlanetLab
 Packager: PlanetLab Central <support@planet-lab.org>
 Distribution: PlanetLab %{plrelease}
 URL: %{SCMURL}
 
 # sliceimage per se is just a placeholder
 Vendor: PlanetLab
 Packager: PlanetLab Central <support@planet-lab.org>
 Distribution: PlanetLab %{plrelease}
 URL: %{SCMURL}
 
 # sliceimage per se is just a placeholder
-Summary: Dummy reference image for slice family %{slicefamily}
-Name: %{name}
+Summary: Slice reference image so node can create slivers of type %{slicefamily}
+Name: %{name}-%{slicefamily}
 Version: %{version}
 Release: %{release}
 Source0: %{name}-%{version}.tar.bz2
 License: GPL
 Group: Applications/System
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
 Version: %{version}
 Release: %{release}
 Source0: %{name}-%{version}.tar.bz2
 License: GPL
 Group: Applications/System
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
+# in 5.0, this package was named vserver-<>
+# Obsoletes: vserver-{slicefamily}
 # this would not be right
 #BuildArch: noarch
 # this would not be right
 #BuildArch: noarch
-
-%description
-This package does not really exist.
-
-
-%package %{slicefamily}
-Summary: Slice reference image for creating slivers
-Group: Applications/System
 AutoReqProv: no
 AutoReqProv: no
-Requires: util-vserver, e2fsprogs, yum
-# in 5.0, this package was named vserver-<>
-Obsoletes: vserver-%{slicefamily}
-
-%description %{slicefamily}
-This package creates the slice reference image used
-as the installation base for new PlanetLab slivers.
 
 
+%description
+This package provides the nodes with the root image used as the 
+installation base for new slivers of type %{slicefamily}.
 
 
-%package system-%{slicefamily}
+%package -n sliceimage-system-%{slicefamily}
 Summary: Reference image for system slices
 Group: Applications/System
 AutoReqProv: no
 Summary: Reference image for system slices
 Group: Applications/System
 AutoReqProv: no
@@ -58,7 +59,7 @@ Requires: sliceimage-%{slicefamily} >= %{version}-%{release}
 # in 5.0, this package was named vserver-systemslices-<>
 Obsoletes: vserver-systemslices-%{slicefamily}
 
 # in 5.0, this package was named vserver-systemslices-<>
 Obsoletes: vserver-systemslices-%{slicefamily}
 
-%description system-%{slicefamily} 
+%description -n sliceimage-system-%{slicefamily} 
 This package installs the stubs necessary to create system slices
 (typically planetflow) on top of the reference image.
 
 This package installs the stubs necessary to create system slices
 (typically planetflow) on top of the reference image.
 
@@ -74,9 +75,6 @@ popd
 rm -rf $RPM_BUILD_ROOT
 
 pushd sliceimage
 rm -rf $RPM_BUILD_ROOT
 
 pushd sliceimage
-install -D -m 755 initscripts/sliceimage $RPM_BUILD_ROOT/%{_initrddir}/sliceimage
-install -D -m 644 cron.d/sliceimage $RPM_BUILD_ROOT/%{_sysconfdir}/cron.d/sliceimage
-install -D -m 644 logrotate/sliceimage $RPM_BUILD_ROOT/%{_sysconfdir}/logrotate.d/sliceimage
 # the path for the root of these is still /vservers/ for compat
 find vservers | cpio -p -d -u $RPM_BUILD_ROOT/
 popd
 # the path for the root of these is still /vservers/ for compat
 find vservers | cpio -p -d -u $RPM_BUILD_ROOT/
 popd
@@ -84,35 +82,84 @@ popd
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
-%files %{slicefamily}
+%files
 %defattr(-,root,root)
 %defattr(-,root,root)
-%{_initrddir}/sliceimage
-%{_sysconfdir}/cron.d/sliceimage
-%{_sysconfdir}/logrotate.d/sliceimage
 /vservers/.vref/%{slicefamily}
 
 /vservers/.vref/%{slicefamily}
 
-%files system-%{slicefamily}
+%files -n sliceimage-system-%{slicefamily}
 %defattr(-,root,root)
 /vservers/.vstub/%{slicefamily}
 
 %defattr(-,root,root)
 /vservers/.vstub/%{slicefamily}
 
-%define vcached_pid /var/run/vcached.pid
+### for upgrades
+%post
+if [ "$PL_BOOTCD" = "1" ] ; then
+   exit 0
+fi
+# remove explicit reference to vserver, find out all relevant scripts
+initScripts=`find /etc/init.d/ -name '*sliceimage*'`
+if [ "$initScripts" != "" ] ; then
+   for initscript in $initScripts ; do $initscript start ; done
+fi
 
 
-%post %{slicefamily}
-chkconfig --add sliceimage
-chkconfig sliceimage on
-[ "$PL_BOOTCD" = "1" ] || service sliceimage start
-
-# Randomize daily run time
-M=$((60 * $RANDOM / 32768))
-H=$((24 * $RANDOM / 32768))
-sed -i -e "s/@M@/$M/" -e "s/@H@/$H/" %{_sysconfdir}/cron.d/sliceimage
-
-%post system-%{slicefamily}
 # need to do this for system slices, for when a new image shows up
 # we've already the service installed and enabled, as systemslices requires the plain package
 # need to do this for system slices, for when a new image shows up
 # we've already the service installed and enabled, as systemslices requires the plain package
-[ "$PL_BOOTCD" = "1" ] || service sliceimage force
+%post -n sliceimage-system-%{slicefamily}
+if [ "$PL_BOOTCD" = "1" ] ; then
+   exit 0
+fi
+# remove explicit reference to vserver, find out all relevant scripts
+initScripts=`find /etc/init.d/ -name '*sliceimage*'`
+if [ "$initScripts" != "" ] ; then
+   for initscript in $initScripts ; do $initscript force ; done
+fi
+
+
+#%define vcached_pid /var/run/vcached.pid
 
 %changelog
 
 %changelog
+* Mon Jan 07 2019 Thierry <Parmentelat> - sliceimage-5.1-12
+- fix for optimizing build on fedora27
+
+* Tue Jan 19 2016 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - sliceimage-5.1-11
+- make cronjob hourly instead of daily
+
+* Wed Feb 18 2015 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - sliceimage-5.1-10
+- fixed taglevel in specfile
+
+* Tue Jul 22 2014 Thomas Dreibholz <dreibh@simula.no> - sliceimage-5.1-9
+- Post-install fix: exit instead of return
+- Post-install fix: only call init script when there are init scripts
+
+* Wed Jul 16 2014 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - sliceimage-5.1-8
+- use systemd unit files to initialize lxc-sliceimage instead of a sysv script
+
+* Mon Apr 28 2014 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - sliceimage-5.1-7
+- can build pips and gems in sliceimage (currently only gem used in omf)
+- requires a recent build/pkgs.py if pkgs file does mention pip or gem
+
+* Wed Jul 03 2013 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - sliceimage-5.1-6
+- attempt to make lxc-sliceimage (update lxc ref. images) more robust
+- in particular by avoiding chroot when simple file operations are involved
+- also this activity gets logged into /var/log/lxc-sliceimage.log
+- it is still unclear whether stub-based images are correctly updated
+
+* Wed Jun 26 2013 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - sliceimage-5.1-5
+- fixes for heterogeneous slice/nodes
+- addresses PATH and missing eth0 among others
+
+* Fri May 24 2013 Andy Bavier <acb@cs.princeton.edu> - sliceimage-5.1-4
+- Fix machine arch in slivers
+
+* Wed Oct 24 2012 Andy Bavier <acb@cs.princeton.edu> - sliceimage-5.1-3
+- More flexible <interface> element generation
+
+* Mon Jul 09 2012 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - sliceimage-5.1-2
+- for linux-containers: populates refs from stubs (for system slices)
+- for linux-containers: memory bump to 512M, and add acpi
+
+* Fri Apr 13 2012 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - sliceimage-5.1-1
+- first working draft for both mainline and lxc
+
 * Mon Jan 24 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - vserver-reference-5.0-6
 - no semantic change - just fixed specfile for git URL
 
 * Mon Jan 24 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - vserver-reference-5.0-6
 - no semantic change - just fixed specfile for git URL