1 # $Id: util-vserver.spec.in 2807 2008-10-30 01:59:52Z dhozac $
3 %if "%{?_without_python:1}" != "1"
4 %{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
7 ## This package understands the following switches:
8 ## --without dietlibc ... disable usage of dietlibc
9 ## --with xalan ... require/use the xalan xslt processor
10 ## --without doc ... disable doc generation
11 ## --with legacy ... enable the legacy APIs
13 %global confdir %_sysconfdir/vservers
14 %global confdefaultdir %confdir/.defaults
15 %global pkglibdir %_libdir/%name
16 %global chkconfig /sbin/chkconfig
18 %global _localstatedir %_var
20 %global fullver 0.30.216-pre2926
21 %global modulever 0.30.216
22 %global ver %( echo %fullver | sed 's/-.*//' )
23 %global subver %( s=`echo %fullver | grep -- - | sed 's/.*-/./'`; echo ${s:-.1} )
26 %global module_version_varname modulever
29 %{!?release_func:%global release_func() %1%{?dist}}
31 Summary: Linux virtual server utilities
36 Group: System Environment/Base
37 URL: http://savannah.nongnu.org/projects/util-vserver/
38 Source0: http://ftp.linux-vserver.org/pub/utils/util-vserver/%name-%fullver.tar.bz2
40 BuildRoot: %_tmppath/%name-%version-%release-root
42 Requires: %name-core = %version-%release
43 Requires: %name-lib = %version-%release
44 Requires: diffutils mktemp sed
45 Provides: vserver = %version-%release
46 Obsoletes: vserver < %version
47 BuildRequires: mount vconfig gawk /sbin/ip iptables
48 BuildRequires: gcc-c++ wget which diffutils
49 BuildRequires: e2fsprogs-devel e2fsprogs
50 %{!?_without_beecrypt:BuildRequires: beecrypt-devel}
51 %{?_without_beecrypt:BuildRequires: nss-devel}
52 BuildRequires: e2fsprogs
53 %{!?_without_doc:BuildRequires: doxygen tetex-latex}
54 %{!?_without_python:BuildRequires: python python-devel ctags}
55 Requires(post): %name-core
56 Requires(pre): %pkglibdir
57 Requires(postun): %pkglibdir
58 %{!?_without_dietlibc:BuildRequires: dietlibc >= 0:0.25}
59 %{?_with_xalan:BuildRequires: xalan-j}
62 Summary: Dynamic libraries for util-vserver
63 Group: System Environment/Libraries
66 Summary: The core-utilities for util-vserver
67 Group: Applications/System
71 Summary: Tools which can be used to build vservers
72 Group: Applications/System
73 Requires: rpm wget binutils tar
74 Requires: %name = %version-%release
75 Requires(pre): %confdir
76 Requires(postun): %confdir
77 Requires(post): %name-core
80 Summary: SysV-initscripts for vserver
81 Group: System Environment/Base
82 Provides: init(%name) = sysv
83 Requires: make diffutils
85 Requires: %name = %version-%release
86 Requires(post): %chkconfig
87 Requires(preun): %chkconfig
88 Requires(pre): %_initrddir %pkglibdir
89 requires(postun): %_initrddir %pkglibdir
92 Summary: Legacy utilities for util-vserver
93 Group: Applications/System
94 Requires: %name = %version-%release
95 Requires(post): %chkconfig
96 Requires(preun): %chkconfig
97 Requires(pre): %_initrddir %pkglibdir
98 requires(postun): %_initrddir %pkglibdir
101 Summary: Header-files and libraries needed to develop vserver based applications
102 Group: Development/Libraries
104 Requires: %name-lib = %version-%release
107 Summary: Python bindings to develop vserver-based applications
108 Group: Development/Libraries
109 Requires: %name-lib = %version-%release
113 util-vserver provides the components and a framework to setup virtual
114 servers. A virtual server runs inside a linux server. It is nevertheless
115 highly independent. As such, you can run various services with normal
116 configuration. The various vservers can't interact with each other and
117 can't interact with services in the main server.
119 This requires a special kernel supporting the new new_s_context and
120 set_ipv4root system call.
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 the shared libraries needed by all other
130 'util-vserver' subpackages.
133 util-vserver provides the components and a framework to setup virtual
134 servers. A virtual server runs inside a linux server. It is nevertheless
135 highly independent. As such, you can run various services with normal
136 configuration. The various vservers can't interact with each other and
137 can't interact with services in the main server.
139 This package contains utilities which are required to communicate with
140 the Linux-Vserver enabled kernel.
144 util-vserver provides the components and a framework to setup virtual
145 servers. A virtual server runs inside a linux server. It is nevertheless
146 highly independent. As such, you can run various services with normal
147 configuration. The various vservers can't interact with each other and
148 can't interact with services in the main server.
150 This package contains utilities which assist in building Vservers.
153 util-vserver provides the components and a framework to setup virtual
154 servers. A virtual server runs inside a linux server. It is nevertheless
155 highly independent. As such, you can run various services with normal
156 configuration. The various vservers can't interact with each other and
157 can't interact with services in the main server.
159 This package contains the SysV initscripts which start and stop
160 VServers and related tools.
164 util-vserver provides the components and a framework to setup virtual
165 servers. A virtual server runs inside a linux server. It is nevertheless
166 highly independent. As such, you can run various services with normal
167 configuration. The various vservers can't interact with each other and
168 can't interact with services in the main server.
170 This package contains the tools which are needed to work with VServers
171 having an old-style configuration.
175 util-vserver provides the components and a framework to setup virtual
176 servers. A virtual server runs inside a linux server. It is nevertheless
177 highly independent. As such, you can run various services with normal
178 configuration. The various vservers can't interact with each other and
179 can't interact with services in the main server.
181 This package contains header files and libraries which are needed to
182 develop VServer related applications.
185 util-vserver provides the components and a framework to setup virtual
186 servers. A virtual server runs inside a linux server. It is nevertheless
187 highly independent. As such, you can run various services with normal
188 configuration. The various vservers can't interact with each other and
189 can't interact with services in the main server.
191 This package contains the files needed to interface with the
192 Linux-VServer API from Python.
196 %setup -q -n %name-%fullver
200 %configure --with-initrddir=%_initrddir --enable-release \
201 %{?_without_dietlibc:--disable-dietlibc} \
202 %{?_with_legacy:--enable-apis=NOLEGACY} \
203 --with-initscripts=sysv \
204 %{?_without_python:--without-python}
206 %__make %{?_smp_mflags} all
207 %{!?_without_doc:%__make %{?_smp_mflags} doc}
211 rm -rf $RPM_BUILD_ROOT
212 %__make DESTDIR="$RPM_BUILD_ROOT" install install-distribution
214 rm -f $RPM_BUILD_ROOT/%_libdir/*.la
216 MANIFEST_CONFIG='%config' \
217 MANIFEST_CONFIG_NOREPLACE='%config(noreplace)' \
218 contrib/make-manifest %name $RPM_BUILD_ROOT contrib/manifest.dat
220 install -c -m 755 %{SOURCE1} %{buildroot}/%pkglibdir/defaults/fstab
227 rm -rf $RPM_BUILD_ROOT
231 test -d /vservers || mkdir -m0000 /vservers
232 test -d /vservers/.pkg || mkdir -m0755 /vservers/.pkg
234 f="%confdefaultdir/vdirbase"; test -L "$f" -o -e "$f" || ln -s /vservers "$f"
235 f="%confdefaultdir/run.rev"; test -L "$f" -o -e "$f" || ln -s %_localstatedir/run/vservers.rev "$f"
236 f="%confdefaultdir/cachebase"; test -L "$f" -o -e "$f" || ln -s %_localstatedir/cache/vservers "$f"
238 %_sbindir/setattr --barrier /vservers /vservers/.pkg || :
242 test "$1" != 0 || rm -rf %_localstatedir/cache/vservers/* 2>/dev/null || :
245 %post lib -p /sbin/ldconfig
246 %postun lib -p /sbin/ldconfig
250 %chkconfig --add vservers-default
251 %chkconfig --add vprocunhide
252 %chkconfig --add util-vserver
253 %chkconfig vprocunhide on
254 %chkconfig util-vserver on
257 test "$1" != 0 || %_initrddir/vprocunhide stop &>/dev/null || :
259 test "$1" != 0 || %chkconfig --del vprocunhide
260 test "$1" != 0 || %chkconfig --del vservers-default
261 test "$1" != 0 || %chkconfig --del util-vserver
265 test "$1" = 0 || %_initrddir/vprocunhide condrestart >/dev/null || :
268 %triggerin build -- fedora-release, centos-release
275 test -r "$i" || continue
277 target=%confdir/.distributions/.common/pubkeys/$base-$(basename "$i")
281 copy fedora /usr/share/doc/fedora-release-*/RPM-GPG-*
282 copy fedora /etc/pki/rpm-gpg/RPM-GPG-*
283 copy centos /usr/share/doc/centos-*/RPM-GPG-KEY-*
287 x="%_libdir/util-vserver/distributions/etch"
288 test -d "$x" && mv "$x" "$x.rpmsave" || :
292 test -d /vservers/.hash || mkdir -m0700 /vservers/.hash
294 f="%confdefaultdir/apps/vunify/hash"; test -e "$f"/method -o -e "$f"/00 || \
295 ln -s /vservers/.hash "$f"/00
297 %_sbindir/setattr --barrier /vservers/.hash || :
301 test "$1" != 0 || rm -f %confdir/.distributions/.common/pubkeys/fedora-*
304 ## Temporary workaround to remove old v_* files; it will conflict
305 ## somehow with the -legacy package but can be fixed by reinstalling
307 ## TODO: remove me in the final .spec file
308 %define v_services httpd named portmap sendmail smb sshd xinetd gated
309 %triggerun sysv -- util-vserver-sysv < 0.30.198
310 for i in %v_services; do
311 %chkconfig --del v_$i || :
316 %chkconfig --add rebootmgr
317 %chkconfig --add vservers-legacy
319 for i in %v_services; do
320 %chkconfig --add v_$i
325 test "$1" != 0 || %_initrddir/rebootmgr stop &>/dev/null || :
327 test "$1" != 0 || for i in %v_services; do
328 %chkconfig --del v_$i
331 test "$1" != 0 || %chkconfig --del rebootmgr
332 test "$1" != 0 || %chkconfig --del vservers-legacy
335 test "$1" = 0 || %_initrddir/rebootmgr condrestart >/dev/null || :
338 %files -f %name-base.list
339 %defattr(-,root,root,-)
340 %doc AUTHORS COPYING NEWS README THANKS
341 #%doc AUTHORS COPYING ChangeLog NEWS README THANKS
342 #%doc doc/*.html doc/*.css
346 %dir %confdefaultdir/apps
347 %dir %confdefaultdir/files
348 %dir %pkglibdir/defaults
349 %ghost %confdefaultdir/cachebase
350 %ghost %confdefaultdir/vdirbase
351 %ghost %confdefaultdir/run.rev
353 %dir %_localstatedir/cache/vservers
354 %dir %_localstatedir/run/vservers
355 %dir %_localstatedir/run/vservers.rev
356 %dir %_localstatedir/run/vshelper
359 %files lib -f %name-lib.list
360 %files sysv -f %name-sysv.list
363 %files core -f %name-core.list
364 %defattr(-,root,root,-)
368 %files build -f %name-build.list
369 %defattr(-,root,root,-)
370 %doc contrib/yum*.patch
371 %dir %confdir/.distributions
372 %dir %confdir/.distributions/*
373 %dir %confdir/.distributions/*/apt
374 %dir %confdir/.distributions/.common
375 %dir %confdir/.distributions/.common/pubkeys
376 %dir %confdefaultdir/apps/vunify
377 %dir %confdefaultdir/apps/vunify/hash
380 %files legacy -f %name-legacy.list
381 %defattr(-,root,root,-)
382 %dir %pkglibdir/legacy
385 %files devel -f %name-devel.list
386 %defattr(-,root,root,-)
387 %{!?_without_doc:%doc lib/apidoc/latex/refman.pdf}
388 %{!?_without_doc:%doc lib/apidoc/html}
392 %defattr(-,root,root,-)
393 %{!?_without_python:%{python_sitearch}/*}
397 * Wed Dec 08 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - util-vserver-0.30.216-10
398 - Enable vprocunhide service
400 * Wed Dec 01 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - util-vserver-0.30.216-9
401 - Sync with upstream revision 2926
403 * Tue Nov 16 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - util-vserver-0.30.216-8
404 - Sync with upstream revision 2924
406 * Thu Aug 12 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - util-vserver-0.30.216-7
407 - Sync with upstream revision 2912
409 * Mon Aug 09 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - util-vserver-0.30.216-6
410 - Sync with upstream revision 2908
412 * Thu Jul 29 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - util-vserver-0.30.216-5
415 * Wed Jul 28 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - util-vserver-0.30.216-4
416 - Sync with upstream revision 2902
418 * Tue Jun 08 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - util-vserver-0.30.216-3
419 - Do not restart util-vserver service on upgrades
421 * Tue Jun 01 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - util-vserver-0.30.216-2
422 - remove tmpfs mounted /tmp from fstab template
424 * Tue May 11 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - util-vserver-0.30.216-1
426 * Mon Jun 25 2007 Daniel Hokka Zakrisson <daniel@hozac.com> - 0.30.214-0
428 - get rid of e2fsprogs requirement
430 * Fri Dec 29 2006 Daniel Hokka Zakrisson <daniel@hozac.com> - 0.30.213-0
431 - add --with legacy and --without doc switches
432 - add util-vserver initscript
434 * Sun Jan 22 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.30.210-0
435 - do not require 'xalan' anymore by default
436 - removed 'Requires: apt'; apt-rpm is not maintained upstream anymore
437 - removed 'chattr' leftovers
438 - create the '/etc/vservers/.defaults/cachebase' symlink
439 - added /var/cache/vservers and the needed support
440 - set barrier attribute on /vservers/.pkg and /vservers/.hash
441 - added 'centos-release' to the list of packages in the copy-the-keys
443 - create '/vservers/.hash' and add initial configuration for it
445 * Sun Oct 30 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.209-0
449 * Sat Jul 16 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.208-2
452 * Fri Jul 15 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.208-1
454 - require the -lib subpackage by -devel
455 - copy GPG keys from /etc/pki/rpm-gpg/
457 * Fri Apr 15 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.206-1
458 - added patches to make yum work in chroot environments
461 * Thu Mar 24 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.205-0
462 - added some %%descriptions
463 - copy GPG keys from the system into the confdir
464 - buildrequire dietlibc-0.25
465 - BuildRequire beecrypt-devel
467 - use %%global instead of %%define
468 - removed 'run.rev' as a vserver-local variable and made it a system-wide setting
470 * Wed Jan 26 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.198-0.3
471 - updated BuildRequires:
472 - use 'setattr --barrier' instead of 'chattr +t' in the %%post scriptlet
473 - moved the v_* initscripts to legacy
474 - do not ship the /vservers directory itself; as it is immutable, the
475 extraction will fail else
477 * Thu Sep 9 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.194-0
478 - documented switches for 'rpmbuild'
480 * Wed May 26 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.29.215-0
481 - (re)added the MANIFEST_* variables which were lost some time ago;
482 this will preserve %%config files...
484 * Mon Mar 15 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.29.202-0
485 - use file-list for sysv scripts also
487 * Sat Mar 6 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.29.198-0
488 - added vprocunhide-service support
489 - added doxygen support
492 * Wed Oct 1 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.23.5-0