Merge branch 'master' of ssh://git.onelab.eu/git/sliceimage
[vserver-reference.git] / sliceimage.spec
1 %define slicefamily %{pldistro}-%{distroname}-%{_arch}
2
3 %define name sliceimage
4 %define version 5.1
5 %define taglevel 1
6
7 # pldistro already in the rpm name
8 #%define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
9 %define release %{taglevel}%{?date:.%{date}}
10
11
12 # we don't really need the standard postinstall process from rpm that
13 # strips files and byte-compiles python files. all files in this
14 # package are comming from other rpm files and they've already went
15 # through this post install processing. - baris
16 %define __os_install_post %{nil}
17 %define debug_package %{nil}
18
19 Vendor: PlanetLab
20 Packager: PlanetLab Central <support@planet-lab.org>
21 Distribution: PlanetLab %{plrelease}
22 URL: %{SCMURL}
23
24 # sliceimage per se is just a placeholder
25 Summary: Dummy reference image for slice family %{slicefamily}
26 Name: %{name}
27 Version: %{version}
28 Release: %{release}
29 Source0: %{name}-%{version}.tar.bz2
30 License: GPL
31 Group: Applications/System
32 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
33 # this would not be right
34 #BuildArch: noarch
35
36 %description
37 This package does not really exist.
38
39
40 %package %{slicefamily}
41 Summary: Slice reference image for creating slivers
42 Group: Applications/System
43 AutoReqProv: no
44 Requires: util-vserver, e2fsprogs, yum
45 # in 5.0, this package was named vserver-<>
46 Obsoletes: vserver-%{slicefamily}
47
48 %description %{slicefamily}
49 This package creates the slice reference image used
50 as the installation base for new PlanetLab slivers.
51
52
53 %package system-%{slicefamily}
54 Summary: Reference image for system slices
55 Group: Applications/System
56 AutoReqProv: no
57 Requires: sliceimage-%{slicefamily} >= %{version}-%{release}
58 # in 5.0, this package was named vserver-systemslices-<>
59 Obsoletes: vserver-systemslices-%{slicefamily}
60
61 %description system-%{slicefamily} 
62 This package installs the stubs necessary to create system slices
63 (typically planetflow) on top of the reference image.
64
65 %prep
66 %setup -q
67
68 %build
69 pushd sliceimage
70 ./build.sh %{pldistro} %{slicefamily}
71 popd
72
73 %install
74 rm -rf $RPM_BUILD_ROOT
75
76 pushd sliceimage
77 install -D -m 755 initscripts/sliceimage $RPM_BUILD_ROOT/%{_initrddir}/sliceimage
78 install -D -m 644 cron.d/sliceimage $RPM_BUILD_ROOT/%{_sysconfdir}/cron.d/sliceimage
79 install -D -m 644 logrotate/sliceimage $RPM_BUILD_ROOT/%{_sysconfdir}/logrotate.d/sliceimage
80 # the path for the root of these is still /vservers/ for compat
81 find vservers | cpio -p -d -u $RPM_BUILD_ROOT/
82 popd
83
84 %clean
85 rm -rf $RPM_BUILD_ROOT
86
87 %files %{slicefamily}
88 %defattr(-,root,root)
89 %{_initrddir}/sliceimage
90 %{_sysconfdir}/cron.d/sliceimage
91 %{_sysconfdir}/logrotate.d/sliceimage
92 /vservers/.vref/%{slicefamily}
93
94 %files system-%{slicefamily}
95 %defattr(-,root,root)
96 /vservers/.vstub/%{slicefamily}
97
98 %define vcached_pid /var/run/vcached.pid
99
100 %post %{slicefamily}
101 chkconfig --add sliceimage
102 chkconfig sliceimage on
103 [ "$PL_BOOTCD" = "1" ] || service sliceimage start
104
105 # Randomize daily run time
106 M=$((60 * $RANDOM / 32768))
107 H=$((24 * $RANDOM / 32768))
108 sed -i -e "s/@M@/$M/" -e "s/@H@/$H/" %{_sysconfdir}/cron.d/sliceimage
109
110 %post system-%{slicefamily}
111 # need to do this for system slices, for when a new image shows up
112 # we've already the service installed and enabled, as systemslices requires the plain package
113 [ "$PL_BOOTCD" = "1" ] || service sliceimage force
114
115 %changelog
116 * Mon Jan 24 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - vserver-reference-5.0-6
117 - no semantic change - just fixed specfile for git URL
118
119 * Wed Dec 29 2010 Daniel Hokka Zakrisson <dhokka@cs.princeton.edu> - vserver-reference-5.0-5
120 - Remove ugly hack that breaks su/sudo on upgrades.
121
122 * Tue Dec 07 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - vserver-reference-5.0-4
123 - optimize rpm construction - skips stripping and the like
124
125 * Mon Jul 05 2010 Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - VserverReference-5.0-3
126 - module name changes
127
128 * Fri Mar 12 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - VserverReference-5.0-2
129 - iron out system slices reference image update
130
131 * Fri Jan 29 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - VserverReference-5.0-1
132 - first working version of 5.0:
133 - pld.c/, db-config.d/ and nodeconfig/ scripts should now sit in the module they belong to
134 - nodefamily is 3-fold with pldistro-fcdistro-arch
135 - new module layout
136
137 * Tue Oct 20 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - VserverReference-4.2-16
138 - fix issue about locating the post-install script(s)
139 - this was causing the onelab distro to miss the /etc/sudoers patch
140
141 * Mon Oct 19 2009 Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - VserverReference-4.2-15
142 - - comment out requiretty
143
144 * Fri Oct 09 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - VserverReference-4.2-14
145 - can use groups in the pkgs file with +++ for space
146
147 * Mon Aug 10 2009 Stephen Soltesz <soltesz@cs.princeton.edu> - VserverReference-4.2-13
148 - Added remove for all VROOTs rather than the last one.  BUG FIX.
149
150 * Tue Mar 24 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - VserverReference-4.2-12
151 - fix for fedora 10
152
153 * Thu Oct 02 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - VserverReference-4.2-11
154 - on 64bits archs, locates util-vserver's config file correctly
155
156 * Thu Jul 03 2008 Daniel Hokka Zakrisson <daniel@hozac.com> - VserverReference-4.2-10
157 - Use the correct yum.conf to get access to required packages such as pf2slice.
158
159 * Mon Jun 30 2008 Daniel Hokka Zakrisson <daniel@hozac.com> - VserverReference-4.2-9
160 - Scriptlet fix.
161
162 * Fri Jun 27 2008 Daniel Hokka Zakrisson <daniel@hozac.com> - VserverReference-4.2-8
163 - Unset the immutable and iunlink bits to make sure we can install the package.
164
165 * Fri Jun 27 2008 Daniel Hokka Zakrisson <daniel@hozac.com> - VserverReference-4.2-7
166 - Let rpm remove the files.
167
168 * Thu Apr 24 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - VserverReference-4.2-6
169 - empty change, this should *not* be a noarch package
170
171 * Mon Apr 21 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - VserverReference-4.2-5
172 - tweaked pre script that was removing everything under /vservers/.vref
173 - dismantle vcached (as far as this module is concerned)
174 - sudo to log in /var/log/sudo
175
176 * Fri Mar 28 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - VserverReference-4.2-3 VserverReference-4.2-4
177 - bugfix, 4.2-3 was broken as the slicefamily stamp could not get created, thus nm issued 'vuseradd -t default'
178
179 * Wed Mar 26 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - VserverReference-4.2-2 VserverReference-4.2-3
180 - a single node can now install several instances of this package
181 - package name contains slicefamily - <pldistro>-<fcdistro>-<arch>
182 - setattr --iunlink or --~iunlink appropriately (uses /proc/virtual/info)
183 - does not copy yum.conf from host anymore
184
185 * Fri Feb 15 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - vserver-4.2-1 vserver-4.2-2
186 - vserver image to properly use links rather than copies
187
188 * Thu Jan 31 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - vserver-4.2-0 vserver-4.2-1
189 - more careful scan of the vserver-*.pkgs image specifications
190
191 * Tue Sep  1 2005 Mark Huang <mlhuang@cs.princeton.edu> 3.1-1.planetlab
192 - Pre-package vserver-reference instead of building it on nodes
193
194 * Tue Nov 30 2004 Mark Huang <mlhuang@cs.princeton.edu> 3.0-5.planetlab
195 - PL3118 and PL3131 fix: set barrier bit on /vservers instead of old
196   immulink bit. Do not reset the immutable bit on the new
197   vserver-reference directory when deleting it after an error.
198
199 * Mon Nov 15 2004 Mark Huang <mlhuang@cs.princeton.edu> 3.0-4.planetlab
200 - bump release to install Fedora Core 2 updates as of Tue Nov  9 2004
201 - PL3017 fix: rebuild vserver-reference image in case it was built
202   with i386 glibc
203
204 * Mon Nov 15 2004 Mark Huang <mlhuang@cs.princeton.edu> 3.0-4.planetlab
205 - bump release to install Fedora Core 2 updates as of Tue Nov  9 2004
206 - PL3017 fix: rebuild vserver-reference image in case it was built
207   with i386 glibc
208
209 * Sun Oct 10 2004 Mark Huang <mlhuang@cs.princeton.edu> 3.0-3.planetlab
210 - dynamically install reference image at init time
211
212 * Sun Oct 10 2004 Mark Huang <mlhuang@cs.princeton.edu> 3.0-2.planetlab
213 - dynamically install reference image
214
215 * Tue Sep 14 2004 Mark Huang <mlhuang@cs.princeton.edu> 3.0-1.planetlab
216 - initial build
217
218 %define module_current_branch 4.2