+# 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
# 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 pre3062
-%define rel 1
+%define snap pre3126
+%define rel 2
Summary: Linux virtual server utilities
Summary(pl.UTF-8): Narzędzia dla linuksowych serwerów wirtualnych
Name: util-vserver
Release: 1.%{snap}.%{rel}
License: GPL
Group: Applications/System
-Source0: http://people.linux-vserver.org/~dhozac/t/uv-testing/%{name}-%{version}-%{snap}.tar.bz2
-# Source0-md5: c67c795a8f4a217f4d2ddf665ad040f8
+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
Source14: ftp://ftp.pld-linux.org/dists/th/PLD-3.0-Th-GPG-key.asc
# Source14-md5: 08b29584dd349aac9caa7610131a0a88
Source15: %{name}.init
-Source16: %{name}.tmpfiles
Patch0: %{name}-vsysvwrapper.patch
Patch1: %{name}-pld.patch
Patch2: %{name}-centos.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: autoconf >= 2.57
+BuildRequires: automake >= 1:1.9
BuildRequires: beecrypt-devel
BuildRequires: ctags
-%{?with_dietlibc:BuildRequires: dietlibc-static >= 2:0.32-16}
+%{?with_dietlibc:BuildRequires: dietlibc-static >= 2:0.33-4}
BuildRequires: e2fsprogs-devel
BuildRequires: libstdc++-devel
BuildRequires: libtool >= 1.5.14
BuildRequires: pkgconfig
-BuildRequires: python-devel
-BuildRequires: python-modules
+BuildRequires: python-devel >= 1:2.4
+BuildRequires: python-modules >= 1:2.4
BuildRequires: rpm-pythonprov
BuildRequires: rpmbuild(macros) >= 1.647
BuildRequires: sed >= 4.0
+BuildRequires: systemd-devel
+BuildRequires: tar >= 1:1.22
+BuildRequires: xz
%if %{with doc}
BuildRequires: doxygen >= 1:1.7.3
BuildRequires: graphviz
Requires: glibc-misc
Requires: make
Requires: mktemp >= 1.5-18
+Requires: mount
Requires: pld-release
Requires: rc-scripts >= 0.4.3.4
#Requires: rpm >= 5.4.10-36
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
+%{__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
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
-cp -p %{SOURCE16} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
+%{__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
install -d $RPM_BUILD_ROOT/var/cache/vservers/poldek
-# cleanups
+# 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} $RPM_BUILD_ROOT%{_libdir}/util-vserver/vserver-wrapper
+%{__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
%dir %{_sysconfdir}/vservers/.distributions
%dir %{_sysconfdir}/vservers/.distributions/.common
%dir %{_sysconfdir}/vservers/.distributions/.common/pubkeys
-/sbin/vshelper
+%attr(755,root,root) /sbin/vshelper
%attr(755,root,root) %{_sbindir}/chbind
%attr(755,root,root) %{_sbindir}/chcontext
%attr(755,root,root) %{_sbindir}/chxid
%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}/FEATURES.txt
%{_datadir}/%{name}/util-vserver-vars
%{_datadir}/%{name}/functions
%{_datadir}/%{name}/vserver-build.*
%{_datadir}/%{name}/vserver-setup.functions
%{_datadir}/%{name}/vserver.*
%dir %{_libdir}/%{name}
+%{_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}/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
-%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}/pkgmgmt
-%attr(755,root,root) %{_libdir}/%{name}/readlink
+%dir %{_libexecdir}/%{name}
+%{_libexecdir}/%{name}/util-vserver-vars
%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
-%attr(755,root,root) %{_libdir}/%{name}/vrpm-*
-%attr(755,root,root) %{_libdir}/%{name}/vserver-build
-%attr(755,root,root) %{_libdir}/%{name}/vurpm-worker
-%attr(755,root,root) %{_libdir}/%{name}/vservers.grabinfo.sh
-%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
+%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/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
-%{systemdtmpfilesdir}/%{name}.conf
%dir %{_localstatedir}/run/vservers
%dir %{_localstatedir}/run/vservers.rev
%dir %{_localstatedir}/run/vshelper
%defattr(644,root,root,755)
%{?with_doc:%doc lib/apidoc/latex/refman.pdf lib/apidoc/html}
%attr(755,root,root) %{_libdir}/libvserver.so
-%{_libdir}/lib*.la
-%{_includedir}/vserver*.h
-%{_pkgconfigdir}/*.pc
+%{_libdir}/libvserver.la
+%{_includedir}/vserver.h
+%{_pkgconfigdir}/util-vserver.pc
%files static
%defattr(644,root,root,755)
%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*
%files -n python-util-vserver
%defattr(644,root,root,755)
%attr(755,root,root) %{py_sitedir}/_libvserver.so
-%{py_sitedir}/libvserver.py
+%{py_sitedir}/libvserver.py[co]
%files -n vserver-distro-alpine
%defattr(644,root,root,755)