X-Git-Url: http://git.onelab.eu/?p=vserver-reference.git;a=blobdiff_plain;f=sliceimage.spec;h=89abe0dbd0a4bf8113a28e9ff5bd1a9de09ab253;hp=53ef747a03d5bfaafa1555d51e8c9b485be943ad;hb=HEAD;hpb=cb0bb404401a06ee2b5ed517d30b59f38fc0d3de diff --git a/sliceimage.spec b/sliceimage.spec index 53ef747..89abe0d 100644 --- a/sliceimage.spec +++ b/sliceimage.spec @@ -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}} @@ -16,41 +22,36 @@ %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 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 -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 @@ -58,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. @@ -74,9 +75,6 @@ popd 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 @@ -84,35 +82,84 @@ popd %clean rm -rf $RPM_BUILD_ROOT -%files %{slicefamily} +%files %defattr(-,root,root) -%{_initrddir}/sliceimage -%{_sysconfdir}/cron.d/sliceimage -%{_sysconfdir}/logrotate.d/sliceimage /vservers/.vref/%{slicefamily} -%files system-%{slicefamily} +%files -n sliceimage-system-%{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 -[ "$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 +* Mon Jan 07 2019 Thierry - sliceimage-5.1-12 +- fix for optimizing build on fedora27 + +* Tue Jan 19 2016 Thierry Parmentelat - sliceimage-5.1-11 +- make cronjob hourly instead of daily + +* Wed Feb 18 2015 Thierry Parmentelat - sliceimage-5.1-10 +- fixed taglevel in specfile + +* Tue Jul 22 2014 Thomas Dreibholz - 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 - sliceimage-5.1-8 +- use systemd unit files to initialize lxc-sliceimage instead of a sysv script + +* Mon Apr 28 2014 Thierry Parmentelat - 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 - 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 - sliceimage-5.1-5 +- fixes for heterogeneous slice/nodes +- addresses PATH and missing eth0 among others + +* Fri May 24 2013 Andy Bavier - sliceimage-5.1-4 +- Fix machine arch in slivers + +* Wed Oct 24 2012 Andy Bavier - sliceimage-5.1-3 +- More flexible element generation + +* Mon Jul 09 2012 Thierry Parmentelat - 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 - sliceimage-5.1-1 +- first working draft for both mainline and lxc + * Mon Jan 24 2011 Thierry Parmentelat - vserver-reference-5.0-6 - no semantic change - just fixed specfile for git URL