]> git.pld-linux.org Git - packages/util-vserver.git/blobdiff - util-vserver.spec
- obsoleted
[packages/util-vserver.git] / util-vserver.spec
index 6ae851a8231c99c53f119dfc6ccbd33a991f5448..015c7061071ce4678f4c3785ca6b978b02a9e9c1 100644 (file)
@@ -1,47 +1,67 @@
+# TODO
+# - somewhy empty /var/cache/vservers is needed when building pld vserver
+# - make build create /dev/std{in,out,err} links
 #
 # m68k and mips are the only not supported archs
 #
 # Conditional build:
-%bcond_without dietlibc        # don't use dietlibc (ask for troubles)
-%bcond_without doc             # don't build documentation which needed LaTeX
-%bcond_with    xalan           # use the xalan xslt processor
+%bcond_without dietlibc                # don't use dietlibc (ask for troubles)
+%bcond_without doc                     # don't build documentation which needed LaTeX
+%bcond_without no_dynamic_context      # disable enforcement of disabled dynamic context
+%bcond_with    xalan                   # use the xalan xslt processor
+#
+%define        _vproc_version 0.01
+# diet compile fails with ccache in %{__cc}
+%undefine      with_ccache
 #
 Summary:       Linux virtual server utilities
 Summary(pl):   Narzêdzia dla linuksowych serwerów wirtualnych
 Name:          util-vserver
-Version:       0.30.209
-Release:       0.1
+Version:       0.30.212
+Release:       1
 License:       GPL
 Group:         Applications/System
-Source0:       http://www.13thfloor.at/~ensc/util-vserver/files/alpha/%{name}-%{version}.tar.bz2
-# Source0-md5: 674b122824292c20d3c53245b91f6088
+Source0:       http://ftp.linux-vserver.org/pub/utils/util-vserver/%{name}-%{version}.tar.bz2
+# Source0-md5: 386b91732b7f0f132b4e9d978389dcc2
 Source1:       vprocunhide.init
 Source2:       vservers.init
 Source3:       vservers-legacy.init
 Source4:       rebootmgr.init
 Source5:       vservers.sysconfig
 Source6:       vservers-legacy.sysconfig
-# A bit of documentation explaining package menagement
+Source7:       vrootdevices.init
+Source8:       vrootdevices.sysconfig
+# A bit of documentation explaining package management
 # http://www.paul.sladen.org/vserver/archives/200505/0078.html
-Source7:       %{name}-pkgmgmt.txt
+Source9:       %{name}-pkgmgmt.txt
+Source10:      %{name}-initpost.sh
+Source11:      http://www.13thfloor.at/vserver/s_release/v1.2.10/vproc-%{_vproc_version}.tar.bz2
+# Source11-md5:        1d030717bdbc958ea4b35fd2410dad85
+Source12:      %{name}-vhashify.cron
 Patch0:                %{name}-vsysvwrapper.patch
 Patch1:                %{name}-pld.patch
-Patch2:                %{name}-build-poldek.patch
+Patch2:                %{name}-vrpm.patch
 Patch3:                %{name}-include.patch
 Patch4:                %{name}-m4-diet.patch
-Patch5:                %{name}-cpuset.patch
 Patch6:                %{name}-build-umask.patch
 Patch7:                %{name}-utmpx.patch
+Patch8:                %{name}-vprocunhide.patch
+Patch9:                %{name}-dev.patch
+Patch10:       %{name}-no-dynamic-ctx.patch
+Patch11:       %{name}-more-ip.patch
+Patch12:       %{name}-rpm-fake-resolver-badperm-errorlogging.patch
 URL:           http://savannah.nongnu.org/projects/util-vserver/
 BuildRequires: autoconf
 BuildRequires: automake >= 1.9
 BuildRequires: beecrypt-devel
 %{?with_dietlibc:BuildRequires:        dietlibc-static >= 2:0.29}
+BuildRequires: e2fsprogs-devel
 BuildRequires: libstdc++-devel
 BuildRequires: libtool >= 1.5.14
 %ifarch %{x8664}
 BuildRequires: sed >= 4.0
 %endif
+BuildRequires: rpmbuild(macros) >= 1.268
 %if %{with doc}
 BuildRequires: doxygen
 BuildRequires: graphviz
