3 ## This package understands the following switches:
4 ## --without dietlibc ... disable usage of dietlibc
5 ## --without xalan ... do not require/use the xalan xslt processor
7 %global confdir %_sysconfdir/vservers
8 %global confdefaultdir %confdir/.defaults
9 %global pkglibdir %_libdir/%name
10 %global __chattr /usr/bin/chattr
11 %global chkconfig /sbin/chkconfig
13 %global _localstatedir %_var
16 %{!?release_func:%global release_func() %1}
18 Summary: Linux virtual server utilities
21 Release: %release_func 0
23 Group: System Environment/Base
24 URL: http://savannah.nongnu.org/projects/util-vserver/
25 Source0: http://savannah.nongnu.org/download/util-vserver/stable.pkg/%version/%name-%version.tar.bz2
26 BuildRoot: %_tmppath/%name-%version-%release-root
28 Requires: %name-core = %version-%release
29 Requires: %name-lib = %version-%release
30 Requires: diffutils mktemp sed
31 Provides: vserver = %version-%release
32 Obsoletes: vserver < %version
33 BuildRequires: mount vconfig gawk iproute iptables
34 BuildRequires: gcc-c++ wget
35 BuildRequires: e2fsprogs-devel
36 BuildRequires: doxygen tetex-latex
37 Requires(post): %__chattr
38 Requires(pre): %pkglibdir
39 Requires(postun): %pkglibdir
40 %{!?_without_dietlibc:BuildRequires: dietlibc >= 0:0.24}
41 %{!?_without_xalan:BuildRequires: xalan-j}
44 Summary: Dynamic libraries for util-vserver
45 Group: System Environment/Libraries
48 Summary: The core-utilities for util-vserver
49 Group: Applications/System
53 Summary: Tools which can be used to build vservers
54 Group: Applications/System
55 Requires: rpm apt wget binutils tar e2fsprogs
56 Requires: %name = %version-%release
57 Requires(pre): %confdir
58 Requires(postun): %confdir
61 Summary: SysV-initscripts for vserver
62 Group: System Environment/Base
63 Provides: init(%name) = sysv
64 Requires: make diffutils
66 Requires: %name = %version-%release
67 Requires(post): %chkconfig
68 Requires(preun): %chkconfig
69 Requires(pre): %_initrddir %pkglibdir
70 requires(postun): %_initrddir %pkglibdir
73 Summary: Legacy utilities for util-vserver
74 Group: Applications/System
75 Requires: %name = %version-%release
76 Requires(post): %chkconfig
77 Requires(preun): %chkconfig
78 Requires(pre): %_initrddir %pkglibdir
79 requires(postun): %_initrddir %pkglibdir
82 Summary: Header-files and libraries which are needed to develop vserver based applications
83 Group: Development/Libraries
88 This package provides the components and a framework to setup virtual
89 servers. A virtual server runs inside a linux server. It is nevertheless
90 highly independent. As such, you can run various services with normal
91 configuration. The various vservers can't interact with each other and
92 can't interact with services in the main server.
94 This requires a special kernel supporting the new new_s_context and
95 set_ipv4root system call.
110 %configure --with-initrddir=%_initrddir --enable-release \
111 %{?_without_dietlibc:--disable-dietlibc}
113 %__make %{?_smp_mflags} all
114 %__make %{?_smp_mflags} doc
118 rm -rf $RPM_BUILD_ROOT
119 %__make DESTDIR="$RPM_BUILD_ROOT" install install-distribution
121 rm -f $RPM_BUILD_ROOT/%_libdir/*.la
123 MANIFEST_CONFIG='%config' \
124 MANIFEST_CONFIG_NOREPLACE='%config(noreplace)' \
125 contrib/make-manifest %name $RPM_BUILD_ROOT contrib/manifest.dat
133 rm -rf $RPM_BUILD_ROOT
137 test -d /vservers || mkdir -m0000 /vservers
138 test -d /vservers/.pkg || mkdir -m0755 /vservers/.pkg
140 f="%confdefaultdir/vdirbase"; test -L "$f" -o -e "$f" || ln -s /vservers "$f"
141 f="%confdefaultdir/run.rev"; test -L "$f" -o -e "$f" || ln -s %_localstatedir/run/vservers.rev "$f"
143 %_sbindir/setattr --barrier /vservers || :
146 %post lib -p /sbin/ldconfig
147 %postun lib -p /sbin/ldconfig
151 %chkconfig --add vservers-default
152 %chkconfig --add vprocunhide
157 test "$1" != 0 || %_initrddir/vprocunhide stop &>/dev/null || :
159 test "$1" != 0 || %chkconfig --del vprocunhide
160 test "$1" != 0 || %chkconfig --del vservers-default
164 test "$1" = 0 || %_initrddir/vprocunhide condrestart >/dev/null || :
167 ## Temporary workaround to remove old v_* files; it will conflict
168 ## somehow with the -legacy package but can be fixed by reinstalling
170 ## TODO: remove me in the final .spec file
171 %define v_services httpd named portmap sendmail smb sshd xinetd gated
172 %triggerun sysv -- util-vserver-sysv < 0.30.198
173 for i in %v_services; do
174 %chkconfig --del v_$i || :
179 %chkconfig --add rebootmgr
180 %chkconfig --add vservers-legacy
182 for i in %v_services; do
183 %chkconfig --add v_$i
188 test "$1" != 0 || %_initrddir/rebootmgr stop &>/dev/null || :
190 test "$1" != 0 || for i in %v_services; do
191 %chkconfig --del v_$i
194 test "$1" != 0 || %chkconfig --del rebootmgr
195 test "$1" != 0 || %chkconfig --del vservers-legacy
198 test "$1" = 0 || %_initrddir/rebootmgr condrestart >/dev/null || :
201 %files -f %name-base.list
202 %defattr(-,root,root,-)
203 %doc AUTHORS COPYING ChangeLog NEWS README THANKS
204 %doc doc/*.html doc/*.css
208 %dir %confdefaultdir/apps
209 %dir %confdefaultdir/files
210 %dir %pkglibdir/defaults
211 %ghost %confdefaultdir/vdirbase
212 %ghost %confdefaultdir/run.rev
214 %dir %_localstatedir/run/vservers
215 %dir %_localstatedir/run/vservers.rev
216 %dir %_localstatedir/run/vshelper
219 %files lib -f %name-lib.list
220 %files sysv -f %name-sysv.list
223 %files core -f %name-core.list
224 %defattr(-,root,root,-)
228 %files build -f %name-build.list
229 %defattr(-,root,root,-)
230 %dir %confdir/.distributions
231 %dir %confdir/.distributions/*
232 %dir %confdir/.distributions/*/apt
235 %files legacy -f %name-legacy.list
236 %defattr(-,root,root,-)
237 %dir %pkglibdir/legacy
240 %files devel -f %name-devel.list
241 %defattr(-,root,root,-)
242 %doc lib/apidoc/latex/refman.pdf
247 * Wed Jan 26 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.198-0.3
248 - updated BuildRequires:
249 - use 'setattr --barrier' instead of 'chattr +t' in the %post scriptlet
250 - moved the v_* initscripts to legacy
251 - do not ship the /vservers directory itself; as it is immutable, the
252 extraction will fail else
254 * Thu Sep 9 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.194-0
255 - documented switches for 'rpmbuild'
257 * Wed May 26 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.29.215-0
258 - (re)added the MANIFEST_* variables which were lost some time ago;
259 this will preserve %%config files...
261 * Mon Mar 15 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.29.202-0
262 - use file-list for sysv scripts also
264 * Sat Mar 6 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.29.198-0
265 - added vprocunhide-service support
266 - added doxygen support
269 * Wed Oct 1 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.23.5-0