-# TODO
-# - %install is not re-entrant
-#
-# m68k and mips are the only not supported archs
+# NOTE:
+# - 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_without no_dynamic_context # disable enforcement of disabled dynamic context
%bcond_with xalan # use the xalan xslt processor
+%bcond_with legacy # build legacy 1.x utils
%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
-# reqdb_pkg should match value from current rpm package in distro
-%define reqdb_pkg db5.3
-%define snap pre3034
-%define rel 3
+# 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 pre3038
+%define rel 5
Summary: Linux virtual server utilities
Summary(pl.UTF-8): Narzędzia dla linuksowych serwerów wirtualnych
Name: util-vserver
License: GPL
Group: Applications/System
Source0: http://people.linux-vserver.org/~dhozac/t/uv-testing/%{name}-%{version}-%{snap}.tar.bz2
-# Source0-md5: c0f708814ff48532802a5fb04514a86c
+# Source0-md5: 21ae909b16d57fdb169743cde35e896d
Source1: vprocunhide.init
Source2: vservers.init
Source3: vservers-legacy.init
Patch25: stat.patch
Patch26: %{name}-am.patch
Patch27: %{name}-rpm5.patch
+Patch28: diet-ccache.patch
+Patch29: %{name}-centos6.patch
+Patch30: vsysctl-ignore-files.patch
URL: http://savannah.nongnu.org/projects/util-vserver/
BuildRequires: autoconf
BuildRequires: automake >= 1.9
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-makeindex
Requires: %{name}-lib = %{version}-%{release}
Requires: coreutils
Requires: diffutils
-Requires: issue
+Requires: pld-release
Requires: make
Requires: mktemp >= 1.5-18
Requires: rc-scripts >= 0.4.3.4
+#Requires: rpm >= 5.4.10-36
Requires: tar
Requires: uname(release) >= 2.6.27
Requires: util-linux >= 2.13
%patch25 -p1
%patch26 -p1
%patch27 -p1
+%patch28 -p1
+%patch29 -p1
+%patch30 -p1
+
+cp -p %{SOURCE9} package-management.txt
-install %{SOURCE9} package-management.txt
+%{__sed} -i -e "s/@RPMDB@/%{reqdb_ver}/g" scripts/pkgmgmt
%build
unset LD_SYMBOLIC_FUNCTIONS || :
# end
%{__make} all
+
%{?with_doc:%{__make} doc}
%{__make} -C vproc-%{vproc_version} \
%install
rm -rf $RPM_BUILD_ROOT
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,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
# our libcgroup uses per subsystem mount
chmod -R +rX $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/*
+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' %{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
+
+%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_//)
cat >$RPM_BUILD_ROOT%{_sysconfdir}/vservices/$s << EOF
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' %{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
+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 %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/vrootdevices
-install %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/vrootdevices
+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%{_libdir}/%{name}/distributions/pld
-install %{SOURCE10} $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld/initpost
-install %{SOURCE10} $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/tld/initpost
+install -p %{SOURCE10} $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld/initpost
+install -p %{SOURCE10} $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/tld/initpost
ln -s ../pld/initpost $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ac/initpost
ln -s ../pld/initpost $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-th/initpost
-install vproc-%{vproc_version}/vproc $RPM_BUILD_ROOT%{_sbindir}
+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
EOF
install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ac/pubkeys
-cp -a %{SOURCE13} $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ac/pubkeys/pld-ac.asc
+cp -p %{SOURCE13} $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-ac/pubkeys/pld-ac.asc
install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-th/pubkeys
-cp -a %{SOURCE14} $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-th/pubkeys/pld-th.asc
+cp -p %{SOURCE14} $RPM_BUILD_ROOT%{_libdir}/%{name}/distributions/pld-th/pubkeys/pld-th.asc
-install %{SOURCE16} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
+cp -p %{SOURCE16} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
# set arch for pld-ac in pld.conf
%ifarch i586 i686 ppc sparc alpha athlon
install -d $RPM_BUILD_ROOT/var/cache/vservers/poldek
# cleanups
-rm -rf $RPM_BUILD_ROOT/dev
-rm -rf $RPM_BUILD_ROOT%{py_sitedir}/_libvserver.la
+%{__rm} $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
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/util-vserver/vserver-wrapper
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/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
%defattr(644,root,root,755)
%{_libdir}/libvserver.a
+%if %{with legacy}
%files legacy
%defattr(644,root,root,755)
%dir %{_sysconfdir}/vservices
%{_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)