X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=util-vserver.spec;h=c0938a4949c32eb33527076c2c80cc63d2a843f9;hb=95e2774070e989fe9cf9f48dae5fa054e55e2a3e;hp=c66d6f789c1a8b2385ba8805881056363fd53300;hpb=7babdb393e48b8baea4231c49296e7b03dfb975c;p=util-vserver.git diff --git a/util-vserver.spec b/util-vserver.spec index c66d6f7..c0938a4 100644 --- a/util-vserver.spec +++ b/util-vserver.spec @@ -1,23 +1,31 @@ -# $Id: util-vserver.spec.in,v 1.49 2005/07/15 19:06:58 ensc Exp $ +# $Id$ +%define url $URL$ ## 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 +%define name util-vserver +%define version 0.30.214 +%define taglevel 1 -%{!?release_func:%global release_func() %1%{?dist}} +%global ver %( echo %{version} | sed 's/-.*//' ) +%global subver %( s=`echo %{version} | grep -- - | sed 's/.*-/./'`; echo ${s:-.1} ) +%global fullver %{version} -%define name util-vserver -%define version 0.30.208 -%define release 17%{?pldistro:.%{pldistro}}%{?date:.%{date}} + +%{!?release_func:%global release_func() %{taglevel}%{?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 @@ -27,17 +35,18 @@ Vendor: PlanetLab Packager: PlanetLab Central -Distribution: PlanetLab 3.0 -URL: http://cvs.planet-lab.org/cvs/util-vserver +Distribution: PlanetLab %{plrelease} +URL: %(echo %{url} | cut -d ' ' -f 2) Summary: Linux virtual server utilities Name: util-vserver -Version: 0.30.208 -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://savannah.nongnu.org/download/util-vserver/stable.pkg/%version/%name-%version.tar.bz2 +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 @@ -48,11 +57,12 @@ Obsoletes: vserver < %version 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 %{!?_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,10 +76,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 tar Requires: %name = %version-%release Requires(pre): %confdir Requires(postun): %confdir +Requires(post): %name-core %package sysv Summary: SysV-initscripts for vserver @@ -101,7 +112,7 @@ Requires: %name-lib = %version-%release %package python Summary: Python modules for manipulating vservers Group: Applications/System -Requires: python util-python +Requires: python Obsoletes: util-vserver-py23 resman @@ -185,7 +196,7 @@ but more readily accessible from Python code. %prep -%setup -q +%setup -q -n %name-%fullver aclocal -I m4 autoconf @@ -193,29 +204,33 @@ automake --add-missing %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 -install -D -m 755 python/disklimit $RPM_BUILD_ROOT/%{_sbindir}/disklimit +# 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 || : @@ -230,10 +245,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 /vservers/.pkg || : -%_sbindir/setattr --barrier /vservers || : + +%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 @@ -257,21 +277,27 @@ fi #%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 #test "$1" = 0 || %_initrddir/vprocunhide condrestart >/dev/null || : -%triggerin build -- fedora-release +%triggerin build -- fedora-release, centos-release function copy() { base=$1 @@ -286,6 +312,16 @@ 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-* + + +%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 @@ -338,9 +374,11 @@ done %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 @@ -374,82 +412,45 @@ 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} -%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 - -# 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 +- build python code as part of the regular build process +* Mon Jul 30 2007 Daniel Hokka Zakrisson +- add vip6-autod -%files python -%{_datadir}/%{name} -%{_sbindir}/bwlimit -%{_sbindir}/disklimit +* Mon Jun 25 2007 Daniel Hokka Zakrisson - 0.30.214-0 +- updated URLs +- get rid of e2fsprogs requirement +* Fri Dec 29 2006 Daniel Hokka Zakrisson - 0.30.213-0 +- add --with legacy and --without doc switches +- add util-vserver initscript -%changelog * Fri Feb 17 2006 Steve Muir - add support for setting guaranteed CPU share flag in rspec +* 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 + * 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 @@ -471,6 +472,10 @@ fi * Wed Nov 2 2005 Steve Muir - fix Python modules to handling scheduling parameters correctly +* Sun Oct 30 2005 Enrico Scholz - 0:0.30.209-0 +- version 0.30.209 +- copy centos keys + * Fri Oct 28 2005 Steve Muir - raise exception about being over disk limit after setting usage values @@ -493,7 +498,11 @@ fi * Thu Jul 21 2005 Steve Muir - add bwlimit and cpulimit modules +* 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/