1 # $Id: util-vserver.spec.in 2626 2007-10-16 00:27:58Z dhozac $
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
16 %global fullver 0.30.215
17 %global ver %( echo %fullver | sed 's/-.*//' )
18 %global subver %( s=`echo %fullver | grep -- - | sed 's/.*-/./'`; echo ${s:-.1} )
21 %global module_version_varname fullver
24 %{!?release_func:%global release_func() %1%{?dist}}
26 Summary: Linux virtual server utilities
31 Group: System Environment/Base
32 URL: http://savannah.nongnu.org/projects/util-vserver/
33 Source0: http://ftp.linux-vserver.org/pub/utils/util-vserver/%name-%fullver.tar.bz2
34 #Source1: http://ftp.linux-vserver.org/pub/utils/util-vserver/%name-%fullver.tar.bz2.asc
35 BuildRoot: %_tmppath/%name-%version-%release-root
37 Requires: %name-core = %version-%release
38 Requires: %name-lib = %version-%release
39 Requires: diffutils mktemp sed
40 Provides: vserver = %version-%release
41 Obsoletes: vserver < %version
42 BuildRequires: mount vconfig gawk iproute iptables
43 BuildRequires: gcc-c++ wget which diffutils
44 BuildRequires: e2fsprogs-devel beecrypt-devel
45 BuildRequires: e2fsprogs
46 %{!?_without_doc:BuildRequires: doxygen tetex-latex}
47 Requires(post): %name-core
48 Requires(pre): %pkglibdir
49 Requires(postun): %pkglibdir
50 %{!?_without_dietlibc:BuildRequires: dietlibc >= 0:0.25}
51 %{?_with_xalan:BuildRequires: xalan-j}
54 Summary: Dynamic libraries for util-vserver
55 Group: System Environment/Libraries
58 Summary: The core-utilities for util-vserver
59 Group: Applications/System
63 Summary: Tools which can be used to build vservers
64 Group: Applications/System
65 Requires: rpm wget binutils tar
66 Requires: %name = %version-%release
67 Requires(pre): %confdir
68 Requires(postun): %confdir
69 Requires(post): %name-core
72 Summary: SysV-initscripts for vserver
73 Group: System Environment/Base
74 Provides: init(%name) = sysv
75 Requires: make diffutils
77 Requires: %name = %version-%release
78 Requires(post): %chkconfig
79 Requires(preun): %chkconfig
80 Requires(pre): %_initrddir %pkglibdir
81 requires(postun): %_initrddir %pkglibdir
84 Summary: Legacy utilities for util-vserver
85 Group: Applications/System
86 Requires: %name = %version-%release
87 Requires(post): %chkconfig
88 Requires(preun): %chkconfig
89 Requires(pre): %_initrddir %pkglibdir
90 requires(postun): %_initrddir %pkglibdir
93 Summary: Header-files and libraries needed to develop vserver based applications
94 Group: Development/Libraries
96 Requires: %name-lib = %version-%release
100 util-vserver provides the components and a framework to setup virtual
101 servers. A virtual server runs inside a linux server. It is nevertheless
102 highly independent. As such, you can run various services with normal
103 configuration. The various vservers can't interact with each other and
104 can't interact with services in the main server.
106 This requires a special kernel supporting the new new_s_context and
107 set_ipv4root system call.
110 util-vserver provides the components and a framework to setup virtual
111 servers. A virtual server runs inside a linux server. It is nevertheless
112 highly independent. As such, you can run various services with normal
113 configuration. The various vservers can't interact with each other and
114 can't interact with services in the main server.
116 This package contains the shared libraries needed by all other
117 'util-vserver' subpackages.
120 util-vserver provides the components and a framework to setup virtual
121 servers. A virtual server runs inside a linux server. It is nevertheless
122 highly independent. As such, you can run various services with normal
123 configuration. The various vservers can't interact with each other and
124 can't interact with services in the main server.
126 This package contains utilities which are required to communicate with
127 the Linux-Vserver enabled kernel.
131 util-vserver provides the components and a framework to setup virtual
132 servers. A virtual server runs inside a linux server. It is nevertheless
133 highly independent. As such, you can run various services with normal
134 configuration. The various vservers can't interact with each other and
135 can't interact with services in the main server.
137 This package contains utilities which assist in building Vservers.
140 util-vserver provides the components and a framework to setup virtual
141 servers. A virtual server runs inside a linux server. It is nevertheless
142 highly independent. As such, you can run various services with normal
143 configuration. The various vservers can't interact with each other and
144 can't interact with services in the main server.
146 This package contains the SysV initscripts which start and stop
147 VServers and related tools.
151 util-vserver provides the components and a framework to setup virtual
152 servers. A virtual server runs inside a linux server. It is nevertheless
153 highly independent. As such, you can run various services with normal
154 configuration. The various vservers can't interact with each other and
155 can't interact with services in the main server.
157 This package contains the tools which are needed to work with VServers
158 having an old-style configuration.
162 util-vserver provides the components and a framework to setup virtual
163 servers. A virtual server runs inside a linux server. It is nevertheless
164 highly independent. As such, you can run various services with normal
165 configuration. The various vservers can't interact with each other and
166 can't interact with services in the main server.
168 This package contains header files and libraries which are needed to
169 develop VServer related applications.
173 %setup -q -n %name-%fullver
177 %configure --with-initrddir=%_initrddir --enable-release \
178 %{?_without_dietlibc:--disable-dietlibc} \
179 %{?_with_legacy:--enable-apis=NOLEGACY} \
180 --with-initscripts=sysv
182 %__make %{?_smp_mflags} all
183 %{!?_without_doc:%__make %{?_smp_mflags} doc}
187 rm -rf $RPM_BUILD_ROOT
188 %__make DESTDIR="$RPM_BUILD_ROOT" install install-distribution
190 rm -f $RPM_BUILD_ROOT/%_libdir/*.la
192 MANIFEST_CONFIG='%config' \
193 MANIFEST_CONFIG_NOREPLACE='%config(noreplace)' \
194 contrib/make-manifest %name $RPM_BUILD_ROOT contrib/manifest.dat
202 rm -rf $RPM_BUILD_ROOT
206 test -d /vservers || mkdir -m0000 /vservers
207 test -d /vservers/.pkg || mkdir -m0755 /vservers/.pkg
209 f="%confdefaultdir/vdirbase"; test -L "$f" -o -e "$f" || ln -s /vservers "$f"
210 f="%confdefaultdir/run.rev"; test -L "$f" -o -e "$f" || ln -s %_localstatedir/run/vservers.rev "$f"
211 f="%confdefaultdir/cachebase"; test -L "$f" -o -e "$f" || ln -s %_localstatedir/cache/vservers "$f"
213 %_sbindir/setattr --barrier /vservers /vservers/.pkg || :
217 test "$1" != 0 || rm -rf %_localstatedir/cache/vservers/* 2>/dev/null || :
220 %post lib -p /sbin/ldconfig
221 %postun lib -p /sbin/ldconfig
225 %chkconfig --add vservers-default
226 %chkconfig --add vprocunhide
227 %chkconfig --add util-vserver
232 test "$1" != 0 || %_initrddir/vprocunhide stop &>/dev/null || :
234 test "$1" != 0 || %chkconfig --del vprocunhide
235 test "$1" != 0 || %chkconfig --del vservers-default
236 test "$1" != 0 || %chkconfig --del util-vserver
240 test "$1" = 0 || %_initrddir/vprocunhide condrestart >/dev/null || :
243 %triggerin build -- fedora-release, centos-release
250 test -r "$i" || continue
252 target=%confdir/.distributions/.common/pubkeys/$base-$(basename "$i")
256 copy fedora /usr/share/doc/fedora-release-*/RPM-GPG-*
257 copy fedora /etc/pki/rpm-gpg/RPM-GPG-*
258 copy centos /usr/share/doc/centos-*/RPM-GPG-KEY-*
262 test -d /vservers/.hash || mkdir -m0700 /vservers/.hash
264 f="%confdefaultdir/apps/vunify/hash"; test -e "$f"/method -o -e "$f"/00 || \
265 ln -s /vservers/.hash "$f"/00
267 %_sbindir/setattr --barrier /vservers/.hash || :
271 test "$1" != 0 || rm -f %confdir/.distributions/.common/pubkeys/fedora-*
274 ## Temporary workaround to remove old v_* files; it will conflict
275 ## somehow with the -legacy package but can be fixed by reinstalling
277 ## TODO: remove me in the final .spec file
278 %define v_services httpd named portmap sendmail smb sshd xinetd gated
279 %triggerun sysv -- util-vserver-sysv < 0.30.198
280 for i in %v_services; do
281 %chkconfig --del v_$i || :
286 %chkconfig --add rebootmgr
287 %chkconfig --add vservers-legacy
289 for i in %v_services; do
290 %chkconfig --add v_$i
295 test "$1" != 0 || %_initrddir/rebootmgr stop &>/dev/null || :
297 test "$1" != 0 || for i in %v_services; do
298 %chkconfig --del v_$i
301 test "$1" != 0 || %chkconfig --del rebootmgr
302 test "$1" != 0 || %chkconfig --del vservers-legacy
305 test "$1" = 0 || %_initrddir/rebootmgr condrestart >/dev/null || :
308 %files -f %name-base.list
309 %defattr(-,root,root,-)
310 %doc AUTHORS COPYING ChangeLog NEWS README THANKS
311 %doc doc/*.html doc/*.css
315 %dir %confdefaultdir/apps
316 %dir %confdefaultdir/files
317 %dir %pkglibdir/defaults
318 %ghost %confdefaultdir/cachebase
319 %ghost %confdefaultdir/vdirbase
320 %ghost %confdefaultdir/run.rev
322 %dir %_localstatedir/cache/vservers
323 %dir %_localstatedir/run/vservers
324 %dir %_localstatedir/run/vservers.rev
325 %dir %_localstatedir/run/vshelper
328 %files lib -f %name-lib.list
329 %files sysv -f %name-sysv.list
332 %files core -f %name-core.list
333 %defattr(-,root,root,-)
337 %files build -f %name-build.list
338 %defattr(-,root,root,-)
339 %doc contrib/yum*.patch
340 %dir %confdir/.distributions
341 %dir %confdir/.distributions/*
342 %dir %confdir/.distributions/*/apt
343 %dir %confdir/.distributions/.common
344 %dir %confdir/.distributions/.common/pubkeys
345 %dir %confdefaultdir/apps/vunify
346 %dir %confdefaultdir/apps/vunify/hash
349 %files legacy -f %name-legacy.list
350 %defattr(-,root,root,-)
351 %dir %pkglibdir/legacy
354 %files devel -f %name-devel.list
355 %defattr(-,root,root,-)
356 %{!?_without_doc:%doc lib/apidoc/latex/refman.pdf}
357 %{!?_without_doc:%doc lib/apidoc/html}
361 * Thu Apr 03 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - util-vserver-0.30.215-1 util-vserver-0.30.215-2
363 - only changes in the specfile to make the module compliant with module-tag
364 - which is actually used for setting this very tag
366 * Mon Jun 25 2007 Daniel Hokka Zakrisson <daniel@hozac.com> - 0.30.214-0
368 - get rid of e2fsprogs requirement
370 * Fri Dec 29 2006 Daniel Hokka Zakrisson <daniel@hozac.com> - 0.30.213-0
371 - add --with legacy and --without doc switches
372 - add util-vserver initscript
374 * Sun Jan 22 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.30.210-0
375 - do not require 'xalan' anymore by default
376 - removed 'Requires: apt'; apt-rpm is not maintained upstream anymore
377 - removed 'chattr' leftovers
378 - create the '/etc/vservers/.defaults/cachebase' symlink
379 - added /var/cache/vservers and the needed support
380 - set barrier attribute on /vservers/.pkg and /vservers/.hash
381 - added 'centos-release' to the list of packages in the copy-the-keys
383 - create '/vservers/.hash' and add initial configuration for it
385 * Sun Oct 30 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.209-0
389 * Sat Jul 16 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.208-2
392 * Fri Jul 15 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.208-1
394 - require the -lib subpackage by -devel
395 - copy GPG keys from /etc/pki/rpm-gpg/
397 * Fri Apr 15 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.206-1
398 - added patches to make yum work in chroot environments
401 * Thu Mar 24 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.205-0
402 - added some %%descriptions
403 - copy GPG keys from the system into the confdir
404 - buildrequire dietlibc-0.25
405 - BuildRequire beecrypt-devel
407 - use %%global instead of %%define
408 - removed 'run.rev' as a vserver-local variable and made it a system-wide setting
410 * Wed Jan 26 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.198-0.3
411 - updated BuildRequires:
412 - use 'setattr --barrier' instead of 'chattr +t' in the %%post scriptlet
413 - moved the v_* initscripts to legacy
414 - do not ship the /vservers directory itself; as it is immutable, the
415 extraction will fail else
417 * Thu Sep 9 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.194-0
418 - documented switches for 'rpmbuild'
420 * Wed May 26 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.29.215-0
421 - (re)added the MANIFEST_* variables which were lost some time ago;
422 this will preserve %%config files...
424 * Mon Mar 15 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.29.202-0
425 - use file-list for sysv scripts also
427 * Sat Mar 6 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.29.198-0
428 - added vprocunhide-service support
429 - added doxygen support
432 * Wed Oct 1 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.23.5-0