X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=criu.spec;h=e2441084049709aaa16859e2c3109095efb6cdee;hb=08b7a2abdfe17018095842d807c4b8745bc9561f;hp=779075ee8d35d3f7b42e3f6e6305eed12467d859;hpb=26c7c1835ccc51b1493833a592731a5e8c93c334;p=packages%2Fcriu.git diff --git a/criu.spec b/criu.spec index 779075e..e244108 100644 --- a/criu.spec +++ b/criu.spec @@ -1,20 +1,47 @@ -Summary: checkpoint/restore functionality for Linux in userspace +# 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: 1.0 -Release: 2 -License: GPL v2 +Version: 3.15 +Release: 1 +License: GPL v2 (tools), LGPL v2.1 (library) Group: Applications/System Source0: http://download.openvz.org/criu/%{name}-%{version}.tar.bz2 -# Source0-md5: 67c4ca5ca36a3514f247e86743c9ceee +# Source0-md5: eb47303cda4b1fca8504333df0529a0d +Patch0: %{name}-python.patch +Patch1: tests.patch URL: http://criu.org/ -BuildRequires: autoconf >= 2.50 +BuildRequires: asciidoc +BuildRequires: libcap-devel +BuildRequires: libnet-devel +BuildRequires: libnl-devel >= 1:3.2 +BuildRequires: pkgconfig +BuildRequires: protobuf BuildRequires: protobuf-c-devel -BuildRequires: rpmbuild(macros) >= 1.228 +BuildRequires: protobuf-devel +BuildRequires: python >= 2 +BuildRequires: python-modules +BuildRequires: rpm-pythonprov +BuildRequires: rpmbuild(macros) >= 1.697 BuildRequires: sed >= 4.0 -Requires: iproute2 >= 3.6 -Requires: uname(release) >= 3.9 +Requires: %{name}-libs = %{version}-%{release} +Requires: iproute2 >= 3.5 +Requires: uname(release) >= 3.11 +ExclusiveArch: %{x8664} armv7l armv7hl armv7hnl aarch64 ppc64 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) +%define _libexecdir %{_prefix}/lib + %description Checkpoint/Restore In Userspace, or CRIU, is a software tool for Linux operating system. Using this tool, you can freeze a running @@ -32,29 +59,126 @@ then use the files to restore and run the application from the point it was frozen at. The distinctive feature of the CRIU project is that it is mainly implemented in user space. +%description -l pl.UTF-8 +CRIU (Checkpoint/Restore In Userspace) to narzędzie programowe dla +systemu operacyjnego Linux. Przy jego użyciu można zamrozić działającą +aplikację (lub jej część) i zapisać migawkę na twardym dysku jako +zestaw plików. Następnie można użyć tych plików do odtworzenia i +uruchomienia aplikacji od miejsca, w którym została zamrożona. +Wyróżnikiem projektu CRIU jest to, że został zaimplementowany głównie +w przestrzeni użytkownika. + +%package libs +Summary: CRIU shared library +Summary(pl.UTF-8): Biblioteka współdzielona CRIU +License: LGPL v2.1 +Group: Libraries + +%description libs +CRIU shared library. + +%description libs -l pl.UTF-8 +Biblioteka współdzielona CRIU. + +%package devel +Summary: Header files for CRIU library +Summary(pl.UTF-8): Pliki nagłówkowe biblioteki CRIU +License: LGPL v2.1 +Group: Development/Libraries +Requires: %{name}-libs = %{version}-%{release} + +%description devel +Header files for CRIU library. + +%description devel -l pl.UTF-8 +Pliki nagłówkowe biblioteki CRIU. + +%package -n python-pycriu +Summary: Python interface to CRIU +Summary(pl.UTF-8): Pythonowy interfejs do CRIU +Group: Libraries/Python +Requires: %{name}-libs = %{version}-%{release} + +%description -n python-pycriu +Python interface to CRIU. This package contains also crit utility. + +%description -n python-pycriu -l pl.UTF-8 +Pythonowy interfejs do CRIU. Ten pakiet zawiera także narzędzie crit. + %prep %setup -q -sed -i -e 's#-O2#$(OPT)#g' Makefile* +%patch0 -p1 +%patch1 -p1 + +%{__sed} -i -e 's#-O2 -g#$(OPT)#g' Makefile %build -%{__make} \ - CC="%{__cc}" \ - OPT="%{rpmcppflags} %{rpmcflags}" \ - V=1 \ - WERROR=0 +%define _make_opts \\\ + DEB_HOST_MULTIARCH= \\\ + CC="%{__cc}" \\\ + OPT="%{rpmcppflags} %{rpmcflags}" \\\ + PREFIX=%{_prefix} \\\ + LIBDIR=%{_libdir} \\\ + LOGROTATEDIR=%{_sysconfdir}/logrotate.d \\\ + LIBEXECDIR=%{_libexecdir} \\\ + PYSITESCRIPTDIR=%{py_sitescriptdir} \\\ + MANDIR=%{_mandir} \\\ + WERROR=0 \\\ + V=1 +%{__make} + +%if %{with tests} +%{__make} test +%endif %install rm -rf $RPM_BUILD_ROOT %{__make} install \ - SBINDIR=/sbin \ - MANDIR=%{_mandir} \ DESTDIR=$RPM_BUILD_ROOT +install -p contrib/docker_cr.sh $RPM_BUILD_ROOT%{_libexecdir}/%{name}/scripts + +# optional scripts, do not autogenerate bash dep +chmod -x $RPM_BUILD_ROOT%{_libexecdir}/%{name}/scripts/*.sh + +%py_postclean + %clean rm -rf $RPM_BUILD_ROOT +%post libs -p /sbin/ldconfig +%postun libs -p /sbin/ldconfig + %files %defattr(644,root,root,755) -%doc CREDITS README -%attr(755,root,root) /sbin/criu +%doc CREDITS README.md +%attr(755,root,root) %{_bindir}/compel +%attr(755,root,root) %{_sbindir}/criu +%{_mandir}/man1/compel.1* +%{_mandir}/man1/crit.1* %{_mandir}/man8/criu.8* +%dir %{_libexecdir}/%{name} +%dir %{_libexecdir}/%{name}/scripts +%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.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 +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/crit +%{py_sitescriptdir}/pycriu +%{py_sitescriptdir}/crit-0.0.1-py*.egg-info