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
222 test "$1" != 0 || %_initrddir/vprocunhide stop &>/dev/null || :
224 test "$1" != 0 || %chkconfig --del vprocunhide
225 test "$1" != 0 || %chkconfig --del vservers-default
229 test "$1" = 0 || %_initrddir/vprocunhide condrestart >/dev/null || :
232 %triggerin build -- fedora-release, centos-release
239 test -r "$i" || continue
241 target=%confdir/.distributions/.common/pubkeys/$base-$(basename "$i")
245 copy fedora /usr/share/doc/fedora-release-*/RPM-GPG-*
246 copy fedora /etc/pki/rpm-gpg/RPM-GPG-*
247 copy centos /usr/share/doc/centos-*/RPM-GPG-KEY-*
251 test -d /vservers/.hash || mkdir -m0700 /vservers/.hash
253 f="%confdefaultdir/apps/vunify/hash"; test -e "$f"/method -o -e "$f"/00 || \
254 ln -s /vservers/.hash "$f"/00
256 %_sbindir/setattr --barrier /vservers/.hash || :
260 test "$1" != 0 || rm -f %confdir/.distributions/.common/pubkeys/fedora-*
263 ## Temporary workaround to remove old v_* files; it will conflict
264 ## somehow with the -legacy package but can be fixed by reinstalling
266 ## TODO: remove me in the final .spec file
267 %define v_services httpd named portmap sendmail smb sshd xinetd gated
268 %triggerun sysv -- util-vserver-sysv < 0.30.198
269 for i in %v_services; do
270 %chkconfig --del v_$i || :
275 %chkconfig --add rebootmgr
276 %chkconfig --add vservers-legacy
278 for i in %v_services; do
279 %chkconfig --add v_$i
284 test "$1" != 0 || %_initrddir/rebootmgr stop &>/dev/null || :
286 test "$1" != 0 || for i in %v_services; do
287 %chkconfig --del v_$i
290 test "$1" != 0 || %chkconfig --del rebootmgr
291 test "$1" != 0 || %chkconfig --del vservers-legacy
294 test "$1" = 0 || %_initrddir/rebootmgr condrestart >/dev/null || :
297 %files -f %name-base.list
298 %defattr(-,root,root,-)
299 %doc AUTHORS COPYING ChangeLog NEWS README THANKS
300 %doc doc/*.html doc/*.css
304 %dir %confdefaultdir/apps
305 %dir %confdefaultdir/files
306 %dir %pkglibdir/defaults
307 %ghost %confdefaultdir/cachebase
308 %ghost %confdefaultdir/vdirbase
309 %ghost %confdefaultdir/run.rev
311 %dir %_localstatedir/cache/vservers
312 %dir %_localstatedir/run/vservers
313 %dir %_localstatedir/run/vservers.rev
314 %dir %_localstatedir/run/vshelper
317 %files lib -f %name-lib.list
318 %files sysv -f %name-sysv.list
321 %files core -f %name-core.list
322 %defattr(-,root,root,-)
326 %files build -f %name-build.list
327 %defattr(-,root,root,-)
328 %doc contrib/yum*.patch
329 %dir %confdir/.distributions
330 %dir %confdir/.distributions/*
331 %dir %confdir/.distributions/*/apt
332 %dir %confdir/.distributions/.common
333 %dir %confdir/.distributions/.common/pubkeys
334 %dir %confdefaultdir/apps/vunify
335 %dir %confdefaultdir/apps/vunify/hash
338 %files legacy -f %name-legacy.list
339 %defattr(-,root,root,-)
340 %dir %pkglibdir/legacy
343 %files devel -f %name-devel.list
344 %defattr(-,root,root,-)
345 %{!?_without_doc:%doc lib/apidoc/latex/refman.pdf}
346 %{!?_without_doc:%doc lib/apidoc/html}
350 * Sun Jan 22 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.30.210-0
351 - do not require 'xalan' anymore by default
352 - removed 'Requires: apt'; apt-rpm is not maintained upstream anymore
353 - removed 'chattr' leftovers
354 - create the '/etc/vservers/.defaults/cachebase' symlink
355 - added /var/cache/vservers and the needed support
356 - set barrier attribute on /vservers/.pkg and /vservers/.hash
357 - added 'centos-release' to the list of packages in the copy-the-keys
359 - create '/vservers/.hash' and add initial configuration for it
361 * Sun Oct 30 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.209-0
365 * Sat Jul 16 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.208-2
368 * Fri Jul 15 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.208-1
370 - require the -lib subpackage by -devel
371 - copy GPG keys from /etc/pki/rpm-gpg/
373 * Fri Apr 15 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.206-1
374 - added patches to make yum work in chroot environments
377 * Thu Mar 24 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.205-0
378 - added some %%descriptions
379 - copy GPG keys from the system into the confdir
380 - buildrequire dietlibc-0.25
381 - BuildRequire beecrypt-devel
383 - use %%global instead of %%define
384 - removed 'run.rev' as a vserver-local variable and made it a system-wide setting
386 * Wed Jan 26 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.198-0.3
387 - updated BuildRequires:
388 - use 'setattr --barrier' instead of 'chattr +t' in the %%post scriptlet
389 - moved the v_* initscripts to legacy
390 - do not ship the /vservers directory itself; as it is immutable, the
391 extraction will fail else
393 * Thu Sep 9 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.194-0
394 - documented switches for 'rpmbuild'
396 * Wed May 26 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.29.215-0
397 - (re)added the MANIFEST_* variables which were lost some time ago;
398 this will preserve %%config files...
400 * Mon Mar 15 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.29.202-0
401 - use file-list for sysv scripts also
403 * Sat Mar 6 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.29.198-0
404 - added vprocunhide-service support
405 - added doxygen support
408 * Wed Oct 1 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.23.5-0