Gentoo Archives: gentoo-commits

From: Yixun Lan <dlan@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-process/criu/files/2.2/, sys-process/criu/
Date: Fri, 27 May 2016 07:17:59
Message-Id: 1464333394.81c43e8ea9a5561629e34e1030ea835a655eb62b.dlan@gentoo
1 commit: 81c43e8ea9a5561629e34e1030ea835a655eb62b
2 Author: Yixun Lan <dlan <AT> gentoo <DOT> org>
3 AuthorDate: Fri May 27 06:43:57 2016 +0000
4 Commit: Yixun Lan <dlan <AT> gentoo <DOT> org>
5 CommitDate: Fri May 27 07:16:34 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=81c43e8e
7
8 sys-process/criu: version bump 2.2
9
10 Package-Manager: portage-2.2.28
11
12 sys-process/criu/Manifest | 1 +
13 sys-process/criu/criu-2.2.ebuild | 93 ++++++++++++++++++++++
14 sys-process/criu/files/2.2/criu-2.2-flags.patch | 13 +++
15 sys-process/criu/files/2.2/criu-2.2-makefile.patch | 77 ++++++++++++++++++
16 4 files changed, 184 insertions(+)
17
18 diff --git a/sys-process/criu/Manifest b/sys-process/criu/Manifest
19 index 8eb6929..a0138aa 100644
20 --- a/sys-process/criu/Manifest
21 +++ b/sys-process/criu/Manifest
22 @@ -3,3 +3,4 @@ DIST criu-1.7.2.tar.bz2 508012 SHA256 f5d377fd2a3c8824c592f6c27147cb4d37333ca0ce
23 DIST criu-1.8.tar.bz2 534200 SHA256 d1d6693d23181b1cd7378d77c142e41bcac3cb2ae5c71ea4c5b7de01f65575bb SHA512 de3f63613124606be08e5323f465c63811c35c457f4b1a311434aeb02590ebf652845b727b9e10b8a9eb9402c97e772ff044135bec7797cc6e4ad972efc9172d WHIRLPOOL 2f2d18f5fbd1608acfd6ce9e1283cf05a1574b2a141cd4cf29bcacc370ed0bfce488187e40250edeb396daf8fc38f2a2e960ffd8773511a82eebce3a74663e9f
24 DIST criu-2.0.tar.bz2 548581 SHA256 e80726cc54f74751ae6f63a5b0cf9a2882ffc3fd2aa11b311da0384635d418ff SHA512 ebe785c3da9d54ba517254f7851f0283ccf3826cba30a07c6c74a7253f2d7235f32bb921623a23e6103a3c3e4461e1bc5dc06484270c8e25929c8e981a8b036f WHIRLPOOL 7999a2aeb40f9a932a8b1d11c842f78c710718f08ca1f29b373c69d34b82ebc7ab9b6a659460a058333d6591b64ef76215cdc2d70760cbd57c4d1444d9abe622
25 DIST criu-2.1.tar.bz2 556820 SHA256 7a9fe6f2858a3086e652e17ffb85174f72cf19e87e776fc5ddab66013f16d4c4 SHA512 19fd57464a757a3b668ebf5ba70ea80d591d0df70a325ad5929408239f3439ef1cabe68367c778e386e5b818adf4fc4b98dccf729d2b5d656f12389e3f6d9439 WHIRLPOOL 4c193d96ff83ec08e8cb2de1ea1a2b11ceb6980d64cfc71bb2f9e1b518aa7b15ab7a2838fb2559aaa82c1e72378c5d0c5175bb437fff1040d0e95a60e5c8525c
26 +DIST criu-2.2.tar.bz2 558926 SHA256 f893938f72d2c0693a9430e7dd39dc3d32a40187de5edbd65830c6ade0f34e53 SHA512 3e03dcd3531641e93f88354515b902390a9d83fd79eec36848ded5a28e987cd5ae8e81d7ed645960a86f4dfa5176f17de02f5a9b19723a8aaa2bf15057fe46dd WHIRLPOOL 62bf41089f0028926622ba69c5c6f44f0ee8288a38b2d6ce82e9c727c9ee9ccd1f65a6a8654c9faa06597316e8b00b6076b4cddf6d7af06b85f8de334de9afa7
27
28 diff --git a/sys-process/criu/criu-2.2.ebuild b/sys-process/criu/criu-2.2.ebuild
29 new file mode 100644
30 index 0000000..f971fd4
31 --- /dev/null
32 +++ b/sys-process/criu/criu-2.2.ebuild
33 @@ -0,0 +1,93 @@
34 +# Copyright 1999-2016 Gentoo Foundation
35 +# Distributed under the terms of the GNU General Public License v2
36 +# $Id$
37 +
38 +EAPI=6
39 +
40 +PYTHON_COMPAT=( python2_7 )
41 +
42 +inherit eutils toolchain-funcs linux-info flag-o-matic python-r1 python-utils-r1
43 +
44 +DESCRIPTION="utility to checkpoint/restore a process tree"
45 +HOMEPAGE="http://criu.org/"
46 +SRC_URI="http://download.openvz.org/criu/${P}.tar.bz2"
47 +
48 +LICENSE="GPL-2"
49 +SLOT="0"
50 +KEYWORDS="~amd64 ~arm ~arm64"
51 +IUSE="python setproctitle"
52 +
53 +RDEPEND="dev-libs/protobuf-c
54 + dev-libs/libnl:3
55 + python? ( ${PYTHON_DEPS} )
56 + setproctitle? ( dev-libs/libbsd )"
57 +DEPEND="${RDEPEND}
58 + app-text/asciidoc
59 + app-text/xmlto"
60 +RDEPEND="${RDEPEND}
61 + python? (
62 + dev-libs/protobuf[python,${PYTHON_USEDEP}]
63 + dev-python/ipaddr[${PYTHON_USEDEP}]
64 + )"
65 +
66 +CONFIG_CHECK="~CHECKPOINT_RESTORE ~NAMESPACES ~PID_NS ~FHANDLE ~EVENTFD ~EPOLL ~INOTIFY_USER
67 + ~IA32_EMULATION ~UNIX_DIAG ~INET_DIAG ~INET_UDP_DIAG ~PACKET_DIAG ~NETLINK_DIAG"
68 +
69 +RESTRICT="test"
70 +
71 +src_prepare() {
72 + epatch "${FILESDIR}"/${PV}/${P}-flags.patch
73 + epatch "${FILESDIR}"/${PV}/${P}-makefile.patch
74 + epatch "${FILESDIR}"/2.0/${PN}-2.0-automagic-libbsd.patch
75 + epatch "${FILESDIR}"/2.0/${PN}-2.0-sysroot.patch
76 +}
77 +
78 +criu_arch() {
79 + # criu infers the arch from $(uname -m). We never want this to happen.
80 + case ${ARCH} in
81 + amd64) echo "x86";;
82 + arm64) echo "aarch64";;
83 + *) echo "${ARCH}";;
84 + esac
85 +}
86 +
87 +src_compile() {
88 + RAW_LDFLAGS="$(raw-ldflags)" emake \
89 + CC="$(tc-getCC)" \
90 + LD="$(tc-getLD)" \
91 + OBJCOPY="$(tc-getOBJCOPY)" \
92 + LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
93 + ARCH="$(criu_arch)" \
94 + V=1 WERROR=0 DEBUG=0 \
95 + SETPROCTITLE=$(usex setproctitle) \
96 + PYCRIU=$(usex python) \
97 + all docs
98 +}
99 +
100 +src_test() {
101 + # root privileges are required to dump all necessary info
102 + if [[ ${EUID} -eq 0 ]] ; then
103 + emake -j1 CC="$(tc-getCC)" ARCH="$(criu_arch)" V=1 WERROR=0 test
104 + fi
105 +}
106 +
107 +install_crit() {
108 + "${PYTHON:-python}" ../scripts/crit-setup.py install --root="${D}" --prefix="${EPREFIX}/usr/"
109 +}
110 +
111 +src_install() {
112 + emake \
113 + ARCH="$(criu_arch)" \
114 + PREFIX="${EPREFIX}"/usr \
115 + LOGROTATEDIR="${EPREFIX}"/etc/logrotate.d \
116 + DESTDIR="${D}" \
117 + LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
118 + install
119 +
120 + dodoc CREDITS README.md
121 +
122 + if use python ; then
123 + cd lib
124 + python_foreach_impl install_crit
125 + fi
126 +}
127
128 diff --git a/sys-process/criu/files/2.2/criu-2.2-flags.patch b/sys-process/criu/files/2.2/criu-2.2-flags.patch
129 new file mode 100644
130 index 0000000..97a806b
131 --- /dev/null
132 +++ b/sys-process/criu/files/2.2/criu-2.2-flags.patch
133 @@ -0,0 +1,13 @@
134 +diff --git a/Makefile b/Makefile
135 +index 037d38f..7c85403 100644
136 +--- a/Makefile
137 ++++ b/Makefile
138 +@@ -97,8 +97,6 @@ endif
139 + ifeq ($(DEBUG),1)
140 + DEFINES += -DCR_DEBUG
141 + CFLAGS += -O0 -ggdb3
142 +-else
143 +- CFLAGS += -O2 -g
144 + endif
145 +
146 + ifeq ($(GMON),1)
147
148 diff --git a/sys-process/criu/files/2.2/criu-2.2-makefile.patch b/sys-process/criu/files/2.2/criu-2.2-makefile.patch
149 new file mode 100644
150 index 0000000..e4e856d
151 --- /dev/null
152 +++ b/sys-process/criu/files/2.2/criu-2.2-makefile.patch
153 @@ -0,0 +1,77 @@
154 +diff --git a/Makefile.install b/Makefile.install
155 +index b3f5551..2349107 100644
156 +--- a/Makefile.install
157 ++++ b/Makefile.install
158 +@@ -6,23 +6,10 @@ BINDIR ?= $(PREFIX)/bin
159 + SBINDIR ?= $(PREFIX)/sbin
160 + MANDIR ?= $(PREFIX)/share/man
161 + SYSTEMDUNITDIR ?= $(PREFIX)/lib/systemd/system/
162 +-LOGROTATEDIR ?= $(PREFIX)/etc/logrotate.d/
163 ++LOGROTATEDIR ?= $(SYSCONFDIR)/etc/logrotate.d/
164 + LIBDIR ?= $(PREFIX)/lib
165 + INCLUDEDIR ?= $(PREFIX)/include/criu
166 +
167 +-#
168 +-# For recent Debian/Ubuntu with multiarch support.
169 +-DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH 2>/dev/null)
170 +-ifneq "$(DEB_HOST_MULTIARCH)" ""
171 +- LIBDIR ?= $(PREFIX)/lib/$(DEB_HOST_MULTIARCH)
172 +-else
173 +- #
174 +- # For most other systems
175 +- ifeq "$(shell uname -m)" "x86_64"
176 +- LIBDIR ?= $(PREFIX)/lib64
177 +- endif
178 +-endif
179 +-
180 + export BINDIR SBINDIR MANDIR SYSTEMDUNITDIR LOGROTATEDIR
181 + export INCLUDEDIR LIBDIR DESTDIR PREFIX
182 +
183 +diff --git a/lib/Makefile b/lib/Makefile
184 +index f1c0821..3bef265 100644
185 +--- a/lib/Makefile
186 ++++ b/lib/Makefile
187 +@@ -25,8 +25,12 @@ lib-c: c/$(CRIU_SO)
188 + #
189 + # Python bindings.
190 + lib-py:
191 ++ifeq ($(PYCRIU),yes)
192 + $(call msg-gen, $@)
193 + $(Q) $(MAKE) -C py all
194 ++else
195 ++ $(Q) echo "no py criu"
196 ++endif
197 + .PHONY: lib-py
198 +
199 + all: lib-c lib-py
200 +@@ -43,7 +47,7 @@ clean:
201 + $(Q) $(RM) -r build usr
202 + .PHONY: clean
203 +
204 +-install: lib-c lib-py ../crit/crit c/criu.pc.in
205 ++install: lib-c ../crit/crit c/criu.pc.in
206 + $(E) " INSTALL " $(CRIU_SO)
207 + $(Q) mkdir -p $(DESTDIR)$(LIBDIR)
208 + $(Q) install -m 755 c/$(CRIU_SO) $(DESTDIR)$(LIBDIR)/$(CRIU_SO).$(CRIU_SO_VERSION_MAJOR).$(CRIU_SO_VERSION_MINOR)
209 +@@ -55,8 +59,6 @@ install: lib-c lib-py ../crit/crit c/criu.pc.in
210 + $(Q) mkdir -p $(DESTDIR)$(LIBDIR)/pkgconfig
211 + $(Q) sed -e 's,@version@,$(CRIU_VERSION),' -e 's,@libdir@,$(LIBDIR),' -e 's,@includedir@,$(dir $(INCLUDEDIR)),' c/criu.pc.in > c/criu.pc
212 + $(Q) install -m 644 c/criu.pc $(DESTDIR)$(LIBDIR)/pkgconfig
213 +- $(E) " INSTALL " crit
214 +- $(Q) python ../scripts/crit-setup.py install --root=$(DESTDIR) --prefix=$(PREFIX) --record $(CRIT_SETUP_FILES)
215 + .PHONY: install
216 +
217 + uninstall:
218 +diff --git a/scripts/nmk/scripts/build.mk b/scripts/nmk/scripts/build.mk
219 +index bd40944..3cfbffa 100644
220 +--- a/scripts/nmk/scripts/build.mk
221 ++++ b/scripts/nmk/scripts/build.mk
222 +@@ -87,7 +87,7 @@ builtin-name := $(strip $(builtin-name))
223 +
224 + #
225 + # Link flags.
226 +-ld_flags := $(strip $(LDFLAGS) $(ldflags-y))
227 ++ld_flags := $(strip $(RAW_LDFLAGS) $(ldflags-y))
228 +
229 + #
230 + # $(obj) related rules.