3 ## This package understands the following switches:
4 ## --without dietlibc ... disable usage of dietlibc
5 ## --with xalan ... require/use the xalan xslt processor
6 ## --without doc ... disable doc generation
7 ## --with legacy ... enable the legacy APIs
9 %global confdir %_sysconfdir/vservers
10 %global confdefaultdir %confdir/.defaults
11 %global pkglibdir %_libdir/%name
12 %global chkconfig /sbin/chkconfig
14 %global _localstatedir %_var
17 %{!?release_func:%global release_func() %1%{?dist}}
19 Summary: Linux virtual server utilities
22 Release: %release_func 0
24 Group: System Environment/Base
25 URL: http://savannah.nongnu.org/projects/util-vserver/
26 Source0: http://www.13thfloor.at/~ensc/util-vserver/files/alpha/%name-%version.tar.bz2
27 #Source1: http://www.13thfloor.at/~ensc/util-vserver/files/alpha/%name-%version.tar.bz2.asc
28 BuildRoot: %_tmppath/%name-%version-%release-root
30 Requires: %name-core = %version-%release
31 Requires: %name-lib = %version-%release
32 Requires: diffutils mktemp sed
33 Provides: vserver = %version-%release
34 Obsoletes: vserver < %version
35 BuildRequires: mount vconfig gawk iproute iptables
36 BuildRequires: gcc-c++ wget which diffutils
37 BuildRequires: e2fsprogs-devel beecrypt-devel
38 %{!?_without_doc:BuildRequires: doxygen tetex-latex}
39 Requires(post): %name-core
40 Requires(pre): %pkglibdir
41 Requires(postun): %pkglibdir
42 %{!?_without_dietlibc:BuildRequires: dietlibc >= 0:0.25}
43 %{?_with_xalan:BuildRequires: xalan-j}
46 Summary: Dynamic libraries for util-vserver
47 Group: System Environment/Libraries
50 Summary: The core-utilities for util-vserver
51 Group: Applications/System
55 Summary: Tools which can be used to build vservers
56 Group: Applications/System
57 Requires: rpm wget binutils tar e2fsprogs
58 Requires: %name = %version-%release
59 Requires(pre): %confdir
60 Requires(postun): %confdir
61 Requires(post): %name-core
64 Summary: SysV-initscripts for vserver
65 Group: System Environment/Base
66 Provides: init(%name) = sysv
67 Requires: make diffutils
69 Requires: %name = %version-%release
70 Requires(post): %chkconfig
71 Requires(preun): %chkconfig
72 Requires(pre): %_initrddir %pkglibdir
73 requires(postun): %_initrddir %pkglibdir
76 Summary: Legacy utilities for util-vserver
77 Group: Applications/System
78 Requires: %name = %version-%release
79 Requires(post): %chkconfig
80 Requires(preun): %chkconfig
81 Requires(pre): %_initrddir %pkglibdir
82 requires(postun): %_initrddir %pkglibdir
85 Summary: Header-files and libraries needed to develop vserver based applications
86 Group: Development/Libraries
88 Requires: %name-lib = %version-%release
92 util-vserver provides the components and a framework to setup virtual
93 servers. A virtual server runs inside a linux server. It is nevertheless
94 highly independent. As such, you can run various services with normal
95 configuration. The various vservers can't interact with each other and
96 can't interact with services in the main server.
98 This requires a special kernel supporting the new new_s_context and
99 set_ipv4root system call.
102 util-vserver provides the components and a framework to setup virtual
103 servers. A virtual server runs inside a linux server. It is nevertheless
104 highly independent. As such, you can run various services with normal
105 configuration. The various vservers can't interact with each other and
106 can't interact with services in the main server.
108 This package contains the shared libraries needed by all other
109 'util-vserver' subpackages.
112 util-vserver provides the components and a framework to setup virtual
113 servers. A virtual server runs inside a linux server. It is nevertheless
114 highly independent. As such, you can run various services with normal
115 configuration. The various vservers can't interact with each other and
116 can't interact with services in the main server.
118 This package contains utilities which are required to communicate with
119 the Linux-Vserver enabled kernel.
123 util-vserver provides the components and a framework to setup virtual
124 servers. A virtual server runs inside a linux server. It is nevertheless
125 highly independent. As such, you can run various services with normal
126 configuration. The various vservers can't interact with each other and
127 can't interact with services in the main server.
129 This package contains utilities which assist in building Vservers.
132 util-vserver provides the components and a framework to setup virtual
133 servers. A virtual server runs inside a linux server. It is nevertheless
134 highly independent. As such, you can run various services with normal
135 configuration. The various vservers can't interact with each other and
136 can't interact with services in the main server.
138 This package contains the SysV initscripts which start and stop
139 VServers and related tools.
143 util-vserver provides the components and a framework to setup virtual
144 servers. A virtual server runs inside a linux server. It is nevertheless
145 highly independent. As such, you can run various services with normal
146 configuration. The various vservers can't interact with each other and
147 can't interact with services in the main server.
149 This package contains the tools which are needed to work with VServers
150 having an old-style configuration.
154 util-vserver provides the components and a framework to setup virtual
155 servers. A virtual server runs inside a linux server. It is nevertheless
156 highly independent. As such, you can run various services with normal
157 configuration. The various vservers can't interact with each other and
158 can't interact with services in the main server.
160 This package contains header files and libraries which are needed to
161 develop VServer related applications.
169 %configure --with-initrddir=%_initrddir --enable-release \
170 %{?_without_dietlibc:--disable-dietlibc} \
171 %{?_with_legacy:--enable-apis=NOLEGACY}
173 %__make %{?_smp_mflags} all
174 %{!?_without_doc:%__make %{?_smp_mflags} doc}
178 rm -rf $RPM_BUILD_ROOT
179 %__make DESTDIR="$RPM_BUILD_ROOT" install install-distribution
181 rm -f $RPM_BUILD_ROOT/%_libdir/*.la
183 MANIFEST_CONFIG='%config' \
184 MANIFEST_CONFIG_NOREPLACE='%config(noreplace)' \
185 contrib/make-manifest %name $RPM_BUILD_ROOT contrib/manifest.dat
193 rm -rf $RPM_BUILD_ROOT
197 test -d /vservers || mkdir -m0000 /vservers
198 test -d /vservers/.pkg || mkdir -m0755 /vservers/.pkg
200 f="%confdefaultdir/vdirbase"; test -L "$f" -o -e "$f" || ln -s /vservers "$f"
201 f="%confdefaultdir/run.rev"; test -L "$f" -o -e "$f" || ln -s %_localstatedir/run/vservers.rev "$f"
202 f="%confdefaultdir/cachebase"; test -L "$f" -o -e "$f" || ln -s %_localstatedir/cache/vservers "$f"
204 %_sbindir/setattr --barrier /vservers /vservers/.pkg || :
208 test "$1" != 0 || rm -rf %_localstatedir/cache/vservers/* 2>/dev/null || :
211 %post lib -p /sbin/ldconfig
212 %postun lib -p /sbin/ldconfig
216 %chkconfig --add vservers-default
217 %chkconfig --add vprocunhide
218 %chkconfig --add util-vserver
223 test "$1" != 0 || %_initrddir/vprocunhide stop &>/dev/null || :
225 test "$1" != 0 || %chkconfig --del vprocunhide
226 test "$1" != 0 || %chkconfig --del vservers-default
227 test "$1" != 0 || %chkconfig --del util-vserver
231 test "$1" = 0 || %_initrddir/vprocunhide condrestart >/dev/null || :
234 %triggerin build -- fedora-release, centos-release
241 test -r "$i" || continue
243 target=%confdir/.distributions/.common/pubkeys/$base-$(basename "$i")
247 copy fedora /usr/share/doc/fedora-release-*/RPM-GPG-*
248 copy fedora /etc/pki/rpm-gpg/RPM-GPG-*
249 copy centos /usr/share/doc/centos-*/RPM-GPG-KEY-*
253 test -d /vservers/.hash || mkdir -m0700 /vservers/.hash
255 f="%confdefaultdir/apps/vunify/hash"; test -e "$f"/method -o -e "$f"/00 || \
256 ln -s /vservers/.hash "$f"/00
258 %_sbindir/setattr --barrier /vservers/.hash || :
262 test "$1" != 0 || rm -f %confdir/.distributions/.common/pubkeys/fedora-*
265 ## Temporary workaround to remove old v_* files; it will conflict
266 ## somehow with the -legacy package but can be fixed by reinstalling
268 ## TODO: remove me in the final .spec file
269 %define v_services httpd named portmap sendmail smb sshd xinetd gated
270 %triggerun sysv -- util-vserver-sysv < 0.30.198
271 for i in %v_services; do
272 %chkconfig --del v_$i || :
277 %chkconfig --add rebootmgr
278 %chkconfig --add vservers-legacy
280 for i in %v_services; do
281 %chkconfig --add v_$i
286 test "$1" != 0 || %_initrddir/rebootmgr stop &>/dev/null || :
288 test "$1" != 0 || for i in %v_services; do
289 %chkconfig --del v_$i
292 test "$1" != 0 || %chkconfig --del rebootmgr
293 test "$1" != 0 || %chkconfig --del vservers-legacy
296 test "$1" = 0 || %_initrddir/rebootmgr condrestart >/dev/null || :
299 %files -f %name-base.list
300 %defattr(-,root,root,-)
301 %doc AUTHORS COPYING ChangeLog NEWS README THANKS
302 %doc doc/*.html doc/*.css
306 %dir %confdefaultdir/apps
307 %dir %confdefaultdir/files
308 %dir %pkglibdir/defaults
309 %ghost %confdefaultdir/cachebase
310 %ghost %confdefaultdir/vdirbase
311 %ghost %confdefaultdir/run.rev
313 %dir %_localstatedir/cache/vservers
314 %dir %_localstatedir/run/vservers
315 %dir %_localstatedir/run/vservers.rev
316 %dir %_localstatedir/run/vshelper
319 %files lib -f %name-lib.list
320 %files sysv -f %name-sysv.list
323 %files core -f %name-core.list
324 %defattr(-,root,root,-)
328 %files build -f %name-build.list
329 %defattr(-,root,root,-)
330 %doc contrib/yum*.patch
331 %dir %confdir/.distributions
332 %dir %confdir/.distributions/*
333 %dir %confdir/.distributions/*/apt
334 %dir %confdir/.distributions/.common
335 %dir %confdir/.distributions/.common/pubkeys
336 %dir %confdefaultdir/apps/vunify
337 %dir %confdefaultdir/apps/vunify/hash
340 %files legacy -f %name-legacy.list
341 %defattr(-,root,root,-)
342 %dir %pkglibdir/legacy
345 %files devel -f %name-devel.list
346 %defattr(-,root,root,-)
347 %{!?_without_doc:%doc lib/apidoc/latex/refman.pdf}
348 %{!?_without_doc:%doc lib/apidoc/html}
352 * Fri Dec 29 2006 Daniel Hokka Zakrisson <daniel@hozac.com> - 0.30.213-0
353 - add --with legacy and --without doc switches
354 - add util-vserver initscript
356 * Sun Jan 22 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.30.210-0
357 - do not require 'xalan' anymore by default
358 - removed 'Requires: apt'; apt-rpm is not maintained upstream anymore
359 - removed 'chattr' leftovers
360 - create the '/etc/vservers/.defaults/cachebase' symlink
361 - added /var/cache/vservers and the needed support
362 - set barrier attribute on /vservers/.pkg and /vservers/.hash
363 - added 'centos-release' to the list of packages in the copy-the-keys
365 - create '/vservers/.hash' and add initial configuration for it
367 * Sun Oct 30 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.209-0
371 * Sat Jul 16 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.208-2
374 * Fri Jul 15 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.208-1
376 - require the -lib subpackage by -devel
377 - copy GPG keys from /etc/pki/rpm-gpg/
379 * Fri Apr 15 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.206-1
380 - added patches to make yum work in chroot environments
383 * Thu Mar 24 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.205-0
384 - added some %%descriptions
385 - copy GPG keys from the system into the confdir
386 - buildrequire dietlibc-0.25
387 - BuildRequire beecrypt-devel
389 - use %%global instead of %%define
390 - removed 'run.rev' as a vserver-local variable and made it a system-wide setting
392 * Wed Jan 26 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.198-0.3
393 - updated BuildRequires:
394 - use 'setattr --barrier' instead of 'chattr +t' in the %%post scriptlet
395 - moved the v_* initscripts to legacy
396 - do not ship the /vservers directory itself; as it is immutable, the
397 extraction will fail else
399 * Thu Sep 9 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.194-0
400 - documented switches for 'rpmbuild'
402 * Wed May 26 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.29.215-0
403 - (re)added the MANIFEST_* variables which were lost some time ago;
404 this will preserve %%config files...
406 * Mon Mar 15 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.29.202-0
407 - use file-list for sysv scripts also
409 * Sat Mar 6 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.29.198-0
410 - added vprocunhide-service support
411 - added doxygen support
414 * Wed Oct 1 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.23.5-0