X-Git-Url: http://git.onelab.eu/?p=util-vserver.git;a=blobdiff_plain;f=util-vserver.spec;h=81f276a6bc10e4a33707814b2f2ad6c57e144212;hp=fe15ef6d51fda798ca2a29953deb39344d3372ba;hb=HEAD;hpb=5af22be1f5c2aa21a0a8821526b76f4479ddaa1b diff --git a/util-vserver.spec b/util-vserver.spec index fe15ef6..81f276a 100644 --- a/util-vserver.spec +++ b/util-vserver.spec @@ -1,43 +1,42 @@ -# $Id: util-vserver.spec.in,v 1.49 2005/07/15 19:06:58 ensc Exp $ + +%if "%{?_without_python:1}" != "1" +%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} +%endif ## This package understands the following switches: ## --without dietlibc ... disable usage of dietlibc -## --without xalan ... do not require/use the xalan xslt processor +## --with xalan ... require/use the xalan xslt processor +## --without doc ... disable doc generation +## --with legacy ... enable the legacy APIs %global confdir %_sysconfdir/vservers %global confdefaultdir %confdir/.defaults %global pkglibdir %_libdir/%name -%global __chattr /usr/bin/chattr %global chkconfig /sbin/chkconfig %global _localstatedir %_var +%global fullver 0.30.216-pre3038 +%global modulever 0.30.216 +%global ver %( echo %fullver | sed 's/-.*//' ) +%global subver %( s=`echo %fullver | grep -- - | sed 's/.*-/./'`; echo ${s:-.1} ) -%{!?release_func:%global release_func() %1%{?dist}} - -%define name util-vserver -%define version 0.30.208 -%define release 10%{?pldistro:.%{pldistro}}%{?date:.%{date}} +# for module-tools +%global module_version_varname modulever +%global taglevel 21 -%define _without_dietlibc 1 -%define _without_xalan 1 - -# don't build debuginfo RPM -%define debug_package %{nil} - -Vendor: PlanetLab -Packager: PlanetLab Central -Distribution: PlanetLab 3.0 -URL: http://cvs.planet-lab.org/cvs/util-vserver +%{!?release_func:%global release_func() %1%{?dist}} Summary: Linux virtual server utilities Name: util-vserver -Version: 0.30.208 -Release: %{release} +Version: %ver +Release: %taglevel 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 +URL: http://linux-vserver.org/ +Source0: http://ftp.linux-vserver.org/pub/utils/util-vserver/%name-%fullver.tar.bz2 +Source1: fstab +Source2: vprocunhide-files BuildRoot: %_tmppath/%name-%version-%release-root Requires: init(%name) Requires: %name-core = %version-%release @@ -45,14 +44,19 @@ Requires: %name-lib = %version-%release Requires: diffutils mktemp sed Provides: vserver = %version-%release Obsoletes: vserver < %version -BuildRequires: mount vconfig gawk iproute iptables +BuildRequires: util-linux vconfig gawk /sbin/ip iptables BuildRequires: gcc-c++ wget which diffutils -BuildRequires: e2fsprogs-devel beecrypt-devel -BuildRequires: doxygen tetex-latex +BuildRequires: e2fsprogs-devel e2fsprogs +%{!?_without_beecrypt:BuildRequires: beecrypt-devel} +%{?_without_beecrypt:BuildRequires: nss-devel} +BuildRequires: e2fsprogs +%{!?_without_doc:BuildRequires: doxygen tetex-latex} +%{!?_without_python:BuildRequires: python python-devel ctags} +Requires(post): %name-core Requires(pre): %pkglibdir Requires(postun): %pkglibdir %{!?_without_dietlibc:BuildRequires: dietlibc >= 0:0.25} -%{!?_without_xalan:BuildRequires: xalan-j} +%{?_with_xalan:BuildRequires: xalan-j} %package lib Summary: Dynamic libraries for util-vserver @@ -66,15 +70,11 @@ Requires: util-linux %package build Summary: Tools which can be used to build vservers Group: Applications/System -Requires: rpm wget binutils tar e2fsprogs +Requires: rpm wget binutils tar Requires: %name = %version-%release Requires(pre): %confdir Requires(postun): %confdir - -%ifarch %ix86 -# Remove apt dependency, this is not available on Fedora Core -# Requires: apt -%endif +Requires(post): %name-core %package sysv Summary: SysV-initscripts for vserver @@ -104,10 +104,9 @@ Requires: pkgconfig Requires: %name-lib = %version-%release %package python -Summary: Python modules for manipulating vservers -Group: Applications/System -Requires: python util-python -Obsoletes: util-vserver-py23 +Summary: Python bindings to develop vserver-based applications +Group: Development/Libraries +Requires: %name-lib = %version-%release %description @@ -182,28 +181,31 @@ can't interact with services in the main server. This package contains header files and libraries which are needed to develop VServer related applications. - %description python -Python modules for manipulating vservers. Provides a superset of the -functionality of the vserver script (at least will do in the future), -but more readily accessible from Python code. +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 files needed to interface with the +Linux-VServer API from Python. -%prep -%setup -q -aclocal -I m4 -autoconf -automake --add-missing +%prep +%setup -q -n %name-%fullver +autoreconf -fi %build %configure --with-initrddir=%_initrddir --enable-release \ - %{?_without_dietlibc:--disable-dietlibc} + %{?_without_dietlibc:--disable-dietlibc} \ + %{?_with_legacy:--enable-apis=NOLEGACY} \ + --with-initscripts=sysv \ + %{?_without_python:--without-python} %__make %{?_smp_mflags} all -%__make %{?_smp_mflags} doc +%{!?_without_doc:%__make %{?_smp_mflags} doc} -%__make -C python %install rm -rf $RPM_BUILD_ROOT @@ -215,12 +217,11 @@ MANIFEST_CONFIG='%config' \ MANIFEST_CONFIG_NOREPLACE='%config(noreplace)' \ contrib/make-manifest %name $RPM_BUILD_ROOT contrib/manifest.dat -# install python bindings -%__make -C python DESTDIR="$RPM_BUILD_ROOT" install - +install -c -m 644 %{SOURCE1} %{buildroot}/%pkglibdir/defaults/fstab +install -c -m 644 %{SOURCE2} %{buildroot}/%pkglibdir/defaults/vprocunhide-files -%check || : -#%__make check +%check +%__make check %clean @@ -231,22 +232,15 @@ rm -rf $RPM_BUILD_ROOT test -d /vservers || mkdir -m0000 /vservers test -d /vservers/.pkg || mkdir -m0755 /vservers/.pkg -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" +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" +f="%confdefaultdir/cachebase"; test -L "$f" -o -e "$f" || ln -s %_localstatedir/cache/vservers "$f" -%_sbindir/setattr --barrier /vservers || : +%_sbindir/setattr --barrier /vservers /vservers/.pkg || : -# add /bin/vsh to list of secure shells -if [ ! -f /etc/shells ] || ! grep -q '^/bin/vsh$' /etc/shells ; then - echo /bin/vsh >> /etc/shells -fi - -%postun -# 0 = erase, 1 = upgrade -if [ "$1" = 0 ] ; then - perl -i -n -e 'next if /^\/bin\/vsh$/; print' /etc/shells -fi +%preun +test "$1" != 0 || rm -rf %_localstatedir/cache/vservers/* 2>/dev/null || : %post lib -p /sbin/ldconfig @@ -254,25 +248,25 @@ fi %post sysv -#%chkconfig --add vservers-default -#%chkconfig --add vprocunhide -# PlanetLab Node Manager takes care of starting and stopping VServers -%chkconfig --del vservers-default -# PlanetLab does not require /proc security -%chkconfig --del vprocunhide +%chkconfig --add vservers-default +%chkconfig --add vprocunhide +%chkconfig --add util-vserver +%chkconfig vprocunhide on +%chkconfig util-vserver on %preun sysv -#test "$1" != 0 || %_initrddir/vprocunhide stop &>/dev/null || : +test "$1" != 0 || %_initrddir/vprocunhide stop &>/dev/null || : -#test "$1" != 0 || %chkconfig --del vprocunhide -#test "$1" != 0 || %chkconfig --del vservers-default +test "$1" != 0 || %chkconfig --del vprocunhide +test "$1" != 0 || %chkconfig --del vservers-default +test "$1" != 0 || %chkconfig --del util-vserver %postun sysv -#test "$1" = 0 || %_initrddir/vprocunhide condrestart >/dev/null || : +test "$1" = 0 || %_initrddir/vprocunhide condrestart >/dev/null || : -%triggerin build -- fedora-release +%triggerin build -- fedora-release, centos-release function copy() { base=$1 @@ -287,6 +281,21 @@ function copy() } copy fedora /usr/share/doc/fedora-release-*/RPM-GPG-* copy fedora /etc/pki/rpm-gpg/RPM-GPG-* +copy centos /usr/share/doc/centos-*/RPM-GPG-KEY-* + + +%pre build +x="%_libdir/util-vserver/distributions/etch" +test -d "$x" && mv "$x" "$x.rpmsave" || : + + +%post build +test -d /vservers/.hash || mkdir -m0700 /vservers/.hash + +f="%confdefaultdir/apps/vunify/hash"; test -e "$f"/method -o -e "$f"/00 || \ + ln -s /vservers/.hash "$f"/00 + +%_sbindir/setattr --barrier /vservers/.hash || : %preun build @@ -305,43 +314,44 @@ done %post legacy -# PlanetLab Node Manager takes care of starting and stopping VServers -#%chkconfig --add rebootmgr -#%chkconfig --add vservers-legacy +%chkconfig --add rebootmgr +%chkconfig --add vservers-legacy -# PlanetLab does not require these legacy services -#for i in %v_services; do -# %chkconfig --add v_$i -#done +for i in %v_services; do + %chkconfig --add v_$i +done %preun legacy -#test "$1" != 0 || %_initrddir/rebootmgr stop &>/dev/null || : +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 || for i in %v_services; do + %chkconfig --del v_$i +done -#test "$1" != 0 || %chkconfig --del rebootmgr -#test "$1" != 0 || %chkconfig --del vservers-legacy +test "$1" != 0 || %chkconfig --del rebootmgr +test "$1" != 0 || %chkconfig --del vservers-legacy %postun legacy -#test "$1" = 0 || %_initrddir/rebootmgr condrestart >/dev/null || : +test "$1" = 0 || %_initrddir/rebootmgr condrestart >/dev/null || : %files -f %name-base.list %defattr(-,root,root,-) -%doc AUTHORS COPYING ChangeLog NEWS README THANKS -%doc doc/*.html doc/*.css +%doc AUTHORS COPYING NEWS README THANKS +#%doc AUTHORS COPYING ChangeLog NEWS README THANKS +#%doc doc/*.html doc/*.css /sbin/vshelper %dir %confdir %dir %confdefaultdir %dir %confdefaultdir/apps %dir %confdefaultdir/files %dir %pkglibdir/defaults +%ghost %confdefaultdir/cachebase %ghost %confdefaultdir/vdirbase %ghost %confdefaultdir/run.rev +%dir %_localstatedir/cache/vservers %dir %_localstatedir/run/vservers %dir %_localstatedir/run/vservers.rev %dir %_localstatedir/run/vshelper @@ -375,86 +385,114 @@ done %files devel -f %name-devel.list %defattr(-,root,root,-) -%doc lib/apidoc/latex/refman.pdf -%doc lib/apidoc/html +%{!?_without_doc:%doc lib/apidoc/latex/refman.pdf} +%{!?_without_doc:%doc lib/apidoc/html} %files python -%defattr(0644,root,root) -%_libdir/python2.3/site-packages/* +%defattr(-,root,root,-) +%{!?_without_python:%{python_sitearch}/*} %changelog -* Fri Feb 17 2006 Steve Muir -- add support for setting guaranteed CPU share flag in rspec +* Thu Feb 21 2013 Thierry Parmentelat - util-vserver-0.30.216-21 +- upgrade to 0.30.216-pre3038 -* Fri Jan 13 2006 Steve Muir -- fix bug in python/vserverimpl.c where attempting to adjust CPU share - for a context that didn't exist would cause an error (it should be a - safe no-op) +* Fri Feb 24 2012 Thierry Parmentelat - util-vserver-0.30.216-20 +- bump to 0.30.216-pre3004 -* Fri Dec 2 2005 Steve Muir -- fix bugs in python/vserverimpl.c where exceptions were not raised when - they should be and thus occured later at unexpected times -- add support for stopping a vserver +* Mon Nov 28 2011 Thierry Parmentelat - util-vserver-0.30.216-19 +- typo in dual mirror building -* Wed Nov 9 2005 Steve Muir -- add support for removing resource limits e.g., when a slice is deleted +* Mon Nov 07 2011 Thierry Parmentelat - util-vserver-0.30.216-18 +- 2 places for pulling sources from in case of network outage -* Mon Nov 7 2005 Steve Muir -- fix file descriptor leak in vduimpl -- clean up handling of network parameters -- don't rely upon /etc/vservers/foo.conf to initialise vserver object +* Thu Jul 07 2011 Thierry Parmentelat - util-vserver-0.30.216-17 +- only tweaked specfile for fedora15 - requires util-linux instead of mount -* Wed Nov 2 2005 Steve Muir -- fix Python modules to handling scheduling parameters correctly +* Tue Jun 07 2011 Thierry Parmentelat - util-vserver-0.30.216-16 +- fixes for scientific linux -* Fri Oct 28 2005 Steve Muir -- raise exception about being over disk limit after setting usage values +* Thu Mar 10 2011 S.Çağlar Onur - util-vserver-0.30.216-15 +- * Sync with upstream +- * Add SL6 as a supported distro -* Fri Oct 7 2005 Steve Muir -- create common function to be used for entering a vserver and applying - resource limits +* Fri Feb 18 2011 Sapan Bhatia - util-vserver-0.30.216-14 +- Retagging to make sure the tagging operation worked. -* Thu Aug 21 2005 Mark Huang -- restore build of python modules +* Fri Feb 18 2011 Andy Bavier - util-vserver-0.30.216-13 +- Add /proc/diskstats to vprocunhide-files -* Sat Aug 20 2005 Mark Huang -- upgrade to util-vserver-0.30.208 -- forward-port vbuild and legacy support until we can find a suitable - replacement -- make vsh use new vc_create_context() call +* Mon Jan 31 2011 Andy Bavier - util-vserver-0.30.216-12 +- add files needed by CoMon to vprocunhide-files list -* Thu Jul 28 2005 Steve Muir -- add support for static vserver IDs to vuseradd and vuserdel +* Thu Jan 20 2011 S.Çağlar Onur - util-vserver-0.30.216-11 +- add a custom vprocunhide-files file which contains /proc/partitions -* Thu Jul 21 2005 Steve Muir -- add bwlimit and cpulimit modules +* Wed Dec 08 2010 S.Çağlar Onur - util-vserver-0.30.216-10 +- Enable vprocunhide service -* Fri Jul 15 2005 Enrico Scholz - 0:0.30.208-1 -- require the -lib subpackage by -devel -- copy GPG keys from /etc/pki/rpm-gpg/ +* Wed Dec 01 2010 S.Çağlar Onur - util-vserver-0.30.216-9 +- Sync with upstream revision 2926 + +* Tue Nov 16 2010 S.Çağlar Onur - util-vserver-0.30.216-8 +- Sync with upstream revision 2924 + +* Thu Aug 12 2010 S.Çağlar Onur - util-vserver-0.30.216-7 +- Sync with upstream revision 2912 + +* Mon Aug 09 2010 S.Çağlar Onur - util-vserver-0.30.216-6 +- Sync with upstream revision 2908 + +* Thu Jul 29 2010 S.Çağlar Onur - util-vserver-0.30.216-5 +- Fix f12 build + +* Wed Jul 28 2010 S.Çağlar Onur - util-vserver-0.30.216-4 +- Sync with upstream revision 2902 + +* Tue Jun 08 2010 S.Çağlar Onur - util-vserver-0.30.216-3 +- Do not restart util-vserver service on upgrades + +* Tue Jun 01 2010 S.Çağlar Onur - util-vserver-0.30.216-2 +- remove tmpfs mounted /tmp from fstab template -* Mon Jun 20 2005 Steve Muir -- import Marc's vdu implementation +* Tue May 11 2010 S.Çağlar Onur - util-vserver-0.30.216-1 -* Wed Jun 15 2005 Steve Muir -- 'vserver-init start' functionality subsumed by Node Manager +* Mon Jun 25 2007 Daniel Hokka Zakrisson - 0.30.214-0 +- updated URLs +- get rid of e2fsprogs requirement -* Thu Jun 02 2005 Marc E. Fiuczynski -- Fixed vlimit command +* Fri Dec 29 2006 Daniel Hokka Zakrisson - 0.30.213-0 +- add --with legacy and --without doc switches +- add util-vserver initscript -* Wed May 25 2005 Steve Muir -- add Python modules for manipulating vservers +* Sun Jan 22 2006 Enrico Scholz - 0.30.210-0 +- do not require 'xalan' anymore by default +- removed 'Requires: apt'; apt-rpm is not maintained upstream anymore +- removed 'chattr' leftovers +- create the '/etc/vservers/.defaults/cachebase' symlink +- added /var/cache/vservers and the needed support +- set barrier attribute on /vservers/.pkg and /vservers/.hash +- added 'centos-release' to the list of packages in the copy-the-keys + trigger script +- create '/vservers/.hash' and add initial configuration for it + +* Sun Oct 30 2005 Enrico Scholz - 0:0.30.209-0 +- version 0.30.209 +- copy centos keys + +* 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 Apr 7 2005 Steve Muir -- vuserdel changes: don't shutdown vserver, just kill all processes; - unmount all mountpoints in vserver before deleting - * Thu Mar 24 2005 Enrico Scholz - 0:0.30.205-0 - added some %%descriptions - copy GPG keys from the system into the confdir @@ -471,42 +509,9 @@ done - do not ship the /vservers directory itself; as it is immutable, the extraction will fail else -* Fri Nov 19 2004 Mark Huang -- vcached no longer runs as a daemon -- do not restart vservers when package is upgraded - -* Wed Nov 17 2004 Mark Huang 0.30-6.planetlab -+ planetlab-3_0-rc4 -- PL2445 -- Both vcached and vuseradd now print a warning message when vbuild - succeeds but the resulting new vserver image is smaller in size than - the vserver-reference image. -- vuseradd: clean up some more junk on failure - -* Tue Nov 16 2004 Mark Huang 0.30-5.planetlab -+ planetlab-3_0-rc3 -- PL3026: This is the upgraded version of vdu that maintains an - internal hash table of files with a nlink count > 1. Only if vdu - sees all hard links to a particular inode does it add its size and - block count to the total. - -* Fri Nov 12 2004 Mark Huang 0.30-4.planetlab -- PL2445 Use -b option to du to avoid rounding errors. - -* Sat Nov 6 2004 Mark Huang 0.30-3.planetlab -+ planetlab-3_0-rc2 -- don't create the symbolic link /home/slice/.ssh, this is not how - pl_sshd works - -* Mon Oct 11 2004 Marc E. Fiuczynski -- added vsh - * Thu Sep 9 2004 Enrico Scholz - 0:0.30.194-0 - documented switches for 'rpmbuild' -* Wed Aug 11 2004 Mark Huang 0.29-1.planetlab -- initial PlanetLab 3.0 build. - * 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...