X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=util-vserver.spec;h=e5bde5688ece01d8ce520bb6bf41f91a05190f21;hb=c27aa3955e3a213225889c564fa919f40746123e;hp=e537fcd800dafc9b186b78c43518e7d6ee4bdf5e;hpb=cac11da7c37f733412fa49bc724302247660feff;p=packages%2Futil-vserver.git diff --git a/util-vserver.spec b/util-vserver.spec index e537fcd..e5bde56 100644 --- a/util-vserver.spec +++ b/util-vserver.spec @@ -1,18 +1,5 @@ # TODO -# - make build create /dev/std{in,out,err} links -# - reject install in %%pretrans if /proc/virtual/info has incompatible version -# - unpackaged -# /etc/rc.d/init.d/util-vserver -- # integrate to our initscript (util-vserver sets the path to vshelper and kills all guest processes) -# - move to main pkg: -# vserver initng delete -# /usr/lib64/util-vserver/vserver.delete: line 19: /usr/lib64/util-vserver/vserver-build.functions: No such file or directory -# /usr/lib64/util-vserver/vserver.delete: line 20: /usr/lib64/util-vserver/vserver-build.functions.pkgmgmt: No such file or directory -# or move the delete func to -build -# - make pkgmgmnt internalize modify poldek conf to unignore vserver-packages -# - service vservers stop should shutdown all running vservers (respecting -# configuration for order) otherwise on shutdown vservers are not nicely -# shutdown! -# - when building ac quest on th, the platform file for x8664 archidecture is wrong +# - %install is not re-entrant # # m68k and mips are the only not supported archs # @@ -21,20 +8,27 @@ %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 + +%define vproc_version 0.01 # diet compile fails with ccache in %{__cc} %undefine with_ccache -# + +%ifarch ppc +# pdflatex: refman: Invalid argument +%undefine with_doc +%endif + +%define snap pre2926 +%define rel 6 Summary: Linux virtual server utilities Summary(pl.UTF-8): Narzędzia dla linuksowych serwerów wirtualnych Name: util-vserver -Version: 0.30.215 -Release: 9 +Version: 0.30.216 +Release: 1.%{snap}.%{rel} License: GPL Group: Applications/System -Source0: http://ftp.linux-vserver.org/pub/utils/util-vserver/%{name}-%{version}.tar.bz2 -# Source0-md5: befd9b8e5311e87395b67ee381d83649 +Source0: http://people.linux-vserver.org/~dhozac/t/uv-testing/%{name}-%{version}-%{snap}.tar.bz2 +# Source0-md5: 236c0ef54b94f8c116afaf7b78396a58 Source1: vprocunhide.init Source2: vservers.init Source3: vservers-legacy.init @@ -47,15 +41,17 @@ Source8: vrootdevices.sysconfig # http://www.paul.sladen.org/vserver/archives/200505/0078.html 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: http://www.13thfloor.at/vserver/s_release/v1.2.10/vproc-%{vproc_version}.tar.bz2 # Source11-md5: 1d030717bdbc958ea4b35fd2410dad85 Source12: %{name}-vhashify.cron Source13: ftp://ftp.pld-linux.org/dists/ac/PLD-2.0-Ac-GPG-key.asc # Source13-md5: 8e7574d1de2fa95c2c54cd2ee03364c1 Source14: ftp://ftp.pld-linux.org/dists/th/PLD-3.0-Th-GPG-key.asc # Source14-md5: 08b29584dd349aac9caa7610131a0a88 +Source15: %{name}.init Patch0: %{name}-vsysvwrapper.patch Patch1: %{name}-pld.patch +Patch2: %{name}-centos.patch Patch4: %{name}-m4-diet.patch Patch5: %{name}-yum-verb-nogpg.patch Patch6: %{name}-build-umask.patch @@ -70,44 +66,66 @@ Patch14: %{name}-rpmpath.patch Patch15: %{name}-interfaces-ignore-cvs-dir.patch Patch16: %{name}-personalitymachine.patch Patch17: %{name}-backupfiles.patch -Patch18: %{name}-trunk_fixes.patch -Patch19: %{name}-vprocunhide-net.patch -Patch20: %{name}-more-caps.patch +Patch18: %{name}-vprocunhide-net.patch +# http://glen.alkohol.ee/pld/util-vserver-dbrebuild-internalize4.patch +Patch19: %{name}-dbrebuild-internalize4.patch +Patch21: %{name}-bash-wrapper.patch +Patch22: %{name}-pivot-root-ugly-hack.patch +Patch24: vunify-more-exclude.patch +Patch25: stat.patch +Patch26: %{name}-usersystime.patch URL: http://savannah.nongnu.org/projects/util-vserver/ BuildRequires: autoconf BuildRequires: automake >= 1.9 BuildRequires: beecrypt-devel +BuildRequires: ctags %{?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: pkgconfig +BuildRequires: python-devel +BuildRequires: python-modules +BuildRequires: rpm-pythonprov BuildRequires: rpmbuild(macros) >= 1.268 +BuildRequires: sed >= 4.0 %if %{with doc} -BuildRequires: doxygen +BuildRequires: doxygen >= 1:1.7.3 BuildRequires: graphviz BuildRequires: libxslt-progs +BuildRequires: python-devel +%if "%{pld_release}" != "th" +BuildRequires: tetex-fonts-jknappen BuildRequires: tetex-format-pdflatex BuildRequires: tetex-makeindex -# To be removed when tetex-format-pdflatex, tetex-pdftex... -# ...and graphviz packages get fixed -BuildRequires: ghostscript -BuildRequires: ghostscript-fonts-std -BuildRequires: tetex-fonts-jknappen BuildRequires: tetex-metafont +%else +BuildRequires: texlive-fonts-rsfs +BuildRequires: texlive-fonts-type1-urw +BuildRequires: texlive-format-pdflatex +BuildRequires: texlive-latex-extend +BuildRequires: texlive-latex-ucs +BuildRequires: texlive-makeindex +BuildRequires: texlive-pdftex +BuildRequires: texlive-xetex +%endif %{?with_xalan:BuildRequires: xalan-j} %endif Requires(post,preun): /sbin/chkconfig Requires: %{name}-lib = %{version}-%{release} +Requires: coreutils Requires: diffutils Requires: issue +Requires: make Requires: mktemp >= 1.5-18 -Requires: rc-scripts +Requires: rc-scripts >= 0.4.3.4 Requires: tar -Requires: util-linux +Requires: util-linux >= 2.13 +Requires: vserver-distro-pld = %{version}-%{release} +Obsoletes: util-vserver-build Obsoletes: util-vserver-core +Obsoletes: util-vserver-init +Conflicts: poldek < 0.18.8-10 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %if %{with dietlibc} @@ -131,7 +149,9 @@ This requires a special kernel supporting the new new_s_context and set_ipv4root system call. This package contains utilities which are required to communicate with -the Linux-Vserver enabled kernel. +the Linux-Vserver enabled kernel, utilities which assist in building +Vservers and SysV initscripts which start and stop Vservers and +related tools. %description -l pl.UTF-8 Ten pakiet dostarcza składniki i szkielet do tworzenia wirtualnych @@ -144,7 +164,9 @@ Wymaga to specjalnego jądra obsługującego nowe wywołania systemowe new_s_context i set_ipv4root. Ten pakiet zawiera narzędzia wymagane do komunikacji z jądrem z -włączonym mechanizmem Linux-Vserver. +włączonym mechanizmem Linux-Vserver, narzędzia pomagające przy +budowaniu Vserwerów i skrypty inicjalizujące SysV uruchamiające i +zatrzymujące Vserwery oraz powiązane narzędzia. %package lib Summary: Dynamic libraries for util-vserver @@ -197,62 +219,6 @@ This package contains the static version of vserver library. %description static -l pl.UTF-8 Ten pakiet zawiera statyczną wersję biblioteki vservera. -%package build -Summary: Tools which can be used to build vservers -Summary(pl.UTF-8): Narzędzia do budowania vserverów -Group: Applications/System -Requires: %{name} = %{version}-%{release} -Requires: vserver-distro-pld = %{version}-%{release} -Conflicts: poldek < 0.18.8-10 - -%description build -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 utilities which assist in building Vservers. - -%description build -l pl.UTF-8 -util-vserver dostarcza składniki i szkielet do tworzenia wirtualnych -serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz -jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać -różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić -w interakcję z innymi ani z usługami na głównym serwerze. - -Ten pakiet zawiera narzędzia pomagające przy budowaniu Vserwerów. - -%package init -Summary: initscripts for vserver -Summary(pl.UTF-8): Skrypty inicjalizujące dla vserwera -Group: Applications/System -Requires(post,preun): /sbin/chkconfig -Requires: %{name} = %{version}-%{release} -Requires: diffutils -Requires: make -Requires: rc-scripts - -%description init -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 SysV initscripts which start and stop -Vservers and related tools. - -%description init -l pl.UTF-8 -util-vserver dostarcza składniki i szkielet do tworzenia wirtualnych -serwerów. Wirtualny serwer działa wewnątrz serwera linuksowego, lecz -jest od niego w dużym stopniu niezależny. Jako taki może uruchamiać -różne usługi z normalną konfiguracją. Różne vserwery nie mogą wchodzić -w interakcję z innymi ani z usługami na głównym serwerze. - -Ten pakiet zawiera skrypty inicjalizujące SysV uruchamiające i -zatrzymujące Vserwery oraz powiązane narzędzia. - %package legacy Summary: Legacy utilities for util-vserver Summary(pl.UTF-8): Stare narzędzia dla util-vserver @@ -281,11 +247,23 @@ w interakcję z innymi ani z usługami na głównym serwerze. Ten pakiet zawiera narzędzia potrzebne do pracy z Vserwerami mającymi konfigurację w starym stylu. +%package -n python-util-vserver +Summary: Python interface to libutil-vserver library +Summary(pl.UTF-8): Pythonowy interfejs do biblioteki libutil-vserver +License: LGPL v2.1+ +Group: Libraries/Python + +%description -n python-util-vserver +Python interface to libutil-vserver library. + +%description -n python-util-vserver -l pl.UTF-8 +Pythonowy interfejs do biblioteki libutil-vserver. + %package -n vserver-distro-alpine Summary: VServer build template for Alpine Linux Summary(pl.UTF-8): Szablon budowania VServerów dla dystrybucji Alpine Linux Group: Applications/System -Requires: %{name}-build = %{version}-%{release} +Requires: %{name} = %{version}-%{release} %description -n vserver-distro-alpine VServer build template for Alpine Linux. @@ -297,7 +275,8 @@ Szablon budowania VServerów dla dystrybucji Alpine Linux. Summary: VServer build template for CentOS Summary(pl.UTF-8): Szablon budowania VServerów dla dystrybucji CentOS Group: Applications/System -Requires: %{name}-build = %{version}-%{release} +Requires: %{name} = %{version}-%{release} +Requires: vserver-distro-redhat = %{version}-%{release} Requires: yum %description -n vserver-distro-centos @@ -307,26 +286,30 @@ VServer build template for CentOS 4.2 and 5. Szablon budowania VServerów dla dystrybucji CentOS 4.2 i 5. %package -n vserver-distro-debian -Summary: VServer build templates for Debian -Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji Debian +Summary: VServer build templates for Debian and Ubuntu +Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji Debian i Ubuntu Group: Applications/System -Requires: %{name}-build = %{version}-%{release} +Requires: %{name} = %{version}-%{release} +Requires: debootstrap Requires: dpkg +Provides: vserver-distro-ubuntu +Obsoletes: vserver-distro-ubuntu %description -n vserver-distro-debian -VServer build templates for Debian. +VServer build templates for Debian and Ubuntu. %description -n vserver-distro-debian -l pl.UTF-8 -Szablony do tworzenia VServerów dla dystrybucji Debian. +Szablony do tworzenia VServerów dla dystrybucji Debian i Ubuntu. %package -n vserver-distro-fedora Summary: VServer build templates for Fedora Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji Fedora Group: Applications/System -Requires: %{name}-build = %{version}-%{release} +Requires: %{name} = %{version}-%{release} Requires: binutils Requires: e2fsprogs Requires: rpm +Requires: vserver-distro-redhat = %{version}-%{release} Requires: wget Requires: yum @@ -341,7 +324,7 @@ Szablony do tworzenia VServerów dla dystrybucji Fedora Core Summary: VServer build template for Gentoo Summary(pl.UTF-8): Szablon budowania VServerów dla Gentoo Group: Applications/System -Requires: %{name}-build = %{version}-%{release} +Requires: %{name} = %{version}-%{release} %description -n vserver-distro-gentoo VServer build template for Gentoo. @@ -353,7 +336,7 @@ Szablon budowania VServerów dla Gentoo. Summary: VServer build templates for PLD Linux Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji PLD Linux Group: Applications/System -Requires: %{name}-build = %{version}-%{release} +Requires: %{name} = %{version}-%{release} Requires: /etc/pld-release Requires: poldek >= 0.30 @@ -367,7 +350,7 @@ Szablony do tworzenia VServerów dla dystrybucji PLD Linux. Summary: VServer build template for Red Hat Linux 9 Summary(pl.UTF-8): Szablon do tworzenia VServerów dla dystrybucji Red Hat Linux 9 Group: Applications/System -Requires: %{name}-build = %{version}-%{release} +Requires: %{name} = %{version}-%{release} Requires: binutils Requires: e2fsprogs Requires: rpm @@ -383,7 +366,7 @@ Szablon do tworzenia VServerów dla dystrybucji Red Hat Linux 9. Summary: VServer build template for SuSE 9.1 Summary(pl.UTF-8): Szablon do tworzenia VServerów dla dystrybucji SuSE 9.1 Group: Applications/System -Requires: %{name}-build = %{version}-%{release} +Requires: %{name} = %{version}-%{release} Requires: binutils Requires: e2fsprogs Requires: rpm @@ -395,23 +378,11 @@ VServer build template for SuSE Linux 9.1. %description -n vserver-distro-suse -l pl.UTF-8 Szablon do tworzenia VServerów dla dystrybucji SuSE 9.1. -%package -n vserver-distro-ubuntu -Summary: VServer build templates for Ubuntu -Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji Ubuntu -Group: Applications/System -Requires: %{name}-build = %{version}-%{release} -Requires: dpkg - -%description -n vserver-distro-ubuntu -VServer build templates for Ubuntu. - -%description -n vserver-distro-ubuntu -l pl.UTF-8 -Szablony do tworzenia VServerów dla dystrybucji Ubuntu. - %prep -%setup -q -a11 +%setup -q -n %{name}-%{version}-%{snap} -a11 %patch0 -p1 %patch1 -p1 +%patch2 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 @@ -428,7 +399,11 @@ Szablony do tworzenia VServerów dla dystrybucji Ubuntu. %patch17 -p1 %patch18 -p1 %patch19 -p1 -%patch20 -p1 +%patch21 -p1 +%patch22 -p1 +%patch24 -p1 +%patch25 -p1 +%patch26 -p1 install %{SOURCE9} package-management.txt @@ -448,29 +423,36 @@ CFLAGS="%{rpmcflags} -D__GLIBC__ -D__KERNEL_STRICT_NAMES=1 -U__STRICT_ANSI__" --enable-apis=NOLEGACY \ --with-initscripts=sysv \ --%{?with_dietlibc:en}%{!?with_dietlibc:dis}able-dietlibc \ - MKTEMP=/bin/mktemp \ - MOUNT=/bin/mount \ - PS=/bin/ps \ - UMOUNT=/bin/umount \ + FSCK=/sbin/fsck \ + IONICE=%{_usrbin}/ionice \ IP=/sbin/ip \ IPTABLES=%{_usrsbin}/iptables \ + MKTEMP=/bin/mktemp \ MODPROBE=/sbin/modprobe \ + MOUNT=/bin/mount \ NAMEIF=/sbin/nameif \ + PS=/bin/ps \ + RESTORE=/sbin/restore \ RMMOD=/sbin/rmmod \ + RSYNC=%{_usrbin}/rsync \ + STRACE=%{_usrbin}/strace \ + UMOUNT=/bin/umount \ VCONFIG=/sbin/vconfig \ WGET=%{_usrbin}/wget \ +# end %{__make} all %{?with_doc:%{__make} doc} -%{__make} -C vproc-%{_vproc_version} \ +%{__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,cron.d},/dev/pts} \ - $RPM_BUILD_ROOT{%{_sysconfdir}/vservices,/vservers/.pkg} +install -d $RPM_BUILD_ROOT{/vservers/.pkg,/etc/{sysconfig,rc.d/init.d,cron.d}} \ + $RPM_BUILD_ROOT%{_sysconfdir}/vservices \ + $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.defaults/apps/vdevmap %{__make} -j1 install install-distribution \ DESTDIR=$RPM_BUILD_ROOT @@ -478,7 +460,7 @@ install -d $RPM_BUILD_ROOT{/vservers,/etc/{sysconfig,rc.d/init.d,cron.d},/dev/pt chmod -R +rX $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/* for i in $RPM_BUILD_ROOT/etc/rc.d/init.d/v_* ; do - s=`basename $i | sed s/v_//` + s=$(basename $i | sed s/v_//) cat >$RPM_BUILD_ROOT%{_sysconfdir}/vservices/$s << EOF # IP addresses/interfaces to bound $s service to #IP=10.0.0.1 @@ -494,8 +476,12 @@ sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE3} > \ $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-legacy sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE4} > \ $RPM_BUILD_ROOT/etc/rc.d/init.d/rebootmgr +sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE15} > \ + $RPM_BUILD_ROOT/etc/rc.d/init.d/util-vserver sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE5} > \ $RPM_BUILD_ROOT/etc/sysconfig/vservers +sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' gentoo/bash-wrapper > \ + $RPM_BUILD_ROOT%{_libdir}/%{name}/bash-wrapper install %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/vservers-legacy @@ -508,8 +494,9 @@ ln -s ../pld/initpost $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-th/ini %ifarch i586 i686 %{x8664} athlon pentium2 pentium3 pentium4 ln -s ../pld/initpost $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ti/initpost %endif -install vproc-%{_vproc_version}/vproc $RPM_BUILD_ROOT%{_sbindir} -install %{SOURCE12} $RPM_BUILD_ROOT%{_libdir}/%{name}/vhashify.cron +install vproc-%{vproc_version}/vproc $RPM_BUILD_ROOT%{_sbindir} +sed -e 's,/usr/lib,%{_libdir},' %{SOURCE12} > $RPM_BUILD_ROOT%{_libdir}/%{name}/vhashify.cron +chmod +x $RPM_BUILD_ROOT%{_libdir}/%{name}/vhashify.cron cat > $RPM_BUILD_ROOT/etc/cron.d/vservers << EOF 02 2 * * 0 root %{_libdir}/%{name}/vhashify.cron @@ -523,163 +510,104 @@ cp -a %{SOURCE14} $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-th/pubkeys # set arch for pld-ac in pld.conf %ifarch i586 i686 ppc sparc alpha athlon -%define _ftp_arch %{_target_cpu} +%define ftp_arch %{_target_cpu} %endif %ifarch %{x8664} -%define _ftp_arch amd64 +%define ftp_arch amd64 %endif %ifarch i486 -%define _ftp_arch i386 +%define ftp_arch i386 %endif %ifarch pentium2 pentium3 pentium4 -%define _ftp_arch i686 +%define ftp_arch i686 %endif %ifarch sparcv9 sparc64 -%define _ftp_arch sparc +%define ftp_arch sparc %endif -%{__sed} -i -e 's|%%ARCH%%|%{_ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d/pld.conf +%{__sed} -i -e 's|%%ARCH%%|%{ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d/pld.conf # set arch for pld-th in pld.conf %ifarch i486 i686 ppc sparc alpha athlon -%define _ftp_arch %{_target_cpu} +%define ftp_arch %{_target_cpu} %endif %ifarch %{x8664} -%define _ftp_arch x86_64 +%define ftp_arch x86_64 %endif %ifarch i586 -%define _ftp_arch i486 +%define ftp_arch i486 %endif %ifarch pentium2 pentium3 pentium4 -%define _ftp_arch i686 +%define ftp_arch i686 %endif %ifarch sparcv9 sparc64 -%define _ftp_arch sparc +%define ftp_arch sparc %endif -%{__sed} -i -e 's|%%ARCH%%|%{_ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d/pld.conf +%{__sed} -i -e 's|%%ARCH%%|%{ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d/pld.conf %ifarch i586 i686 %{x8664} athlon pentium2 pentium3 pentium4 # set arch for pld-ti in pld.conf %ifarch i586 i686 -%define _ftp_arch %{_target_cpu} +%define ftp_arch %{_target_cpu} %endif %ifarch %{x8664} -%define _ftp_arch x86_64 +%define ftp_arch x86_64 %endif %ifarch athlon pentium2 pentium3 pentium4 -%define _ftp_arch i686 +%define ftp_arch i686 %endif -%{__sed} -i -e 's|%%ARCH%%|%{_ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-ti/poldek/repos.d/pld.conf +%{__sed} -i -e 's|%%ARCH%%|%{ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-ti/poldek/repos.d/pld.conf %endif -cat <<'EOF' > $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/defaults/rpm/platform -# first platform file entry can't contain regexps -%{_target_cpu}-%{_target_vendor}-linux - -# x86_64 things -%ifarch x86_64 -amd64-[^-]*-linux(-gnu)? -x86_64-[^-]*-linux(-gnu)? -%endif -%ifarch amd64 -amd64-[^-]*-linux(-gnu)? -x86_64-[^-]*-linux(-gnu)? -%endif -%ifarch ia32e -ia32e-[^-]*-linux(-gnu)? -x86_64-[^-]*-linux(-gnu)? -%endif - -# x86 things -%ifarch athlon %{x8664} -athlon-[^-]*-linux(-gnu)? -%endif -%ifarch pentium4 athlon %{x8664} -pentium4-[^-]*-linux(-gnu)? -%endif -%ifarch pentium3 pentium4 athlon %{x8664} -pentium3-[^-]*-linux(-gnu)? -%endif -%ifarch i686 pentium3 pentium4 athlon %{x8664} -i686-[^-]*-linux(-gnu)? -%endif -%ifarch i586 i686 pentium3 pentium4 athlon %{x8664} -i586-[^-]*-linux(-gnu)? -%endif -%ifarch i486 i586 i686 pentium3 pentium4 athlon %{x8664} -i486-[^-]*-linux(-gnu)? -%endif -%ifarch %{ix86} %{x8664} -i386-[^-]*-linux(-gnu)? -%endif - -%ifarch alpha -alpha-[^-]*-linux(-gnu)? -%endif - -%ifarch ia64 -ia64-[^-]*-linux(-gnu)? -%endif - -%ifarch ppc64 -powerpc64-[^-]*-linux(-gnu)? -ppc64-[^-]*-linux(-gnu)? -%endif -%ifarch ppc ppc64 -powerpc-[^-]*-linux(-gnu)? -ppc-[^-]*-linux(-gnu)? -%endif - -%ifarch s390x -s390x-[^-]*-linux(-gnu)? -%endif -%ifarch s390 s390x -s390-[^-]*-linux(-gnu)? -%endif - -%ifarch sparc64 -sparc64-[^-]*-linux(-gnu)? -sparcv8-[^-]*-linux(-gnu)? -sparcv9-[^-]*-linux(-gnu)? -%endif -%ifarch sparcv9 -sparcv8-[^-]*-linux(-gnu)? -sparcv9-[^-]*-linux(-gnu)? -%endif -%ifarch sparc sparcv9 sparc64 -sparc-[^-]*-linux(-gnu)? -%endif - -# noarch -noarch-[^-]*-.* -EOF - # current debootstrap link echo "http://ftp.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.10_all.deb" \ > $RPM_BUILD_ROOT%{_libdir}/%{name}/defaults/debootstrap.uri install -d $RPM_BUILD_ROOT/var/cache/vservers/poldek -# we have our own initscript which does the same -rm -f $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-default -rm -f $RPM_BUILD_ROOT/etc/rc.d/init.d/util-vserver +# cleanups rm -rf $RPM_BUILD_ROOT/dev +rm -rf $RPM_BUILD_ROOT%{py_sitedir}/_libvserver.la +# we have our own initscript which does the same rm -f $RPM_BUILD_ROOT%{_libdir}/util-vserver/vserver-wrapper rm -f $RPM_BUILD_ROOT%{_libdir}/util-vserver/vserver-init.functions +rm -f $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-default rm -f $RPM_BUILD_ROOT%{_sysconfdir}/vservers.conf %clean rm -rf $RPM_BUILD_ROOT +%triggerun -- util-vserver-init +# Prevent preun from util-vserver-init from working +chmod a-x /etc/rc.d/init.d/vprocunhide +chmod a-x /etc/rc.d/init.d/vrootdevices +chmod a-x /etc/rc.d/init.d/vservers + +%triggerpostun -- util-vserver-init +# Restore what triggerun removed +chmod ug+x /etc/rc.d/init.d/vprocunhide +chmod ug+x /etc/rc.d/init.d/vrootdevices +chmod ug+x /etc/rc.d/init.d/vservers +/sbin/chkconfig --add vrootdevices +/sbin/chkconfig --add vprocunhide +/sbin/chkconfig --add vservers +if [ -f /etc/sysconfig/vrootdevices.rpmsave ]; then + cp -f /etc/sysconfig/vrootdevices{,.rpmnew} + mv -f /etc/sysconfig/vrootdevices{.rpmsave,} +fi +if [ -f /etc/sysconfig/vservers.rpmsave ]; then + cp -f /etc/sysconfig/vservers{,.rpmnew} + mv -f /etc/sysconfig/vservers{.rpmsave,} +fi + %post %{_sbindir}/setattr --barrier /vservers || : - -%post lib -p /sbin/ldconfig -%postun lib -p /sbin/ldconfig - -%post init +/sbin/chkconfig --add util-vserver /sbin/chkconfig --add vrootdevices /sbin/chkconfig --add vprocunhide /sbin/chkconfig --add vservers +if [ ! -f /var/lock/subsys/util-vserver ]; then + echo "Type \"/sbin/service util-vserver start\" to set up vshelper path" 1>&2 +fi if [ ! -f /var/lock/subsys/vrootdevices ]; then echo "Type \"/sbin/service vrootdevices start\" to assign virtual root devices" 1>&2 fi @@ -690,16 +618,21 @@ if [ ! -f /var/lock/subsys/vservers ]; then echo "Type \"/sbin/service vservers start\" to start vservers" 1>&2 fi -%preun init +%preun if [ "$1" = "0" ]; then + %service util-vserver stop %service vservers stop %service vprocunhide stop %service vrootdevices stop + /sbin/chkconfig --del util-vserver /sbin/chkconfig --del vservers /sbin/chkconfig --del vprocunhide /sbin/chkconfig --del vrootdevices fi +%post lib -p /sbin/ldconfig +%postun lib -p /sbin/ldconfig + %post legacy /sbin/chkconfig --add rebootmgr /sbin/chkconfig --add vservers-legacy @@ -731,15 +664,29 @@ exit 0 %files %defattr(644,root,root,755) -%doc AUTHORS ChangeLog NEWS THANKS doc/intro.txt +%doc AUTHORS NEWS THANKS doc/intro.txt +%doc package-management.txt %{?with_doc:%doc doc/*.html} +%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/vrootdevices +%attr(754,root,root) /etc/rc.d/init.d/util-vserver +%attr(754,root,root) /etc/rc.d/init.d/vservers %dir %{_sysconfdir}/vservers %dir %{_sysconfdir}/vservers/.defaults %dir %{_sysconfdir}/vservers/.defaults/apps +%dir %{_sysconfdir}/vservers/.defaults/apps/vdevmap +%dir %{_sysconfdir}/vservers/.defaults/apps/vunify +%dir %{_sysconfdir}/vservers/.defaults/apps/vunify/hash %dir %{_sysconfdir}/vservers/.defaults/files %{_sysconfdir}/vservers/.defaults/vdirbase %{_sysconfdir}/vservers/.defaults/cachebase %{_sysconfdir}/vservers/.defaults/run.rev +%dir %{_sysconfdir}/vservers/.distributions +%dir %{_sysconfdir}/vservers/.distributions/.common +%dir %{_sysconfdir}/vservers/.distributions/.common/pubkeys /sbin/vshelper %attr(755,root,root) %{_sbindir}/chbind %attr(755,root,root) %{_sbindir}/chcontext @@ -752,45 +699,63 @@ exit 0 %attr(755,root,root) %{_sbindir}/reducecap %attr(755,root,root) %{_sbindir}/setattr %attr(755,root,root) %{_sbindir}/showattr +%attr(755,root,root) %{_sbindir}/vapt-get %attr(755,root,root) %{_sbindir}/vattribute %attr(755,root,root) %{_sbindir}/vcontext +%attr(755,root,root) %{_sbindir}/vdevmap %attr(755,root,root) %{_sbindir}/vdlimit -%attr(755,root,root) %{_sbindir}/vnamespace +%attr(755,root,root) %{_sbindir}/vdu %attr(755,root,root) %{_sbindir}/vkill %attr(755,root,root) %{_sbindir}/vlimit -%attr(755,root,root) %{_sbindir}/vdevmap -%attr(755,root,root) %{_sbindir}/vdu %attr(755,root,root) %{_sbindir}/vmemctrl %attr(755,root,root) %{_sbindir}/vmount +%attr(755,root,root) %{_sbindir}/vnamespace +%attr(755,root,root) %{_sbindir}/vpoldek %attr(755,root,root) %{_sbindir}/vproc %attr(755,root,root) %{_sbindir}/vps %attr(755,root,root) %{_sbindir}/vpstree -%attr(755,root,root) %{_sbindir}/vspace +%attr(755,root,root) %{_sbindir}/vrpm %attr(755,root,root) %{_sbindir}/vrsetup %attr(755,root,root) %{_sbindir}/vsched %attr(755,root,root) %{_sbindir}/vserver %attr(755,root,root) %{_sbindir}/vserver-info %attr(755,root,root) %{_sbindir}/vserver-stat %attr(755,root,root) %{_sbindir}/vsomething +%attr(755,root,root) %{_sbindir}/vspace %attr(755,root,root) %{_sbindir}/vtag %attr(755,root,root) %{_sbindir}/vtop %attr(755,root,root) %{_sbindir}/vuname %attr(755,root,root) %{_sbindir}/vwait +%attr(755,root,root) %{_sbindir}/vyum %dir %{_libdir}/%{name} %dir %{_libdir}/%{name}/defaults -%{_libdir}/%{name}/FEATURES.txt -%{_libdir}/%{name}/util-vserver-vars +%{_libdir}/%{name}/defaults/fstab +%{_libdir}/%{name}/defaults/debootstrap.* +%{_libdir}/%{name}/defaults/vunify-exclude %{_libdir}/%{name}/defaults/context.start %{_libdir}/%{name}/defaults/environment %{_libdir}/%{name}/defaults/h2ext.desc %{_libdir}/%{name}/defaults/mtab %{_libdir}/%{name}/defaults/vprocunhide-files +%dir %{_libdir}/%{name}/distributions +%{_libdir}/%{name}/distributions/defaults +%dir %{_libdir}/%{name}/distributions/template +%attr(755,root,root) %{_libdir}/%{name}/distributions/template/initpost +%attr(755,root,root) %{_libdir}/%{name}/distributions/template/initpre +%dir %{_libdir}/%{name}/distributions/redhat +%attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initpost +%attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initpre +%attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/rc.sysinit +%{_libdir}/%{name}/FEATURES.txt +%{_libdir}/%{name}/util-vserver-vars +%attr(755,root,root) %{_libdir}/%{name}/bash-wrapper %attr(755,root,root) %{_libdir}/%{name}/capchroot %attr(755,root,root) %{_libdir}/%{name}/chain-echo %attr(755,root,root) %{_libdir}/%{name}/chbind-compat -%attr(755,root,root) %{_libdir}/%{name}/check-unixfile %attr(755,root,root) %{_libdir}/%{name}/chcontext-compat +%attr(755,root,root) %{_libdir}/%{name}/check-unixfile %attr(755,root,root) %{_libdir}/%{name}/chroot-sh +%attr(755,root,root) %{_libdir}/%{name}/exec-remount %attr(755,root,root) %{_libdir}/%{name}/exec-ulimit %attr(755,root,root) %{_libdir}/%{name}/fakerunlevel %attr(755,root,root) %{_libdir}/%{name}/filetime @@ -800,26 +765,40 @@ exit 0 %attr(755,root,root) %{_libdir}/%{name}/keep-ctx-alive %attr(755,root,root) %{_libdir}/%{name}/lockfile %attr(755,root,root) %{_libdir}/%{name}/mask2prefix +%attr(755,root,root) %{_libdir}/%{name}/pkgmgmt %attr(755,root,root) %{_libdir}/%{name}/readlink +%attr(755,root,root) %{_libdir}/%{name}/rpm-fake* %attr(755,root,root) %{_libdir}/%{name}/save_ctxinfo %attr(755,root,root) %{_libdir}/%{name}/secure-mount %attr(755,root,root) %{_libdir}/%{name}/sigexec %attr(755,root,root) %{_libdir}/%{name}/start-vservers %attr(755,root,root) %{_libdir}/%{name}/tunctl +%attr(755,root,root) %{_libdir}/%{name}/vapt-get-worker +%attr(755,root,root) %{_libdir}/%{name}/vclone +%attr(755,root,root) %{_libdir}/%{name}/vcopy +%attr(755,root,root) %{_libdir}/%{name}/vhashify +%attr(755,root,root) %{_libdir}/%{name}/vhashify.cron +%attr(755,root,root) %{_libdir}/%{name}/vpkg +%attr(755,root,root) %{_libdir}/%{name}/vpoldek-worker %attr(755,root,root) %{_libdir}/%{name}/vprocunhide -%{_libdir}/%{name}/vserver.* +%attr(755,root,root) %{_libdir}/%{name}/vrpm-* %attr(755,root,root) %{_libdir}/%{name}/vserver-build +%{_libdir}/%{name}/vserver-build.* +%{_libdir}/%{name}/vserver-setup.functions +%{_libdir}/%{name}/vserver.* %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 %attr(755,root,root) %{_libdir}/%{name}/vsysctl +%attr(755,root,root) %{_libdir}/%{name}/vsysvwrapper +%attr(755,root,root) %{_libdir}/%{name}/vunify +%attr(755,root,root) %{_libdir}/%{name}/vyum-worker %{_mandir}/man8/chbind.8* %{_mandir}/man8/chcontext.8* %{_mandir}/man8/reducecap.8* %{_mandir}/man8/vps.8* %{_mandir}/man8/vpstree.8* +%{_mandir}/man8/vserver-build.8* %{_mandir}/man8/vserver-stat.8* %{_mandir}/man8/vserver.8* %{_mandir}/man8/vtop.8* @@ -848,55 +827,6 @@ exit 0 %defattr(644,root,root,755) %{_libdir}/libvserver.a -%files build -%defattr(644,root,root,755) -%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 -%attr(755,root,root) %{_libdir}/%{name}/rpm-fake* -%dir %{_libdir}/%{name}/distributions -%{_libdir}/%{name}/distributions/defaults -%dir %{_libdir}/%{name}/distributions/template -%attr(755,root,root) %{_libdir}/%{name}/distributions/template/initpost -%attr(755,root,root) %{_libdir}/%{name}/distributions/template/initpre -%dir %{_libdir}/%{name}/distributions/redhat -%attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initpost -%attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initpre -%attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/rc.sysinit -%{_libdir}/%{name}/vserver-setup.functions -%{_libdir}/%{name}/vserver-build.* -%{_libdir}/%{name}/defaults/fstab -%{_libdir}/%{name}/defaults/debootstrap.* -%{_libdir}/%{name}/defaults/vunify-exclude -%attr(755,root,root) %{_libdir}/%{name}/pkgmgmt -%attr(755,root,root) %{_libdir}/%{name}/vapt-get-worker -%attr(755,root,root) %{_libdir}/%{name}/vclone -%attr(755,root,root) %{_libdir}/%{name}/vcopy -%attr(755,root,root) %{_libdir}/%{name}/vpkg -%attr(755,root,root) %{_libdir}/%{name}/vpoldek-worker -%attr(755,root,root) %{_libdir}/%{name}/vrpm-* -%attr(755,root,root) %{_libdir}/%{name}/vserver-build -%attr(755,root,root) %{_libdir}/%{name}/vunify -%attr(755,root,root) %{_libdir}/%{name}/vyum-worker -%attr(755,root,root) %{_sbindir}/vapt-get -%attr(755,root,root) %{_sbindir}/vpoldek -%attr(755,root,root) %{_sbindir}/vrpm -%attr(755,root,root) %{_sbindir}/vyum -%{_mandir}/man8/vserver-build.8* - -%files init -%defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/%{name}/vsysvwrapper -%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/vrootdevices -%attr(754,root,root) /etc/rc.d/init.d/vservers - %files legacy %defattr(644,root,root,755) %dir %{_sysconfdir}/vservices @@ -912,6 +842,11 @@ exit 0 %{_mandir}/man8/rebootmgr.8* %{_mandir}/man8/vserver-copy.8* +%files -n python-util-vserver +%defattr(644,root,root,755) +%attr(755,root,root) %{py_sitedir}/_libvserver.so +%{py_sitedir}/libvserver.py + %files -n vserver-distro-alpine %defattr(644,root,root,755) %dir %{_libdir}/%{name}/distributions/alpine @@ -925,11 +860,11 @@ exit 0 %files -n vserver-distro-debian %defattr(644,root,root,755) %dir %{_libdir}/%{name}/distributions/debian -%{_libdir}/%{name}/distributions/debian/debootstrap.script %attr(755,root,root) %{_libdir}/%{name}/distributions/debian/initpost %{_libdir}/%{name}/distributions/etch %{_libdir}/%{name}/distributions/lenny %{_libdir}/%{name}/distributions/sid +%{_libdir}/%{name}/distributions/squeeze %files -n vserver-distro-fedora %defattr(644,root,root,755) @@ -941,7 +876,18 @@ exit 0 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/fc*/apt/sources.list %{_libdir}/%{name}/distributions/f7 %{_libdir}/%{name}/distributions/f8 -%{_libdir}/%{name}/distributions/fc* +%{_libdir}/%{name}/distributions/f9 +%{_libdir}/%{name}/distributions/f10 +%{_libdir}/%{name}/distributions/f11 +%{_libdir}/%{name}/distributions/f12 +%{_libdir}/%{name}/distributions/f13 +%{_libdir}/%{name}/distributions/f14 +%{_libdir}/%{name}/distributions/fc1 +%{_libdir}/%{name}/distributions/fc2 +%{_libdir}/%{name}/distributions/fc3 +%{_libdir}/%{name}/distributions/fc4 +%{_libdir}/%{name}/distributions/fc5 +%{_libdir}/%{name}/distributions/fc6 %files -n vserver-distro-gentoo %defattr(644,root,root,755) @@ -978,10 +924,15 @@ exit 0 %files -n vserver-distro-redhat %defattr(644,root,root,755) -%dir %{_sysconfdir}/vservers/.distributions/rh* -%dir %{_sysconfdir}/vservers/.distributions/rh*/apt +%dir %{_sysconfdir}/vservers/.distributions/rh9 +%dir %{_sysconfdir}/vservers/.distributions/rh9/apt %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/rh*/apt/sources.list -%{_libdir}/%{name}/distributions/rh* +%{_libdir}/%{name}/distributions/rh9 +%dir %{_libdir}/%{name}/distributions/redhat +%attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initctl +%attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initpost +%attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/initpre +%attr(755,root,root) %{_libdir}/%{name}/distributions/redhat/rc.sysinit %files -n vserver-distro-suse %defattr(644,root,root,755) @@ -989,13 +940,3 @@ exit 0 %dir %{_sysconfdir}/vservers/.distributions/suse*/apt %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/suse*/apt/sources.list %{_libdir}/%{name}/distributions/suse* - -%files -n vserver-distro-ubuntu -%defattr(644,root,root,755) -%{_libdir}/%{name}/distributions/breezy -%{_libdir}/%{name}/distributions/dapper -%{_libdir}/%{name}/distributions/edgy -%{_libdir}/%{name}/distributions/feisty -%{_libdir}/%{name}/distributions/gutsy -%{_libdir}/%{name}/distributions/hoary -%{_libdir}/%{name}/distributions/warty