@@ -49,17 +69,19 @@ BuildRequires:      libxslt-progs
 BuildRequires: tetex-format-pdflatex
 BuildRequires: tetex-makeindex
 # To be removed when tetex-format-pdflatex, tetex-pdftex...
-BuildRequires: tetex-fonts-jknappen
-BuildRequires: tetex-metafont
-BuildRequires: ghostscript
 # ...and graphviz packages get fixed
+BuildRequires: ghostscript
 BuildRequires: ghostscript-fonts-std
+BuildRequires: tetex-fonts-jknappen
+BuildRequires: tetex-metafont
 %{?with_xalan:BuildRequires:   xalan-j}
 %endif
-Requires:      rc-scripts
-Requires:      util-linux
 Requires(post,preun):  /sbin/chkconfig
 Requires:      %{name}-lib = %{version}-%{release}
+Requires:      issue
+Requires:      mktemp >= 1.5-18
+Requires:      rc-scripts
+Requires:      util-linux
 Obsoletes:     util-vserver-core
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
@@ -129,7 +151,7 @@ Group:              Libraries
 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
+pith 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 shared libraries needed by all other
@@ -149,8 +171,11 @@ podpakiety util-vserver.
 Summary:       Tools which can be used to build vservers
 Summary(pl):   Narzêdzia do budowania vserverów
 Group:         Applications/System
-Conflicts:     poldek < 0.18.8-10
 Requires:      %{name} = %{version}-%{release}
+Requires:      /etc/pld-release
+Requires:      e2fsprogs
+Requires:      which
+Conflicts:     poldek < 0.18.8-10
 
 %description build
 util-vserver provides the components and a framework to setup virtual
@@ -229,10 +254,10 @@ Requires: util-vserver-build
 Requires:      yum
 
 %description -n vserver-distro-centos
-VServer build template for CentOS 4.2.
+VServer build template for CentOS 4.
 
 %description -n vserver-distro-centos -l pl
-Szablon budowania VServera dla CentOS 4.2.
+Szablon budowania VServera dla CentOS 4.
 
 %package init
 Summary:       initscripts for vserver
@@ -292,43 +317,22 @@ w interakcj
 Ten pakiet zawiera narzêdzia potrzebne do pracy z Vserwerami maj±cymi
 konfiguracjê w starym stylu.
 
