X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=util-vserver.spec;h=ac4943db8911f143ad02c9e5294d0ef36318d84e;hb=40303ba;hp=45762c1e1506f29e7abf804237ab699b8940c7d3;hpb=868a20c56b099cebc5cd826778ba06e6b14600e5;p=packages%2Futil-vserver.git diff --git a/util-vserver.spec b/util-vserver.spec index 45762c1..0c5fcfd 100644 --- a/util-vserver.spec +++ b/util-vserver.spec @@ -1,29 +1,35 @@ -# TODO -# - somewhy empty /var/cache/vservers is needed when building pld vserver -# - make build create /dev/std{in,out,err} links -# - reject install in %pre if /proc/virtual/info has incompatible version -# -# m68k and mips are the only not supported archs +# TODO: verify systemd files +# NOTE: +# - m68k and mips are the only not supported archs # # Conditional build: -%bcond_without dietlibc # don't use dietlibc (ask for troubles) +%bcond_with 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 -# +%bcond_with legacy # build legacy 1.x utils + +%define vproc_version 0.01 + +%ifarch ppc +# pdflatex: refman: Invalid argument +%undefine with_doc +%endif + +# reqdb_pkg and reqdb_ver must match value from current rpm package in distro +%define reqdb_ver 5.2 +%define reqdb_pkg db%{reqdb_ver} +%define snap pre3126 +%define rel 5 Summary: Linux virtual server utilities Summary(pl.UTF-8): Narzędzia dla linuksowych serwerów wirtualnych Name: util-vserver -Version: 0.30.214 -Release: 4 +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: 8bad879e36a6a1b9b4858d0d6d3c8c76 +Source0: http://people.linux-vserver.org/~dhozac/t/uv-testing/%{name}-%{version}-%{snap}.tar.xz +# Source0-md5: f4bd6e49baf2c6dd50ff0c9b6415a1c2 Source1: vprocunhide.init Source2: vservers.init Source3: vservers-legacy.init @@ -36,56 +42,115 @@ 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 +Patch3: %{name}-tld.patch Patch4: %{name}-m4-diet.patch +Patch5: %{name}-yum-verb-nogpg.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 Patch13: %{name}-tmpdir.patch +Patch14: %{name}-rpmpath.patch +Patch15: %{name}-interfaces-ignore-cvs-dir.patch +Patch16: %{name}-personalitymachine.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 + +Patch27: %{name}-rpm5.patch +Patch28: diet-ccache.patch +Patch29: %{name}-centos6.patch +Patch30: vsysctl-ignore-files.patch +Patch31: systemd-shared-mounts.patch URL: http://savannah.nongnu.org/projects/util-vserver/ -BuildRequires: autoconf -BuildRequires: automake >= 1.9 +BuildRequires: autoconf >= 2.57 +BuildRequires: automake >= 1:1.9 BuildRequires: beecrypt-devel -%{?with_dietlibc:BuildRequires: dietlibc-static >= 2:0.29} +BuildRequires: ctags +%{?with_dietlibc:BuildRequires: dietlibc-static >= 2:0.33-4} BuildRequires: e2fsprogs-devel BuildRequires: libstdc++-devel BuildRequires: libtool >= 1.5.14 -%ifarch %{x8664} +BuildRequires: pkgconfig +BuildRequires: python-devel >= 1:2.4 +BuildRequires: python-modules >= 1:2.4 +BuildRequires: rpm-pythonprov +BuildRequires: rpmbuild(macros) >= 1.647 BuildRequires: sed >= 4.0 -%endif -BuildRequires: rpmbuild(macros) >= 1.268 +BuildRequires: systemd-devel +BuildRequires: tar >= 1:1.22 +BuildRequires: xz %if %{with doc} -BuildRequires: doxygen +BuildRequires: doxygen >= 1:1.7.3 BuildRequires: graphviz BuildRequires: libxslt-progs +BuildRequires: python-devel +BuildRequires: tex-latex-adjustbox +%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-ams +BuildRequires: texlive-latex-extend +BuildRequires: texlive-latex-ucs +BuildRequires: texlive-latex-wasysym +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: issue +Requires: coreutils +Requires: diffutils +Requires: glibc-misc +Requires: make Requires: mktemp >= 1.5-18 -Requires: rc-scripts +Requires: mount +Requires: pld-release +Requires: rc-scripts >= 0.4.3.4 +#Requires: rpm >= 5.4.10-36 Requires: tar -Requires: util-linux +Requires: uname(release) >= 2.6.27 +Requires: util-linux >= 2.13 +Requires: vserver-distro-pld = %{version}-%{release} +Suggests: %{reqdb_pkg}-utils +Suggests: crondaemon +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} +# binaries created with this option have broken segments when using dietlibc +%define filterout_ld -Wl,-z,relro +%endif + # for adapter %define _usrbin /usr/bin %define _usrsbin /usr/sbin @@ -102,7 +167,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 @@ -115,7 +182,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 @@ -168,67 +237,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: /etc/pld-release -# for ar, used by debbootstrap -Requires: binutils -Requires: e2fsprogs -Requires: wget -Requires: which -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 @@ -257,25 +265,37 @@ 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 vserver-distro-debian -Summary: VServer build templates for Debian -Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji Debian +%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: dpkg +Requires: %{name} = %{version}-%{release} -%description -n vserver-distro-debian -VServer build templates for Debian. +%description -n vserver-distro-alpine +VServer build template for Alpine Linux. -%description -n vserver-distro-debian -l pl.UTF-8 -Szablony do tworzenia VServerów dla dystrybucji Debian. +%description -n vserver-distro-alpine -l pl.UTF-8 +Szablon budowania VServerów dla dystrybucji Alpine Linux. %package -n vserver-distro-centos 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: yum +Requires: %{name} = %{version}-%{release} +Requires: vserver-distro-redhat = %{version}-%{release} +#Requires: yum %description -n vserver-distro-centos VServer build template for CentOS 4.2 and 5. @@ -283,15 +303,33 @@ VServer build template for CentOS 4.2 and 5. %description -n vserver-distro-centos -l pl.UTF-8 Szablon budowania VServerów dla dystrybucji CentOS 4.2 i 5. +%package -n vserver-distro-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} = %{version}-%{release} +Requires: debootstrap +Requires: dpkg +Provides: vserver-distro-ubuntu +Obsoletes: vserver-distro-ubuntu + +%description -n vserver-distro-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 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 %description -n vserver-distro-fedora VServer build templates for Fedora Core 1,2,3,4,5,6 and Fedora 7. @@ -304,7 +342,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. @@ -312,11 +350,25 @@ VServer build template for Gentoo. %description -n vserver-distro-gentoo -l pl.UTF-8 Szablon budowania VServerów dla Gentoo. +%package -n vserver-distro-pld +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} = %{version}-%{release} +Requires: /etc/pld-release +Requires: poldek >= 0.30 + +%description -n vserver-distro-pld +VServer build templates for PLD Linux. + +%description -n vserver-distro-pld -l pl.UTF-8 +Szablony do tworzenia VServerów dla dystrybucji PLD Linux. + %package -n vserver-distro-redhat 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 @@ -332,7 +384,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 @@ -344,34 +396,71 @@ 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 +%package -n vserver-distro-scientificlinux +Summary: VServer build template for Scientific Linux +Summary(pl.UTF-8): Szablon do tworzenia VServerów dla dystrybucji Scientific Linux Group: Applications/System -Requires: %{name}-build = %{version}-%{release} -Requires: dpkg +Requires: %{name} = %{version}-%{release} +Requires: binutils +Requires: e2fsprogs +Requires: rpm +Requires: wget +#Requires: yum -%description -n vserver-distro-ubuntu -VServer build templates for Ubuntu. +%description -n vserver-distro-scientificlinux +VServer build template for Scientific Linux. -%description -n vserver-distro-ubuntu -l pl.UTF-8 -Szablony do tworzenia VServerów dla dystrybucji Ubuntu. +%description -n vserver-distro-scientificlinux -l pl.UTF-8 +Szablon do tworzenia VServerów dla dystrybucji Scientific Linux. + +%package -n vserver-distro-tld +Summary: VServer build templates for Titanium Linux Distribution +Summary(pl.UTF-8): Szablony do tworzenia VServerów dla dystrybucji Titanium Linux +Group: Applications/System +Requires: %{name} = %{version}-%{release} +Requires: poldek >= 0.30 + +%description -n vserver-distro-tld +VServer build templates for Titanium Linux Distribution. + +%description -n vserver-distro-tld -l pl.UTF-8 +Szablony do tworzenia VServerów dla dystrybucji Titanium Linux. %prep -%setup -q -a11 +%setup -q -n %{name}-%{version}-%{snap} -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 %patch13 -p1 +%patch14 -p1 +%patch15 -p1 +%patch16 -p1 + +%patch18 -p1 +%patch19 -p1 +%patch21 -p1 +%patch22 -p1 +%patch24 -p1 +%patch25 -p1 + +%patch27 -p1 +%patch28 -p1 +%patch29 -p1 +%patch30 -p1 +%patch31 -p1 -install %{SOURCE9} package-management.txt +cp -p %{SOURCE9} package-management.txt + +%{__sed} -i -e "s/@RPMDB@/%{reqdb_ver}/g" scripts/pkgmgmt %build unset LD_SYMBOLIC_FUNCTIONS || : @@ -379,6 +468,7 @@ unset LD_SYMBOLIC_FUNCTIONS || : %if %{with dietlibc} CFLAGS="%{rpmcflags} -D__GLIBC__ -D__KERNEL_STRICT_NAMES=1 -U__STRICT_ANSI__" %endif +%{__libtoolize} %{__aclocal} -I m4 %{__automake} %{__autoconf} @@ -388,37 +478,71 @@ 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}/vservers/.defaults/{apps/vdevmap,cgroup} \ + $RPM_BUILD_ROOT%{systemdtmpfilesdir} %{__make} -j1 install install-distribution \ +%if %{without legacy} + scripts_legacy_src_SCRPTS= \ + scripts_legacy_gen_SCRPTS= \ + scripts_legacy_src_PRGS= \ + sysv_gen_SCRPTS= \ + legacy_PROGRAMS= \ +%endif DESTDIR=$RPM_BUILD_ROOT -chmod -R +rX $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/* +%ifarch %{ix86} +# fix breakage caused by too many substitiutions on x86 +%{__sed} -i -e 's|%{_datadir}/%{name}/sigexec|%{_libexecdir}/%{name}/sigexec|g' \ + $RPM_BUILD_ROOT%{_libexecdir}/%{name}/vshelper +%endif + +# our libcgroup uses per subsystem mount +touch $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.defaults/cgroup/per-ss + +chmod -R +rX $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/* + +cp -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/vprocunhide +cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers +cp -p %{SOURCE15} $RPM_BUILD_ROOT/etc/rc.d/init.d/util-vserver +cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/vservers +sed 's|%{_usrlib}/util-vserver|%{_datadir}/%{name}|g' gentoo/bash-wrapper > \ + $RPM_BUILD_ROOT%{_libdir}/%{name}/bash-wrapper + +%if %{with legacy} +install -d $RPM_BUILD_ROOT%{_sysconfdir}/vservices 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 @@ -426,103 +550,141 @@ for i in $RPM_BUILD_ROOT/etc/rc.d/init.d/v_* ; do EOF done -sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE1} > \ - $RPM_BUILD_ROOT/etc/rc.d/init.d/vprocunhide -sed 's|%{_usrlib}/util-vserver|%{_libdir}/%{name}|g' %{SOURCE2} > \ - $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers -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' %{SOURCE5} > \ - $RPM_BUILD_ROOT/etc/sysconfig/vservers - -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 %{SOURCE10} $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-th/initpost -install %{SOURCE10} $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ti/initpost -install vproc-%{_vproc_version}/vproc $RPM_BUILD_ROOT%{_sbindir} -install %{SOURCE12} $RPM_BUILD_ROOT%{_libdir}/%{name}/vhashify.cron +cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-legacy +cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/rebootmgr +install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/vservers-legacy +%else +%{__rm} $RPM_BUILD_ROOT/etc/rc.d/init.d/rebootmgr +%{__rm} $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-legacy +%{__rm} $RPM_BUILD_ROOT%{_mandir}/man8/distrib-info.8 +%{__rm} $RPM_BUILD_ROOT%{_mandir}/man8/rebootmgr.8 +%{__rm} $RPM_BUILD_ROOT%{_mandir}/man8/vserver-copy.8 +%endif + +install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/vrootdevices +cp -p %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/vrootdevices +install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld +install -p %{SOURCE10} $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld/initpost +install -p %{SOURCE10} $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/tld/initpost +ln -s ../pld/initpost $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld-ac/initpost +ln -s ../pld/initpost $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld-th/initpost +install -p 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 EOF -ln -sf null $RPM_BUILD_ROOT/dev/initctl +install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld-ac/pubkeys +cp -p %{SOURCE13} $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld-ac/pubkeys/pld-ac.asc + +install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld-th/pubkeys +cp -p %{SOURCE14} $RPM_BUILD_ROOT%{_datadir}/%{name}/distributions/pld-th/pubkeys/pld-th.asc + +%{__mv} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/{90-util-vserver,util-vserver}.conf +# set arch for pld-ac in pld.conf +%ifarch i586 i686 ppc sparc alpha athlon +%define ftp_arch %{_target_cpu} +%endif %ifarch %{x8664} -# ac i686 -cp -a $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ac \ - $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ac-i686 -echo "%{_target_cpu}-%{_target_vendor}-linux" > $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ac/rpm/platform -echo "i686-%{_target_vendor}-linux" > $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ac-i686/rpm/platform -cp -a $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-ac \ - $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-ac-i686 -sed -i 's/x86_64/i686/g' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-ac-i686/poldek/*.conf - -# th i686 -cp -a $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-th \ - $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-th-i686 -echo "%{_target_cpu}-%{_target_vendor}-linux" > $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-th/rpm/platform -echo "i686-%{_target_vendor}-linux" > $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-th-i686/rpm/platform -cp -a $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-th \ - $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-th-i686 -sed -i 's/x86_64/i686/g' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-th-i686/poldek/*.conf - -# titanium i686 -cp -a $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ti \ - $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ti-i686 -echo "%{_target_cpu}-%{_target_vendor}-linux" > $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ti/rpm/platform -echo "i686-%{_target_vendor}-linux" > $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ti-i686/rpm/platform -cp -a $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-ti \ - $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-ti-i686 -sed -i 's/x86_64/i686/g' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-ti-i686/poldek/*.conf - -# ac x86_64 -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 -sed -i 's/x86_64/amd64/g' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-ac/poldek/*.conf +%define ftp_arch amd64 %endif %ifarch i486 -sed -i 's/i486/i386/g' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/pld-ac/poldek/*.conf +%define ftp_arch i386 +%endif +%ifarch pentium2 pentium3 pentium4 +%define ftp_arch i686 +%endif +%ifarch sparcv9 sparc64 +%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 + +# set arch for pld-th in pld.conf +%ifarch i486 i686 ppc sparc alpha athlon +%define ftp_arch %{_target_cpu} +%endif +%ifarch %{x8664} +%define ftp_arch x86_64 %endif +%ifarch i586 +%define ftp_arch i486 +%endif +%ifarch pentium2 pentium3 pentium4 +%define ftp_arch i686 +%endif +%ifarch sparcv9 sparc64 +%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 -# XXX baggins check this: needed but seems unused -install -d $RPM_BUILD_ROOT/var/cache/vservers +# set arch for tld in tld.conf +%ifarch i586 i686 ppc sparc alpha +%define ftp_arch %{_target_cpu} +%endif +%ifarch %{x8664} +%define ftp_arch x86_64 +%endif +%ifarch athlon pentium2 pentium3 pentium4 +%define ftp_arch i686 +%endif +%{__sed} -i -e 's|%%ARCH%%|%{ftp_arch}|' $RPM_BUILD_ROOT%{_sysconfdir}/vservers/.distributions/tld/poldek/repos.d/tld.conf + +# current debootstrap link +echo "http://ftp.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.55_all.deb" \ + > $RPM_BUILD_ROOT%{_datadir}/%{name}/defaults/debootstrap.uri + +install -d $RPM_BUILD_ROOT/var/cache/vservers/poldek + +# python packaging +%py_comp $RPM_BUILD_ROOT%{py_sitedir} +%py_ocomp $RPM_BUILD_ROOT%{py_sitedir} +%py_postclean +%{__rm} $RPM_BUILD_ROOT%{py_sitedir}/_libvserver.la # 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%{_libdir}/util-vserver/vserver-wrapper -# probaly the part of them -rm -f $RPM_BUILD_ROOT%{_sysconfdir}/vservers.conf +%{__rm} $RPM_BUILD_ROOT%{_libexecdir}/util-vserver/vserver-wrapper +%{__rm} $RPM_BUILD_ROOT%{_datadir}/util-vserver/vserver-init.functions +%{__rm} $RPM_BUILD_ROOT/etc/rc.d/init.d/vservers-default +%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/vservers.conf %clean rm -rf $RPM_BUILD_ROOT -%post -%{_sbindir}/setattr --barrier /vservers || : - -%post lib -p /sbin/ldconfig -%postun lib -p /sbin/ldconfig - -%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 +%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 - -# 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 +if [ -f /etc/sysconfig/vservers.rpmsave ]; then + cp -f /etc/sysconfig/vservers{,.rpmnew} + mv -f /etc/sysconfig/vservers{.rpmsave,} fi -%post init +%post +%{_sbindir}/setattr --barrier /vservers || : +/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 @@ -533,16 +695,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 @@ -561,17 +728,45 @@ if [ "$1" = "0" ]; then /sbin/chkconfig --del vservers-legacy fi +%triggerpostun -n vserver-distro-pld -- util-vserver-build < 0.30.215-1.1 +for D in ac th ti; do + P=%{_sysconfdir}/vservers/.distributions/pld-$D/poldek + + if [ -f $P/pld-source.conf.rpmsave ]; then + cp -f $P/repos.d/pld.conf{,.rpmnew} + mv -f $P/pld-source.conf.rpmsave $P/repos.d/pld.conf + fi +done +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/cgroup +%{_sysconfdir}/vservers/.defaults/cgroup/per-ss %dir %{_sysconfdir}/vservers/.defaults/files %{_sysconfdir}/vservers/.defaults/vdirbase +%{_sysconfdir}/vservers/.defaults/cachebase %{_sysconfdir}/vservers/.defaults/run.rev -/sbin/vshelper +%dir %{_sysconfdir}/vservers/.distributions +%dir %{_sysconfdir}/vservers/.distributions/.common +%dir %{_sysconfdir}/vservers/.distributions/.common/pubkeys +%attr(755,root,root) /sbin/vshelper %attr(755,root,root) %{_sbindir}/chbind %attr(755,root,root) %{_sbindir}/chcontext %attr(755,root,root) %{_sbindir}/chxid @@ -583,186 +778,202 @@ fi %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}/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}/vurpm %attr(755,root,root) %{_sbindir}/vwait +%attr(755,root,root) %{_sbindir}/vyum +%dir %{_datadir}/%{name} +%dir %{_datadir}/%{name}/defaults +%{_datadir}/%{name}/defaults/fstab +%{_datadir}/%{name}/defaults/debootstrap.* +%{_datadir}/%{name}/defaults/vunify-exclude +%{_datadir}/%{name}/defaults/context.start +%{_datadir}/%{name}/defaults/environment +%{_datadir}/%{name}/defaults/h2ext.desc +%{_datadir}/%{name}/defaults/mtab +%{_datadir}/%{name}/defaults/vprocunhide-files +%dir %{_datadir}/%{name}/distributions +%{_datadir}/%{name}/distributions/defaults +%dir %{_datadir}/%{name}/distributions/template +%attr(755,root,root) %{_datadir}/%{name}/distributions/template/initpost +%attr(755,root,root) %{_datadir}/%{name}/distributions/template/initpre +%{_datadir}/%{name}/util-vserver-vars +%{_datadir}/%{name}/functions +%{_datadir}/%{name}/vserver-build.* +%{_datadir}/%{name}/vserver-setup.functions +%{_datadir}/%{name}/vserver.* %dir %{_libdir}/%{name} -%dir %{_libdir}/%{name}/defaults %{_libdir}/%{name}/FEATURES.txt %{_libdir}/%{name}/util-vserver-vars -%{_libdir}/%{name}/defaults/* -%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}/chroot-sh -%attr(755,root,root) %{_libdir}/%{name}/exec-ulimit -%attr(755,root,root) %{_libdir}/%{name}/fakerunlevel -%attr(755,root,root) %{_libdir}/%{name}/filetime -%{_libdir}/%{name}/functions -%attr(755,root,root) %{_libdir}/%{name}/h2ext -%attr(755,root,root) %{_libdir}/%{name}/h2ext-worker -%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}/readlink -%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}/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}/bash-wrapper +%dir %{_libexecdir}/%{name} +%{_libexecdir}/%{name}/util-vserver-vars +%attr(755,root,root) %{_libdir}/%{name}/rpm-fake* %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) %{_libexecdir}/%{name}/capchroot +%attr(755,root,root) %{_libexecdir}/%{name}/chain-echo +%attr(755,root,root) %{_libexecdir}/%{name}/chbind-compat +%attr(755,root,root) %{_libexecdir}/%{name}/chcontext-compat +%attr(755,root,root) %{_libexecdir}/%{name}/check-unixfile +%attr(755,root,root) %{_libexecdir}/%{name}/chroot-sh +%attr(755,root,root) %{_libexecdir}/%{name}/exec-remount +%attr(755,root,root) %{_libexecdir}/%{name}/exec-ulimit +%attr(755,root,root) %{_libexecdir}/%{name}/fakerunlevel +%attr(755,root,root) %{_libexecdir}/%{name}/filetime +%attr(755,root,root) %{_libexecdir}/%{name}/h2ext +%attr(755,root,root) %{_libexecdir}/%{name}/h2ext-worker +%attr(755,root,root) %{_libexecdir}/%{name}/keep-ctx-alive +%attr(755,root,root) %{_libexecdir}/%{name}/lockfile +%attr(755,root,root) %{_libexecdir}/%{name}/mask2prefix +%attr(755,root,root) %{_libexecdir}/%{name}/pkgmgmt +%attr(755,root,root) %{_libexecdir}/%{name}/readlink +%attr(755,root,root) %{_libexecdir}/%{name}/rpm-fake* +%attr(755,root,root) %{_libexecdir}/%{name}/save_ctxinfo +%attr(755,root,root) %{_libexecdir}/%{name}/secure-mount +%attr(755,root,root) %{_libexecdir}/%{name}/sigexec +%attr(755,root,root) %{_libexecdir}/%{name}/start-vservers +%attr(755,root,root) %{_libexecdir}/%{name}/systemd-start +%attr(755,root,root) %{_libexecdir}/%{name}/systemd-stop +%attr(755,root,root) %{_libexecdir}/%{name}/tunctl +%attr(755,root,root) %{_libexecdir}/%{name}/vapt-get-worker +%attr(755,root,root) %{_libexecdir}/%{name}/vclone +%attr(755,root,root) %{_libexecdir}/%{name}/vcopy +%attr(755,root,root) %{_libexecdir}/%{name}/vhashify +%attr(755,root,root) %{_libexecdir}/%{name}/vpkg +%attr(755,root,root) %{_libexecdir}/%{name}/vpoldek-worker +%attr(755,root,root) %{_libexecdir}/%{name}/vprocunhide +%attr(755,root,root) %{_libexecdir}/%{name}/vrpm-* +%attr(755,root,root) %{_libexecdir}/%{name}/vserver-build +%attr(755,root,root) %{_libexecdir}/%{name}/vservers.grabinfo.sh +%attr(755,root,root) %{_libexecdir}/%{name}/vshelper +%attr(755,root,root) %{_libexecdir}/%{name}/vshelper-sync +%attr(755,root,root) %{_libexecdir}/%{name}/vsysctl +%attr(755,root,root) %{_libexecdir}/%{name}/vsysvwrapper +%attr(755,root,root) %{_libexecdir}/%{name}/vunify +%attr(755,root,root) %{_libexecdir}/%{name}/vurpm-worker +%attr(755,root,root) %{_libexecdir}/%{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* +%attr(755,root,root) /lib/systemd/system-generators/systemd-vserver-generator +%{systemdunitdir}/util-vserver.service +%{systemdunitdir}/vprocunhide.service +%{systemdunitdir}/vserver.target +%{systemdunitdir}/vserver-mark@.target +%{systemdunitdir}/vserver@.service +%{_prefix}/lib/sysctl.d/90-util-vserver.conf +%{systemdtmpfilesdir}/%{name}.conf %attr(000,root,root) %dir /vservers %dir /vservers/.pkg %dir %{_localstatedir}/run/vservers %dir %{_localstatedir}/run/vservers.rev %dir %{_localstatedir}/run/vshelper %dir /var/cache/vservers +%dir /var/cache/vservers/poldek %files lib %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/lib*.so.*.*.* +%attr(755,root,root) %{_libdir}/libvserver.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libvserver.so.0 %files devel %defattr(644,root,root,755) %{?with_doc:%doc lib/apidoc/latex/refman.pdf lib/apidoc/html} -%attr(755,root,root) %{_libdir}/lib*.so -%{_libdir}/lib*.la -%{_includedir}/vserver*.h -%{_pkgconfigdir}/*.pc +%attr(755,root,root) %{_libdir}/libvserver.so +%{_libdir}/libvserver.la +%{_includedir}/vserver.h +%{_pkgconfigdir}/util-vserver.pc %files static %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 -%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 -%ifarch %{x8664} -%dir %{_sysconfdir}/vservers/.distributions/pld-ac-i686 -%dir %{_sysconfdir}/vservers/.distributions/pld-ac-i686/poldek -%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-ac-i686/poldek/*.conf -%dir %{_sysconfdir}/vservers/.distributions/pld-th-i686 -%dir %{_sysconfdir}/vservers/.distributions/pld-th-i686/poldek -%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-th-i686/poldek/*.conf -%dir %{_sysconfdir}/vservers/.distributions/pld-ti-i686 -%dir %{_sysconfdir}/vservers/.distributions/pld-ti-i686/poldek -%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-ti-i686/poldek/*.conf -%endif -%dir %{_sysconfdir}/vservers/.distributions/pld-th -%dir %{_sysconfdir}/vservers/.distributions/pld-th/poldek -%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-th/poldek/*.conf -%dir %{_sysconfdir}/vservers/.distributions/pld-ti -%dir %{_sysconfdir}/vservers/.distributions/pld-ti/poldek -%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-ti/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* -%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 -%{_libdir}/%{name}/defaults/debootstrap.uri -%{_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 - -%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 - +%if %{with legacy} %files legacy %defattr(644,root,root,755) %dir %{_sysconfdir}/vservices -%{_sysconfdir}/vservices/* +%{_sysconfdir}/vservices/gated +%{_sysconfdir}/vservices/httpd +%{_sysconfdir}/vservices/named +%{_sysconfdir}/vservices/portmap +%{_sysconfdir}/vservices/sendmail +%{_sysconfdir}/vservices/smb +%{_sysconfdir}/vservices/sshd +%{_sysconfdir}/vservices/xinetd %dir %{_libdir}/%{name}/legacy %attr(755,root,root) %{_libdir}/%{name}/legacy/* %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vservers-legacy -%attr(754,root,root) /etc/rc.d/init.d/v_* %attr(754,root,root) /etc/rc.d/init.d/rebootmgr +%attr(754,root,root) /etc/rc.d/init.d/v_gated +%attr(754,root,root) /etc/rc.d/init.d/v_httpd +%attr(754,root,root) /etc/rc.d/init.d/v_named +%attr(754,root,root) /etc/rc.d/init.d/v_portmap +%attr(754,root,root) /etc/rc.d/init.d/v_sendmail +%attr(754,root,root) /etc/rc.d/init.d/v_smb +%attr(754,root,root) /etc/rc.d/init.d/v_sshd +%attr(754,root,root) /etc/rc.d/init.d/v_xinetd %attr(754,root,root) /etc/rc.d/init.d/vservers-legacy %attr(755,root,root) %{_sbindir}/vserver-copy %{_mandir}/man8/distrib-info.8* %{_mandir}/man8/rebootmgr.8* %{_mandir}/man8/vserver-copy.8* +%endif + +%files -n python-util-vserver +%defattr(644,root,root,755) +%attr(755,root,root) %{py_sitedir}/_libvserver.so +%{py_sitedir}/libvserver.py[co] + +%files -n vserver-distro-alpine +%defattr(644,root,root,755) +%dir %{_datadir}/%{name}/distributions/alpine +%attr(755,root,root) %{_datadir}/%{name}/distributions/alpine/initpost +%attr(755,root,root) %{_datadir}/%{name}/distributions/alpine/initpre %files -n vserver-distro-centos %defattr(644,root,root,755) -%{_libdir}/util-vserver/distributions/centos* +%{_datadir}/util-vserver/distributions/centos* %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 +%dir %{_datadir}/%{name}/distributions/debian +%attr(755,root,root) %{_datadir}/%{name}/distributions/debian/initpost +%{_datadir}/%{name}/distributions/etch +%{_datadir}/%{name}/distributions/lenny +%{_datadir}/%{name}/distributions/sid +%{_datadir}/%{name}/distributions/squeeze +%{_datadir}/%{name}/distributions/wheezy %files -n vserver-distro-fedora %defattr(644,root,root,755) @@ -772,38 +983,83 @@ fi %dir %{_sysconfdir}/vservers/.distributions/fc* %dir %{_sysconfdir}/vservers/.distributions/fc*/apt %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/fc*/apt/sources.list -%{_libdir}/%{name}/distributions/f7 -%{_libdir}/%{name}/distributions/fc* +%{_datadir}/%{name}/distributions/f7 +%{_datadir}/%{name}/distributions/f8 +%{_datadir}/%{name}/distributions/f9 +%{_datadir}/%{name}/distributions/f10 +%{_datadir}/%{name}/distributions/f11 +%{_datadir}/%{name}/distributions/f12 +%{_datadir}/%{name}/distributions/f13 +%{_datadir}/%{name}/distributions/f14 +%{_datadir}/%{name}/distributions/fc1 +%{_datadir}/%{name}/distributions/fc2 +%{_datadir}/%{name}/distributions/fc3 +%{_datadir}/%{name}/distributions/fc4 +%{_datadir}/%{name}/distributions/fc5 +%{_datadir}/%{name}/distributions/fc6 %files -n vserver-distro-gentoo %defattr(644,root,root,755) -%dir %{_libdir}/util-vserver/distributions/gentoo -%attr(755,root,root) %{_libdir}/util-vserver/distributions/gentoo/* +%dir %{_datadir}/util-vserver/distributions/gentoo +%attr(755,root,root) %{_datadir}/util-vserver/distributions/gentoo/* %attr(755,root,root) %{_sbindir}/vdispatch-conf %attr(755,root,root) %{_sbindir}/vemerge %attr(755,root,root) %{_sbindir}/vesync %attr(755,root,root) %{_sbindir}/vupdateworld +%files -n vserver-distro-pld +%defattr(644,root,root,755) +%dir %{_datadir}/%{name}/distributions/pld +%attr(755,root,root) %{_datadir}/%{name}/distributions/pld/initpost +%dir %{_datadir}/%{name}/distributions/pld-* +%{_datadir}/%{name}/distributions/pld-*/pkgs +%{_datadir}/%{name}/distributions/pld-*/pubkeys +%{_datadir}/%{name}/distributions/pld-*/rpm +%attr(755,root,root) %{_datadir}/%{name}/distributions/pld-*/initpost +%dir %{_sysconfdir}/vservers/.distributions/pld-ac +%dir %{_sysconfdir}/vservers/.distributions/pld-ac/poldek +%dir %{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-ac/poldek/repos.d/*.conf +%dir %{_sysconfdir}/vservers/.distributions/pld-th +%dir %{_sysconfdir}/vservers/.distributions/pld-th/poldek +%dir %{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/pld-th/poldek/repos.d/*.conf + %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* +%{_datadir}/%{name}/distributions/rh9 +%dir %{_datadir}/%{name}/distributions/redhat +%attr(755,root,root) %{_datadir}/%{name}/distributions/redhat/initctl +%attr(755,root,root) %{_datadir}/%{name}/distributions/redhat/initpost +%attr(755,root,root) %{_datadir}/%{name}/distributions/redhat/initpre +%attr(755,root,root) %{_datadir}/%{name}/distributions/redhat/rc.sysinit %files -n vserver-distro-suse %defattr(644,root,root,755) %dir %{_sysconfdir}/vservers/.distributions/suse* %dir %{_sysconfdir}/vservers/.distributions/suse*/apt %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/suse*/apt/sources.list -%{_libdir}/%{name}/distributions/suse* +%{_datadir}/%{name}/distributions/suse* -%files -n vserver-distro-ubuntu +%files -n vserver-distro-scientificlinux +%defattr(644,root,root,755) +%dir %{_datadir}/%{name}/distributions/sl6 +%attr(755,root,root) %{_datadir}/%{name}/distributions/sl6/initpost +%attr(755,root,root) %{_datadir}/%{name}/distributions/sl6/initpre +%{_datadir}/%{name}/distributions/sl6/pkgs +%{_datadir}/%{name}/distributions/sl6/yum +%{_datadir}/%{name}/distributions/sl6/yum.repos.d + +%files -n vserver-distro-tld %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 +%dir %{_datadir}/%{name}/distributions/tld +%attr(755,root,root) %{_datadir}/%{name}/distributions/tld/initpost +%{_datadir}/%{name}/distributions/tld/pkgs +%{_datadir}/%{name}/distributions/tld/rpm +%dir %{_sysconfdir}/vservers/.distributions/tld +%dir %{_sysconfdir}/vservers/.distributions/tld/poldek +%dir %{_sysconfdir}/vservers/.distributions/tld/poldek/repos.d +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vservers/.distributions/tld/poldek/repos.d/*.conf