Setting tag util-vserver-0.30.216-19
[util-vserver.git] / util-vserver.spec
index 52059e6..3fe0c3a 100644 (file)
@@ -1,4 +1,7 @@
-# $Id: util-vserver.spec.in 2482 2007-01-29 23:37:07Z dhozac $
+
+%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
 
 %global _localstatedir %_var
 
-%global ver            %( echo 0.30.213 | sed 's/-.*//' )
-%global subver         %( s=`echo 0.30.213 | grep -- - | sed 's/.*-/./'`; echo ${s:-.1} )
-%global fullver                0.30.213
-
-
-%define name util-vserver
-%define version 0.30.213
-%{!?release_func:%global release_func() 1%{?pldistro:.%{pldistro}}%{?date:.%{date}}}
+%global fullver                0.30.216-pre2939
+%global modulever 0.30.216
+%global ver            %( echo %fullver | sed 's/-.*//' )
+%global subver         %( s=`echo %fullver | grep -- - | sed 's/.*-/./'`; echo ${s:-.1} )
 
-%define _without_dietlibc 1
-%define _without_xalan 1
+# for module-tools
+%global module_version_varname modulever
+%global taglevel 19
 
-# don't build debuginfo RPM
-%define debug_package %{nil}
-
-Vendor: PlanetLab
-Packager: PlanetLab Central <support@planet-lab.org>
-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:       %ver
-Release:       %release_func 0%subver
+Release:       %taglevel
 License:       GPL
 Group:         System Environment/Base
-#URL:          http://savannah.nongnu.org/projects/util-vserver/
-Source0:       http://ftp.linux-vserver.org/pub/utils/util-vserver/%name-%version.tar.bz2
-#Source1:      http://ftp.linux-vserver.org/pub/utils/util-vserver/%name-%version.tar.bz2.asc
+URL:           http://linux-vserver.org/
+Source0:       http://ftp.linux-vserver.org/pub/utils/util-vserver/%name-%fullver.tar.bz2
+Source1:       fstab
+Source2:       vprocunhide-files
+Patch1: nomtab.patch
+Patch2: upstart.patch
+Patch3: sl.patch
 BuildRoot:     %_tmppath/%name-%version-%release-root
 Requires:      init(%name)
 Requires:      %name-core = %version-%release
@@ -49,10 +47,14 @@ 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: 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
@@ -71,7 +73,7 @@ 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
@@ -105,10 +107,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 resman
+Summary:               Python bindings to develop vserver-based applications
+Group:                 Development/Libraries
+Requires:              %name-lib = %version-%release
 
 
 %description
@@ -183,30 +184,34 @@ 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 -n %name-%fullver
-
-aclocal -I m4
-autoconf
-automake --add-missing
+%patch1 -p1
+%patch2 -p1
+%patch3 -p0
+autoreconf -fi
 
 %build
 %configure --with-initrddir=%_initrddir --enable-release \
            %{?_without_dietlibc:--disable-dietlibc} \
-           %{!?_without_legacy:--enable-apis=NOLEGACY} \
-           --with-initscripts=sysv
+           %{?_with_legacy:--enable-apis=NOLEGACY} \
+           --with-initscripts=sysv \
+           %{?_without_python:--without-python}
 
 %__make %{?_smp_mflags} all
 %{!?_without_doc:%__make %{?_smp_mflags} doc}
 
-%__make -C python
 
 %install
 rm -rf $RPM_BUILD_ROOT