-%package -n vserver-dev
-Summary:       /dev entries for systems in Vservers
-Summary(pl):   Pliki specjalne /dev/* dla systemów w Vserwerach
-Group:         Base
-Requires:      setup >= 2.4.1-2
-Provides:      dev = 2.9.0-19
-Provides:      devfs
-AutoReqProv:   no
-
-%description -n vserver-dev
-Unix and unix like systems (including Linux) use file system entries
-to represent devices attached to the machine. All of these entries are
-in the /dev tree (though they don't have to be), and this package
-contains only entries needed for a system running inside Vserver.
-
-DO NOT install this package for a normal system!
-
-%description -n vserver-dev -l pl
-Wszystkie systemy klasy unices, w tym Linux, u¿ywaj± plików do
-przedstawiania urz±dzeñ pod³±czonych do komputera. Wszystkie te pliki
-znajduj± siê zwykle w katalogu /dev. Pakiet ten wy³±cznie te pliki
-specjalne które s± potrzebne do uruchomienia systemu w Vserwerze.
-
-NIE INSTALUJ tego pakietu na zwyk³ym systemie!
-
 %prep
-%setup -q
+%setup -q -a11
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
-%patch5 -p1
 %patch6 -p1
 %patch7 -p1
+%patch8 -p1
+%patch9 -p1
+%{?with_no_dynamic_context:%patch10 -p1}
+%patch11 -p1
+%patch12 -p1
 
-install %{SOURCE7} package-menagament.txt
+install %{SOURCE9} package-management.txt
 
 cp -a compat.h vserver-compat.h
 
@@ -342,6 +346,7 @@ CFLAGS="%{rpmcflags} -D__GLIBC__"
 %configure \
        --with-initrddir=/etc/rc.d/init.d \
        --enable-release \
+       --enable-apis=NOLEGACY \
        %{?with_dietlibc:--enable-dietlibc} \
        %{!?with_dietlibc:--disable-dietlibc} \
        MKTEMP=/bin/mktemp \
@@ -359,9 +364,14 @@ CFLAGS="%{rpmcflags} -D__GLIBC__"
 %{__make} all
 %{?with_doc:%{__make} doc}
 
+%{__make} -C vproc-%{_vproc_version} \
+       CC="%{__cc}" \
+       CFLAGS="%{rpmcflags}"
+
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/vservers,/etc/{sysconfig,rc.d/init.d},/dev/pts}
+install -d $RPM_BUILD_ROOT{/vservers,/etc/{sysconfig,rc.d/init.d,cron.d},/dev/pts} \
+       $RPM_BUILD_ROOT{%{_sysconfdir}/vservices,/vservers/.pkg}
 
 %{__make} install install-distribution \
        DESTDIR=$RPM_BUILD_ROOT
@@ -370,8 +380,6 @@ cp -a vserver-compat.h $RPM_BUILD_ROOT%{_includedir}
 
 chmod -R +rX $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/*
 
-install -d $RPM_BUILD_ROOT%{_sysconfdir}/vservices
-install -d $RPM_BUILD_ROOT/vservers/.pkg
 ln -s /vservers $RPM_BUILD_ROOT%{_sysconfdir}/vservers/vdirbase
 ln -s %{_localstatedir}/run/vservers.rev $RPM_BUILD_ROOT%{_sysconfdir}/vservers/run.rev
 
@@ -397,13 +405,26 @@ sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE5} > \
 
 install %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/vservers-legacy
 
+install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/vrootdevices
+install %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/vrootdevices
+install %{SOURCE10} $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ac/initpost
+install vproc-%{_vproc_version}/vproc $RPM_BUILD_ROOT%{_sbindir}
+install %{SOURCE12} $RPM_BUILD_ROOT%{_libdir}/%{name}/vhashify.cron
+
+cat > $RPM_BUILD_ROOT/etc/cron.d/vservers << EOF
+02 2 * * 0      root    %{_libdir}/%{name}/vhashify.cron
+EOF
+
 ln -sf null $RPM_BUILD_ROOT/dev/initctl
 
 %ifarch %{x8664}
-sed -i 's/^glibc$/glibc64/' $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld2.0/pkgs/01
-sed -i 's/glibc\-\[0\-9\]\*\.rpm/glibc64\-\[0\-9\]\*\.rpm/' $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld2.0/rpmlist.d/00.lst
+sed -i 's/^glibc$/glibc64/' $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ac/pkgs/01
+sed -i 's/glibc\-\[0\-9\]\*\.rpm/glibc64\-\[0\-9\]\*\.rpm/' $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ac/rpmlist.d/00.lst
 %endif
 
+# baggins check this: needed but seems unused
+install -d $RPM_BUILD_ROOT/var/cache/vservers
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
@@ -414,49 +435,58 @@ rm -rf $RPM_BUILD_ROOT
 %postun        lib -p /sbin/ldconfig
 
 %post init
-/sbin/chkconfig --add vservers-default
+/sbin/chkconfig --add vrootdevices
 /sbin/chkconfig --add vprocunhide
+/sbin/chkconfig --add vservers
+if [ ! -f /var/lock/subsys/vrootdevices ]; then
+       echo "Type \"/sbin/service vrootdevices start\" to assign virtual root devices" 1>&2
+fi
 if [ ! -f /var/lock/subsys/vprocunhide ]; then
-       echo "Type \"/etc/rc.d/init.d/vprocunhide start\" to set /proc visibility for vservers" 1>&2
+       echo "Type \"/sbin/service vprocunhide start\" to set /proc visibility for vservers" 1>&2
 fi
-if [ ! -f /var/lock/subsys/vservers-default ]; then
-       echo "Type \"/etc/rc.d/init.d/vservers-default start\" to start default vservers" 1>&2
+if [ ! -f /var/lock/subsys/vservers ]; then
+       echo "Type \"/sbin/service vservers start\" to start vservers" 1>&2
 fi
 
 %preun init
 if [ "$1" = "0" ]; then
-       if [ -r /var/lock/subsys/vprocunhide ]; then
-               /etc/rc.d/init.d/vprocunhide stop >&2
-       fi
-       if [ -r /var/lock/subsys/vservers-default ]; then
-               /etc/rc.d/init.d/vservers-default stop >&2
-       fi
+       %service vservers stop
+       %service vprocunhide stop
+       %service vrootdevices stop
+       /sbin/chkconfig --del vservers
        /sbin/chkconfig --del vprocunhide
-       /sbin/chkconfig --del vservers-default
+       /sbin/chkconfig --del vrootdevices
 fi
 
 %post legacy
 /sbin/chkconfig --add rebootmgr
 /sbin/chkconfig --add vservers-legacy
 if [ ! -f /var/lock/subsys/rebootmgr ] ; then
-       echo "Type \"/etc/rc.d/init.d/rebootmgr start\" to start reboot manager for legacy vservers" 1>&2
+       echo "Type \"/sbin/service rebootmgr start\" to start reboot manager for legacy vservers" 1>&2
 fi
 if [ ! -f /var/lock/subsys/vservers-legacy ] ; then
-       echo "Type \"/etc/rc.d/init.d/vservers-legacy start\" to start legacy vservers" 1>&2
+       echo "Type \"/sbin/service vservers-legacy start\" to start legacy vservers" 1>&2
 fi
 
 %preun legacy
 if [ "$1" = "0" ]; then
-       if [ -r /var/lock/subsys/rebootmgr ] ; then
-               /etc/rc.d/init.d/rebootmgr stop >&2
-       fi
-       if [ -r /var/lock/subsys/vservers-legacy ] ; then
-               /etc/rc.d/init.d/vservers-legacy stop >&2
-       fi
+       %service rebootmgr stop
+       %service vservers-legacy stop
        /sbin/chkconfig --del rebootmgr
        /sbin/chkconfig --del vservers-legacy
 fi
 
+%triggerpostun build -- %{name}-build < 0.30.210-5.2
+if [ -f /etc/vservers/.distributions/pld2.0/poldek/poldek.conf.rpmsave ]; then
+       mv -f /etc/vservers/.distributions/{pld2.0,pld-ac}/poldek/poldek.conf.rpmsave
+fi
+
+# kill old vserver specific package ignores which are no longer needed
+l=`egrep '^ignore.*(basesystem|SysVinit|rc-scripts)' /etc/vservers/*/apps/pkgmgmt/base/poldek/etc/poldek.conf -l 2>/dev/null`
+if [ "$l" ]; then
+       %{__sed} -i -e '/^ignore/s, \(basesystem\|SysVinit\|rc-scripts\),,g' $l
+fi
+
 %files
 %defattr(644,root,root,755)
 %doc AUTHORS ChangeLog NEWS THANKS doc/intro.txt
@@ -485,6 +515,7 @@ fi
 %attr(755,root,root) %{_sbindir}/vkill
 %attr(755,root,root) %{_sbindir}/vlimit
 %attr(755,root,root) %{_sbindir}/vdu
+%attr(755,root,root) %{_sbindir}/vproc
 %attr(755,root,root) %{_sbindir}/vps
 %attr(755,root,root) %{_sbindir}/vpstree
 %attr(755,root,root) %{_sbindir}/vrsetup
@@ -520,7 +551,12 @@ fi
 %attr(755,root,root) %{_libdir}/%{name}/start-vservers
 %attr(755,root,root) %{_libdir}/%{name}/vprocunhide
 %{_libdir}/%{name}/vserver.*
+%{_libdir}/%{name}/vserver-setup.*
+%attr(755,root,root) %{_libdir}/%{name}/vserver-build
+%{_libdir}/%{name}/vserver-build.*
 %attr(755,root,root) %{_libdir}/%{name}/vservers.grabinfo.sh
+%attr(755,root,root) %{_libdir}/%{name}/vhashify
+%attr(755,root,root) %{_libdir}/%{name}/vhashify.cron
 %attr(755,root,root) %{_libdir}/%{name}/vshelper
 %attr(755,root,root) %{_libdir}/%{name}/vshelper-sync
 %{_mandir}/man8/chbind.8*
@@ -536,6 +572,7 @@ fi
 %dir %{_localstatedir}/run/vservers
 %dir %{_localstatedir}/run/vservers.rev
 %dir %{_localstatedir}/run/vshelper
+%dir /var/cache/vservers
 
 %files devel
 %defattr(644,root,root,755)
@@ -556,28 +593,31 @@ fi
 %files init
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/%{name}/vsysvwrapper
-%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vservers-default
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vrootdevices
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vservers
+%config(noreplace) %verify(not md5 mtime size) /etc/cron.d/vservers
 %attr(754,root,root) /etc/rc.d/init.d/vprocunhide
-%attr(754,root,root) /etc/rc.d/init.d/vservers-default
+%attr(754,root,root) /etc/rc.d/init.d/vrootdevices
+%attr(754,root,root) /etc/rc.d/init.d/vservers
 
 %files build
 %defattr(644,root,root,755)
-%doc contrib/yum*.patch package-menagament.txt
+%doc contrib/yum*.patch package-management.txt
 %dir %{_sysconfdir}/vservers/.defaults/apps/vunify
 %dir %{_sysconfdir}/vservers/.defaults/apps/vunify/hash
 %dir %{_sysconfdir}/vservers/.distributions
 %dir %{_sysconfdir}/vservers/.distributions/.common
 %dir %{_sysconfdir}/vservers/.distributions/.common/pubkeys
-%dir %{_sysconfdir}/vservers/.distributions/pld2.0
-%dir %{_sysconfdir}/vservers/.distributions/pld2.0/poldek
-%{_sysconfdir}/vservers/.distributions/pld1.99
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld2.0/poldek/poldek.conf
+%dir %{_sysconfdir}/vservers/.distributions/pld-ac
+%dir %{_sysconfdir}/vservers/.distributions/pld-ac/poldek
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-ac/poldek/*.conf
 %attr(755,root,root) %{_libdir}/%{name}/rpm-fake*
 %dir %{_libdir}/%{name}/distributions
-%attr(-, root, root) %{_libdir}/%{name}/distributions/defaults
-%attr(-, root, root) %{_libdir}/%{name}/distributions/pld*
-%attr(-, root, root) %{_libdir}/%{name}/distributions/template
-%attr(-, root, root) %{_libdir}/%{name}/distributions/redhat*
+%attr(-,root,root) %{_libdir}/%{name}/distributions/defaults
+%attr(-,root,root) %{_libdir}/%{name}/distributions/pld*
+%dir %{_libdir}/%{name}/distributions/template
+%attr(755,root,root) %{_libdir}/%{name}/distributions/template/init*
+%attr(-,root,root) %{_libdir}/%{name}/distributions/redhat
 %{_libdir}/%{name}/vserver-build.*
 %{_libdir}/%{name}/vserver-setup.functions
 %{_libdir}/%{name}/defaults/fstab
@@ -586,7 +626,6 @@ fi
 %attr(755,root,root) %{_libdir}/%{name}/pkgmgmt
 %attr(755,root,root) %{_libdir}/%{name}/vapt-get-worker
 %attr(755,root,root) %{_libdir}/%{name}/vcopy
-%attr(755,root,root) %{_libdir}/%{name}/vhashify
 %attr(755,root,root) %{_libdir}/%{name}/vpkg
 %attr(755,root,root) %{_libdir}/%{name}/vpoldek-worker
 %attr(755,root,root) %{_libdir}/%{name}/vrpm-*
@@ -621,7 +660,7 @@ fi
 
 %files -n vserver-distro-centos
 %defattr(644,root,root,755)
-%{_libdir}/util-vserver/distributions/centos42
+%{_libdir}/util-vserver/distributions/centos4
 
 %files legacy
 %defattr(644,root,root,755)
@@ -637,15 +676,3 @@ fi
 %{_mandir}/man8/distrib-info.8*
 %{_mandir}/man8/rebootmgr.8*
 %{_mandir}/man8/vserver-copy.8*
-
-%files -n vserver-dev
-%defattr(644,root,root,755)
-%dir /dev/pts
-%dev(c,1,7) %attr(666,root,root) /dev/full
-%dev(c,1,3) %attr(666,root,root) /dev/null
-%dev(c,5,2) %attr(666,root,root) /dev/ptmx
-%dev(c,1,8) %attr(644,root,root) /dev/random
-%dev(c,5,0) %attr(666,root,root) /dev/tty
-%dev(c,1,9) %attr(644,root,root) /dev/urandom
-%dev(c,1,5) %attr(666,root,root) /dev/zero
-/dev/initctl
This page took 0.093092 seconds and 4 git commands to generate.