From e9c8d7682c15d9ca298a3c86f00726f4ada4bab3 Mon Sep 17 00:00:00 2001 From: Thomas Deutschmann Date: Sun, 14 Jul 2019 18:07:29 +0200 Subject: [PATCH] sys-kernel/genkernel: update ebuild for genkernel v4 Package-Manager: Portage-2.3.68, Repoman-2.3.16 Signed-off-by: Thomas Deutschmann --- sys-kernel/genkernel/Manifest | 24 ++- sys-kernel/genkernel/files/genkernel-4.bash | 74 +++++++ sys-kernel/genkernel/genkernel-9999.ebuild | 213 +++++++++++++------- 3 files changed, 231 insertions(+), 80 deletions(-) create mode 100644 sys-kernel/genkernel/files/genkernel-4.bash diff --git a/sys-kernel/genkernel/Manifest b/sys-kernel/genkernel/Manifest index 4922687f9069..8bb75f3cf1e7 100644 --- a/sys-kernel/genkernel/Manifest +++ b/sys-kernel/genkernel/Manifest @@ -1,11 +1,16 @@ DIST LVM2.2.02.173.tgz 2363504 BLAKE2B a516bc9b68b7b7529f4436d8849ca741eb3ca1b5ac2eb2fb2915507935bdd28b5e234e74c1bce827e5761f57b5936510d08107e0dc1c320190f952c706f128d3 SHA512 c2ea8beafe006abf9282f51ec98600fd0ebff816d53c10ecbb19bbf336ada4825135cf9c92ccd364afb18f8b1d7e163eff5bdec8dfdd70dfb9ba45db2f6bdd5e -DIST LVM2.2.02.183.tgz 2380574 BLAKE2B b1fe71b6cdb8ee20dd53d0ad3399c553487baafa12657ec81a794c84ad161988afdb8693ac247877a2645d693a0740c74c8b991047ed2ba4adc9ec75f1c261a9 SHA512 3947523c6b0862ada40677ed171ed0cf95e070119e377296fc5ccb153e9c4212d34c0b16a887dbd68ccf265525345dabfed2aa59fb3604555429a7e2ecfff4d7 +DIST LVM2.2.02.185.tgz 2386328 BLAKE2B d2e31de3eedd7518ea2d239cb9b36b38e351d7fc070097a1fc4e7934e3636195da3247fba57d684bb0b31b7f3dbdfe29161bd121b2962b2c35c8c9d7914b4506 SHA512 f421505551aec2a09bc862f2fcc1ee825bc4d94c53a01d13265631e99308d60fbca40112be5bc7824cce3ef223c0775d2f6c345f6a3f227229a0566c903841bf DIST LVM2.2.02.88.tgz 1029151 BLAKE2B e3ce91b6c43155a66b79cf25da3973abb19decde3acc37d28daf80d14b1bd574f7d31fbcee4b397f0a146b2e221599079e521d0ac21932ff58b7c9d4fdf93501 SHA512 5c334c2c78220f4f9f082a74cbf0b156e96f2a07b5e55f054ff70c752ada97a67f83fa1d89c02accb7cbe5a62e356588831d96a102b7bf16cdce2591d4e37e4b +DIST btrfs-progs-v5.1.1.tar.xz 2041940 BLAKE2B ca032cf17e78e5892788b677b5a0fead7cf1108fd464facb48e713b259c8c75f8b7714377f75e7b9e595c7c8fa5927fa37d11f43f51e4d898698f9fc5d26a808 SHA512 0f7582893e76d73ac7c0061dd43f65c465ca6308d3447a4e12f95397edcf3b74cc4dd3fad4a139739322650a0d228c4b2d43eb6eb9a09eb92f8fa2a5ef1519cd DIST busybox-1.20.2.tar.bz2 2186738 BLAKE2B 3efa01ee81a9f3af0ccbcf28b1a24e817a28012d27a27c714b3f13fe4a73200af66fb93dcd9adc65de3e3abb26757939ff3d3ba620af08101c27c5f3550e7501 SHA512 089b67cd920f332daf910711739b1e55ba4c76cfa2122dfe5464432e0d76d3af8327837ebc3cc9954deef3e8f766d16a1928aecb2c169fe3de5a722eea7ea3dd DIST busybox-1.26.0.tar.bz2 2143958 BLAKE2B 3a4a227a4308d9d5e00c00fc5e90ee9a1d6345574bdb571cd8b4adab63dcdad3ff7edf30154bb8f8f31a3a658c85641af0f7875d4d533d56bb7c79f28980ebe6 SHA512 9e38c2f4c5ddb6c3a184170b5526c1a78cf53a575ed359fb18c407976cab9788fa95a26ca2d4e5c32e1d639890944d98e118149ee1402b18fe085b0baf0186d3 DIST busybox-1.27.2.tar.bz2 2216527 BLAKE2B 77b8fa325b9ba691c0ac944537efdf5d87011b1a87c1c244588136f78055be9f2a71c77eea5edf1d20cfe50e59b15527511b14160930c946ed4e82c9608cb991 SHA512 d99e86b652562ebe1a5d50e1ba3877a1d1612997c17cb8d8e4212da181211a9b741a881cb051f14cb3ee8aea40226cf2cde80a076baed265d3bc0a4e96a5031c -DIST busybox-1.30.1.tar.bz2 7793781 BLAKE2B 429f6bd48cb6ede81f956d450cf05b799dce9dbd61593b6dd787f353c2de3734d576ddfec644fa5ab6c61895400c32e3cb28c939b06eaa33eef105c8f8f13d8f SHA512 c18b3d06356d4708b4b0e89d23500d2fe494da9f6aac09c0c19a2e5145ba2bfe8261088eae6562c900996b50c5a9c20459f908069267898c8f86fe3b0b7bd80b +DIST busybox-1.31.0.tar.bz2 2427873 BLAKE2B 7fff2ac2c39232f9dbd8ea4af55539e9eb7ab2ddabf2f53534f57cabe00a6096643415275dcfa2730f970994282776f9ce661e99e681989449473182ffe820e1 SHA512 cd58f0b2b6e3bb1b771fcf3d15f420518fb9b10086a45cfb1d7f136ac035be89eec28f9350e42b3fc38454d8bef9190eae0376497487c73785e8fde44c793730 +DIST cryptsetup-2.1.0.tar.xz 10662576 BLAKE2B c79b24c986d5925aed31eddf8f271c3d0f12c89b3f99f953cfa39fe0d9dca2ab3dd2f6ea22141aca0148d6d533d197378b011561075ca26a14ca2e90500a1689 SHA512 f1b68e4d9d0ca2361fe9bdd51c60630dd4ab7a689b7be7756edf4dee12929d2356dd0658c9b940ffe27c033ef289efaf49daf21d250d37fdfa15394b5d821928 DIST dmraid-1.0.0.rc16-3.tar.bz2 232743 BLAKE2B 290c5bb7f1b12ac48627d8afcc346327b2fcce31b1015d5974c956d94f607b297e383158cd8741f03a770cdeb3f42c3e6341ebfcbc2220e122d89c2603eee512 SHA512 7c45e5117adc52fc2094b1b2bad4f4c518a46317a2196611966d72085ba3587c4ac8d1080f9d934888c01788f2b2d3d621c6f0d3e2a023c0fb1f9f3fa7fc127e +DIST dropbear-2019.78.tar.bz2 2708659 BLAKE2B 212b173cfea8655b43a8d93422dd4d3e0d669a67681cb17d6494b6083e6e4c58d21d52850c0cdf414617ee3dcaa071e376d0b5b156b6856cee2e4fe111550f7d SHA512 f667ba8dae17ea89c118642b566f2c134c71bfd0b8bacea5cf7ec87d75ac79bd7cd1864a8788367a89d30ee35427d389ef6416375adff6e83caae30ff3e0549f +DIST e2fsprogs-1.45.2.tar.xz 5560504 BLAKE2B c7764eb7fd67c422007cf2d884496babf78663ce6dab674fb023738b69e270c601dded89fc65fe4e7e1853cf8234772bfc2e28a1189b8dfd3f9e6fa34677f664 SHA512 50fdb7769c789fb143b2e4bd56e6b55eac8f84be5b7074008134fa56d980342c2307e62380f9ba6a8ab9bbc6bbf45b349aad540c8f239cf859706fd33e521e5e +DIST eudev-3.2.8.tar.gz 1894193 BLAKE2B 8709a13031744d5dd2f57853375b920bdaa6ea028624111dc96be9d46748de8423ac749f27183c668336701c16735d7ca2db4566621e0e741a2604785c14c64f SHA512 13221e6f9696a8630d867eb7d73f3bf5dd1bc2dfd80d62af00342be4cbf39a862e644ea3776fa4d91463e594ca50c5deecbeb7e05d161097e889ea58a66ccc42 DIST fuse-2.8.6.tar.gz 505334 BLAKE2B c44533625ead8acc5a16f61064635492c54aa91780018e3895baf18abe3ca00c9ec7f6606183a4f986037201db79697c07d03adf57c5a87e7888b8823d83aa8a SHA512 03cacc45c8ba6700fcdfa9064ef4e10d3ad6fc0e4fc49d41693de2caf03d44513d449b00a7c5d200d055d9481821252509259f5f3d2d6127fa51957a006a90fd DIST fuse-2.9.9.tar.gz 1813177 BLAKE2B 9e9141380bda46eb0bcce325c6fd293fe3844fe884a4952bb38d4b89dc48b728ffcc891038b3a7a861f05acfacce9dd7bb0e11d600609f3ad0ab278ccbe98847 SHA512 3d82fafd04f2924299bb09d2bb144935fa004a43fb9a6568e2e1cc5a60fded2efa1711029a0d7f12b3e6e4501f7217f2ee3545646d89da8dece083cb390f23e2 DIST genkernel-3.4.52.3.tar.xz 282976 BLAKE2B 69eb6a964c5c20ee32ea6143b576a85090dfb50c011c641ae8415fba1cb99e7f239f4ba7fdc450b7c0eb93a248610c47e751f3993b8fff6e51b9602c37145af9 SHA512 a68b0149b9a69f59ab3e8d772f35f12643b9500c0c684d4824ca1f3c669b0ea01989a55643cd5b413f35d6fff284cd5ede7183971e202b3788caeb399259191f @@ -22,12 +27,23 @@ DIST genkernel-3.5.3.3.tar.xz 331180 BLAKE2B 0f83b973505ccb0a92ae24e92509710bf96 DIST gnupg-1.4.11.tar.bz2 3407075 BLAKE2B 85d35d2e4da65d54add1010ea0486b943b328785e28c4efcaa2b65daafd53410a355d1df79ae45c5f7767d2eb7ff1f0b9637f417e65b084d2c760a281abd317a SHA512 97e7b8b0f972cc2f7cabdb0e013cbee1c33e7d48407d040cca5c2037e32abe1c2100194be7d3b569d4f05eb16b24c205a5b83f06718f0241f8d4ee174f1c37ae DIST gnupg-1.4.22.tar.bz2 3746546 BLAKE2B 9a2d37eeab10f2a7353804098e865ad45db846696a00a47f5bebf47145f79e0d2bf9c01c0195e2fe79af07946a3feac0d4589656c3e698a3a548ff1dd74ce759 SHA512 c03acac0fa55761470bb085d78a44e2b99ebb187e8396cbb031a184b1e40bef2a40c91da07755d1a20610a3daa6aa1eefea2d12a0dbd5a79a45466166419c708 DIST gnupg-1.4.23.tar.bz2 3749353 BLAKE2B ec5e6bef0c7bb2a65813d7852cebeaa24c4855f9d9d9e802070da50b89fff56b747682933aa766dd130f849efcfe28f7aa74f3153405429bcf3845ef29c6dd6e SHA512 78dc52a2010202a4afc8814b29fda657a6c9fe230d5e7db11ae040edd2b0ca819e1baa4dbd6c0d04d36cd353df484e83f52d17759d2891c2cf7025c0b5d36612 -DIST libaio-0.3.110.tar.gz 42270 BLAKE2B e774e5888106ffcf4db08569a8b3dc6722f4e0e8278e9f2fafe865e282c0568059e8dbb37aab7a33719ab4d80f42404bfb1d4ab03f5c066d9eb75301676f525e SHA512 664295d330d6e9adc005e2331e77582619625b479ffc2b81728ba6a682487380ee936079c4a69d35144b458bbe35c612f4ed9b32e913bd7e109b824345763eb3 +DIST json-c-0.13.1.tar.gz 639425 BLAKE2B 1da310309f9ce03306a9fd4a161670e460cf0b2222348df7c006902390f74a4cf100aab1ce6ac8a361a278dd917c114a278de5b3445817f3a40ae287478add46 SHA512 e984db2a42b9c95b52c798b2e8dd1b79951a8dcba27370af30c43b9549fbb00008dbcf052a535c528209aaee38e6d1f760168b706905ae72f3e704ed20f8a1a1 +DIST libaio-0.3.112.tar.gz 46977 BLAKE2B 088f3b195a65bdc97ae2318e47af17c65259ed3208dca7bfef93c81a800602085e5b2078dbd436c740be316d0ebd923a1b3b7c0808257e2e7c7fb0f7ae1e0dba SHA512 5f984529c9f747a6c82f1e4457fc0832bb1fc299ae6e700f2ac5a8ea7b9bfc6ea1e75809728cc115a020cff6685ed1f4e38c6aeacc1ea98dfccce04dd19dafaa +DIST libgcrypt-1.8.4.tar.bz2 2990108 BLAKE2B 97a1f9382adf23cd4ac491a392882f2e712fddd4f0d95a4fafb9cc70aa41ffa7b7b6a371b8368e9c99e3e1849b9d38078abc55703d4d8b25289f3c662e6ba8a1 SHA512 b831fc337eb14806897e224b0d1e78d1f8e9db91dffa818a015a4aa104144e2d971e5a855904907ee2bb9990a9d526de32d6787e1cae98e28a65c3258b2b1ea1 +DIST libgpg-error-1.36.tar.bz2 920542 BLAKE2B 81684f6e47192c50cfa408977d53dc3812befca28733b531d51dffa0a6799a47366a50f64755557a7b3111a179ac4aba9e6a527418461cdbcccea80ae6bed4fa SHA512 6e5f853f77dc04f0091d94b224cab8e669042450f271b78d0ea0219658d059c9cab1ab0eaa020a4227f451520b417fc340b85971a6f5e144fa69be57e15df346 +DIST lzo-2.10.tar.gz 600622 BLAKE2B 124b6645a2cb7f01f153c9fa6e1976378bdfb224841a7b45ab19c584c6ef704c20719ae87640b8d83f3f9269a57d9cc2e870a914124dac03a2ef1336e9feb9c9 SHA512 a3dae5e4a6b93b1f5bf7435e8ab114a9be57252e9efc5dd444947d7a2d031b0819f34bcaeb35f60b5629a01b1238d738735a64db8f672be9690d3c80094511a4 DIST mdadm-3.1.5.tar.bz2 292709 BLAKE2B a21fb41c6fd9f332e358339537cffd520788140976bf37fece072ee15eb512b1455e3a927abca0a4315e59659d3d114e407bb98a0ca8e6e559e1d1b83be4abbf SHA512 6fcf426d63ede01f99ebeee9be686857a04f9b601b37f76722c091ae2999b3ff66fdba52d47323f27900553125a897fc1815fe7be850aa9cc991dd5fa91a5d5d DIST mdadm-4.0.tar.xz 430780 BLAKE2B f08a67452398c864d73c78e2a7258d89c5c81b83dd136d4cd7e31e46b22d75ff67ecf553dc22f55dca418409daded51a399728dfdbd36039e828cad3233774e6 SHA512 12fb26e6b9c1912698defa406e5e47a7ca8d68d4a9aa7acdc9b463ee2d4a37fc6ecef6beb5395ff619018c3f6bdb6d8c573060d027707540f645ad2265170e8b DIST mdadm-4.1.tar.xz 440756 BLAKE2B df0506d937c2aa309d7c68804f66f7dcd51783288594bf746832311c64b8cf82004af4af5f246c5f9753f1de324ff7d49b5ee752d6a00ec03864f7885389706e SHA512 0859c5d3e786345d93ff2c3b291ca8866ba60f1375479e5b4d343124f6824140a8268d42b8ae603b069edba761aa30aaf20d49e9ec54dfcbad34bad3bea0e433 +DIST multipath-tools-0.8.0.tar.gz 447076 BLAKE2B 10a93a2654decd2377414188013d2141e34288fe119fa7c54047d95b825ef9ae64b20de1067d3f37a904b58be587997842f7a62088701fe1c1e6a078283b56e4 SHA512 8b6081109e535d0e392233bcedda930bc6d4b529ebe23bc45b276026311bc997e3cf8b39c1a86e4962c464faa69512202c0f6fb3d1f06c6445f8141853ad1bc4 DIST open-iscsi-2.0-872.tar.gz 900081 BLAKE2B 6a4911347c55c1c4906350247ae7d92c2aee9627e1ab01cb5d705b02614b6c585ea042fef85a425b8f177645741f8d36e3efb40a57536bb79dbc5cdb6fe7998c SHA512 d26c87772b0b1d13a8bd2eea9db86b3c61af83efbb788116c01ab6a914ff3de634a7b1bff56c1161b28965315543edbfc2735b6c7fbd3f7797471fde63b69cc0 DIST open-iscsi-2.0.875.tar.gz 635121 BLAKE2B 34a7083087c53ed0e59d293d26efe166b09c5ea18b6022869cc9ff3d2edb2fb8b69e2c1ce6c9011bd20fc590b02dafd6d7c13d8bfa1eae6408c4bace13992e5e SHA512 1709011d7d12d3dd9278a0d775af064d5f7da37357f35d6d5c5b3aa8ec16385c28b201b1261f4581dbbbbca3d815015ed8696e1694aa19f3231132f90d1e5b36 -DIST open-isns-0.99.tar.gz 282831 BLAKE2B 7140daf08fda894bcbed3e25b122909ad0ed86b4f3db2e42a23b97480dea554194d2a33a3ebdf4e2017a57c2023dd8589f2e2fcfa60470cc3a6a3fbfb0d0ccbc SHA512 90a2297535c5e939f83c761173ce5f5f88e68adc31e41e833b23d07b6dc6959572ae7184db0084b861918199a877b251ebae4b4a7456fdd8c93400dc8457adc9 +DIST popt-1.16.tar.gz 702769 BLAKE2B 37767ec50118f3675e8bfa780dca7989e092ea71c3ea1e1ab80d7cc13bf20a3b5f0681df2a7e0b1e3404404a0952f7b7f0135083d4166026dc26880a5a17ab3f SHA512 bae2dd4e5d682ef023fdc77ae60c4aad01a3a576d45af9d78d22490c11e410e60edda37ede171920746d4ae0d5de3c060d15cecfd41ba75b727a811be828d694 +DIST strace-5.2.tar.xz 1515544 BLAKE2B 919a689741eabd843a43fdb557953ee6095a4d1abea808d7c35049b93afd338e0df7c69014486dfb88d22dd7cdb2f74b939ed55f08e85cdb9793d8150d08bde0 SHA512 41bea20215fa80ad90a5d49c41944e02774e715efda5e563b3714e5800933a5fca4a2392634193cf49c0752321a39e0c185bdbc9cfb8ee053b09a6bd5723da35 DIST unionfs-fuse-0.24.tar.bz2 30381 BLAKE2B c3886d7b0cbd4ac62712d7d94bf9544481200e4354539b29770a88974ea3298b0f594cecfc6f7accff3595004ad1453075b947a2633b5300a3684fedba4995e5 SHA512 e0e414f4edbf641ec9d0135a8723e43fc75412359b482f7aedd66fe8245e4df03943c5ecb6f8de4fdbd97f0346033c691e766cc4f4a755f5b43748e1441d3fbd DIST unionfs-fuse-2.0.tar.gz 46537 BLAKE2B 2f5a0da5adb15c408e7b9d0c3658e389a1aea4a9a5f2f3809fc724af43cf2a4b309e4220e46647e3f3fc9b19d48c8d62692e190cf8536182abfe551bfacfcc24 SHA512 5b60204632f498931fff7671cc9f40b1800d34cb8c0d0de0773626e2653eb0a36647566c92c1d0cf79543e01b934602ef5603a06508407f352e48ef27a7ee758 +DIST userspace-rcu-0.10.2.tar.bz2 503833 BLAKE2B 17e2102e096903f301d1a08d606cf98e28a413ef26a3dc8fa6f400ba74aa14aabdef5e28d4fed5fb01cee33b0bd5de9fb0682523aaa50c6053fd3471711a02e7 SHA512 47413b4a593d19185ee3d455e5744042c060cb50008dac25e9135c5cd2250ef5129a419258b18c665c8c794ad3b09234fdd70a106c72d8fc64631172b13d0e22 +DIST util-linux-2.34.tar.xz 4974812 BLAKE2B d26b2f74d490eaee0a40d4c75a1a351ba165b4a52f9bbf6cf9d1afd7ae1382a3a3dfe41180584e97e9aaad6950f604cad928f30747590e3e1e669c8797689758 SHA512 2d0b76f63d32e7afb7acf61a83fabbfd58baa34ab78b3a331ce87f9c676a5fd71c56a493ded95039540d2c46b6048caaa38d7fb4491eb3d52d7b09dc54655cd7 +DIST xfsprogs-5.0.0.tar.xz 1218476 BLAKE2B ef6eaab43531f696f739972c362e31c3304baaecb3485b45c16441a8bf7f1da7f47cd74a21660ba2c2bb45858a2b13b7af41c94671135f6a32a36eb745c024a0 SHA512 cebe3d2ea80676a99cc7f9cc014894398fbe3bdaf237829e9c7aa0404558c1ab16f2055acb5afd8234b2bc8475117bcef3c7500c553adb12bbaf3262bd077d18 +DIST zlib-1.2.11.tar.gz 607698 BLAKE2B 6bfc4bca5dcadba8a0d4121a2b3ed0bfe440c261003521862c8e6381f1a6f0a72d3fc037351d30afd7ef321e8e8d2ec817c046ac749f2ca0c97fbdc2f7e840b7 SHA512 73fd3fff4adeccd4894084c15ddac89890cd10ef105dd5e1835e1e9bbb6a49ff229713bd197d203edfa17c2727700fce65a2a235f07568212d820dca88b528ae +DIST zstd-1.4.0.tar.gz 1898741 BLAKE2B 1b92a055712bb47c3d56c51f3ddddeaba00f9b746f7e47a2fa1a0afdf9798ff90f0ec734880a5d03644d47deb0e55f75c2cd3cbdab1a146dba5f49d4efeb2ae0 SHA512 8614934e25eb1e82b554c483bc9d2d055f51344697295e83b22a8d726321b12068cfa7f7d2a9fe28a2de7c9edda59733826277efc7046e13674d6f7f02af5671 diff --git a/sys-kernel/genkernel/files/genkernel-4.bash b/sys-kernel/genkernel/files/genkernel-4.bash new file mode 100644 index 000000000000..631fc8b30e47 --- /dev/null +++ b/sys-kernel/genkernel/files/genkernel-4.bash @@ -0,0 +1,74 @@ +# genkernel (8) completion +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 +# Written by Aron Griffis + +_genkernel() +{ + declare cur prev genkernel_help actions params + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + # extract initial list of params/actions from genkernel --help + genkernel_help=$(command genkernel --help) + actions=( $(<<<"$genkernel_help" sed -n \ + '/^Available Actions:/,/^$/s/^[[:space:]]\+\([^[:space:]]\+\).*/\1/p') ) + params=( $(<<<"$genkernel_help" egrep -oe '--[^[:space:]]{2,}') ) + + # attempt to complete the current parameter based on the list + COMPREPLY=($(compgen -W "${params[*]/=*/=} ${actions[*]}" -- "$cur")) + + # if we don't have a rhs to complete + if [[ ${#COMPREPLY[@]} -gt 1 ]]; then + return + elif [[ ${#COMPREPLY[@]} -eq 0 && $cur != --*=* ]]; then + return + elif [[ ${#COMPREPLY[@]} -eq 1 && $COMPREPLY != --*= ]]; then + # using nospace completion, add an explicit space + COMPREPLY="${COMPREPLY} " + return + fi + + # we have a unique lhs and need to complete the rhs + declare args lhs rhs + if [[ ${#COMPREPLY[@]} -eq 1 ]]; then + lhs=$COMPREPLY + else + lhs=${cur%%=*}= + rhs=${cur#*=} + fi + + # genkernel's help gives clues as to what belongs on the rhs. + # extract the clue for the current parameter + args=" ${params[*]} " + args="${args##* $lhs}" + args="${args%% *}" + + # generate a list of completions for the argument; this replaces args with + # an array of results + args=( $(case $args in + ('<0-5>') compgen -W "$(echo {1..5})" -- "$rhs" ;; + (''|'') compgen -A file -o plusdirs -- "$rhs" ;; + ('') compgen -G '*.tar.xz' -G '*.tbz2' -G '*.tar.bz2' -o plusdirs -- "$rhs" ;; + (''|'') compgen -A directory -S / -- "$rhs" ;; + + (*) compgen -o bashdefault -- "$rhs" ;; # punt + esac) ) + + # we're using nospace completion to prevent spaces after paths that aren't + # "done" yet. So do some hacking to the args to add spaces after + # non-directories. + declare slash=/ + args=( "${args[@]/%/ }" ) # add space to all + args=( "${args[@]/%$slash /$slash}" ) # remove space from dirs + + # recreate COMPREPLY + if [[ $cur == "$lhs"* ]]; then + COMPREPLY=( "${args[@]}" ) + elif [[ ${#args[@]} -gt 0 ]]; then + COMPREPLY=( "${args[@]/#/$lhs}" ) + fi +} + +complete -o nospace -F _genkernel genkernel diff --git a/sys-kernel/genkernel/genkernel-9999.ebuild b/sys-kernel/genkernel/genkernel-9999.ebuild index 767e288dba98..c1e47a03889b 100644 --- a/sys-kernel/genkernel/genkernel-9999.ebuild +++ b/sys-kernel/genkernel/genkernel-9999.ebuild @@ -4,40 +4,73 @@ # genkernel-9999 -> latest Git branch "master" # genkernel-VERSION -> normal genkernel release -EAPI=5 # approved 2012.09.11, required by all profiles since 2014.03.12 - -inherit bash-completion-r1 epatch estack - -VERSION_BUSYBOX='1.30.1' # warning, be sure to bump patches -VERSION_DMRAID='1.0.0.rc16-3' # warning, be sure to bump patches -VERSION_LIBAIO='0.3.110' # warning, be sure to bump patches -VERSION_MDADM='4.1' # warning, be sure to bump patches -VERSION_FUSE='2.9.9' # warning, be sure to bump patches -VERSION_ISCSI='2.0.875' # warning, be sure to bump patches -VERSION_ISCSI_ISNS='0.99' # warning, be sure to bump patches -VERSION_LVM='2.02.183' # warning, be sure to bump patches -VERSION_UNIONFS_FUSE='2.0' -VERSION_GPG='1.4.23' +EAPI="7" + +inherit bash-completion-r1 + +# Whenever you bump a GKPKG, check if you have to move +# or add new patches! +VERSION_BTRFS_PROGS="5.1.1" +VERSION_BUSYBOX="1.31.0" +VERSION_CRYPTSETUP="2.1.0" +VERSION_DMRAID="1.0.0.rc16-3" +VERSION_DROPBEAR="2019.78" +VERSION_EUDEV="3.2.8" +VERSION_E2FSPROGS="1.45.2" +VERSION_FUSE="2.9.9" +VERSION_GPG="1.4.23" +VERSION_ISCSI="2.0.875" +VERSION_JSON_C="0.13.1" +VERSION_LIBAIO="0.3.112" +VERSION_LIBGCRYPT="1.8.4" +VERSION_LIBGPGERROR="1.36" +VERSION_LVM="2.02.185" +VERSION_LZO="2.10" +VERSION_MDADM="4.1" +VERSION_MULTIPATH_TOOLS="0.8.0" +VERSION_POPT="1.16" +VERSION_STRACE="5.2" +VERSION_UNIONFS_FUSE="2.0" +VERSION_USERSPACE_RCU="0.10.2" +VERSION_UTIL_LINUX="2.34" +VERSION_XFSPROGS="5.0.0" +VERSION_ZLIB="1.2.11" +VERSION_ZSTD="1.4.0" RH_HOME="ftp://sourceware.org/pub" DM_HOME="https://people.redhat.com/~heinzm/sw/dmraid/src" BB_HOME="https://busybox.net/downloads" -COMMON_URI="${DM_HOME}/dmraid-${VERSION_DMRAID}.tar.bz2 - ${DM_HOME}/old/dmraid-${VERSION_DMRAID}.tar.bz2 - mirror://kernel/linux/utils/raid/mdadm/mdadm-${VERSION_MDADM}.tar.xz - ${RH_HOME}/lvm2/LVM2.${VERSION_LVM}.tgz - ${RH_HOME}/lvm2/old/LVM2.${VERSION_LVM}.tgz - ${BB_HOME}/busybox-${VERSION_BUSYBOX}.tar.bz2 - https://github.com/open-iscsi/open-iscsi/archive/${VERSION_ISCSI}.tar.gz -> open-iscsi-${VERSION_ISCSI}.tar.gz - https://github.com/open-iscsi/open-isns/archive/v${VERSION_ISCSI_ISNS}.tar.gz -> open-isns-${VERSION_ISCSI_ISNS}.tar.gz - https://github.com/libfuse/libfuse/releases/download/fuse-${VERSION_FUSE}/fuse-${VERSION_FUSE}.tar.gz - mirror://debian/pool/main/liba/libaio/libaio_${VERSION_LIBAIO}.orig.tar.gz -> libaio-${VERSION_LIBAIO}.tar.gz - https://github.com/rpodgorny/unionfs-fuse/archive/v${VERSION_UNIONFS_FUSE}.tar.gz -> unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.gz - mirror://gnupg/gnupg/gnupg-${VERSION_GPG}.tar.bz2" - -if [[ ${PV} == 9999* ]] -then +COMMON_URI=" + mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${VERSION_BTRFS_PROGS}.tar.xz + https://www.busybox.net/downloads/busybox-${VERSION_BUSYBOX}.tar.bz2 + mirror://kernel/linux/utils/cryptsetup/v$(ver_cut 1-2 ${VERSION_CRYPTSETUP})/cryptsetup-${VERSION_CRYPTSETUP}.tar.xz + https://people.redhat.com/~heinzm/sw/dmraid/src/dmraid-${VERSION_DMRAID}.tar.bz2 + https://matt.ucc.asn.au/dropbear/releases/dropbear-${VERSION_DROPBEAR}.tar.bz2 + https://dev.gentoo.org/~blueness/eudev/eudev-${VERSION_EUDEV}.tar.gz + mirror://kernel/linux/kernel/people/tytso/e2fsprogs/v${VERSION_E2FSPROGS}/e2fsprogs-${VERSION_E2FSPROGS}.tar.xz + https://github.com/libfuse/libfuse/releases/download/fuse-${VERSION_FUSE}/fuse-${VERSION_FUSE}.tar.gz + mirror://gnupg/gnupg/gnupg-${VERSION_GPG}.tar.bz2 + https://github.com/open-iscsi/open-iscsi/archive/${VERSION_ISCSI}.tar.gz -> open-iscsi-${VERSION_ISCSI}.tar.gz + https://s3.amazonaws.com/json-c_releases/releases/json-c-${VERSION_JSON_C}.tar.gz + https://releases.pagure.org/libaio/libaio-${VERSION_LIBAIO}.tar.gz + mirror://gnupg/libgcrypt/libgcrypt-${VERSION_LIBGCRYPT}.tar.bz2 + mirror://gnupg/libgpg-error/libgpg-error-${VERSION_LIBGPGERROR}.tar.bz2 + https://mirrors.kernel.org/sourceware/lvm2/LVM2.${VERSION_LVM}.tgz + https://www.oberhumer.com/opensource/lzo/download/lzo-${VERSION_LZO}.tar.gz + mirror://kernel/linux/utils/raid/mdadm/mdadm-${VERSION_MDADM}.tar.xz + https://git.opensvc.com/?p=multipath-tools/.git;a=snapshot;h=${VERSION_MULTIPATH_TOOLS};sf=tgz -> multipath-tools-${VERSION_MULTIPATH_TOOLS}.tar.gz + http://ftp.rpm.org/mirror/popt/popt-${VERSION_POPT}.tar.gz + https://github.com/strace/strace/releases/download/v${VERSION_STRACE}/strace-${VERSION_STRACE}.tar.xz + https://github.com/rpodgorny/unionfs-fuse/archive/v${VERSION_UNIONFS_FUSE}.tar.gz -> unionfs-fuse-${VERSION_UNIONFS_FUSE}.tar.gz + https://lttng.org/files/urcu/userspace-rcu-${VERSION_USERSPACE_RCU}.tar.bz2 + mirror://kernel/linux/utils/util-linux/v${VERSION_UTIL_LINUX:0:4}/util-linux-${VERSION_UTIL_LINUX}.tar.xz + mirror://kernel/linux/utils/fs/xfs/xfsprogs/xfsprogs-${VERSION_XFSPROGS}.tar.xz + https://zlib.net/zlib-${VERSION_ZLIB}.tar.gz + https://github.com/facebook/zstd/archive/v${VERSION_ZSTD}.tar.gz -> zstd-${VERSION_ZSTD}.tar.gz +" + +if [[ ${PV} == 9999* ]] ; then EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/${PN}.git" inherit git-r3 S="${WORKDIR}/${P}" @@ -54,15 +87,13 @@ HOMEPAGE="https://www.gentoo.org" LICENSE="GPL-2" SLOT="0" RESTRICT="" -IUSE="cryptsetup ibm +firmware selinux" +IUSE="ibm +firmware" -DEPEND="sys-fs/e2fsprogs - selinux? ( sys-libs/libselinux )" +DEPEND="" RDEPEND="${DEPEND} - cryptsetup? ( sys-fs/cryptsetup ) app-arch/cpio >=app-misc/pax-utils-1.2.2 - sys-apps/util-linux[static-libs(+)] + sys-apps/sandbox firmware? ( sys-kernel/linux-firmware ) ! "${S}"/ChangeLog || die popd >/dev/null || die fi - if use selinux ; then - sed -i 's/###//g' "${S}"/gen_compile.sh || die - fi # Update software.sh sed -i \ - -e "s:VERSION_BUSYBOX:$VERSION_BUSYBOX:" \ - -e "s:VERSION_MDADM:$VERSION_MDADM:" \ - -e "s:VERSION_DMRAID:$VERSION_DMRAID:" \ - -e "s:VERSION_FUSE:$VERSION_FUSE:" \ - -e "s:VERSION_ISCSI_ISNS:$VERSION_ISCSI_ISNS:" \ - -e "s:VERSION_ISCSI:$VERSION_ISCSI:" \ - -e "s:VERSION_LIBAIO:$VERSION_LIBAIO:" \ - -e "s:VERSION_LVM:$VERSION_LVM:" \ - -e "s:VERSION_UNIONFS_FUSE:$VERSION_UNIONFS_FUSE:" \ - -e "s:VERSION_GPG:$VERSION_GPG:" \ + -e "s:VERSION_BTRFS_PROGS:${VERSION_BTRFS_PROGS}:"\ + -e "s:VERSION_BUSYBOX:${VERSION_BUSYBOX}:"\ + -e "s:VERSION_CRYPTSETUP:${VERSION_CRYPTSETUP}:"\ + -e "s:VERSION_DMRAID:${VERSION_DMRAID}:"\ + -e "s:VERSION_DROPBEAR:${VERSION_DROPBEAR}:"\ + -e "s:VERSION_EUDEV:${VERSION_EUDEV}:"\ + -e "s:VERSION_E2FSPROGS:${VERSION_E2FSPROGS}:"\ + -e "s:VERSION_FUSE:${VERSION_FUSE}:"\ + -e "s:VERSION_GPG:${VERSION_GPG}:"\ + -e "s:VERSION_ISCSI:${VERSION_ISCSI}:"\ + -e "s:VERSION_JSON_C:${VERSION_JSON_C}:"\ + -e "s:VERSION_LIBAIO:${VERSION_LIBAIO}:"\ + -e "s:VERSION_LIBGCRYPT:${VERSION_LIBGCRYPT}:"\ + -e "s:VERSION_LIBGPGERROR:${VERSION_LIBGPGERROR}:"\ + -e "s:VERSION_LVM:${VERSION_LVM}:"\ + -e "s:VERSION_LZO:${VERSION_LZO}:"\ + -e "s:VERSION_MDADM:${VERSION_MDADM}:"\ + -e "s:VERSION_MULTIPATH_TOOLS:${VERSION_MULTIPATH_TOOLS}:"\ + -e "s:VERSION_POPT:${VERSION_POPT}:"\ + -e "s:VERSION_STRACE:${VERSION_STRACE}:"\ + -e "s:VERSION_UNIONFS_FUSE:${VERSION_UNIONFS_FUSE}:"\ + -e "s:VERSION_USERSPACE_RCU:${VERSION_USERSPACE_RCU}:"\ + -e "s:VERSION_UTIL_LINUX:${VERSION_UTIL_LINUX}:"\ + -e "s:VERSION_XFSPROGS:${VERSION_XFSPROGS}:"\ + -e "s:VERSION_ZLIB:${VERSION_ZLIB}:"\ + -e "s:VERSION_ZSTD:${VERSION_ZSTD}:"\ "${S}"/defaults/software.sh \ || die "Could not adjust versions" - - epatch_user } src_compile() { - if [[ ${PV} == 9999* ]]; then + if [[ ${PV} == 9999* ]] ; then emake fi } @@ -133,31 +167,58 @@ src_install() { else cp "${S}"/arch/ppc64/kernel-2.6{.g5,} || die fi + insinto /usr/share/genkernel doins -r "${S}"/* - newbashcomp "${FILESDIR}"/genkernel.bash "${PN}" + fperms +x /usr/share/genkernel/gen_worker.sh + + newbashcomp "${FILESDIR}"/genkernel-4.bash "${PN}" insinto /etc doins "${FILESDIR}"/initramfs.mounts - cd "${DISTDIR}" + pushd "${DISTDIR}" &>/dev/null || die insinto /usr/share/genkernel/distfiles doins ${A/${P}.tar.xz/} + popd &>/dev/null || die } pkg_postinst() { - echo - elog 'Documentation is available in the genkernel manual page' - elog 'as well as the following URL:' - echo - elog 'https://wiki.gentoo.org/wiki/Genkernel' - echo - ewarn "This package is known to not work with reiser4. If you are running" - ewarn "reiser4 and have a problem, do not file a bug. We know it does not" - ewarn "work and we don't plan on fixing it since reiser4 is the one that is" - ewarn "broken in this regard. Try using a sane filesystem like ext4." - echo - ewarn "The LUKS support has changed from versions prior to 3.4.4. Now," - ewarn "you use crypt_root=/dev/blah instead of real_root=luks:/dev/blah." - echo + # Wiki is out of date + #echo + #elog 'Documentation is available in the genkernel manual page' + #elog 'as well as the following URL:' + #echo + #elog 'https://wiki.gentoo.org/wiki/Genkernel' + #echo + + local replacing_version + for replacing_version in ${REPLACING_VERSIONS} ; do + if ver_test "${replacing_version}" -lt 4 ; then + # This is an upgrade which requires user review + + ewarn "" + ewarn "Genkernel v4.x is a new major release which touches" + ewarn "nearly everything. Be careful, read updated manpage" + ewarn "and pay special attention to program output regarding" + ewarn "changed kernel command-line parameters!" + + # Show this elog only once + break + fi + done + + # Show special warning for users depending on remote unlock capabilities + local gk_config="${EROOT%/}/etc/genkernel.conf" + if [[ -f "${gk_config}" ]] ; then + if grep -q -E "^SSH=[\"\']?yes" "${gk_config}" 2>/dev/null ; then + if ! grep -q dosshd "${gk_config}" 2>/dev/null ; then + ewarn "" + ewarn "IMPORTANT: SSH is currently enabled in your genkernel config" + ewarn "file (${gk_config}). However, 'dosshd' is missing from current" + ewarn "kernel command-line. You MUST add 'dosshd' to keep sshd enabled" + ewarn "in genkernel v4+ initramfs!" + fi + fi + fi } -- 2.26.2