X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=util-vserver%2Futil-vserver.spec.in;h=0aa4f253cf188e088751386f8d92eff520155ed7;hb=02d358546ec9b7c6e38cf415b9581e6523411d61;hp=67e94710a73c00402dc2c36cd0e8ae57c158ca14;hpb=d28d21511628759ede60b64915117c9f5435180c;p=util-vserver.git diff --git a/util-vserver/util-vserver.spec.in b/util-vserver/util-vserver.spec.in index 67e9471..0aa4f25 100644 --- a/util-vserver/util-vserver.spec.in +++ b/util-vserver/util-vserver.spec.in @@ -1,35 +1,44 @@ # $Id$ -%define confdir %_sysconfdir/vservers -%define confdefaultdir %confdir/.defaults -%define pkglibdir %_libdir/%name -%define __chattr /usr/bin/chattr -%define chkconfig /sbin/chkconfig +## This package understands the following switches: +## --without dietlibc ... disable usage of dietlibc +## --without xalan ... do not require/use the xalan xslt processor + +%global confdir %_sysconfdir/vservers +%global confdefaultdir %confdir/.defaults +%global pkglibdir %_libdir/%name +%global __chattr /usr/bin/chattr +%global chkconfig /sbin/chkconfig + +%global _localstatedir %_var + + +%{!?release_func:%global release_func() %1%{?dist}} Summary: Linux virtual server utilities Name: @PACKAGE@ Version: @VERSION@ -Release: 0.2 -Epoch: 0 +Release: %release_func 0 License: GPL Group: System Environment/Base URL: http://savannah.nongnu.org/projects/util-vserver/ -Source0: http://savannah.nongnu.org/download/util-vserver/stable.pkg/%version/%name-%version.tar.bz2 +Source0: http://www.13thfloor.at/~ensc/util-vserver/files/alpha/%name-%version.tar.bz2 +#Source1: http://www.13thfloor.at/~ensc/util-vserver/files/alpha/%name-%version.tar.bz2.asc BuildRoot: %_tmppath/%name-%version-%release-root -Requires: init(@PACKAGE@) -Requires: %name-core = %epoch:%version-%release -Requires: %name-lib = %epoch:%version-%release +Requires: init(%name) +Requires: %name-core = %version-%release +Requires: %name-lib = %version-%release Requires: diffutils mktemp sed -Provides: vserver = %epoch:%version-%release -Obsoletes: vserver < %epoch:%version -BuildRequires: mount vconfig gawk iproute -BuildRequires: gcc-c++ wget -BuildRequires: e2fsprogs-devel +Provides: vserver = %version-%release +Obsoletes: vserver < %version +BuildRequires: mount vconfig gawk iproute iptables +BuildRequires: gcc-c++ wget which diffutils +BuildRequires: e2fsprogs-devel beecrypt-devel BuildRequires: doxygen tetex-latex Requires(post): %__chattr Requires(pre): %pkglibdir Requires(postun): %pkglibdir -%{!?_without_dietlibc:BuildRequires: dietlibc >= 0:0.24} +%{!?_without_dietlibc:BuildRequires: dietlibc >= 0:0.25} %{!?_without_xalan:BuildRequires: xalan-j} %package lib @@ -44,18 +53,22 @@ Requires: util-linux %package build Summary: Tools which can be used to build vservers Group: Applications/System -Requires: rpm apt wget binutils tar e2fsprogs -Requires: %name = %epoch:%version-%release +Requires: rpm wget binutils tar e2fsprogs +Requires: %name = %version-%release Requires(pre): %confdir Requires(postun): %confdir +%ifarch %ix86 +Requires: apt +%endif + %package sysv Summary: SysV-initscripts for vserver Group: System Environment/Base -Provides: init(@PACKAGE@) +Provides: init(%name) = sysv Requires: make diffutils Requires: initscripts -Requires: %name = %epoch:%version-%release +Requires: %name = %version-%release Requires(post): %chkconfig Requires(preun): %chkconfig Requires(pre): %_initrddir %pkglibdir @@ -64,20 +77,21 @@ requires(postun): %_initrddir %pkglibdir %package legacy Summary: Legacy utilities for util-vserver Group: Applications/System -Requires: %name = %epoch:%version-%release +Requires: %name = %version-%release Requires(post): %chkconfig Requires(preun): %chkconfig Requires(pre): %_initrddir %pkglibdir requires(postun): %_initrddir %pkglibdir %package devel -Summary: Header-files and libraries which are needed to develop vserver based applications +Summary: Header-files and libraries needed to develop vserver based applications Group: Development/Libraries Requires: pkgconfig +Requires: %name-lib = %version-%release %description -This package provides the components and a framework to setup virtual +util-vserver provides the components and a framework to setup virtual servers. A virtual server runs inside a linux server. It is nevertheless highly independent. As such, you can run various services with normal configuration. The various vservers can't interact with each other and @@ -87,11 +101,66 @@ This requires a special kernel supporting the new new_s_context and set_ipv4root system call. %description lib +util-vserver provides the components and a framework to setup virtual +servers. A virtual server runs inside a linux server. It is nevertheless +highly independent. As such, you can run various services with normal +configuration. The various vservers can't interact with each other and +can't interact with services in the main server. + +This package contains the shared libraries needed by all other +'util-vserver' subpackages. + %description core +util-vserver provides the components and a framework to setup virtual +servers. A virtual server runs inside a linux server. It is nevertheless +highly independent. As such, you can run various services with normal +configuration. The various vservers can't interact with each other and +can't interact with services in the main server. + +This package contains utilities which are required to communicate with +the Linux-Vserver enabled kernel. + + %description build +util-vserver provides the components and a framework to setup virtual +servers. A virtual server runs inside a linux server. It is nevertheless +highly independent. As such, you can run various services with normal +configuration. The various vservers can't interact with each other and +can't interact with services in the main server. + +This package contains utilities which assist in building Vservers. + %description sysv +util-vserver provides the components and a framework to setup virtual +servers. A virtual server runs inside a linux server. It is nevertheless +highly independent. As such, you can run various services with normal +configuration. The various vservers can't interact with each other and +can't interact with services in the main server. + +This package contains the SysV initscripts which start and stop +VServers and related tools. + + %description legacy +util-vserver provides the components and a framework to setup virtual +servers. A virtual server runs inside a linux server. It is nevertheless +highly independent. As such, you can run various services with normal +configuration. The various vservers can't interact with each other and +can't interact with services in the main server. + +This package contains the tools which are needed to work with VServers +having an old-style configuration. + + %description devel +util-vserver provides the components and a framework to setup virtual +servers. A virtual server runs inside a linux server. It is nevertheless +highly independent. As such, you can run various services with normal +configuration. The various vservers can't interact with each other and +can't interact with services in the main server. + +This package contains header files and libraries which are needed to +develop VServer related applications. %prep @@ -112,6 +181,8 @@ rm -rf $RPM_BUILD_ROOT rm -f $RPM_BUILD_ROOT/%_libdir/*.la +MANIFEST_CONFIG='%config' \ +MANIFEST_CONFIG_NOREPLACE='%config(noreplace)' \ contrib/make-manifest %name $RPM_BUILD_ROOT contrib/manifest.dat @@ -124,27 +195,26 @@ rm -rf $RPM_BUILD_ROOT %post -f="%confdefaultdir/vdirbase"; test -L "$f" -o -e "$f" || ln -s /vservers "$f" -f="%confdefaultdir/run.rev"; test -L "$f" -o -e "$f" || ln -s /var/run/vservers.rev "$f" +test -d /vservers || mkdir -m0000 /vservers +test -d /vservers/.pkg || mkdir -m0755 /vservers/.pkg -%__chattr +t /vservers || : +f="%confdefaultdir/vdirbase"; test -L "$f" -o -e "$f" || ln -s /vservers "$f" +f="%confdefaultdir/run.rev"; test -L "$f" -o -e "$f" || ln -s %_localstatedir/run/vservers.rev "$f" + +%_sbindir/setattr --barrier /vservers || : + + +%post lib -p /sbin/ldconfig +%postun lib -p /sbin/ldconfig -%define v_services httpd named portmap sendmail smb sshd xinetd gated %post sysv %chkconfig --add vservers-default %chkconfig --add vprocunhide -for i in %v_services; do - %chkconfig --add v_$i -done %preun sysv -test "$1" != 0 || for i in %v_services; do - %chkconfig --del v_$i -done - test "$1" != 0 || %_initrddir/vprocunhide stop &>/dev/null || : test "$1" != 0 || %chkconfig --del vprocunhide @@ -155,17 +225,54 @@ test "$1" != 0 || %chkconfig --del vservers-default test "$1" = 0 || %_initrddir/vprocunhide condrestart >/dev/null || : -%post lib -p /sbin/ldconfig -%postun lib -p /sbin/ldconfig +%triggerin build -- fedora-release +function copy() +{ + base=$1 + shift + + for i; do + test -r "$i" || continue + + target=%confdir/.distributions/.common/pubkeys/$base-$(basename "$i") + cp -a "$i" "$target" + done +} +copy fedora /usr/share/doc/fedora-release-*/RPM-GPG-* +copy fedora /etc/pki/rpm-gpg/RPM-GPG-* + + +%preun build +test "$1" != 0 || rm -f %confdir/.distributions/.common/pubkeys/fedora-* + + +## Temporary workaround to remove old v_* files; it will conflict +## somehow with the -legacy package but can be fixed by reinstalling +## this package. +## TODO: remove me in the final .spec file +%define v_services httpd named portmap sendmail smb sshd xinetd gated +%triggerun sysv -- util-vserver-sysv < 0.30.198 +for i in %v_services; do + %chkconfig --del v_$i || : +done %post legacy %chkconfig --add rebootmgr %chkconfig --add vservers-legacy +for i in %v_services; do + %chkconfig --add v_$i +done + + %preun legacy test "$1" != 0 || %_initrddir/rebootmgr stop &>/dev/null || : +test "$1" != 0 || for i in %v_services; do + %chkconfig --del v_$i +done + test "$1" != 0 || %chkconfig --del rebootmgr test "$1" != 0 || %chkconfig --del vservers-legacy @@ -186,12 +293,9 @@ test "$1" = 0 || %_initrddir/rebootmgr condrestart >/dev/null || : %ghost %confdefaultdir/vdirbase %ghost %confdefaultdir/run.rev -%attr(000,root,root) %dir /vservers/.pkg -%attr(000,root,root) %dir /vservers - -%dir /var/run/vservers -%dir /var/run/vservers.rev -%dir /var/run/vshelper +%dir %_localstatedir/run/vservers +%dir %_localstatedir/run/vservers.rev +%dir %_localstatedir/run/vshelper %files lib -f %name-lib.list @@ -205,9 +309,14 @@ test "$1" = 0 || %_initrddir/rebootmgr condrestart >/dev/null || : %files build -f %name-build.list %defattr(-,root,root,-) +%doc contrib/yum*.patch %dir %confdir/.distributions %dir %confdir/.distributions/* %dir %confdir/.distributions/*/apt +%dir %confdir/.distributions/.common +%dir %confdir/.distributions/.common/pubkeys +%dir %confdefaultdir/apps/vunify +%dir %confdefaultdir/apps/vunify/hash %files legacy -f %name-legacy.list @@ -222,6 +331,41 @@ test "$1" = 0 || %_initrddir/rebootmgr condrestart >/dev/null || : %changelog +* Sat Jul 16 2005 Enrico Scholz - 0:0.30.208-2 +- updated URLs + +* Fri Jul 15 2005 Enrico Scholz - 0:0.30.208-1 +- version 0.30.208 +- require the -lib subpackage by -devel +- copy GPG keys from /etc/pki/rpm-gpg/ + +* Fri Apr 15 2005 Enrico Scholz - 0:0.30.206-1 +- added patches to make yum work in chroot environments +- version 0.30.206 + +* Thu Mar 24 2005 Enrico Scholz - 0:0.30.205-0 +- added some %%descriptions +- copy GPG keys from the system into the confdir +- buildrequire dietlibc-0.25 +- BuildRequire beecrypt-devel +- cleanups +- use %%global instead of %%define +- removed 'run.rev' as a vserver-local variable and made it a system-wide setting + +* Wed Jan 26 2005 Enrico Scholz - 0:0.30.198-0.3 +- updated BuildRequires: +- use 'setattr --barrier' instead of 'chattr +t' in the %%post scriptlet +- moved the v_* initscripts to legacy +- do not ship the /vservers directory itself; as it is immutable, the + extraction will fail else + +* Thu Sep 9 2004 Enrico Scholz - 0:0.30.194-0 +- documented switches for 'rpmbuild' + +* Wed May 26 2004 Enrico Scholz - 0:0.29.215-0 +- (re)added the MANIFEST_* variables which were lost some time ago; + this will preserve %%config files... + * Mon Mar 15 2004 Enrico Scholz - 0:0.29.202-0 - use file-list for sysv scripts also