no more unversioned obsolete
[sliceimage.git] / sliceimage.spec
index a233cef..89abe0d 100644 (file)
@@ -1,11 +1,17 @@
 %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 release %{taglevel}%{?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
@@ -57,7 +59,7 @@ Requires: sliceimage-%{slicefamily} >= %{version}-%{release}
 # 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.
 
@@ -80,30 +82,84 @@ popd
 %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