summaryrefslogtreecommitdiff
path: root/sys-process/criu
diff options
context:
space:
mode:
Diffstat (limited to 'sys-process/criu')
-rw-r--r--sys-process/criu/Manifest30
-rw-r--r--sys-process/criu/criu-2.10.ebuild99
-rw-r--r--sys-process/criu/criu-2.11.1.ebuild99
-rw-r--r--sys-process/criu/criu-2.11.ebuild99
-rw-r--r--sys-process/criu/criu-2.12.1.ebuild100
-rw-r--r--sys-process/criu/criu-2.12.ebuild99
-rw-r--r--sys-process/criu/criu-2.5.ebuild99
-rw-r--r--sys-process/criu/criu-3.4.ebuild98
-rw-r--r--sys-process/criu/files/2.0/criu-2.0-automagic-libbsd.patch17
-rw-r--r--sys-process/criu/files/2.0/criu-2.0-sysroot.patch9
-rw-r--r--sys-process/criu/files/2.2/criu-2.2-flags.patch13
-rw-r--r--sys-process/criu/files/2.2/criu-2.2-makefile.patch77
-rw-r--r--sys-process/criu/files/2.2/criu-2.2-no-git.patch16
-rw-r--r--sys-process/criu/files/2.3/criu-2.3-aarch64.patch22
-rw-r--r--sys-process/criu/files/2.3/criu-2.3-no-git.patch16
-rw-r--r--sys-process/criu/files/2.4/criu-2.4-makefile.patch78
-rw-r--r--sys-process/criu/files/2.5/criu-2.5-automagic-libbsd.patch17
-rw-r--r--sys-process/criu/files/2.9/criu-2.9-makefile.patch78
-rw-r--r--sys-process/criu/files/criu-2.12.1-glibc-2.26.patch49
-rw-r--r--sys-process/criu/files/criu-2.8-automagic-libbsd.patch17
-rw-r--r--sys-process/criu/files/criu-2.8-sysmacros.patch98
-rw-r--r--sys-process/criu/metadata.xml15
22 files changed, 1245 insertions, 0 deletions
diff --git a/sys-process/criu/Manifest b/sys-process/criu/Manifest
new file mode 100644
index 000000000000..b93bb2b3ee93
--- /dev/null
+++ b/sys-process/criu/Manifest
@@ -0,0 +1,30 @@
+AUX 2.0/criu-2.0-automagic-libbsd.patch 473 SHA256 890435557482dfbf7ac546bebe7da39056292b474afa544982ee7d77d7eacb29 SHA512 869cb0fe66588e0a78de7020c5f62a70c267aa7e2744be4915b8bffff01763630dc65f75988471428629d99bbce93831391db60efcbdbaf495c459978e8e05e2 WHIRLPOOL 4811e834b974180a6bcf68c868b31a62acc13aa3b29b2039ddfab4542a1f0c3a41dcf491c6ca1448646338aa45f014b95d4e50ba91ddb8d0bf7493980cec567c
+AUX 2.0/criu-2.0-sysroot.patch 362 SHA256 a60b4e33d0e89df5e0ec07722075ec1445396fb063635d70fbba8780c8ef7be0 SHA512 1ddce6d4072453305dc380c87f9905e441b9554cc8977c2ddc0a4ef4794732bea5c1448519ab8672d36dab5cbe1ec95dc7f8f9548b63d84aa6a7bbddeca77706 WHIRLPOOL 89d1afe37a18c585f693602470f8bb271d236f3fea5f36ccb981a594c2e6cc497518ff3b9411bb61125f01f6eb142a1e7f1f5b634db59f9b9b8021b74ec99f8d
+AUX 2.2/criu-2.2-flags.patch 259 SHA256 47f28dcbf71137d5685605a6d0c633baf080a3764f8c895dd7d9bf0856b59b29 SHA512 d2b122abb9d8878b5d50e11aa6a5323bd16a30f60eb7b746ecb7e4dcaab2a54d7974931778b5d82766d92963dc5075784df87bb736ad5019c66052bd25d9d57d WHIRLPOOL e186d41e345b3edd7511fb858dc15ee5ac623d44012a4f8ba16c7c9f982fb38abb7cd7215991ecab5bdcdb7747b8769e0622d6fde396e6eb79e3e04d5a25dced
+AUX 2.2/criu-2.2-makefile.patch 2453 SHA256 14571b5da3c45a494a31b72ccf92c5f1c3c37deabf18dbf897249001b1de4bc4 SHA512 e56ab0d9ba0fa12fd12e3c419b9b1f37021dd923eab3f1a7ac4d2ab06d7f01d06b1341a06c29ed41feb0dd5baf89195bde34d9b6b1b7b9839eed0ff654f44319 WHIRLPOOL 5236ca78262826da77be7bebe9d908ef3defc892f6ce10797d1186c71042c409b05a62d24c35e5472fa62cfcab90422e54a0a77682947956f23cc89ea3056c5d
+AUX 2.2/criu-2.2-no-git.patch 612 SHA256 29959e87592e6d7e5f0f4173a121f9990a7177846c458804d06f4a8c96fa5ebd SHA512 e10b01d50905788a2e25b9481de548c2f96173b62f7f7bab70eaa197217ac5a8f657f1fc356774dd7b5b0817288e5b0d336ef57aaeb33b6c0a8b5ee427d53c77 WHIRLPOOL 6a3f70165aab831c80cea01b119ea1ab7dacefe911e3ae2eb0a18d6e1b69ff54d0d6c417cb40645efcfd4dc28fab2aa66686856197ca2ba1cf397f46a0fc38a1
+AUX 2.3/criu-2.3-aarch64.patch 533 SHA256 7b4988223d57b1d6bd00dc4097cdbd34dc8a5d6513d0ac05c00900ebe687eef6 SHA512 357b54639e0368077fc33a80fc4c8b3e40831b36ff06c7c45acc6c8de128b146536f41eb5e870f767a5e05ef8977e3b39f6be853471d2a0b2fa6e99f89f85dd1 WHIRLPOOL 186e5ecd64f91075b7a4d13a33f71dbe4368df62c9e13edd176839b432597249c8f1c009db2c9fcc6c1bbbed13d1c5bd2c4b7dd09b8e4550bb40c1bd5f71abe2
+AUX 2.3/criu-2.3-no-git.patch 651 SHA256 d9f0f35e14c6f48921a5da5962003dc4cc401ef5b8c5a481f13cd55e18d85f00 SHA512 9010b79a01f7bab35ca23749d6e61706404cca89d5cdacd31fc32aba82b088becd9997f9a82db460e16bd84d9f38b1b35e90d3c49ad04b0f141d037e9ebafdd8 WHIRLPOOL 45a6ef8f78a7d1dfd69d2fe5c75d9cb2637cab08360ef9e522d11b3938cfbfa6665e2ca4f2e8d33323e4a13933d78c36c2c13dcbb986c78a0d09e4aa20bdf559
+AUX 2.4/criu-2.4-makefile.patch 2497 SHA256 ce2ba8c8f1294ab7228bc41abbe73c33667a6961e5431a946eb9a272e660c1de SHA512 3bb9963907b92d791e54ad57fde2474b77ac4bcd26e7eff67ff098feacd6c0255c560a3d364031e0a4051b9a8c943b9401afb271cfee1d91e58e116a02f3d979 WHIRLPOOL 33a68d38e01f88ccf9ad2d19c8008385964b53c39355a1d6c24ab608a9f16bf7a185c3fca7e8be3b05cf26dfe7b4567194ccc9a7a8dfac7d32ae0c094be8ff24
+AUX 2.5/criu-2.5-automagic-libbsd.patch 516 SHA256 94892df75f51db5636bd501b22ac0c4ed9a0d1cd057abce9ae40ff4116f47f95 SHA512 01f1a6ac36c8c40b2f0d4cecafb2783d7bf7be51af042710615aa79318ef7914cef063b437428c4c2c8b2dd02434abbec7affd3983b4da74aabe429b1ce947b6 WHIRLPOOL bda046129f94aeebc7d74f1f81ec228cfa5dac55a2fd9cb70b5b2f0073103e2a601046dbae7694ffeb2fd87ae4c1daf2c754498b38329ceb8d24b0ad0f29f72c
+AUX 2.9/criu-2.9-makefile.patch 2504 SHA256 b3233d8a3544a3adaaf740001344f01f0e3a008eb770fa8ba283bb46b12c3f0d SHA512 8d0919c1fb7f2672e44f8366eb3df70dae9d687224170b43688365af9be4a974d169c78f84dc2525d32b24188749c992b8b716df840af0ebdace2eaa61eb2366 WHIRLPOOL 660271ecee9220926431232e3544aeb5607dcb579982bdb4df35af8274a95c500ad035781deea226b22be366c892cc06dc4360e81ceb51a0c0f27da19b4c30a2
+AUX criu-2.12.1-glibc-2.26.patch 1838 SHA256 3bbaa9f5c68399eef2259ac474d0543da1ea55c50565e696df4f967b87883b34 SHA512 bd16e6aa787d50e9e9d73c102d2bedeb5550cf6cbbe8bb75a0202660b80407c96b8f59b844902f405c59dcc3ff7baa0531218f654fe6790e64889f4221e3d8b4 WHIRLPOOL 7cb3299ab13acea688695b9af2bde9f72096d9705211d53df30c3f3307bf8e942c326fbff5e95d782dde891b0946e3ac73736dc2ff32da3a499043e59ba48045
+AUX criu-2.8-automagic-libbsd.patch 511 SHA256 169d8eca6fccff4f08f4371dffde4bac85681adbfa00560187c3df796a668f25 SHA512 d43280f988965dc6c7932767a896fa252234aefee99b85651d2d3ea0ffac7dd3fce60c067d9eb7c847ad941cb20eca68a118f77246d56831d083ba01aa8f037a WHIRLPOOL add76130b3c9a26154ec9cac8e2e90cabd848882375320426efc2247ed6620c23bc777b506111bdd8e71d8775288c513efba83bc1acfb8b3f82260c691af0731
+AUX criu-2.8-sysmacros.patch 2546 SHA256 ab0a63c65d6dd0740d9683fc45f9ca7b73c3816d5d5e85208e9343da9fcee812 SHA512 7cfa5c74ff9ac0347477738084ecd622730007fe49132a9f05f019463d0f51b0208ef9b40daf5eb0741d177e0839b65c9f3eee4bab652feafa190b20ec8141b2 WHIRLPOOL 6c426e359c2cd87a4980d5480651fdc968bc7ba937d8a7c26b647deac2a4a1a470d7070db5dd536bed428abb73d6cef18941f0eebd2a27eaf584341a41e15726
+DIST criu-2.10.tar.bz2 640205 SHA256 05359b9def8abfc5967911325791a93468ce889f0f489949f925b371c143260d SHA512 6e59ff8a97297583b9f7d31492f0ac59e217fe6372253584db7f9409a4d890104feb9caac663b17d036c39eb79621be6000a7d5e814b65ce5d151e0a053d324b WHIRLPOOL 6d9dbd92941122256041dfe9f8d3c42e125808845904135631758a8474f10488c29f7881ecf56e05c6b8ba2baf7c4749eb3e17e1f9b510f37ded58741fcf2753
+DIST criu-2.11.1.tar.bz2 644358 SHA256 c5f9236d706af8d2afb1e625c7da12b4ce64d923a772739d3cddb37d29517bea SHA512 2f4a8d19bda1a73ac2f769c327af5aba5903d28547d46361e5124c9a81c76d0cd73c03180aefabdcb9511f0523f982ec99e2657b6ff46b92ac655ede9fdffd97 WHIRLPOOL 510d2bb8800bd7bbefd31e131143b2792009d705d111f439aa20dcab2c4aa2f0b125baaf12277749ec880e7ad9d693290966aeddae409cdd61d1113b9e9277db
+DIST criu-2.11.tar.bz2 645048 SHA256 5f270222ba5e98b33aab7cef61363a11167fec96cf2f87e8a4a325d071e1b9ce SHA512 fba02203c95841909e3d7178b09dd6075fff1e9913ad12ac2aca43aef6e6565fc4f822a5a0dcb3cb146d15c57f0a9c17d6e645375aa3922f93108dfb2477f867 WHIRLPOOL f367093dfe9db1fe22ac028924143941c7ff48280f1b13b0ac0e8657f484a7634b3637ea1de2342ae5e0310e73aa8cad72c81b7100fb4df53e10c37ad3918dc0
+DIST criu-2.12.1.tar.bz2 646855 SHA256 33e4f575a533b66e0571fff0c2b6ced51612789fa3b944b841ec6fc79ed4a0a2 SHA512 7a168bc20665ed3ca9931e6f2fa6d58b87faee38eee30dcdda8dad041ffd90ea7e1bad17d4dcf5c5d8de563eacc64ecbd579b7f4b959a654182a688e94024ba2 WHIRLPOOL 9889ea1e37da4a4425aede6c0408ea8dd0f315d5575d76709f055dc5b054aba4ee96107fa2417ff4a9d4028f5e009b085ef6884ead4f10cc2263ddf06cd13308
+DIST criu-2.12.tar.bz2 646770 SHA256 b707eee3410a833b2d5d7534557c7a21f800f10d8660966d1efdd6396f1a1e4b SHA512 e021772c5d42dd93fe0d6c10a7aa731b600871ba78772169323c661c59d00f4d78ceda3ddfbda76123947f6ff6d2c19e443bb73e018a649e7f3872b73d28763a WHIRLPOOL 19017b586cf5a490393c8b3b3d9ca98f6aa5442812cf4eb8bca45efa7f04c2360d7cbd46c40f1abf84ee6ba82ff2ecc6256f54d553259783a2ba4c36aa7dbaad
+DIST criu-2.5.tar.bz2 605226 SHA256 d2a9ffec0b659c3d3a71e1d473e95e36b208b2563f136ce8f471ff9600fcc51a SHA512 ccf942005ff3b2a567726ddb8aa44048c130f1adf6e2cbdf48e919043c84a4e1c03ad0ec34b44263e5764bea62807a2cc0fa1135b929ad3166fb9486c2880570 WHIRLPOOL 9896fe45d4516a73e6b7c403a044d25902ed4a9000b0a0a053ff9d52c053adfb58c8ce0225b9841bc7e2f38de6a8e4fc6d3073d878ea5b09b81cc89cba91de62
+DIST criu-3.4.tar.bz2 701680 SHA256 876bf32b9351c0034ff8f7064a6e63487f6639aedec115356cc76c436fa437c2 SHA512 71fc700d19b46381873b2d0fa90e7fa253b00beb5e4e6065bbf510766acbcc14b35d58fa8073801112f897d2320b7decca1115fb6853d5fe64f3c52aa40a9f32 WHIRLPOOL 39be8e58635f21868f152a50f163875812d1325212b0c0c5a360152869e03358eb449b86700ee6f242cb890fcf5217c2aceaf3b2781e3b2d7c70ecc1a6c933df
+EBUILD criu-2.10.ebuild 2374 SHA256 a1c7d50dce9fa3e1706f17698d669f79a369b4b06a02e751350cbd41c0e99d13 SHA512 34b46a4bdd1be9c3992fdfb4c20f33c63ff54536f6adfc1d781dd8cdbf22c037817dc6d3ff94e901c34542b2fbef0a7ec26f2265eb7bee34df4dbafa5f21558e WHIRLPOOL 259fa1742c1e74991061fff6f6a66c033bf92c435ac3c013ada2ff4b5a31fdfc1c0da11d0b774ce3a2d54dd7fea4c3ef0a6cf4fb9b87be0a88be34f5900a4651
+EBUILD criu-2.11.1.ebuild 2374 SHA256 a1c7d50dce9fa3e1706f17698d669f79a369b4b06a02e751350cbd41c0e99d13 SHA512 34b46a4bdd1be9c3992fdfb4c20f33c63ff54536f6adfc1d781dd8cdbf22c037817dc6d3ff94e901c34542b2fbef0a7ec26f2265eb7bee34df4dbafa5f21558e WHIRLPOOL 259fa1742c1e74991061fff6f6a66c033bf92c435ac3c013ada2ff4b5a31fdfc1c0da11d0b774ce3a2d54dd7fea4c3ef0a6cf4fb9b87be0a88be34f5900a4651
+EBUILD criu-2.11.ebuild 2374 SHA256 a1c7d50dce9fa3e1706f17698d669f79a369b4b06a02e751350cbd41c0e99d13 SHA512 34b46a4bdd1be9c3992fdfb4c20f33c63ff54536f6adfc1d781dd8cdbf22c037817dc6d3ff94e901c34542b2fbef0a7ec26f2265eb7bee34df4dbafa5f21558e WHIRLPOOL 259fa1742c1e74991061fff6f6a66c033bf92c435ac3c013ada2ff4b5a31fdfc1c0da11d0b774ce3a2d54dd7fea4c3ef0a6cf4fb9b87be0a88be34f5900a4651
+EBUILD criu-2.12.1.ebuild 2419 SHA256 51860fedfcfd98c8d861bfcb247f869576e8ae0314e1da4528c5a8e4f1690df7 SHA512 b9b6778fa3737115ce44409f92a11aab988556914dc173bc64b289a210b15cca94cb6310c005325b167298723e25869a7af13445857774bd5d9256f6dfcd292c WHIRLPOOL aeeb4e160c08de34c671ca87d5720234ef6285edaa8d0941589f4cba8c7ab61f157f78c92699b754f7d9758545e6a9bdcde8a0d026082f306c887f2b31af0cac
+EBUILD criu-2.12.ebuild 2374 SHA256 a1c7d50dce9fa3e1706f17698d669f79a369b4b06a02e751350cbd41c0e99d13 SHA512 34b46a4bdd1be9c3992fdfb4c20f33c63ff54536f6adfc1d781dd8cdbf22c037817dc6d3ff94e901c34542b2fbef0a7ec26f2265eb7bee34df4dbafa5f21558e WHIRLPOOL 259fa1742c1e74991061fff6f6a66c033bf92c435ac3c013ada2ff4b5a31fdfc1c0da11d0b774ce3a2d54dd7fea4c3ef0a6cf4fb9b87be0a88be34f5900a4651
+EBUILD criu-2.5.ebuild 2400 SHA256 e77c84611c0b1bbcc04e0f57120651abe235b674910a88cda6e88fac93602c40 SHA512 234732d2a5267fcb757cbc9a116041cad81366bba9b9ce7155733b195146989aaab634f4ab073dfbc19621a5b5b6070b560440d53e1b77747ea58b675e538191 WHIRLPOOL 14d16f06089bb4b742448db2bacfe4cf37899b0aebfb0f82c3bf2b054a26962fbe02b4f74b2dd5cc06242a6bb5eb9621a003663062fd57cb7d187fdd5bc4c106
+EBUILD criu-3.4.ebuild 2331 SHA256 1196fd4982f75c563da4dcf40c0985c16af6a1489521478ec83e8f35240b3244 SHA512 3e0837e12873e795df846355df350ae9a5eb2c17f66218fde84205fdbcbc11dde35dd99c92f0be9b4cb435e6d3587c5580bcd08de9e1ac616f48de3970ce9199 WHIRLPOOL f604c3d3f899a40a70a7c09045c73c88a95e114c87e7e6d3228adc33271bb3ceb8925ffc4a9e4b818de06b8bdded5262f6b652018bc644d8e539100c1052c895
+MISC ChangeLog 9086 SHA256 8736e9cc8c112694c2ee05b36332f57dd31fc9ee35be43e27bd3c956cbc137b7 SHA512 a0815d55bc4108ffabbc50da6aa18c875c644e8af6d3714d385ffa4d6d5865486e15f1c5319b1cba096aff20810cd8e0d5a92f14a60fdb0c72d591160944e0ad WHIRLPOOL 97f9b33612ee80d20308d8a5c747c10462cc96bc6b5317165db8eec4d06ee9b964a28bf2b428fee911943258d4bf2f2d7434ff80597530057539326049c91b97
+MISC ChangeLog-2015 3979 SHA256 46fcfb63c6b34305db0019fd8a5d6384a7eccd0de30a4a08c1f6fb0b4eca5804 SHA512 3c8dd02e58352d24656c8708347c121d569a15d2ee1be66801d9721889d8d8eda908231737d46444d0551618e1d064da47cbd0692e3924968cc9047e30c86c20 WHIRLPOOL d3d3f238410acb70795226b25fba074083520dc28bce75a48623e36fcde0e12790a424fdf338db4e7df3b9eca7887e3d20a44b65627b08cfd02fffd034815ad2
+MISC metadata.xml 480 SHA256 b333644cdfce317609b8c1114d1242bde7ca594a9a50f1214623bdc93a7440b9 SHA512 0a108eed5d8cdb1818b9c497377b3a83b282354c9402f1ee6473df4eca6ab75f508b3faba55a88007ca225238ac0c00fa1c0d845fdd4c98556f1c03b6f33a764 WHIRLPOOL 8438fb58763e507a52a301e8a96dc20e121a9d6fd9d02f74721d6978871ada2cd1d3742276854785404f93b1e3568e59b4c90f20a112f0f8a0abc949c5ca2915
diff --git a/sys-process/criu/criu-2.10.ebuild b/sys-process/criu/criu-2.10.ebuild
new file mode 100644
index 000000000000..8478ddd0274d
--- /dev/null
+++ b/sys-process/criu/criu-2.10.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils toolchain-funcs linux-info flag-o-matic python-r1 python-utils-r1
+
+DESCRIPTION="utility to checkpoint/restore a process tree"
+HOMEPAGE="http://criu.org/"
+SRC_URI="http://download.openvz.org/criu/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64"
+IUSE="python setproctitle"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="dev-libs/protobuf-c
+ dev-libs/libnl:3
+ net-libs/libnet:1.1
+ sys-libs/libcap
+ python? ( ${PYTHON_DEPS} )
+ setproctitle? ( dev-libs/libbsd )"
+DEPEND="${RDEPEND}
+ app-text/asciidoc
+ app-text/xmlto"
+RDEPEND="${RDEPEND}
+ python? (
+ || (
+ dev-python/protobuf-python[${PYTHON_USEDEP}]
+ dev-libs/protobuf[python,${PYTHON_USEDEP}]
+ )
+ dev-python/ipaddr[${PYTHON_USEDEP}]
+ )"
+
+CONFIG_CHECK="~CHECKPOINT_RESTORE ~NAMESPACES ~PID_NS ~FHANDLE ~EVENTFD ~EPOLL ~INOTIFY_USER
+ ~IA32_EMULATION ~UNIX_DIAG ~INET_DIAG ~INET_UDP_DIAG ~PACKET_DIAG ~NETLINK_DIAG"
+
+RESTRICT="test"
+
+PATCHES=(
+ "${FILESDIR}"/2.2/${PN}-2.2-flags.patch
+ "${FILESDIR}"/2.3/${PN}-2.3-no-git.patch
+ "${FILESDIR}"/${PN}-2.8-automagic-libbsd.patch
+ "${FILESDIR}"/2.0/${PN}-2.0-sysroot.patch
+ "${FILESDIR}"/2.3/${PN}-2.3-aarch64.patch
+)
+
+criu_arch() {
+ # criu infers the arch from $(uname -m). We never want this to happen.
+ case ${ARCH} in
+ amd64) echo "x86";;
+ arm64) echo "aarch64";;
+ *) echo "${ARCH}";;
+ esac
+}
+
+src_compile() {
+ RAW_LDFLAGS="$(raw-ldflags)" emake \
+ CC="$(tc-getCC)" \
+ LD="$(tc-getLD)" \
+ OBJCOPY="$(tc-getOBJCOPY)" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ ARCH="$(criu_arch)" \
+ V=1 WERROR=0 DEBUG=0 \
+ SETPROCTITLE=$(usex setproctitle) \
+ PYCRIU=$(usex python) \
+ all docs
+}
+
+src_test() {
+ # root privileges are required to dump all necessary info
+ if [[ ${EUID} -eq 0 ]] ; then
+ emake -j1 CC="$(tc-getCC)" ARCH="$(criu_arch)" V=1 WERROR=0 test
+ fi
+}
+
+install_crit() {
+ "${PYTHON:-python}" ../scripts/crit-setup.py install --root="${D}" --prefix="${EPREFIX}/usr/"
+}
+
+src_install() {
+ emake \
+ ARCH="$(criu_arch)" \
+ PREFIX="${EPREFIX}"/usr \
+ LOGROTATEDIR="${EPREFIX}"/etc/logrotate.d \
+ DESTDIR="${D}" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ install
+
+ dodoc CREDITS README.md
+
+ if use python ; then
+ cd lib
+ python_foreach_impl install_crit
+ fi
+}
diff --git a/sys-process/criu/criu-2.11.1.ebuild b/sys-process/criu/criu-2.11.1.ebuild
new file mode 100644
index 000000000000..8478ddd0274d
--- /dev/null
+++ b/sys-process/criu/criu-2.11.1.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils toolchain-funcs linux-info flag-o-matic python-r1 python-utils-r1
+
+DESCRIPTION="utility to checkpoint/restore a process tree"
+HOMEPAGE="http://criu.org/"
+SRC_URI="http://download.openvz.org/criu/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64"
+IUSE="python setproctitle"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="dev-libs/protobuf-c
+ dev-libs/libnl:3
+ net-libs/libnet:1.1
+ sys-libs/libcap
+ python? ( ${PYTHON_DEPS} )
+ setproctitle? ( dev-libs/libbsd )"
+DEPEND="${RDEPEND}
+ app-text/asciidoc
+ app-text/xmlto"
+RDEPEND="${RDEPEND}
+ python? (
+ || (
+ dev-python/protobuf-python[${PYTHON_USEDEP}]
+ dev-libs/protobuf[python,${PYTHON_USEDEP}]
+ )
+ dev-python/ipaddr[${PYTHON_USEDEP}]
+ )"
+
+CONFIG_CHECK="~CHECKPOINT_RESTORE ~NAMESPACES ~PID_NS ~FHANDLE ~EVENTFD ~EPOLL ~INOTIFY_USER
+ ~IA32_EMULATION ~UNIX_DIAG ~INET_DIAG ~INET_UDP_DIAG ~PACKET_DIAG ~NETLINK_DIAG"
+
+RESTRICT="test"
+
+PATCHES=(
+ "${FILESDIR}"/2.2/${PN}-2.2-flags.patch
+ "${FILESDIR}"/2.3/${PN}-2.3-no-git.patch
+ "${FILESDIR}"/${PN}-2.8-automagic-libbsd.patch
+ "${FILESDIR}"/2.0/${PN}-2.0-sysroot.patch
+ "${FILESDIR}"/2.3/${PN}-2.3-aarch64.patch
+)
+
+criu_arch() {
+ # criu infers the arch from $(uname -m). We never want this to happen.
+ case ${ARCH} in
+ amd64) echo "x86";;
+ arm64) echo "aarch64";;
+ *) echo "${ARCH}";;
+ esac
+}
+
+src_compile() {
+ RAW_LDFLAGS="$(raw-ldflags)" emake \
+ CC="$(tc-getCC)" \
+ LD="$(tc-getLD)" \
+ OBJCOPY="$(tc-getOBJCOPY)" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ ARCH="$(criu_arch)" \
+ V=1 WERROR=0 DEBUG=0 \
+ SETPROCTITLE=$(usex setproctitle) \
+ PYCRIU=$(usex python) \
+ all docs
+}
+
+src_test() {
+ # root privileges are required to dump all necessary info
+ if [[ ${EUID} -eq 0 ]] ; then
+ emake -j1 CC="$(tc-getCC)" ARCH="$(criu_arch)" V=1 WERROR=0 test
+ fi
+}
+
+install_crit() {
+ "${PYTHON:-python}" ../scripts/crit-setup.py install --root="${D}" --prefix="${EPREFIX}/usr/"
+}
+
+src_install() {
+ emake \
+ ARCH="$(criu_arch)" \
+ PREFIX="${EPREFIX}"/usr \
+ LOGROTATEDIR="${EPREFIX}"/etc/logrotate.d \
+ DESTDIR="${D}" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ install
+
+ dodoc CREDITS README.md
+
+ if use python ; then
+ cd lib
+ python_foreach_impl install_crit
+ fi
+}
diff --git a/sys-process/criu/criu-2.11.ebuild b/sys-process/criu/criu-2.11.ebuild
new file mode 100644
index 000000000000..8478ddd0274d
--- /dev/null
+++ b/sys-process/criu/criu-2.11.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils toolchain-funcs linux-info flag-o-matic python-r1 python-utils-r1
+
+DESCRIPTION="utility to checkpoint/restore a process tree"
+HOMEPAGE="http://criu.org/"
+SRC_URI="http://download.openvz.org/criu/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64"
+IUSE="python setproctitle"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="dev-libs/protobuf-c
+ dev-libs/libnl:3
+ net-libs/libnet:1.1
+ sys-libs/libcap
+ python? ( ${PYTHON_DEPS} )
+ setproctitle? ( dev-libs/libbsd )"
+DEPEND="${RDEPEND}
+ app-text/asciidoc
+ app-text/xmlto"
+RDEPEND="${RDEPEND}
+ python? (
+ || (
+ dev-python/protobuf-python[${PYTHON_USEDEP}]
+ dev-libs/protobuf[python,${PYTHON_USEDEP}]
+ )
+ dev-python/ipaddr[${PYTHON_USEDEP}]
+ )"
+
+CONFIG_CHECK="~CHECKPOINT_RESTORE ~NAMESPACES ~PID_NS ~FHANDLE ~EVENTFD ~EPOLL ~INOTIFY_USER
+ ~IA32_EMULATION ~UNIX_DIAG ~INET_DIAG ~INET_UDP_DIAG ~PACKET_DIAG ~NETLINK_DIAG"
+
+RESTRICT="test"
+
+PATCHES=(
+ "${FILESDIR}"/2.2/${PN}-2.2-flags.patch
+ "${FILESDIR}"/2.3/${PN}-2.3-no-git.patch
+ "${FILESDIR}"/${PN}-2.8-automagic-libbsd.patch
+ "${FILESDIR}"/2.0/${PN}-2.0-sysroot.patch
+ "${FILESDIR}"/2.3/${PN}-2.3-aarch64.patch
+)
+
+criu_arch() {
+ # criu infers the arch from $(uname -m). We never want this to happen.
+ case ${ARCH} in
+ amd64) echo "x86";;
+ arm64) echo "aarch64";;
+ *) echo "${ARCH}";;
+ esac
+}
+
+src_compile() {
+ RAW_LDFLAGS="$(raw-ldflags)" emake \
+ CC="$(tc-getCC)" \
+ LD="$(tc-getLD)" \
+ OBJCOPY="$(tc-getOBJCOPY)" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ ARCH="$(criu_arch)" \
+ V=1 WERROR=0 DEBUG=0 \
+ SETPROCTITLE=$(usex setproctitle) \
+ PYCRIU=$(usex python) \
+ all docs
+}
+
+src_test() {
+ # root privileges are required to dump all necessary info
+ if [[ ${EUID} -eq 0 ]] ; then
+ emake -j1 CC="$(tc-getCC)" ARCH="$(criu_arch)" V=1 WERROR=0 test
+ fi
+}
+
+install_crit() {
+ "${PYTHON:-python}" ../scripts/crit-setup.py install --root="${D}" --prefix="${EPREFIX}/usr/"
+}
+
+src_install() {
+ emake \
+ ARCH="$(criu_arch)" \
+ PREFIX="${EPREFIX}"/usr \
+ LOGROTATEDIR="${EPREFIX}"/etc/logrotate.d \
+ DESTDIR="${D}" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ install
+
+ dodoc CREDITS README.md
+
+ if use python ; then
+ cd lib
+ python_foreach_impl install_crit
+ fi
+}
diff --git a/sys-process/criu/criu-2.12.1.ebuild b/sys-process/criu/criu-2.12.1.ebuild
new file mode 100644
index 000000000000..dcaf87f2ca35
--- /dev/null
+++ b/sys-process/criu/criu-2.12.1.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils toolchain-funcs linux-info flag-o-matic python-r1 python-utils-r1
+
+DESCRIPTION="utility to checkpoint/restore a process tree"
+HOMEPAGE="http://criu.org/"
+SRC_URI="http://download.openvz.org/criu/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64"
+IUSE="python setproctitle"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="dev-libs/protobuf-c
+ dev-libs/libnl:3
+ net-libs/libnet:1.1
+ sys-libs/libcap
+ python? ( ${PYTHON_DEPS} )
+ setproctitle? ( dev-libs/libbsd )"
+DEPEND="${RDEPEND}
+ app-text/asciidoc
+ app-text/xmlto"
+RDEPEND="${RDEPEND}
+ python? (
+ || (
+ dev-python/protobuf-python[${PYTHON_USEDEP}]
+ dev-libs/protobuf[python,${PYTHON_USEDEP}]
+ )
+ dev-python/ipaddr[${PYTHON_USEDEP}]
+ )"
+
+CONFIG_CHECK="~CHECKPOINT_RESTORE ~NAMESPACES ~PID_NS ~FHANDLE ~EVENTFD ~EPOLL ~INOTIFY_USER
+ ~IA32_EMULATION ~UNIX_DIAG ~INET_DIAG ~INET_UDP_DIAG ~PACKET_DIAG ~NETLINK_DIAG"
+
+RESTRICT="test"
+
+PATCHES=(
+ "${FILESDIR}"/2.2/${PN}-2.2-flags.patch
+ "${FILESDIR}"/2.3/${PN}-2.3-no-git.patch
+ "${FILESDIR}"/${PN}-2.8-automagic-libbsd.patch
+ "${FILESDIR}"/2.0/${PN}-2.0-sysroot.patch
+ "${FILESDIR}"/2.3/${PN}-2.3-aarch64.patch
+ "${FILESDIR}"/${PN}-2.12.1-glibc-2.26.patch
+)
+
+criu_arch() {
+ # criu infers the arch from $(uname -m). We never want this to happen.
+ case ${ARCH} in
+ amd64) echo "x86";;
+ arm64) echo "aarch64";;
+ *) echo "${ARCH}";;
+ esac
+}
+
+src_compile() {
+ RAW_LDFLAGS="$(raw-ldflags)" emake \
+ CC="$(tc-getCC)" \
+ LD="$(tc-getLD)" \
+ OBJCOPY="$(tc-getOBJCOPY)" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ ARCH="$(criu_arch)" \
+ V=1 WERROR=0 DEBUG=0 \
+ SETPROCTITLE=$(usex setproctitle) \
+ PYCRIU=$(usex python) \
+ all docs
+}
+
+src_test() {
+ # root privileges are required to dump all necessary info
+ if [[ ${EUID} -eq 0 ]] ; then
+ emake -j1 CC="$(tc-getCC)" ARCH="$(criu_arch)" V=1 WERROR=0 test
+ fi
+}
+
+install_crit() {
+ "${PYTHON:-python}" ../scripts/crit-setup.py install --root="${D}" --prefix="${EPREFIX}/usr/"
+}
+
+src_install() {
+ emake \
+ ARCH="$(criu_arch)" \
+ PREFIX="${EPREFIX}"/usr \
+ LOGROTATEDIR="${EPREFIX}"/etc/logrotate.d \
+ DESTDIR="${D}" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ install
+
+ dodoc CREDITS README.md
+
+ if use python ; then
+ cd lib
+ python_foreach_impl install_crit
+ fi
+}
diff --git a/sys-process/criu/criu-2.12.ebuild b/sys-process/criu/criu-2.12.ebuild
new file mode 100644
index 000000000000..8478ddd0274d
--- /dev/null
+++ b/sys-process/criu/criu-2.12.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils toolchain-funcs linux-info flag-o-matic python-r1 python-utils-r1
+
+DESCRIPTION="utility to checkpoint/restore a process tree"
+HOMEPAGE="http://criu.org/"
+SRC_URI="http://download.openvz.org/criu/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64"
+IUSE="python setproctitle"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="dev-libs/protobuf-c
+ dev-libs/libnl:3
+ net-libs/libnet:1.1
+ sys-libs/libcap
+ python? ( ${PYTHON_DEPS} )
+ setproctitle? ( dev-libs/libbsd )"
+DEPEND="${RDEPEND}
+ app-text/asciidoc
+ app-text/xmlto"
+RDEPEND="${RDEPEND}
+ python? (
+ || (
+ dev-python/protobuf-python[${PYTHON_USEDEP}]
+ dev-libs/protobuf[python,${PYTHON_USEDEP}]
+ )
+ dev-python/ipaddr[${PYTHON_USEDEP}]
+ )"
+
+CONFIG_CHECK="~CHECKPOINT_RESTORE ~NAMESPACES ~PID_NS ~FHANDLE ~EVENTFD ~EPOLL ~INOTIFY_USER
+ ~IA32_EMULATION ~UNIX_DIAG ~INET_DIAG ~INET_UDP_DIAG ~PACKET_DIAG ~NETLINK_DIAG"
+
+RESTRICT="test"
+
+PATCHES=(
+ "${FILESDIR}"/2.2/${PN}-2.2-flags.patch
+ "${FILESDIR}"/2.3/${PN}-2.3-no-git.patch
+ "${FILESDIR}"/${PN}-2.8-automagic-libbsd.patch
+ "${FILESDIR}"/2.0/${PN}-2.0-sysroot.patch
+ "${FILESDIR}"/2.3/${PN}-2.3-aarch64.patch
+)
+
+criu_arch() {
+ # criu infers the arch from $(uname -m). We never want this to happen.
+ case ${ARCH} in
+ amd64) echo "x86";;
+ arm64) echo "aarch64";;
+ *) echo "${ARCH}";;
+ esac
+}
+
+src_compile() {
+ RAW_LDFLAGS="$(raw-ldflags)" emake \
+ CC="$(tc-getCC)" \
+ LD="$(tc-getLD)" \
+ OBJCOPY="$(tc-getOBJCOPY)" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ ARCH="$(criu_arch)" \
+ V=1 WERROR=0 DEBUG=0 \
+ SETPROCTITLE=$(usex setproctitle) \
+ PYCRIU=$(usex python) \
+ all docs
+}
+
+src_test() {
+ # root privileges are required to dump all necessary info
+ if [[ ${EUID} -eq 0 ]] ; then
+ emake -j1 CC="$(tc-getCC)" ARCH="$(criu_arch)" V=1 WERROR=0 test
+ fi
+}
+
+install_crit() {
+ "${PYTHON:-python}" ../scripts/crit-setup.py install --root="${D}" --prefix="${EPREFIX}/usr/"
+}
+
+src_install() {
+ emake \
+ ARCH="$(criu_arch)" \
+ PREFIX="${EPREFIX}"/usr \
+ LOGROTATEDIR="${EPREFIX}"/etc/logrotate.d \
+ DESTDIR="${D}" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ install
+
+ dodoc CREDITS README.md
+
+ if use python ; then
+ cd lib
+ python_foreach_impl install_crit
+ fi
+}
diff --git a/sys-process/criu/criu-2.5.ebuild b/sys-process/criu/criu-2.5.ebuild
new file mode 100644
index 000000000000..c234bdc1508a
--- /dev/null
+++ b/sys-process/criu/criu-2.5.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils toolchain-funcs linux-info flag-o-matic python-r1 python-utils-r1
+
+DESCRIPTION="utility to checkpoint/restore a process tree"
+HOMEPAGE="http://criu.org/"
+SRC_URI="http://download.openvz.org/criu/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64"
+IUSE="python setproctitle"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="dev-libs/protobuf-c
+ dev-libs/libnl:3
+ sys-libs/libcap
+ python? ( ${PYTHON_DEPS} )
+ setproctitle? ( dev-libs/libbsd )"
+DEPEND="${RDEPEND}
+ app-text/asciidoc
+ app-text/xmlto"
+RDEPEND="${RDEPEND}
+ python? (
+ || (
+ dev-python/protobuf-python[${PYTHON_USEDEP}]
+ dev-libs/protobuf[python,${PYTHON_USEDEP}]
+ )
+ dev-python/ipaddr[${PYTHON_USEDEP}]
+ )"
+
+CONFIG_CHECK="~CHECKPOINT_RESTORE ~NAMESPACES ~PID_NS ~FHANDLE ~EVENTFD ~EPOLL ~INOTIFY_USER
+ ~IA32_EMULATION ~UNIX_DIAG ~INET_DIAG ~INET_UDP_DIAG ~PACKET_DIAG ~NETLINK_DIAG"
+
+RESTRICT="test"
+
+PATCHES=(
+ "${FILESDIR}"/2.2/${PN}-2.2-flags.patch
+ "${FILESDIR}"/2.4/${PN}-2.4-makefile.patch
+ "${FILESDIR}"/2.3/${PN}-2.3-no-git.patch
+ "${FILESDIR}"/2.5/${PN}-2.5-automagic-libbsd.patch
+ "${FILESDIR}"/2.0/${PN}-2.0-sysroot.patch
+ "${FILESDIR}"/2.3/${PN}-2.3-aarch64.patch
+)
+
+criu_arch() {
+ # criu infers the arch from $(uname -m). We never want this to happen.
+ case ${ARCH} in
+ amd64) echo "x86";;
+ arm64) echo "aarch64";;
+ *) echo "${ARCH}";;
+ esac
+}
+
+src_compile() {
+ RAW_LDFLAGS="$(raw-ldflags)" emake \
+ CC="$(tc-getCC)" \
+ LD="$(tc-getLD)" \
+ OBJCOPY="$(tc-getOBJCOPY)" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ ARCH="$(criu_arch)" \
+ V=1 WERROR=0 DEBUG=0 \
+ SETPROCTITLE=$(usex setproctitle) \
+ PYCRIU=$(usex python) \
+ all docs
+}
+
+src_test() {
+ # root privileges are required to dump all necessary info
+ if [[ ${EUID} -eq 0 ]] ; then
+ emake -j1 CC="$(tc-getCC)" ARCH="$(criu_arch)" V=1 WERROR=0 test
+ fi
+}
+
+install_crit() {
+ "${PYTHON:-python}" ../scripts/crit-setup.py install --root="${D}" --prefix="${EPREFIX}/usr/"
+}
+
+src_install() {
+ emake \
+ ARCH="$(criu_arch)" \
+ PREFIX="${EPREFIX}"/usr \
+ LOGROTATEDIR="${EPREFIX}"/etc/logrotate.d \
+ DESTDIR="${D}" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ install
+
+ dodoc CREDITS README.md
+
+ if use python ; then
+ cd lib
+ python_foreach_impl install_crit
+ fi
+}
diff --git a/sys-process/criu/criu-3.4.ebuild b/sys-process/criu/criu-3.4.ebuild
new file mode 100644
index 000000000000..2aec9b89b4a4
--- /dev/null
+++ b/sys-process/criu/criu-3.4.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils toolchain-funcs linux-info flag-o-matic python-r1 python-utils-r1
+
+DESCRIPTION="utility to checkpoint/restore a process tree"
+HOMEPAGE="http://criu.org/"
+SRC_URI="http://download.openvz.org/criu/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64"
+IUSE="python setproctitle"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="dev-libs/protobuf-c
+ dev-libs/libnl:3
+ net-libs/libnet:1.1
+ sys-libs/libcap
+ python? ( ${PYTHON_DEPS} )
+ setproctitle? ( dev-libs/libbsd )"
+DEPEND="${RDEPEND}
+ app-text/asciidoc
+ app-text/xmlto"
+RDEPEND="${RDEPEND}
+ python? (
+ || (
+ dev-python/protobuf-python[${PYTHON_USEDEP}]
+ dev-libs/protobuf[python,${PYTHON_USEDEP}]
+ )
+ dev-python/ipaddr[${PYTHON_USEDEP}]
+ )"
+
+CONFIG_CHECK="~CHECKPOINT_RESTORE ~NAMESPACES ~PID_NS ~FHANDLE ~EVENTFD ~EPOLL ~INOTIFY_USER
+ ~IA32_EMULATION ~UNIX_DIAG ~INET_DIAG ~INET_UDP_DIAG ~PACKET_DIAG ~NETLINK_DIAG"
+
+RESTRICT="test"
+
+PATCHES=(
+ "${FILESDIR}"/2.2/${PN}-2.2-flags.patch
+ "${FILESDIR}"/2.3/${PN}-2.3-no-git.patch
+ "${FILESDIR}"/${PN}-2.8-automagic-libbsd.patch
+ "${FILESDIR}"/2.0/${PN}-2.0-sysroot.patch
+)
+
+criu_arch() {
+ # criu infers the arch from $(uname -m). We never want this to happen.
+ case ${ARCH} in
+ amd64) echo "x86";;
+ arm64) echo "aarch64";;
+ *) echo "${ARCH}";;
+ esac
+}
+
+src_compile() {
+ RAW_LDFLAGS="$(raw-ldflags)" emake \
+ CC="$(tc-getCC)" \
+ LD="$(tc-getLD)" \
+ OBJCOPY="$(tc-getOBJCOPY)" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ ARCH="$(criu_arch)" \
+ V=1 WERROR=0 DEBUG=0 \
+ SETPROCTITLE=$(usex setproctitle) \
+ PYCRIU=$(usex python) \
+ all docs
+}
+
+src_test() {
+ # root privileges are required to dump all necessary info
+ if [[ ${EUID} -eq 0 ]] ; then
+ emake -j1 CC="$(tc-getCC)" ARCH="$(criu_arch)" V=1 WERROR=0 test
+ fi
+}
+
+install_crit() {
+ "${PYTHON:-python}" ../scripts/crit-setup.py install --root="${D}" --prefix="${EPREFIX}/usr/"
+}
+
+src_install() {
+ emake \
+ ARCH="$(criu_arch)" \
+ PREFIX="${EPREFIX}"/usr \
+ LOGROTATEDIR="${EPREFIX}"/etc/logrotate.d \
+ DESTDIR="${D}" \
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
+ install
+
+ dodoc CREDITS README.md
+
+ if use python ; then
+ cd lib
+ python_foreach_impl install_crit
+ fi
+}
diff --git a/sys-process/criu/files/2.0/criu-2.0-automagic-libbsd.patch b/sys-process/criu/files/2.0/criu-2.0-automagic-libbsd.patch
new file mode 100644
index 000000000000..3f39ef63f82f
--- /dev/null
+++ b/sys-process/criu/files/2.0/criu-2.0-automagic-libbsd.patch
@@ -0,0 +1,17 @@
+diff --git a/criu/Makefile.config b/criu/Makefile.config
+index aaaca1f..e977bcd 100644
+--- a/criu/Makefile.config
++++ b/criu/Makefile.config
+@@ -4,10 +4,12 @@ include ../scripts/feature-tests.mak
+
+ CONFIG_HEADER := include/config.h
+
++ifeq ($(SETPROCTITLE),yes)
+ ifeq ($(call try-cc,$(FEATURE_TEST_LIBBSD_DEV),-lbsd),y)
+ LIBS += -lbsd
+ DEFINES += -DCONFIG_HAS_LIBBSD
+ endif
++endif
+
+ ifeq ($(call pkg-config-check,libselinux),y)
+ LIBS += -lselinux
diff --git a/sys-process/criu/files/2.0/criu-2.0-sysroot.patch b/sys-process/criu/files/2.0/criu-2.0-sysroot.patch
new file mode 100644
index 000000000000..4dcb0fb2c95a
--- /dev/null
+++ b/sys-process/criu/files/2.0/criu-2.0-sysroot.patch
@@ -0,0 +1,9 @@
+Using host headers when cross compiling is not a great idea.
+
+Index: criu-2.0/criu/Makefile
+===================================================================
+--- criu-2.0.orig/criu/Makefile
++++ criu-2.0/criu/Makefile
+@@ -51,1 +51,1 @@ ccflags-y += -iquote $(SRC_DIR)/criu/pi
+-ccflags-y += -I/usr/include/libnl3
++ccflags-y += -I${SYSROOT}/usr/include/libnl3
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
new file mode 100644
index 000000000000..97a806ba3414
--- /dev/null
+++ b/sys-process/criu/files/2.2/criu-2.2-flags.patch
@@ -0,0 +1,13 @@
+diff --git a/Makefile b/Makefile
+index 037d38f..7c85403 100644
+--- a/Makefile
++++ b/Makefile
+@@ -97,8 +97,6 @@ endif
+ ifeq ($(DEBUG),1)
+ DEFINES += -DCR_DEBUG
+ CFLAGS += -O0 -ggdb3
+-else
+- CFLAGS += -O2 -g
+ endif
+
+ ifeq ($(GMON),1)
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
new file mode 100644
index 000000000000..e4e856d8ba72
--- /dev/null
+++ b/sys-process/criu/files/2.2/criu-2.2-makefile.patch
@@ -0,0 +1,77 @@
+diff --git a/Makefile.install b/Makefile.install
+index b3f5551..2349107 100644
+--- a/Makefile.install
++++ b/Makefile.install
+@@ -6,23 +6,10 @@ BINDIR ?= $(PREFIX)/bin
+ SBINDIR ?= $(PREFIX)/sbin
+ MANDIR ?= $(PREFIX)/share/man
+ SYSTEMDUNITDIR ?= $(PREFIX)/lib/systemd/system/
+-LOGROTATEDIR ?= $(PREFIX)/etc/logrotate.d/
++LOGROTATEDIR ?= $(SYSCONFDIR)/etc/logrotate.d/
+ LIBDIR ?= $(PREFIX)/lib
+ INCLUDEDIR ?= $(PREFIX)/include/criu
+
+-#
+-# For recent Debian/Ubuntu with multiarch support.
+-DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH 2>/dev/null)
+-ifneq "$(DEB_HOST_MULTIARCH)" ""
+- LIBDIR ?= $(PREFIX)/lib/$(DEB_HOST_MULTIARCH)
+-else
+- #
+- # For most other systems
+- ifeq "$(shell uname -m)" "x86_64"
+- LIBDIR ?= $(PREFIX)/lib64
+- endif
+-endif
+-
+ export BINDIR SBINDIR MANDIR SYSTEMDUNITDIR LOGROTATEDIR
+ export INCLUDEDIR LIBDIR DESTDIR PREFIX
+
+diff --git a/lib/Makefile b/lib/Makefile
+index f1c0821..3bef265 100644
+--- a/lib/Makefile
++++ b/lib/Makefile
+@@ -25,8 +25,12 @@ lib-c: c/$(CRIU_SO)
+ #
+ # Python bindings.
+ lib-py:
++ifeq ($(PYCRIU),yes)
+ $(call msg-gen, $@)
+ $(Q) $(MAKE) -C py all
++else
++ $(Q) echo "no py criu"
++endif
+ .PHONY: lib-py
+
+ all: lib-c lib-py
+@@ -43,7 +47,7 @@ clean:
+ $(Q) $(RM) -r build usr
+ .PHONY: clean
+
+-install: lib-c lib-py ../crit/crit c/criu.pc.in
++install: lib-c ../crit/crit c/criu.pc.in
+ $(E) " INSTALL " $(CRIU_SO)
+ $(Q) mkdir -p $(DESTDIR)$(LIBDIR)
+ $(Q) install -m 755 c/$(CRIU_SO) $(DESTDIR)$(LIBDIR)/$(CRIU_SO).$(CRIU_SO_VERSION_MAJOR).$(CRIU_SO_VERSION_MINOR)
+@@ -55,8 +59,6 @@ install: lib-c lib-py ../crit/crit c/criu.pc.in
+ $(Q) mkdir -p $(DESTDIR)$(LIBDIR)/pkgconfig
+ $(Q) sed -e 's,@version@,$(CRIU_VERSION),' -e 's,@libdir@,$(LIBDIR),' -e 's,@includedir@,$(dir $(INCLUDEDIR)),' c/criu.pc.in > c/criu.pc
+ $(Q) install -m 644 c/criu.pc $(DESTDIR)$(LIBDIR)/pkgconfig
+- $(E) " INSTALL " crit
+- $(Q) python ../scripts/crit-setup.py install --root=$(DESTDIR) --prefix=$(PREFIX) --record $(CRIT_SETUP_FILES)
+ .PHONY: install
+
+ uninstall:
+diff --git a/scripts/nmk/scripts/build.mk b/scripts/nmk/scripts/build.mk
+index bd40944..3cfbffa 100644
+--- a/scripts/nmk/scripts/build.mk
++++ b/scripts/nmk/scripts/build.mk
+@@ -87,7 +87,7 @@ builtin-name := $(strip $(builtin-name))
+
+ #
+ # Link flags.
+-ld_flags := $(strip $(LDFLAGS) $(ldflags-y))
++ld_flags := $(strip $(RAW_LDFLAGS) $(ldflags-y))
+
+ #
+ # $(obj) related rules.
diff --git a/sys-process/criu/files/2.2/criu-2.2-no-git.patch b/sys-process/criu/files/2.2/criu-2.2-no-git.patch
new file mode 100644
index 000000000000..0622225c2905
--- /dev/null
+++ b/sys-process/criu/files/2.2/criu-2.2-no-git.patch
@@ -0,0 +1,16 @@
+diff --git a/Makefile b/Makefile
+index 7c85403..20992ed 100644
+--- a/Makefile
++++ b/Makefile
+@@ -179,9 +179,9 @@ test: zdtm
+ # Generating tar requires tag matched CRIU_VERSION.
+ # If not found then simply use GIT's describe with
+ # "v" prefix stripped.
+-head-name := $(shell git tag -l v$(CRIU_VERSION))
++head-name := $(shell if [ -d ".git" ]; then git tag -l v$(CRIU_VERSION); fi)
+ ifeq ($(head-name),)
+- head-name := $(shell git describe)
++ head-name := $(shell if [ -d ".git" ]; then git describe; fi)
+ endif
+ tar-name := $(shell echo $(head-name) | sed -e 's/^v//g')
+ criu-$(tar-name).tar.bz2:
diff --git a/sys-process/criu/files/2.3/criu-2.3-aarch64.patch b/sys-process/criu/files/2.3/criu-2.3-aarch64.patch
new file mode 100644
index 000000000000..e857b6a1aa2b
--- /dev/null
+++ b/sys-process/criu/files/2.3/criu-2.3-aarch64.patch
@@ -0,0 +1,22 @@
+diff --git a/Makefile b/Makefile
+index 0e2636b..ef8f78b 100644
+--- a/Makefile
++++ b/Makefile
+@@ -25,7 +25,7 @@ export SRC_DIR
+
+ #
+ # Architecture specific options.
+-ifneq ($(filter-out x86 arm arm64 ppc64,$(ARCH)),)
++ifneq ($(filter-out x86 arm aarch64 ppc64,$(ARCH)),)
+ $(error "The architecture $(ARCH) isn't supported")
+ endif
+
+@@ -39,7 +39,7 @@ ifeq ($(ARCH),arm)
+ SRCARCH := arm
+ endif
+
+-ifeq ($(ARCH),arm64)
++ifeq ($(ARCH),aarch64)
+ ARCH := aarch64
+ SRCARCH := aarch64
+ VDSO := y
diff --git a/sys-process/criu/files/2.3/criu-2.3-no-git.patch b/sys-process/criu/files/2.3/criu-2.3-no-git.patch
new file mode 100644
index 000000000000..86360cdf1a55
--- /dev/null
+++ b/sys-process/criu/files/2.3/criu-2.3-no-git.patch
@@ -0,0 +1,16 @@
+diff --git a/Makefile b/Makefile
+index 97f63eb..0e2636b 100644
+--- a/Makefile
++++ b/Makefile
+@@ -245,9 +245,9 @@ test: zdtm
+ # Generating tar requires tag matched CRIU_VERSION.
+ # If not found then simply use GIT's describe with
+ # "v" prefix stripped.
+-head-name := $(shell git tag -l v$(CRIU_VERSION))
++head-name := $(shell if [ -d ".git" ]; then git tag -l v$(CRIU_VERSION); fi)
+ ifeq ($(head-name),)
+- head-name := $(shell git describe 2>/dev/null)
++ head-name := $(shell if [ -d ".git" ]; then git describe 2>/dev/null; fi)
+ endif
+ # If no git tag could describe current commit,
+ # use pre-defined CRIU_VERSION with GITID (if any).
diff --git a/sys-process/criu/files/2.4/criu-2.4-makefile.patch b/sys-process/criu/files/2.4/criu-2.4-makefile.patch
new file mode 100644
index 000000000000..8a0fb6d940fc
--- /dev/null
+++ b/sys-process/criu/files/2.4/criu-2.4-makefile.patch
@@ -0,0 +1,78 @@
+diff --git a/Makefile.install b/Makefile.install
+index e3dd551..495ad39 100644
+--- a/Makefile.install
++++ b/Makefile.install
+@@ -6,24 +6,11 @@ BINDIR ?= $(PREFIX)/bin
+ SBINDIR ?= $(PREFIX)/sbin
+ MANDIR ?= $(PREFIX)/share/man
+ SYSTEMDUNITDIR ?= $(PREFIX)/lib/systemd/system/
+-LOGROTATEDIR ?= $(PREFIX)/etc/logrotate.d/
++LOGROTATEDIR ?= $(SYSCONFDIR)/etc/logrotate.d/
+ LIBDIR ?= $(PREFIX)/lib
+ INCLUDEDIR ?= $(PREFIX)/include/criu
+ LIBEXECDIR ?= $(PREFIX)/libexec
+
+-#
+-# For recent Debian/Ubuntu with multiarch support.
+-DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH 2>/dev/null)
+-ifneq "$(DEB_HOST_MULTIARCH)" ""
+- LIBDIR ?= $(PREFIX)/lib/$(DEB_HOST_MULTIARCH)
+-else
+- #
+- # For most other systems
+- ifeq "$(shell uname -m)" "x86_64"
+- LIBDIR ?= $(PREFIX)/lib64
+- endif
+-endif
+-
+ export BINDIR SBINDIR MANDIR SYSTEMDUNITDIR LOGROTATEDIR
+ export INCLUDEDIR LIBDIR DESTDIR PREFIX LIBEXECDIR
+
+diff --git a/lib/Makefile b/lib/Makefile
+index f1c0821..3bef265 100644
+--- a/lib/Makefile
++++ b/lib/Makefile
+@@ -25,8 +25,12 @@ lib-c: c/$(CRIU_SO)
+ #
+ # Python bindings.
+ lib-py:
++ifeq ($(PYCRIU),yes)
+ $(call msg-gen, $@)
+ $(Q) $(MAKE) -C py all
++else
++ $(Q) echo "no py criu"
++endif
+ .PHONY: lib-py
+
+ all: lib-c lib-py
+@@ -43,7 +47,7 @@ clean:
+ $(Q) $(RM) -r build usr
+ .PHONY: clean
+
+-install: lib-c lib-py ../crit/crit c/criu.pc.in
++install: lib-c ../crit/crit c/criu.pc.in
+ $(E) " INSTALL " $(CRIU_SO)
+ $(Q) mkdir -p $(DESTDIR)$(LIBDIR)
+ $(Q) install -m 755 c/$(CRIU_SO) $(DESTDIR)$(LIBDIR)/$(CRIU_SO).$(CRIU_SO_VERSION_MAJOR).$(CRIU_SO_VERSION_MINOR)
+@@ -55,8 +59,6 @@ install: lib-c lib-py ../crit/crit c/criu.pc.in
+ $(Q) mkdir -p $(DESTDIR)$(LIBDIR)/pkgconfig
+ $(Q) sed -e 's,@version@,$(CRIU_VERSION),' -e 's,@libdir@,$(LIBDIR),' -e 's,@includedir@,$(dir $(INCLUDEDIR)),' c/criu.pc.in > c/criu.pc
+ $(Q) install -m 644 c/criu.pc $(DESTDIR)$(LIBDIR)/pkgconfig
+- $(E) " INSTALL " crit
+- $(Q) python ../scripts/crit-setup.py install --root=$(DESTDIR) --prefix=$(PREFIX) --record $(CRIT_SETUP_FILES)
+ .PHONY: install
+
+ uninstall:
+diff --git a/scripts/nmk/scripts/build.mk b/scripts/nmk/scripts/build.mk
+index bd40944..3cfbffa 100644
+--- a/scripts/nmk/scripts/build.mk
++++ b/scripts/nmk/scripts/build.mk
+@@ -87,7 +87,7 @@ builtin-name := $(strip $(builtin-name))
+
+ #
+ # Link flags.
+-ld_flags := $(strip $(LDFLAGS) $(ldflags-y))
++ld_flags := $(strip $(RAW_LDFLAGS) $(ldflags-y))
+
+ #
+ # $(obj) related rules.
diff --git a/sys-process/criu/files/2.5/criu-2.5-automagic-libbsd.patch b/sys-process/criu/files/2.5/criu-2.5-automagic-libbsd.patch
new file mode 100644
index 000000000000..de6509a745c2
--- /dev/null
+++ b/sys-process/criu/files/2.5/criu-2.5-automagic-libbsd.patch
@@ -0,0 +1,17 @@
+diff --git a/criu/Makefile.config b/criu/Makefile.config
+index f531b3b..23a3b23 100644
+--- a/criu/Makefile.config
++++ b/criu/Makefile.config
+@@ -2,10 +2,12 @@ include $(__nmk_dir)/utils.mk
+ include $(__nmk_dir)msg.mk
+ include $(SRC_DIR)/scripts/feature-tests.mak
+
++ifeq ($(SETPROCTITLE),yes)
+ ifeq ($(call try-cc,$(FEATURE_TEST_LIBBSD_DEV),-lbsd),true)
+ LIBS += -lbsd
+ FEATURE_DEFINES += -DCONFIG_HAS_LIBBSD
+ endif
++endif
+
+ ifeq ($(call pkg-config-check,libselinux),y)
+ LIBS += -lselinux
diff --git a/sys-process/criu/files/2.9/criu-2.9-makefile.patch b/sys-process/criu/files/2.9/criu-2.9-makefile.patch
new file mode 100644
index 000000000000..7ec91eebaa33
--- /dev/null
+++ b/sys-process/criu/files/2.9/criu-2.9-makefile.patch
@@ -0,0 +1,78 @@
+diff --git a/Makefile.install b/Makefile.install
+index dbc22e1..23fd1ae 100644
+--- a/Makefile.install
++++ b/Makefile.install
+@@ -6,24 +6,11 @@ BINDIR ?= $(PREFIX)/bin
+ SBINDIR ?= $(PREFIX)/sbin
+ MANDIR ?= $(PREFIX)/share/man
+ SYSTEMDUNITDIR ?= $(PREFIX)/lib/systemd/system/
+-LOGROTATEDIR ?= $(PREFIX)/etc/logrotate.d/
++LOGROTATEDIR ?= $(SYSCONFDIR)/etc/logrotate.d/
+ LIBDIR ?= $(PREFIX)/lib
+ INCLUDEDIR ?= $(PREFIX)/include/criu
+ LIBEXECDIR ?= $(PREFIX)/libexec
+
+-#
+-# For recent Debian/Ubuntu with multiarch support.
+-DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH 2>/dev/null)
+-ifneq "$(DEB_HOST_MULTIARCH)" ""
+- LIBDIR ?= $(PREFIX)/lib/$(DEB_HOST_MULTIARCH)
+-else
+- #
+- # For most other systems
+- ifeq "$(shell uname -m)" "x86_64"
+- LIBDIR ?= $(PREFIX)/lib64
+- endif
+-endif
+-
+ export BINDIR SBINDIR MANDIR SYSTEMDUNITDIR LOGROTATEDIR
+ export INCLUDEDIR LIBDIR DESTDIR PREFIX LIBEXECDIR
+
+diff --git a/lib/Makefile b/lib/Makefile
+index 616f089..aab3189 100644
+--- a/lib/Makefile
++++ b/lib/Makefile
+@@ -25,8 +25,12 @@ lib-c: c/$(CRIU_SO)
+ #
+ # Python bindings.
+ lib-py:
++ifeq ($(PYCRIU),yes)
+ $(call msg-gen, $@)
+ $(Q) $(MAKE) -C py all
++else
++ $(Q) echo "no py criu"
++endif
+ .PHONY: lib-py
+
+ all: lib-c lib-py
+@@ -43,7 +47,7 @@ clean:
+ $(Q) $(RM) -r build usr
+ .PHONY: clean
+
+-install: lib-c lib-py ../crit/crit c/criu.pc.in
++install: lib-c ../crit/crit c/criu.pc.in
+ $(E) " INSTALL " $(CRIU_SO)
+ $(Q) mkdir -p $(DESTDIR)$(LIBDIR)
+ $(Q) install -m 755 c/$(CRIU_SO) $(DESTDIR)$(LIBDIR)/$(CRIU_SO).$(CRIU_SO_VERSION_MAJOR).$(CRIU_SO_VERSION_MINOR)
+@@ -55,8 +59,6 @@ install: lib-c lib-py ../crit/crit c/criu.pc.in
+ $(Q) mkdir -p $(DESTDIR)$(LIBDIR)/pkgconfig
+ $(Q) sed -e 's,@version@,$(CRIU_VERSION),' -e 's,@libdir@,$(LIBDIR),' -e 's,@includedir@,$(dir $(INCLUDEDIR)),' c/criu.pc.in > c/criu.pc
+ $(Q) install -m 644 c/criu.pc $(DESTDIR)$(LIBDIR)/pkgconfig
+- $(E) " INSTALL " crit
+- $(Q) $(PYTHON_BIN) ../scripts/crit-setup.py install --root=$(DESTDIR) --prefix=$(PREFIX) --record $(CRIT_SETUP_FILES)
+ .PHONY: install
+
+ uninstall:
+diff --git a/scripts/nmk/scripts/build.mk b/scripts/nmk/scripts/build.mk
+index 1860d58..e169b0c 100644
+--- a/scripts/nmk/scripts/build.mk
++++ b/scripts/nmk/scripts/build.mk
+@@ -87,7 +87,7 @@ builtin-name := $(strip $(builtin-name))
+
+ #
+ # Link flags.
+-ld_flags := $(strip $(LDFLAGS) $(ldflags-y))
++ld_flags := $(strip $(RAW_LDFLAGS) $(ldflags-y))
+
+ #
+ # $(obj) related rules.
diff --git a/sys-process/criu/files/criu-2.12.1-glibc-2.26.patch b/sys-process/criu/files/criu-2.12.1-glibc-2.26.patch
new file mode 100644
index 000000000000..d378cc88cff9
--- /dev/null
+++ b/sys-process/criu/files/criu-2.12.1-glibc-2.26.patch
@@ -0,0 +1,49 @@
+From d77d8cc402e597bb38edfb4e81db89fd7d96d0b6 Mon Sep 17 00:00:00 2001
+From: Adrian Reber <areber@redhat.com>
+Date: Thu, 29 Jun 2017 14:19:32 +0000
+Subject: [PATCH] fix building with newer glibc
+
+Newer glibc releases have removed SIGUNUSED from bits/signum.h which
+breaks building criu on those systems:
+
+https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=8082d91e1c449e0cb137468b731004a5e605c8c6
+
+SIGSYS returns the same value as SIGUNUSED and testing has shown
+that criu still successfully completes zdtm with this patch.
+
+Signed-off-by: Adrian Reber <areber@redhat.com>
+Reviewed-by: Dmitry Safonov <dsafonov@virtuozzo.com>
+Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
+---
+ criu/cr-restore.c | 1 -
+ test/zdtm/static/pthread01.c | 2 +-
+ 2 files changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/criu/cr-restore.c b/criu/cr-restore.c
+index e8fb4adf..6ba50f18 100644
+--- a/criu/cr-restore.c
++++ b/criu/cr-restore.c
+@@ -880,7 +880,6 @@ static void zombie_prepare_signals(void)
+ (1 << SIGPOLL) |\
+ (1 << SIGIO) |\
+ (1 << SIGSYS) |\
+- (1 << SIGUNUSED)|\
+ (1 << SIGSTKFLT)|\
+ (1 << SIGPWR) \
+ )
+diff --git a/test/zdtm/static/pthread01.c b/test/zdtm/static/pthread01.c
+index 52f849c0..2520fcfe 100644
+--- a/test/zdtm/static/pthread01.c
++++ b/test/zdtm/static/pthread01.c
+@@ -43,7 +43,7 @@ static char *decode_signal(const sigset_t *s, char *buf)
+ COLLECT(SIGTERM); COLLECT(SIGSTKFLT); COLLECT(SIGCHLD); COLLECT(SIGCONT); COLLECT(SIGSTOP);
+ COLLECT(SIGTSTP); COLLECT(SIGTTIN); COLLECT(SIGTTOU); COLLECT(SIGURG); COLLECT(SIGXCPU);
+ COLLECT(SIGXFSZ); COLLECT(SIGVTALRM); COLLECT(SIGPROF); COLLECT(SIGWINCH); COLLECT(SIGIO);
+- COLLECT(SIGPOLL); COLLECT(SIGPWR); COLLECT(SIGSYS); COLLECT(SIGUNUSED);
++ COLLECT(SIGPOLL); COLLECT(SIGPWR); COLLECT(SIGSYS);
+ #undef COLLECT
+
+ return buf;
+--
+2.14.1
+
diff --git a/sys-process/criu/files/criu-2.8-automagic-libbsd.patch b/sys-process/criu/files/criu-2.8-automagic-libbsd.patch
new file mode 100644
index 000000000000..54781ea5f841
--- /dev/null
+++ b/sys-process/criu/files/criu-2.8-automagic-libbsd.patch
@@ -0,0 +1,17 @@
+diff --git a/Makefile.config b/Makefile.config
+index e0d49d2..d1b2b9d 100644
+--- a/Makefile.config
++++ b/Makefile.config
+@@ -2,10 +2,12 @@ include $(__nmk_dir)utils.mk
+ include $(__nmk_dir)msg.mk
+ include $(SRC_DIR)/scripts/feature-tests.mak
+
++ifeq ($(SETPROCTITLE),yes)
+ ifeq ($(call try-cc,$(FEATURE_TEST_LIBBSD_DEV),-lbsd),true)
+ LIBS_FEATURES += -lbsd
+ FEATURE_DEFINES += -DCONFIG_HAS_LIBBSD
+ endif
++endif
+
+ ifeq ($(call pkg-config-check,libselinux),y)
+ LIBS_FEATURES += -lselinux
diff --git a/sys-process/criu/files/criu-2.8-sysmacros.patch b/sys-process/criu/files/criu-2.8-sysmacros.patch
new file mode 100644
index 000000000000..68bba802f4e0
--- /dev/null
+++ b/sys-process/criu/files/criu-2.8-sysmacros.patch
@@ -0,0 +1,98 @@
+https://bugs.gentoo.org/580454
+https://github.com/xemul/criu/pull/257
+
+From 6913c0004eaa4fd11bf3efc8c37fb05108cf18ee Mon Sep 17 00:00:00 2001
+From: Yixun Lan <dlan@gentoo.org>
+Date: Wed, 7 Dec 2016 00:24:42 -0500
+Subject: [PATCH] include sys/sysmacros.h for minor/major/makedev funcs
+
+Since glibc is moving away from implicitly including sys/sysmacros.h
+all the time via sys/types.h, include the header directly in more
+places. This seems to cover most makedev/major/minor usage.
+
+Signed-off-by: Yixun Lan <dlan@gentoo.org>
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ criu/file-lock.c | 1 +
+ criu/include/util.h | 1 +
+ criu/kerndat.c | 1 +
+ criu/proc_parse.c | 1 +
+ test/zdtm/lib/fs.h | 1 +
+ test/zdtm/static/console.c | 1 +
+ 6 files changed, 6 insertions(+)
+
+diff --git a/criu/file-lock.c b/criu/file-lock.c
+index 1ab1e5886965..11d8a194937a 100644
+--- a/criu/file-lock.c
++++ b/criu/file-lock.c
+@@ -5,6 +5,7 @@
+ #include <string.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
++#include <sys/sysmacros.h>
+
+ #include "cr_options.h"
+ #include "imgset.h"
+diff --git a/criu/include/util.h b/criu/include/util.h
+index 8eaee33391c5..1aa40e863acb 100644
+--- a/criu/include/util.h
++++ b/criu/include/util.h
+@@ -10,6 +10,7 @@
+ #include <string.h>
+ #include <sys/types.h>
+ #include <sys/statfs.h>
++#include <sys/sysmacros.h>
+ #include <dirent.h>
+
+ #include "int.h"
+diff --git a/criu/kerndat.c b/criu/kerndat.c
+index f9675bd7ec1d..aeef1b7f6640 100644
+--- a/criu/kerndat.c
++++ b/criu/kerndat.c
+@@ -7,6 +7,7 @@
+ #include <sys/mman.h>
+ #include <errno.h>
+ #include <sys/syscall.h>
++#include <sys/sysmacros.h>
+
+ #include "int.h"
+ #include "log.h"
+diff --git a/criu/proc_parse.c b/criu/proc_parse.c
+index 3f84cdaad99a..a86d31769ded 100644
+--- a/criu/proc_parse.c
++++ b/criu/proc_parse.c
+@@ -9,6 +9,7 @@
+ #include <string.h>
+ #include <ctype.h>
+ #include <linux/fs.h>
++#include <sys/sysmacros.h>
+
+ #include "types.h"
+ #include "common/list.h"
+diff --git a/test/zdtm/lib/fs.h b/test/zdtm/lib/fs.h
+index 972c49b4a068..972b15abad0c 100644
+--- a/test/zdtm/lib/fs.h
++++ b/test/zdtm/lib/fs.h
+@@ -6,6 +6,7 @@
+ #endif
+
+ #include <sys/types.h>
++#include <sys/sysmacros.h>
+
+ #include <limits.h>
+
+diff --git a/test/zdtm/static/console.c b/test/zdtm/static/console.c
+index a86b14639729..41246aea0298 100644
+--- a/test/zdtm/static/console.c
++++ b/test/zdtm/static/console.c
+@@ -8,6 +8,7 @@
+
+ #include <sys/stat.h>
+ #include <sys/types.h>
++#include <sys/sysmacros.h>
+
+ #include "zdtmtst.h"
+
+--
+2.11.0.rc2
+
diff --git a/sys-process/criu/metadata.xml b/sys-process/criu/metadata.xml
new file mode 100644
index 000000000000..1a679807e0a8
--- /dev/null
+++ b/sys-process/criu/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>dlan@gentoo.org</email>
+ <name>Yixun Lan</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>virtualization@gentoo.org</email>
+ <name>Gentoo Virtualization Project</name>
+ </maintainer>
+ <use>
+ <flag name="setproctitle">Make process titles of service workers to be more verbose</flag>
+ </use>
+</pkgmetadata>