X-Git-Url: https://git.pld-linux.org/?a=blobdiff_plain;f=criu.spec;h=ea43871cb3c3cb3daf8cdeb12c27e508c726b97d;hb=HEAD;hp=c96258178040f9704c9c0ddff0220736122a4ee7;hpb=a27aad5cb7e9b9d65619c69ca79ffe013c59ac91;p=packages%2Fcriu.git diff --git a/criu.spec b/criu.spec index c962581..ea43871 100644 --- a/criu.spec +++ b/criu.spec @@ -1,30 +1,49 @@ +# TODO +# - package static libs +# /usr/lib/compel/fds.lib.a +# /usr/lib/compel/scripts/compel-pack.lds.S +# /usr/lib/compel/std.lib.a +# /usr/lib64/libcompel.a +# /usr/lib64/libcriu.a +# +# Conditional build: +%bcond_with tests # build and run tests (requires root) + Summary: Checkpoint/restore functionality for Linux in userspace Summary(pl.UTF-8): Funkcja checkpoint/restore w przestrzeni użytkownika dla Linuksa Name: criu -Version: 2.5 -Release: 1 +Version: 3.17.1 +Release: 2 License: GPL v2 (tools), LGPL v2.1 (library) Group: Applications/System -Source0: http://download.openvz.org/criu/%{name}-%{version}.tar.bz2 -# Source0-md5: 5d5115454d110adb744e885d82d2c1f6 +Source0: https://github.com/checkpoint-restore/criu/archive/v%{version}/%{name}-%{version}.tar.gz +# Source0-md5: f3a5e3c3809177fbd4f543b68b563f5a Patch0: %{name}-python.patch +Patch1: tests.patch +Patch2: glibc2.36.patch URL: http://criu.org/ BuildRequires: asciidoc +BuildRequires: gnutls-devel +BuildRequires: libbpf-devel +BuildRequires: libbsd-devel BuildRequires: libcap-devel +BuildRequires: libnet-devel BuildRequires: libnl-devel >= 1:3.2 +BuildRequires: libselinux-devel +BuildRequires: nftables-devel BuildRequires: pkgconfig BuildRequires: protobuf BuildRequires: protobuf-c-devel BuildRequires: protobuf-devel -BuildRequires: python >= 2 -BuildRequires: python-modules +BuildRequires: python3 +BuildRequires: python3-modules BuildRequires: rpm-pythonprov -BuildRequires: rpmbuild(macros) >= 1.697 +BuildRequires: rpmbuild(macros) >= 2.007 BuildRequires: sed >= 4.0 Requires: %{name}-libs = %{version}-%{release} Requires: iproute2 >= 3.5 Requires: uname(release) >= 3.11 -ExclusiveArch: %{x8664} %{arm} aarch64 ppc64 +ExclusiveArch: %{x8664} %{armv7} %{armv8} aarch64 ppc64 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _libexecdir %{_prefix}/lib @@ -73,6 +92,7 @@ Summary(pl.UTF-8): Pliki nagłówkowe biblioteki CRIU License: LGPL v2.1 Group: Development/Libraries Requires: %{name}-libs = %{version}-%{release} +Requires: protobuf-c-devel %description devel Header files for CRIU library. @@ -80,24 +100,31 @@ Header files for CRIU library. %description devel -l pl.UTF-8 Pliki nagłówkowe biblioteki CRIU. -%package -n python-pycriu +%package -n python3-pycriu Summary: Python interface to CRIU Summary(pl.UTF-8): Pythonowy interfejs do CRIU Group: Libraries/Python Requires: %{name}-libs = %{version}-%{release} +Obsoletes: python-pycriu < 3.16 -%description -n python-pycriu +%description -n python3-pycriu Python interface to CRIU. This package contains also crit utility. -%description -n python-pycriu -l pl.UTF-8 +%description -n python3-pycriu -l pl.UTF-8 Pythonowy interfejs do CRIU. Ten pakiet zawiera także narzędzie crit. %prep %setup -q %patch0 -p1 +%patch1 -p1 +%patch2 -p1 %{__sed} -i -e 's#-O2 -g#$(OPT)#g' Makefile +%{__sed} -i -e '1 s,#!.*env python.*,#!%{__python3},' scripts/criu-ns + +%{__ln_s} scripts/crit-setup.py setup.py + %build %define _make_opts \\\ DEB_HOST_MULTIARCH= \\\ @@ -107,21 +134,30 @@ Pythonowy interfejs do CRIU. Ten pakiet zawiera także narzędzie crit. LIBDIR=%{_libdir} \\\ LOGROTATEDIR=%{_sysconfdir}/logrotate.d \\\ LIBEXECDIR=%{_libexecdir} \\\ - PYSITESCRIPTDIR=%{py_sitescriptdir} \\\ MANDIR=%{_mandir} \\\ WERROR=0 \\\ + SUBARCH=%{_target_cpu} \\\ + CONFIG_AMDGPU=n \\\ V=1 %{__make} +%py3_build + +%if %{with tests} +%{__make} test +%endif + %install rm -rf $RPM_BUILD_ROOT %{__make} install \ DESTDIR=$RPM_BUILD_ROOT -# optional script, do not autogenerate bash dep -chmod -x $RPM_BUILD_ROOT%{_libexecdir}/%{name}/scripts/systemd-autofs-restart.sh +%py3_install + +install -p contrib/docker_cr.sh $RPM_BUILD_ROOT%{_libexecdir}/%{name}/scripts -%py_postclean +# optional scripts, do not autogenerate bash dep +chmod -x $RPM_BUILD_ROOT%{_libexecdir}/%{name}/scripts/*.sh %clean rm -rf $RPM_BUILD_ROOT @@ -131,26 +167,36 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(644,root,root,755) -%doc CREDITS README.md contrib +%doc CREDITS README.md +%attr(755,root,root) %{_bindir}/compel %attr(755,root,root) %{_sbindir}/criu +%attr(755,root,root) %{_sbindir}/criu-ns +%{_mandir}/man1/compel.1* +%{_mandir}/man1/crit.1* +%{_mandir}/man1/criu-ns.1* %{_mandir}/man8/criu.8* %dir %{_libexecdir}/%{name} %dir %{_libexecdir}/%{name}/scripts -%{_libexecdir}/%{name}/scripts/systemd-autofs-restart.sh +%attr(755,root,root) %{_libexecdir}/%{name}/scripts/systemd-autofs-restart.sh +%attr(755,root,root) %{_libexecdir}/%{name}/scripts/docker_cr.sh %files libs %defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libcompel.so.*.* +%attr(755,root,root) %ghost %{_libdir}/libcompel.so.1 %attr(755,root,root) %{_libdir}/libcriu.so.*.* -%attr(755,root,root) %ghost %{_libdir}/libcriu.so.1 +%attr(755,root,root) %ghost %{_libdir}/libcriu.so.2 %files devel %defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libcompel.so %attr(755,root,root) %{_libdir}/libcriu.so +%{_includedir}/compel %{_includedir}/criu %{_pkgconfigdir}/criu.pc -%files -n python-pycriu +%files -n python3-pycriu %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/crit -%{py_sitescriptdir}/pycriu -%{py_sitescriptdir}/crit-0.0.1-py*.egg-info +%{py3_sitescriptdir}/pycriu +%{py3_sitescriptdir}/crit-0.0.1-py*.egg-info