-# $Id: util-vserver.spec.in 2283 2006-09-10 17:07:57Z hollow $
+# $Id: util-vserver.spec.in 2482 2007-01-29 23:37:07Z dhozac $
## This package understands the following switches:
## --without dietlibc ... disable usage of dietlibc
## --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 _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
-%{!?release_func:%global release_func() %1%{?dist}}
%define name util-vserver
-%define version 0.30.212
-%define release 0%{?pldistro:.%{pldistro}}%{?date:.%{date}}
+%define version 0.30.213
+%{!?release_func:%global release_func() 1%{?pldistro:.%{pldistro}}%{?date:.%{date}}}
+
+%global python_sitearch %( python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)" )
%define _without_dietlibc 1
%define _without_xalan 1
Summary: Linux virtual server utilities
Name: util-vserver
-Version: 0.30.212
-Release: %{release}
+Version: %ver
+Release: %release_func 0%subver
License: GPL
Group: System Environment/Base
#URL: http://savannah.nongnu.org/projects/util-vserver/
-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
+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
BuildRoot: %_tmppath/%name-%version-%release-root
Requires: init(%name)
Requires: %name-core = %version-%release
BuildRequires: mount vconfig gawk iproute iptables
BuildRequires: gcc-c++ wget which diffutils
BuildRequires: e2fsprogs-devel beecrypt-devel
-BuildRequires: doxygen tetex-latex
+%{!?_without_doc:BuildRequires: doxygen tetex-latex}
Requires(post): %name-core
Requires(pre): %pkglibdir
Requires(postun): %pkglibdir
%package build
Summary: Tools which can be used to build vservers
Group: Applications/System
-Requires: rpm wget binutils tar e2fsprogs
+Requires: rpm wget tar
Requires: %name = %version-%release
Requires(pre): %confdir
Requires(postun): %confdir
%package python
Summary: Python modules for manipulating vservers
Group: Applications/System
-Requires: python util-python
+Requires: python
Obsoletes: util-vserver-py23 resman
%prep
-%setup -q
+%setup -q -n %name-%fullver
aclocal -I m4
autoconf
%build
%configure --with-initrddir=%_initrddir --enable-release \
- %{?_without_dietlibc:--disable-dietlibc}
+ %{?_without_dietlibc:--disable-dietlibc} \
+ %{!?_without_legacy:--enable-apis=NOLEGACY} \
+ --with-initscripts=sysv
%__make %{?_smp_mflags} all
-%__make %{?_smp_mflags} doc
-
-%__make -C python
+%{!?_without_doc:%__make %{?_smp_mflags} doc}
%install
rm -rf $RPM_BUILD_ROOT
%__make DESTDIR="$RPM_BUILD_ROOT" install install-distribution
-rm -f $RPM_BUILD_ROOT/%_libdir/*.la
+rm -f $RPM_BUILD_ROOT/%_libdir/*.la $RPM_BUILD_ROOT%{python_sitearch}/*.{la,a}
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/usr/lib/python*/site-packages/*.{py,so} $RPM_BUILD_ROOT/%{_datadir}/%{name}/
-install -D -m 755 python/bwlimit $RPM_BUILD_ROOT/%{_sbindir}/bwlimit
+# Generate file list for python package
+find "%{buildroot}" -name '*.py' | { while read FILE; do
+ f="${FILE#%{buildroot}}"
+ echo "${f}"
+ # need to touch these files, as they are not produced on FC4 or below
+ touch ${FILE}c
+ touch ${FILE}o
+ echo %%ghost "${f}c"
+ echo %%ghost "${f}o"
+done } > %name-python.list
%check || :
#%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
+# vip6-autod handles IPv6 auto-assignments
+%chkconfig --add vip6-autod
+
%preun sysv
#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 vip6-autod
%postun sysv
%files devel -f %name-devel.list
%defattr(-,root,root,-)
-%doc lib/apidoc/latex/refman.pdf
-%doc lib/apidoc/html
-
-
-%post python
-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
-
-# Install the prebuilt extensions by hand
-python_sitelib=$(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")
-install -D -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
+%{!?_without_doc:%doc lib/apidoc/latex/refman.pdf}
+%{!?_without_doc:%doc lib/apidoc/html}
-# Install the prebuilt extensions by hand
-python_sitelib=$(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")
-install -D -m 755 *.so "$python_sitelib"/
-
-popd
+%files python -f %name-python.list
+%{_sbindir}/bwlimit
+%{_sbindir}/disklimit
+%{python_sitearch}/vserverimpl.so
-%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
+%changelog
+* Wed Oct 03 2007 Daniel Hokka Zakrisson <daniel@hozac.com>
+- build python code as part of the regular build process
-%files python
-%{_datadir}/%{name}
-%{_sbindir}/bwlimit
+* Mon Jul 30 2007 Daniel Hokka Zakrisson <daniel@hozac.com>
+- add vip6-autod
+* 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
-%changelog
* Fri Feb 17 2006 Steve Muir <smuir@cs.princeton.edu>
- add support for setting guaranteed CPU share flag in rspec