gentoo: use /var/run for new /run compatibility
[util-vserver.git] / util-vserver.spec.in
index ff0b58b..660c1b4 100644 (file)
@@ -1,8 +1,15 @@
 # $Id$
 
+%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
 ## --with xalan              ...   require/use the xalan xslt processor
+## --without doc             ...   disable doc generation
+## --with legacy             ...   enable the legacy APIs
+## --without python          ...   disable the Python bindings
 
 %global confdir                %_sysconfdir/vservers
 %global confdefaultdir %confdir/.defaults
 
 %global _localstatedir %_var
 
+%global fullver                @VERSION@
+%global ver            %( echo %fullver | sed 's/-.*//' )
+%global subver         %( s=`echo %fullver | grep -- - | sed 's/.*-/./'`; echo ${s:-.1} )
+
+
+# Mandriva does funky stuff that break us.
+%if %{?mandriva_release:1}%{!?mandriva_release:0}
+%global mandriva                       1
+%global _disable_libtoolize            1
+%global _disable_ld_as_needed          1
+%global _disable_ld_no_undefined       1
+%global before_configure       \
+       %setup_compile_flags    \
+       CONFIGURE_TOP="${CONFIGURE_TOP:-.}"
+%endif
+
 
 %{!?release_func:%global release_func() %1%{?dist}}
 
 Summary:       Linux virtual server utilities
 Name:          @PACKAGE@
-Version:       @VERSION@
-Release:       %release_func 0
+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-%fullver.tar.bz2
+#Source1:      http://ftp.linux-vserver.org/pub/utils/util-vserver/%name-%fullver.tar.bz2.asc
 BuildRoot:     %_tmppath/%name-%version-%release-root
 Requires:      init(%name)
 Requires:      %name-core = %version-%release
@@ -30,10 +53,14 @@ Requires:   %name-lib  = %version-%release
 Requires:      diffutils mktemp sed
 Provides:      vserver = %version-%release
 Obsoletes:     vserver < %version
-BuildRequires: mount vconfig gawk iproute iptables
+BuildRequires: mount 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
@@ -52,7 +79,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
@@ -85,6 +112,11 @@ Group:                      Development/Libraries
 Requires:              pkgconfig
 Requires:              %name-lib = %version-%release
 
+%package python
+Summary:               Python bindings to develop vserver-based applications
+Group:                 Development/Libraries
+Requires:              %name-lib = %version-%release
+
 
 %description
 util-vserver provides the components and a framework to setup virtual
@@ -158,17 +190,30 @@ 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
+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
+%setup -q -n %name-%fullver
 
 
 %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}
 
 
 %install
@@ -182,7 +227,7 @@ MANIFEST_CONFIG_NOREPLACE='%config(noreplace)' \
 contrib/make-manifest %name $RPM_BUILD_ROOT contrib/manifest.dat
 
 
-%check || :
+%check
 %__make check
 
 
@@ -212,6 +257,7 @@ test "$1" != 0 || rm -rf %_localstatedir/cache/vservers/* 2>/dev/null || :
 %post sysv
 %chkconfig --add vservers-default
 %chkconfig --add vprocunhide
+%chkconfig --add util-vserver
 
 
 
@@ -220,6 +266,7 @@ 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
 
 
 %postun sysv
@@ -244,6 +291,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
 
@@ -295,21 +347,10 @@ test "$1" = 0  || %_initrddir/rebootmgr   condrestart >/dev/null || :
 %defattr(-,root,root,-)
 %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
-
 
 %files lib -f %name-lib.list
 %files sysv -f %name-sysv.list
@@ -317,33 +358,40 @@ test "$1" = 0  || %_initrddir/rebootmgr   condrestart >/dev/null || :
 
 %files core -f %name-core.list
 %defattr(-,root,root,-)
-%dir %pkglibdir
 
 
 %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
 %defattr(-,root,root,-)
-%dir %pkglibdir/legacy
 
 
 %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}
+
+
+%if 0%{!?_without_python:1}
+%files python -f %name-python.list
+%defattr(-,root,root,-)
+%endif
 
 
 %changelog
+* Mon Jun 25 2007 Daniel Hokka Zakrisson <daniel@hozac.com> - 0.30.214-0
+- updated URLs
+- get rid of e2fsprogs requirement
+
+* 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
+
 * 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