@@ -218,16 +223,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="$PWD/tmp" install
-install -d $RPM_BUILD_ROOT/%{_datadir}/%{name}
-install tmp%{_libdir}/python*/site-packages/*.{py,so} $RPM_BUILD_ROOT/%{_datadir}/%{name}/
-install -D -m 755 python/bwlimit $RPM_BUILD_ROOT/%{_sbindir}/bwlimit
-install -D -m 755 python/disklimit $RPM_BUILD_ROOT/%{_sbindir}/disklimit
-
+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
@@ -248,43 +248,28 @@ f="%confdefaultdir/cachebase"; test -L "$f" -o -e "$f" || ln -s %_localstatedir/
 %preun
 test "$1" != 0 || rm -rf %_localstatedir/cache/vservers/* 2>/dev/null || :
 
-# 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
-
 
 %post   lib -p /sbin/ldconfig
 %postun lib -p /sbin/ldconfig
 
 
 %post sysv
-#%chkconfig --add vservers-default
-#%chkconfig --add vprocunhide
-# PlanetLab Node Manager takes care of starting and stopping VServers
-%chkconfig --del vservers-default
-%chkconfig --del util-vserver
-# 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 util-vserver
+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, centos-release
@@ -305,6 +290,11 @@ 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
 
@@ -330,34 +320,33 @@ 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
@@ -406,82 +395,77 @@ done
 %{!?_without_doc:%doc lib/apidoc/html}
 
 
-%post python
-pushd %{_datadir}/%{name} >/dev/null
+%files python
+%defattr(-,root,root,-)
+%{!?_without_python:%{python_sitearch}/*}
+
+
+%changelog
+* Mon Nov 28 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - util-vserver-0.30.216-19
+- typo in dual mirror building
 
-# Byte compile and install modules
-py_modules=
-for file in *.py ; do
-    if [ -n "$py_modules" ] ; then
-       py_modules="$py_modules,"
-    fi
-    py_modules="$py_modules '${file%*.py}'"
-done
-%define setup %{__python} -c "from distutils.core import setup; setup(py_modules=[$py_modules])"
-%{setup} build
-%{setup} install
-
-# Install the prebuilt extensions by hand
-python_sitelib=$(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")
-install -m 755 *.so "$python_sitelib"/
-
-popd
-
-
-%triggerpostun python -- util-vserver-python, util-vserver-py23
-# RPMs get upgraded by installing the new one, then uninstalling the
-# old one. Since we no longer own the byte-compiled modules, they may
-# be removed right after we create them in %post if we are upgraded
-# from a version that did own them at one point. This section should
-# be removed once all packages have been upgraded to at least this
-# version.
-pushd %{_datadir}/%{name} >/dev/null
-
-# Byte compile and install modules
-py_modules=
-for file in *.py ; do
-    if [ -n "$py_modules" ] ; then
-       py_modules="$py_modules,"
-    fi
-    py_modules="$py_modules '${file%*.py}'"
-done
-%define setup %{__python} -c "from distutils.core import setup; setup(py_modules=[$py_modules])"
-%{setup} build
-%{setup} install
+* Mon Nov 07 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - util-vserver-0.30.216-18
+- 2 places for pulling sources from in case of network outage
 
-# Install the prebuilt extensions by hand
-python_sitelib=$(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")
-install -m 755 *.so "$python_sitelib"/
+* Thu Jul 07 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - util-vserver-0.30.216-17
+- only tweaked specfile for fedora15 - requires util-linux instead of mount
 
-popd
+* Tue Jun 07 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - util-vserver-0.30.216-16
+- fixes for scientific linux
 
+* Thu Mar 10 2011 S.Çağlar Onur <caglar@verivue.com> - util-vserver-0.30.216-15
+- * Sync with upstream
+- * Add SL6 as a supported distro
 
-%preun python
-# 0 = erase, 1 = upgrade
-if [ $1 -eq 0 ] ; then
-    python_sitelib=$(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")
-    pushd %{_datadir}/%{name} >/dev/null
-    for file in *.py *.so ; do
-       rm -f "$python_sitelib"/${file}*
-    done
-    popd
-fi
+* Fri Feb 18 2011 Sapan Bhatia <sapanb@cs.princeton.edu> - util-vserver-0.30.216-14
+- Retagging to make sure the tagging operation worked.
 
+* Fri Feb 18 2011 Andy Bavier <acb@cs.princeton.edu> - util-vserver-0.30.216-13
+- Add /proc/diskstats to vprocunhide-files
 
-%files python
-%{_datadir}/%{name}
-%{_sbindir}/bwlimit
-%{_sbindir}/disklimit
+* Mon Jan 31 2011 Andy Bavier <acb@cs.princeton.edu> - util-vserver-0.30.216-12
+- add files needed by CoMon to vprocunhide-files list
 
+* Thu Jan 20 2011 S.Çağlar Onur <caglar@cs.princeton.edu> - util-vserver-0.30.216-11
+- add a custom vprocunhide-files file which contains /proc/partitions
+
+* Wed Dec 08 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - util-vserver-0.30.216-10
+- Enable vprocunhide service
+
+* Wed Dec 01 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - util-vserver-0.30.216-9
+- Sync with upstream revision 2926
+
+* Tue Nov 16 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - util-vserver-0.30.216-8
+- Sync with upstream revision 2924
+
+* Thu Aug 12 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - util-vserver-0.30.216-7
+- Sync with upstream revision 2912
+
+* Mon Aug 09 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - util-vserver-0.30.216-6
+- Sync with upstream revision 2908
+
+* Thu Jul 29 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - util-vserver-0.30.216-5
+- Fix f12 build
+
+* Wed Jul 28 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - util-vserver-0.30.216-4
+- Sync with upstream revision 2902
+
+* Tue Jun 08 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - util-vserver-0.30.216-3
+- Do not restart util-vserver service on upgrades
+
+* Tue Jun 01 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - util-vserver-0.30.216-2
+- remove tmpfs mounted /tmp from fstab template
+
+* Tue May 11 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - util-vserver-0.30.216-1
+
+* Mon Jun 25 2007 Daniel Hokka Zakrisson <daniel@hozac.com> - 0.30.214-0
+- updated URLs
+- get rid of e2fsprogs requirement
 
-%changelog
 * Fri Dec 29 2006 Daniel Hokka Zakrisson <daniel@hozac.com> - 0.30.213-0
 - add --with legacy and --without doc switches
 - add util-vserver initscript
 
-* Fri Feb 17 2006 Steve Muir <smuir@cs.princeton.edu>
-- add support for setting guaranteed CPU share flag in rspec
-
 * Sun Jan 22 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0.30.210-0
 - do not require 'xalan' anymore by default
 - removed 'Requires: apt'; apt-rpm is not maintained upstream anymore
@@ -493,53 +477,10 @@ fi
   trigger script
 - create '/vservers/.hash' and add initial configuration for it
 
-* Fri Jan 13 2006 Steve Muir <smuir@cs.princeton.edu>
-- 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 Dec  2 2005 Steve Muir <smuir@cs.princeton.edu>
-- 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
-
-* Wed Nov  9 2005 Steve Muir <smuir@cs.princeton.edu>
-- add support for removing resource limits e.g., when a slice is deleted
-
-* Mon Nov  7 2005 Steve Muir <smuir@cs.princeton.edu>
-- fix file descriptor leak in vduimpl
-- clean up handling of network parameters
-- don't rely upon /etc/vservers/foo.conf to initialise vserver object
-
-* Wed Nov  2 2005 Steve Muir <smuir@cs.princeton.edu>
-- fix Python modules to handling scheduling parameters correctly
-
 * Sun Oct 30 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.209-0
 - version 0.30.209
 - copy centos keys
 
-* Fri Oct 28 2005 Steve Muir <smuir@cs.princeton.edu>
-- raise exception about being over disk limit after setting usage values
-
-* Fri Oct  7 2005 Steve Muir <smuir@cs.princeton.edu>
-- create common function to be used for entering a vserver and applying
-  resource limits
-
-* Thu Aug 21 2005 Mark Huang <mlhuang@cs.princeton.edu>
-- restore build of python modules
-
-* Sat Aug 20 2005 Mark Huang <mlhuang@cs.princeton.edu>
-- 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
-
-* Thu Jul 28 2005 Steve Muir <smuir@cs.princeton.edu>
-- add support for static vserver IDs to vuseradd and vuserdel
-
-* Thu Jul 21 2005 Steve Muir <smuir@cs.princeton.edu>
-- add bwlimit and cpulimit modules
-
 * Sat Jul 16 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.208-2
 - updated URLs
 
@@ -548,26 +489,10 @@ fi
 - require the -lib subpackage by -devel
 - copy GPG keys from /etc/pki/rpm-gpg/
 
-* Mon Jun 20 2005 Steve Muir <smuir@cs.princeton.edu>
-- import Marc's vdu implementation
-
-* Wed Jun 15 2005 Steve Muir <smuir@cs.princeton.edu>
-- 'vserver-init start' functionality subsumed by Node Manager
-
-* Thu Jun 02 2005 Marc E. Fiuczynski <mef@cs.princeton.edu>
-- Fixed vlimit command
-
-* Wed May 25 2005 Steve Muir <smuir@cs.princeton.edu>
-- add Python modules for manipulating vservers
-
 * Fri Apr 15 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.206-1
 - added patches to make yum work in chroot environments
 - version 0.30.206
 
-* Thu Apr  7 2005 Steve Muir <smuir@cs.princeton.edu>
-- vuserdel changes: don't shutdown vserver, just kill all processes;
-  unmount all mountpoints in vserver before deleting
-
 * Thu Mar 24 2005 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.205-0
 - added some %%descriptions
 - copy GPG keys from the system into the confdir
@@ -584,42 +509,9 @@ fi
 - do not ship the /vservers directory itself; as it is immutable, the
   extraction will fail else
 
-* Fri Nov 19 2004 Mark Huang <mlhuang@cs.princeton.edu>
-- vcached no longer runs as a daemon
-- do not restart vservers when package is upgraded
-
-* Wed Nov 17 2004 Mark Huang <mlhuang@cs.princeton.edu> 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 <mlhuang@cs.princeton.edu> 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 <mlhuang@cs.princeton.edu> 0.30-4.planetlab
-- PL2445 Use -b option to du to avoid rounding errors.
-
-* Sat Nov  6 2004 Mark Huang <mlhuang@cs.princeton.edu> 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 <mef@cs.princeton.edu>
-- added vsh
-
 * Thu Sep  9 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.30.194-0
 - documented switches for 'rpmbuild'
 
-* Wed Aug 11 2004 Mark Huang <mlhuang@cs.princeton.edu> 0.29-1.planetlab
-- initial PlanetLab 3.0 build.
-
 * Wed May 26 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.29.215-0
 - (re)added the MANIFEST_* variables which were lost some time ago;
   this will preserve %%config files...