%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 taglevel 0
+%define taglevel 12
# pldistro already in the rpm name
#%define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
%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
-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
+# in 5.0, this package was named vserver-<>
+Obsoletes: vserver-%{slicefamily}
# 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
-# 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
# 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.
%clean
rm -rf $RPM_BUILD_ROOT
-%files %{slicefamily}
+%files
%defattr(-,root,root)
/vservers/.vref/%{slicefamily}
-%files system-%{slicefamily}
+%files -n sliceimage-system-%{slicefamily}
%defattr(-,root,root)
/vservers/.vstub/%{slicefamily}
### for upgrades
-%post ${slicefamily}
-[ "$PL_BOOTCD" = "1" ] && return
-for initscript in /etc/init.d/*sliceimage*; do $initscript start ; done
+%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
# 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
-%post system-%{slicefamily}
-[ "$PL_BOOTCD" = "1" ] && return
-for initscript in /etc/init.d/*sliceimage*; do $initscript force ; done
-#[ "$PL_BOOTCD" = "1" ] || service vserver-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
+* 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