X-Git-Url: http://git.onelab.eu/?p=sliceimage.git;a=blobdiff_plain;f=sliceimage.spec;h=bc84d487b64f90ce50c6a031988d4628a8fa640f;hp=09a48608ff970d986b9cb24a93d6c360a5786b9a;hb=2ac75356f2a267ffd7bec1429ac8e7b3bb5185fd;hpb=2c18a6dbfd777732171c36a76273bc401f01f9f2 diff --git a/sliceimage.spec b/sliceimage.spec index 09a4860..bc84d48 100644 --- a/sliceimage.spec +++ b/sliceimage.spec @@ -1,8 +1,15 @@ %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 1 +%define taglevel 0 # pldistro already in the rpm name #%define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}} @@ -22,35 +29,25 @@ 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 +55,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 +71,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,33 +78,29 @@ 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 +[ "$PL_BOOTCD" = "1" ] && return +# remove explicit reference to vserver, find out all relevant scripts +for initscript in /etc/init.d/*sliceimage*; do $initscript start ; done -%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} +[ "$PL_BOOTCD" = "1" ] && return +# remove explicit reference to vserver, find out all relevant scripts +for initscript in /etc/init.d/*sliceimage*; do $initscript force ; done + + +#%define vcached_pid /var/run/vcached.pid %changelog * Mon Jan 24 2011 Thierry Parmentelat - vserver-reference-5.0-6