bump(sys-kernel/dracut): sync with upstream

This commit is contained in:
Michael Marineau 2014-05-15 13:09:09 -07:00
parent 8078fa2eec
commit 8f147c8032
33 changed files with 4116 additions and 0 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,50 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
AUX 034-0001-dracut.sh-do-not-bail-out-if-kernel-mo.patch 1140 SHA256 4c69a0c918aa1351316aeaeaab926defc5841b9743633e23fdf4fd8e54773707 SHA512 74122a07e64ae410f76a0b630385ea6a146121c706f2235c3a43108f3743c9162fa3473ee1a266b0e5004f27bb02559f363dfa46764bc007f3395d16291904c6 WHIRLPOOL de4a4f7cfdc727f7a913ac7e005594b7392b95eb8540fd3bff44bdebd6dab136a2833f3f75bab04288e1a14a65e76303db356c0bbe7db421e51bc7d3447ce7cf
AUX 034-0002-dracut-functions.sh-support-for-altern.patch 1487 SHA256 85cd66fe8d36405dbf459a496ee3d5ed32e0606933218a23266caf591c0c04ee SHA512 00e7a22b76911a5cc9ccf82815643409307159ec0fd329c6f86bf8f6f76c0c235b76c8fd4f588d0e5b1820b2654acbc4735eda09df68da7a676e7e5e252364aa WHIRLPOOL 9c05204b4eb8129598e1177203dd9c5312082f97c922c65e8e325bc89feded2c030e66a793b7bcdebd95feda06f8cf01327e95ad71693706e7de02369f9f2571
AUX 034-0003-gentoo.conf-let-udevdir-be-handled-by-.patch 950 SHA256 2e6e49dd481048906275c5d31756cff1cb8e9166dbf4aa61a46de81b552f93ec SHA512 ecf99d9bbc326c4fce1319d67af9cc55e1e3559f98568df13e51728b0da40a9e18e201662cf7e743a61ddd90caa014987130894fc8bc3bf47f381ec35d36fcd4 WHIRLPOOL f6cff2f46dbf40bfbb15174e1c984ed84f1abf1707d9369c6b43ab874efbae3f50f2cae211bc31a9f8a81bf6fd00a93dc14f614d196716d19d5e15dc43c5ac87
AUX 034-0004-Use-the-same-paths-in-dracut.sh-as-tho.patch 2410 SHA256 2fb390da6f7cb03b60ba4483f38010792c2a32a3568411abcd1a1e38f99deffe SHA512 5360942f5f946d143869306620123582f4be92f4ac5d4ac95e9df7ef07f4f3448375be5a4629491a402eb6eaf58bd432cd7c7cf464efdcb33fefde8090dcee89 WHIRLPOOL a634844933482377852ec29bbef372bf3df0d47e879ae56249ee191b400c708d6bee8d0e0a292f73f4d520be9b41cd46efa884037bffe7c685f7c8fdb4ce16e9
AUX 034-0005-Install-dracut-install-into-libexec-di.patch 2618 SHA256 752215c0d9eadd31ae683927141a8bbfc4515c4691ad4efc2fd2ea9e9356d6af SHA512 ce9fcfec44d5733c6367eba2a1a44a559dbfbe5194d6f3a9914405abc1541457b76110fbe388ebee4a4642eb5e64c5eb2eb342ba8091a44fb9f25ac95b17da6c WHIRLPOOL 009d7b73df4874b424b0788c2e279010a01521e6ed2eec96609175cca74427af9d81584e015234a6467975c3000a7e4321e9e96a34d4a2757e29ad7adb76bf84
AUX 034-0006-resume-fix-swap-detection-in-hostonly.patch 1133 SHA256 cdd8d41e111c28309042e8c363479f7a3a5801968e82904098e871635dac629c SHA512 191b6af5c39868cd3c9704f1903a31b25714e561ee9a664fbe9846a594c4b3e2396e8417b80e2c2dd388a905e19360d89b56b80bbe85570afa9dae511c8fd837 WHIRLPOOL f15f378f09c6817a6b8d83ef084a4ac9fd737d080aebdbb3da29482820d016ef0377410de312efbab372586283336d842ad11d9d44e5d75514ee4bd64040cf25
AUX 034-0007-dracut.sh-also-mkdir-run-lock-which-is.patch 712 SHA256 e8b34fc8d8469ed91221f5c771ce29c26848cb872d49666a29bb7c7c20862434 SHA512 3a6424533c1b9eda3c88c75c9ca426f73c516d42c3d3abcd43d0b91cc570c9a61aa46c6fda9018942188621a2e6f350d8fc8b9c44ceec9ce1e8c31c86a70f61d WHIRLPOOL 909d7e6131cc12b9502dcfc14e8248b75e32d36d8e5bce448b71054bc9994148f81385c1dd5b86a9a92235e3f59d8bee85ce35b0080cb590c6ff1cc85b7a2450
AUX 034-0008-dracut.sh-no-need-to-make-subdirs-in-r.patch 679 SHA256 783675384c6c12c3e5da66c0e304974015f8fb504f41f396b9483d9c0a99b7a0 SHA512 100ea222ce9df2e936ea717d54e2728db04136fb71ebc1c3cfff989107a69644a487ecdeb1e322317cbccdb736d954f24a625b8ef1f57e09c29c6656dede8889 WHIRLPOOL 55aef33e0e09e9ad7cecf9d529ed05502bab8b642bd5f7de472aa55af98fbde153625eaf705f30cf3c0b7cb8acf7a0ad417dbd387f2951a5062b4410200af6aa
AUX 034-0009-lvm-install-thin-utils-for-non-hostonl.patch 1376 SHA256 32e21c2c61f9bbc2d2392ae8bba1346bbc9907ddd77352e98460aec966259844 SHA512 89fa06f2bb8b7858d524c2c8b4be0caa76111dc1d3c8ca6cd90d71e0bb2bb53f23401d248900e265ad74feb4844e4c78865383758a1c87e3de1b1bf0c7e0b5a1 WHIRLPOOL f9cddb5a6f9a8f57082995c3249b4d46d2f25c8aeeba07e91847f0b2023edf31a3141a52a08fdadd67b4a7ae78c53e4e31f70007189a6792c9bca696f4e1977f
AUX 034-0011-lvm-fix-thin-recognition.patch 1373 SHA256 5218cfaf55b50cfd128a64b34327aab992889729b5d9edabea3913d39914fcf2 SHA512 92573f86939a811462728b74a5df93e51746dc0a45162af2f27f9d417ac9194046b24f1f5d7b79f290f1fdd6468e99ebdd6454f779fdf2050ec9578eeff2fe6b WHIRLPOOL c77a87d181f0d37757c68fdccf130b1d618f717abb07d917a08a84c912dfec9e058f9615e084532bbb96149073dc841b1e6c8bd975169abf4766a8d62b370d8b
AUX 034-0012-lvm-always-install-thin-utils-for-lvm.patch 2264 SHA256 f322a4ef7a308839b77a9fe2d16d3d4fc043b5e089d55145b51877e9b5dc3d1c SHA512 708d43d9d04b191656d35b9a3594ba23620445d5eeebb9f598068765a2b8833987dd422a7760d4ead1792ce6607b18505f29868c23e0721e3af7c5c851586e0c WHIRLPOOL 47360e4523c0bd5112065c32e011e2a8dc190e6699d287b8d1c5c3b6d59b27bd689cf9daf76fd77beba132dec5c58144eda78e61565e408784cf7ff575551a2e
AUX 034-0013-usrmount-always-install.patch 827 SHA256 5049b63e1095eb81d68d165f188cb512ce29468ace7abbcff8b469e63a8f6f2f SHA512 88abe8ea6ee70fd62d9b225e74063e1c3c31262084b2593df7e52000b0a0efea6c60eac275f7a9416c98d24b7bd548f1db2556a655f8a29706457adbc20b6aea WHIRLPOOL 3c7ce176250777031d7c38df79bfbcba3aa7a752151080fd1fe11ceb2df8e5aa50c1835fe135ce061c92f99de205b077ad3de6a8749e685c288ada512bea7a29
AUX 034-0014-udev-rules-add-eudev-rules.patch 967 SHA256 20867f20970846434ffc82ca7c33f6aa63407aa316abc4a261d20f9955725d42 SHA512 4199e65459d33d2d99556bb2c753b143f1e2e71cb6150b83d7513f4887a2bbc3299ed1da33d9c8438a1d9e2231353ce7e39f9cacdd3fe346083eea2905d2f903 WHIRLPOOL 59f691a3663fa35329eb3aff776e1f637518b6fce36ec3d4f09a62c2b5ff11c4c67eb78ae73e57db8c4ad97de6b758d82705445639788bb819899a63a9f17318
AUX 036-0001-NEWS-update-for-version-036.patch 489 SHA256 849dfc77bccabb4147f4079be8f86983d3cb16d4be2e645a77414350b9e46707 SHA512 87e566fb742045c4b3cc69da1ae4b14be05a33d4264a2ed08d5fd60db60ec244697d507bffa18e71e11f0e6607a88c3ff6721277f7becb7fe5e4ad534e3a9171 WHIRLPOOL 08487cd7c2672c9166b7f0a34cdc97c253108b7006c86009294ce46af1ee9a072f071b03a389426cc407060f4a8ee0a339b3a84d2a9c50693988660a82202c9a
AUX 036-0002-dracut-functions.sh-support-for-altern.patch 1487 SHA256 8de2b229368d8957b315a3df5107a73216578cab8a16c9241f9239f12c8f0b8a SHA512 f9ce9a8025ca73dbb6b782c5b8a32ceed6c5b94d5a871e88677c98f282c2b5a8ff249af11f5ba7eaba8997b211fb9fb61ef93f86aaaa5b04d0718e39c9f84f5a WHIRLPOOL 366f564c4dc0c379ecb694a970d01a1e36278721768f68e67b07174cf9b0a085cbab8b7db06e498695b7ab83a8a734f39a8187fa37cc57906bdd9cbf16d3dc3d
AUX 036-0003-gentoo.conf-let-udevdir-be-handled-by-.patch 950 SHA256 24c62302bffc30ecc5414c50efff3d7f34ca5e90b1ee824def7f465cabb6a4d4 SHA512 b0e71ee9df7d9880dc42b97c0b339e4f9e49b513095bd586fc4ee745a694a1cb472e400ce2535e3fc70bc06d76107cc21a4333421be97b396e74e8a5d1c42639 WHIRLPOOL 1764a1c9707a2747b33f9ad46fe4ddc04bf05769c9f1ba505f2bc92babeffe96f4859600fffcc30af44367ae3b8605b6e2720589b9c3b1d4d45d9d900f90bd9e
AUX 036-0004-Use-the-same-paths-in-dracut.sh-as-tho.patch 2412 SHA256 07520bf44145b6fcde8bdd6c2e9f0b00bce5d95ed7a297d5feacbbd0151b2960 SHA512 c9837d1bb8adf01e0e89aa3dab880ec73c721a8e0de4ec86e44e97485d22eed3aa4f2537df7891ff31cf9fa174b1a9eb138620a9c4bc68569641008cf558c387 WHIRLPOOL 04f3fa193ceb0888dd361dc3004dcd3cca9507f32cc8ce4a254c1da1a00f5bae98a60a1085b7b8001fb01ffb560878a9e85b60ce196bd3a9e7224e33979540d9
AUX 036-0005-Install-dracut-install-into-libexec-di.patch 2583 SHA256 615d263e814aece64c37af729103049ca85fd32768e649549f26d24daecbcbd8 SHA512 4c7d752be0ed76617f44c723abcce56224de804ea0b0070f3a5513859ce899e45904fcd8520352fa333504a21e8ba744e664bada1bd5d6d82e4e916ea6691b31 WHIRLPOOL 5aa5705e8bcc104d3d3c355ffcc25d4880e1a9c50707c85ff7903ed1e12849c39dd15fbf857f11e291184ccb89c2fd889787bbce6cdd48dfd5c6f0e283de148e
AUX 036-0006-dracut.sh-Fix-variable-name-typo.patch 1159 SHA256 11268d492da82ad9153ae798f2c3860876057bd804400426d26fc1c3f45a49e3 SHA512 8a62ade167c517e20da17eccbac07ea16a363fdecb5556cd04a5b5ec3e516963df52823eac30bbe6d1ab6b3135b45606e74d05dc2bba23fb4ba3f5029d2b8467 WHIRLPOOL 74674a5b646ea9335adf1a67971e1931e3ebc31cc93b66a4035135e41194a359571fd1f2d964d2b2ab2354d64ad083025e31b7ce47009e362379b4432e45a239
AUX 036-0007-Added-missing-quotes.patch 740 SHA256 a557c5de158730173d0b8819785806fab1fa0025e63a3981a56b2ac127b8acc5 SHA512 627ad35d6f12d5a11fb56a12699167827ca4d218419a700f06172653e7dbae73e469d99c65b3dead2df5230f4fe14c97b30783d5764c30656954cca84957f469 WHIRLPOOL 7371b303cb02272b43bed583414f41f285fbaee0e532ba8ab82f0f84268bd9ae39963751c79184fda6a9425a5802cda56fcff732ea769e45ced0ce2cefa5e181
AUX 036-0008-Add-legacy-flag-l-to-lz4-and-update-ma.patch 1186 SHA256 630ff9fd0c4b2690e1bdc9f396bdb84346745f0a40c7eef90e5652ff3d97f297 SHA512 8a3221b46b9f51972952b64fc337bca6b866f07d176c1eae8624c21ec22cc67c01655306afd2c118116debd5c2418c443a4d07ed2cf139db2ed6e99258b07c43 WHIRLPOOL fbb7273baeeb080d28232ae8ae424e4a52e178713d51cebaf3dfc0c66ceb7c6ed5ae62e5a2bbdc77706cea5353b15a540ad7cdd2f1f4703c86570a79a7fbf5ce
AUX 037-0001-dracut-functions.sh-support-for-altern.patch 1485 SHA256 dda6a7a87f27a02fa0661ea398bdc143f663171d884eee044a22e38cd4f8e1e4 SHA512 d91fb5816746b82e3d3a6d50f3d04320e601373efed29fc9b3f90f1cdbd4963c23af0ce3e168d90d40faf3d861cf99b93c8af63f1aa1971524f02005edd946b1 WHIRLPOOL 03ade689345fad5b6894533d822b4b1ad7879e90121d8033e06ab3794bcf2e8b2a173af5b73d2edc6215d33df372b772e177cdf55114ee54ca018790d9d96bb9
AUX 037-0002-gentoo.conf-let-udevdir-be-handled-by-.patch 948 SHA256 b3bf73620278a99a3f416d60ce285da1052bee432c47dbbb9fdefd6b8831f454 SHA512 b2e864ec8a338b9bee65cb13c4d891f2e31b51d46a640ada597c30dce7cf80726f69b2cc4de58a94dad688a8ac9b153a146ef7ffbfb9c86aa038eb9efd36b8cf WHIRLPOOL 3eaf73c45ee33a9b673245e0ae4ef56042a8b77de916105ac77e55d78cb374a74fdf1006370caf6f2d7935ba717466a3de058af5986862080a1418b092f25eb2
AUX 037-0003-Use-the-same-paths-in-dracut.sh-as-tho.patch 2410 SHA256 9e23c100a0acde74f043a81b743aeda3e9a74cb154d6f298e23626bb7a80c967 SHA512 3104c377d519df9755600f33b1c8be872202cfbb95a76fdcc05e69fd9e04da617dff7e7e2ced11543e8a1ba138275897ab8d40923180c9d9b10d3bc52c86e138 WHIRLPOOL 7d0b9d68a5e50e3d98ffd0db4ee237de0d2f140ba0ecf03a822189964deaf28b6aa898ddb8cbe9ac22c91eb7ecaf65fc8346a6a6b5bed07725f12faea28da8ff
AUX 037-0004-Install-dracut-install-into-libexec-di.patch 2581 SHA256 bb83cfecd54a18b630b9dd08cae8a36778f75fae0bc28faa6f484d2a4f687274 SHA512 ea2cba205179023f7a55405b5a8baf740e5495db4210f63c3be32ba333a2b0a633915f2cf51865f248c2142c290fcdd675f77ceca3247d66965d207d40e60a30 WHIRLPOOL 5d14552a0d62e5231c7983949d720064ba56a0a6a10e659e884b11e8719afba53dde36659e632d60816af1aad585d5adce946fafd7392e48d029149c0ea02f29
AUX 037-0005-modsign-do-not-hardcode-path-to-keyctl.patch 784 SHA256 47184c81bd1ae0be7cee4829d1ef454478a7092ed8c1826dda2ca16445f19e8a SHA512 747cf9a092dfba948367086fb028b84444971f1e843f7b9bf99d592da726e78f3ab204604958c41e21fe38eda885ab52670c223402d18b62f933e72156df5822 WHIRLPOOL 70fb43941d47fb0e1c376374d9b27c4a8f29a823df0ab57e679ec04ea6da59d551c6a9d1a23b90c16dca7ba9c9f9232ce4db6466c0b911af8c25243621a9235f
DIST 034-0010-module-setup.sh-add-comments.patch.bz2 6424 SHA256 fbcb940c83e362cc93a78c5be28ffd7c794a331f992498e451d69c1830f054fa SHA512 e5e41b8696716c5284ea981ae85dbe688c5c31330e400c79f4ba46890939dffdd7744e4a85d27d074987a8db65114332171af0a5471338e3e4bed19d54edc6fd WHIRLPOOL c5d29ef2f20aa752e57180be35a2014c214a25e4e49d3f623d05cd6ef1debd2cec38d24453ecb0c004cdbb52239f0d541ddc9df065ab84fb7d62c30594704347
DIST dracut-034.tar.bz2 277692 SHA256 48c7fd57e287d4f34dfff5b5ead14a4511926858f1e2ffaa40b762f257516d7f SHA512 ae06510668e63550d4d6b509b314c7668880387cfe696fc7f21cf04cc488be743440871dbd1fcf4e8314f9aa9e61ee3e78a42a75631123c420767677c6744e34 WHIRLPOOL 0412dea239fbd82d79e873869211ea31b7495dac74d7079e8aa52dd8d2484986fd0a0831aefffe29cfe5acfbf64fa01a9a1fa742192a28276a8671b663a69e13
DIST dracut-036.tar.xz 255192 SHA256 6dd97c4323ec8bd87b24a95349692fb6c6ca2d1b3528793ef117820049b6fcd3 SHA512 e55448701ef4b0c8969d4d64239a2a7df3d7b06f4457838d2b2139e58b754822654a1b8cfc7d6dbcd7a79dbc14e75366a39e21104b4aeda20c7bf34734668344 WHIRLPOOL ddbe88cb6b333586a71eeed98871066bc79208d2ba8d88dfb42245aca6bd15d6c0c436948569fc8c18703f9d66ad9918bb1e73e050ce6c807fae833148ead218
DIST dracut-037.tar.xz 256964 SHA256 9c4c365c8dabc19b66da2972bbed7b983df520481325b8a37d3f620218620d76 SHA512 db6d5b064bb24a0fe5a09b0fe8915247f6b3028c0182faa7a533624f98fce45f7ad449d1814ec79fc039ee82c1be0afc7ae8987fee7c5a7f8f16480a6a3b0f39 WHIRLPOOL d904b7d8cd1753df20630db1056853a17a020389ff4da8f14b5d2f207d76046911993eed3522a11fe7d78a5770d496430bbfaf4a3ac3fef83c54a817639094aa
EBUILD dracut-034-r4.ebuild 10416 SHA256 79ce6e1d4d6a5ee546309b518e8b92446d3da60c13435929f70c8b54db816d69 SHA512 6a2903b1960dd486ef20c483f8ed8b4ca1430362ffabe07dfad6c2b854164ddc91daf0ba119c6011a432a6bb300fda708d09ca89328073d72bb625b405966cae WHIRLPOOL 077a09b1578a790762d8444ce1a6560f61a1acbcf1520c44ae139d04ae34f3322676178d51a2b9a1462868d3e0f1eea1254869f64810272951c90f4347d57cd9
EBUILD dracut-036-r4.ebuild 7723 SHA256 8a1165848519c870ed145b6554bc679fe1d9cb19a62df1111255b229246c2391 SHA512 97c0be10312ff68ebfce3f17dbfa02e5b3b4fcb51acdab6362e6329d2b93f60f87d81bb10f00377aa372d9b1b9783c705f8ce3187248a6e76571e143ed3c326d WHIRLPOOL 07044379e3a84318a672a8e7c84b4266bdc437030bdc7756726ea9260c6565f5b3159643ec488874adf530b7c8e2868b81691fafba49bbe79087936cdfa110fc
EBUILD dracut-037-r1.ebuild 7825 SHA256 56f2633532667404250adf69172601453e9e2a7d7ae55d96552c9f58be00bd0e SHA512 a41defdbae1a57dfe9271c8c5798dfe39451cf958b807ccdfca87bbaf96021f2619cef118ba4838f7e3e74166a6e278791d0daf99611cc69a25f6a12828b0950 WHIRLPOOL 83ea7a5343c8a3ba43b594a483b9692e9324316ccab06e7ac65b535f3d925f84685f34c7531982b893a9bc7981a18e6807edfeafb74203bb42df9f446fcf8e2e
EBUILD dracut-037.ebuild 7661 SHA256 948aed0aab0ff9c9087d252f7676a6767f0f2b66d5fbae8a2624ddfba641afb7 SHA512 4d02206374fdd4848bc916133ff00b688c8632a22f5171f277ea8e13426fdc3ac91a27f1f1a81049ae118df41974e56fe82deffb89bb975b31b332899bf7bae2 WHIRLPOOL 189ce52267852f9369f3805247b82ec675df9ec0bb91de0e991e2ad5bcb2147364754bf25fbcdddeaf7d44b179b11bfe780d9846b70669306da1d60d5d3d6abf
MISC ChangeLog 71033 SHA256 920019c4e346eda076fc1e6c4374ab50b7a64e785cba35797803d1b998f7e262 SHA512 f5eaccbbe3be5a08b848058f83076827f23e68048fb311cc409c6d39eccc0c94872454879c533e3ae3f209914601022cb720fa185927f80f47335103f3e55b0f WHIRLPOOL 0f2e34a8b98560560646b8f977c966f4b45be5e6d47c6ed295dd116157dfb4d0ebf52af0d5202caec51e8508b8cb83108c34892c8f03299ef28ca63d90d88b53
MISC metadata.xml 906 SHA256 5f19b725d0669877fdd7814634b7aa7dd73331459bace52de02908417b833c3f SHA512 c5838d36080528d541b67cb38de17cc2351f7e5e17ab060c58f037792225ea223ade6b7e69376f4a9256b0bb3dcf4de578dcd50ee1c7d04a3f3288ca3c1ada43 WHIRLPOOL 532ea421fab965094820d5c0961a00ca38c858461f572a0cd4a145aa90340a569ee942062338ae03773c2709a08e4882f3176333aa5383b7e3c467cb01c0874d
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)
iQEcBAEBCAAGBQJTcxa7AAoJEPATRTHh2/q13UUH/R1pmepxRx0FdLuucHDoteFt
Fb+RQ/6MhdLwELvcOXdmtBMruX4VGnRkZjnz3oSdiu3Lywc73Vjv9zz3KofUW9Vr
sKOHIWzyFALbLk6/SPLTame2zau467RL9z2e9BIGt/3TFhwhbJHjboBaMtCB/MO+
vADoBP3jZpxfg55RO362Sh6pggdmB+WTjXlRaB0ZqE2fDx1lGL7AMKs0oEa48snT
ZKfwPLSqRhVC6Jq0S9EN3yoS4z9tjCH6pq8VLqBFW9vEpdwAu92AYX+mhUxJ6L3E
7/UOi1XKnd4IapxkKW4Nc4tJecPMQp2fLmvSdlU7r3onu0Vn0vnvGBtNyHppehE=
=hh98
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,333 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-kernel/dracut/dracut-034-r4.ebuild,v 1.5 2014/02/27 13:02:33 aidecoe Exp $
EAPI=4
inherit bash-completion-r1 eutils linux-info multilib systemd
add_req_use_for() {
local dep="$1"; shift
local f
for f in "$@"; do
REQUIRED_USE+="${f}? ( ${dep} )
"
done
}
DESCRIPTION="Generic initramfs generation tool"
HOMEPAGE="http://dracut.wiki.kernel.org"
AIDECOE_DISTFILES="http://dev.gentoo.org/~aidecoe/distfiles"
SRC_URI="mirror://kernel/linux/utils/boot/${PN}/${P}.tar.bz2
${AIDECOE_DISTFILES}/${CATEGORY}/${PN}/${PV}-0010-module-setup.sh-add-comments.patch.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
REQUIRED_USE="
dracut_modules_bootchart? ( !dracut_modules_systemd )
dracut_modules_crypt-gpg? ( dracut_modules_crypt )
dracut_modules_crypt-loop? ( dracut_modules_crypt )
dracut_modules_livenet? ( dracut_modules_dmsquash-live )
"
COMMON_MODULES="
dracut_modules_biosdevname
dracut_modules_bootchart
dracut_modules_btrfs
dracut_modules_caps
dracut_modules_crypt-gpg
dracut_modules_crypt-loop
dracut_modules_dash
dracut_modules_gensplash
dracut_modules_mdraid
dracut_modules_multipath
dracut_modules_plymouth
dracut_modules_syslog
dracut_modules_systemd
"
DM_MODULES="
dracut_modules_crypt
dracut_modules_dmraid
dracut_modules_dmsquash-live
dracut_modules_livenet
dracut_modules_lvm
"
NETWORK_MODULES="
dracut_modules_cifs
dracut_modules_iscsi
dracut_modules_livenet
dracut_modules_nbd
dracut_modules_nfs
dracut_modules_ssh-client
"
add_req_use_for device-mapper ${DM_MODULES}
add_req_use_for net ${NETWORK_MODULES}
IUSE_DRACUT_MODULES="${COMMON_MODULES} ${DM_MODULES} ${NETWORK_MODULES}"
IUSE="debug device-mapper net selinux ${IUSE_DRACUT_MODULES}"
RESTRICT="test"
CDEPEND="virtual/udev
!>=sys-fs/udev-210
!>=sys-apps/systemd-210
dracut_modules_systemd? ( >=sys-apps/systemd-199 )
selinux? ( sec-policy/selinux-dracut )
"
RDEPEND="${CDEPEND}
app-arch/cpio
>=app-shells/bash-4.0
>=sys-apps/baselayout-1.12.14-r1
>sys-apps/kmod-5[tools]
|| ( >=sys-apps/sysvinit-2.87-r3 sys-apps/systemd-sysv-utils )
>=sys-apps/util-linux-2.21
debug? ( dev-util/strace )
device-mapper? ( >=sys-fs/lvm2-2.02.33 )
net? ( net-misc/curl >=net-misc/dhcp-4.2.4_p2-r1[client] sys-apps/iproute2 )
selinux? ( sys-libs/libselinux sys-libs/libsepol )
dracut_modules_biosdevname? ( sys-apps/biosdevname )
dracut_modules_bootchart? ( app-benchmarks/bootchart2 sys-apps/usleep
sys-process/acct )
dracut_modules_btrfs? ( sys-fs/btrfs-progs )
dracut_modules_caps? ( sys-libs/libcap )
dracut_modules_cifs? ( net-fs/cifs-utils )
dracut_modules_crypt? ( sys-fs/cryptsetup )
dracut_modules_crypt-gpg? ( app-crypt/gnupg )
dracut_modules_dash? ( >=app-shells/dash-0.5.4.11 )
dracut_modules_dmraid? ( sys-fs/dmraid sys-fs/multipath-tools )
dracut_modules_gensplash? ( media-gfx/splashutils )
dracut_modules_iscsi? ( >=sys-block/open-iscsi-2.0.871.3 )
dracut_modules_lvm? ( >=sys-fs/lvm2-2.02.33 )
dracut_modules_mdraid? ( >=sys-fs/mdadm-3.2.6-r1 )
dracut_modules_multipath? ( sys-fs/multipath-tools )
dracut_modules_nbd? ( sys-block/nbd )
dracut_modules_nfs? ( net-fs/nfs-utils net-nds/rpcbind )
dracut_modules_plymouth? ( >=sys-boot/plymouth-0.8.3-r1 )
dracut_modules_ssh-client? ( dev-libs/openssl )
dracut_modules_syslog? ( || ( app-admin/syslog-ng app-admin/rsyslog ) )
"
DEPEND="${CDEPEND}
app-text/asciidoc
>=dev-libs/libxslt-1.1.26
app-text/docbook-xml-dtd:4.5
>=app-text/docbook-xsl-stylesheets-1.75.2
virtual/pkgconfig
"
DOCS=( AUTHORS HACKING NEWS README README.generic README.kernel README.modules
README.testsuite TODO )
MY_LIBDIR=/usr/lib
#
# Helper functions
#
# Returns true if any of specified modules is enabled by USE flag and false
# otherwise.
# $1 = list of modules (which have corresponding USE flags of the same name)
any_module() {
local m modules=" $@ "
for m in ${modules}; do
! use $m && modules=${modules/ $m / }
done
shopt -s extglob
modules=${modules%%+( )}
shopt -u extglob
[[ ${modules} ]]
}
# Removes module from modules.d.
# $1 = module name
# Module name can be specified without number prefix.
rm_module() {
local force m
[[ $1 = -f ]] && force=-f
for m in $@; do
if [[ $m =~ ^[0-9][0-9][^\ ]*$ ]]; then
rm ${force} --interactive=never -r "${modules_dir}"/$m
else
rm ${force} --interactive=never -r "${modules_dir}"/[0-9][0-9]$m
fi
done
}
#
# ebuild functions
#
src_prepare() {
epatch "${FILESDIR}/${PV}-0001-dracut.sh-do-not-bail-out-if-kernel-mo.patch"
epatch "${FILESDIR}/${PV}-0002-dracut-functions.sh-support-for-altern.patch"
epatch "${FILESDIR}/${PV}-0003-gentoo.conf-let-udevdir-be-handled-by-.patch"
epatch "${FILESDIR}/${PV}-0004-Use-the-same-paths-in-dracut.sh-as-tho.patch"
epatch "${FILESDIR}/${PV}-0005-Install-dracut-install-into-libexec-di.patch"
epatch "${FILESDIR}/${PV}-0006-resume-fix-swap-detection-in-hostonly.patch"
epatch "${FILESDIR}/${PV}-0007-dracut.sh-also-mkdir-run-lock-which-is.patch"
epatch "${FILESDIR}/${PV}-0008-dracut.sh-no-need-to-make-subdirs-in-r.patch"
epatch "${FILESDIR}/${PV}-0009-lvm-install-thin-utils-for-non-hostonl.patch"
epatch "${DISTDIR}/${PV}-0010-module-setup.sh-add-comments.patch.bz2"
epatch "${FILESDIR}/${PV}-0011-lvm-fix-thin-recognition.patch"
epatch "${FILESDIR}/${PV}-0012-lvm-always-install-thin-utils-for-lvm.patch"
epatch "${FILESDIR}/${PV}-0013-usrmount-always-install.patch"
epatch "${FILESDIR}/${PV}-0014-udev-rules-add-eudev-rules.patch"
local libdirs="/$(get_libdir) /usr/$(get_libdir)"
[[ $libdirs =~ /lib\ ]] || libdirs+=" /lib /usr/lib"
einfo "Setting libdirs to \"${libdirs}\" ..."
sed -e "3alibdirs=\"${libdirs}\"" \
-i "${S}/dracut.conf.d/gentoo.conf.example" || die
local udevdir="$("$(tc-getPKG_CONFIG)" udev --variable=udevdir)"
einfo "Setting udevdir to ${udevdir}..."
sed -r -e "s|^(udevdir=).*$|\1${udevdir}|" \
-i "${S}/dracut.conf.d/gentoo.conf.example" || die
if use dracut_modules_systemd; then
local systemdutildir="$(systemd_get_utildir)"
local systemdsystemunitdir="$(systemd_get_unitdir)"
local systemdsystemconfdir="$("$(tc-getPKG_CONFIG)" systemd \
--variable=systemdsystemconfdir)"
[[ ${systemdsystemconfdir} ]] \
|| systemdsystemconfdir=/etc/systemd/system
einfo "Setting systemdutildir to ${systemdutildir} and ..."
sed -e "5asystemdutildir=\"${systemdutildir}\"" \
-i "${S}/dracut.conf.d/gentoo.conf.example" || die
einfo "Setting systemdsystemunitdir to ${systemdsystemunitdir} and..."
sed -e "6asystemdsystemunitdir=\"${systemdsystemunitdir}\"" \
-i "${S}/dracut.conf.d/gentoo.conf.example" || die
einfo "Setting systemdsystemconfdir to ${systemdsystemconfdir}..."
sed -e "7asystemdsystemconfdir=\"${systemdsystemconfdir}\"" \
-i "${S}/dracut.conf.d/gentoo.conf.example" || die
fi
epatch_user
}
src_configure() {
local myconf="--libdir=${MY_LIBDIR}"
myconf+=" --bashcompletiondir=$(get_bashcompdir)"
if use dracut_modules_systemd; then
myconf+=" --systemdsystemunitdir='$(systemd_get_unitdir)'"
fi
econf ${myconf}
}
src_compile() {
tc-export CC
emake doc install/dracut-install
}
src_install() {
default
local my_libdir="${MY_LIBDIR}"
local dracutlibdir="${my_libdir#/}/dracut"
echo "DRACUT_VERSION=$PVR" > "${D%/}/${dracutlibdir}/dracut-version.sh"
insinto "${dracutlibdir}/dracut.conf.d/"
newins dracut.conf.d/gentoo.conf.example gentoo.conf
insinto /etc/logrotate.d
newins dracut.logrotate dracut
dodir /var/lib/dracut/overlay
dohtml dracut.html
#
# Modules
#
local module
modules_dir="${D%/}/${dracutlibdir}/modules.d"
# Remove modules not enabled by USE flags
for module in ${IUSE_DRACUT_MODULES} ; do
! use ${module} && rm_module -f ${module#dracut_modules_}
done
# Those flags are specific, and even are corresponding to modules, they need
# to be declared as regular USE flags.
use debug || rm_module 95debug
use selinux || rm_module 98selinux
# Following flags define set of helper modules which are base dependencies
# for others and as so have no practical use, so remove these modules.
use device-mapper || rm_module 90dm
use net || rm_module 40network 45ifcfg 45url-lib
if use dracut_modules_systemd; then
# With systemd following modules do not make sense
rm_module 96securityfs 98selinux
else
# Without systemd following modules do not make sense
rm_module 00systemd-bootchart
fi
# Remove S/390 modules which are not tested at all
rm_module 80cms 95dasd 95dasd_mod 95zfcp 95znet
# Remove modules which won't work for sure
rm_module 95fcoe # no tools
# fips module depends on masked app-crypt/hmaccalc
rm_module 01fips 02fips-aesni
# Remove extra modules which go to future dracut-extras
rm_module 05busybox 97masterkey 98ecryptfs 98integrity
}
pkg_postinst() {
if linux-info_get_any_version && linux_config_src_exists; then
ewarn ""
ewarn "If the following test report contains a missing kernel"
ewarn "configuration option, you should reconfigure and rebuild your"
ewarn "kernel before booting image generated with this Dracut version."
ewarn ""
local CONFIG_CHECK="~BLK_DEV_INITRD ~DEVTMPFS"
# Kernel configuration options descriptions:
local desc_DEVTMPFS="Maintain a devtmpfs filesystem to mount at /dev"
local desc_BLK_DEV_INITRD="Initial RAM filesystem and RAM disk "\
"(initramfs/initrd) support"
local opt desc
# Generate ERROR_* variables for check_extra_config.
for opt in ${CONFIG_CHECK}; do
opt=${opt#\~}
desc=desc_${opt}
eval "local ERROR_${opt}='CONFIG_${opt}: \"${!desc}\"" \
"is missing and REQUIRED'"
done
check_extra_config
echo
else
ewarn ""
ewarn "Your kernel configuration couldn't be checked. Do you have"
ewarn "/usr/src/linux/.config file there? Please check manually if"
ewarn "following options are enabled:"
ewarn ""
ewarn " CONFIG_BLK_DEV_INITRD"
ewarn " CONFIG_DEVTMPFS"
ewarn ""
fi
if use dracut_modules_crypt || use dracut_modules_dmraid || use \
dracut_modules_mdraid || use dracut_modules_lvm; then
if ! [[ $(</proc/cmdline) =~ rd.auto[\ =] ]]; then
ewarn "Autoassembly of special devices like cryptoLUKS, dmraid, "
ewarn "mdraid or lvm is off for default as of >=dracut-024."
ewarn "Use rd.auto option to turn it on."
fi
fi
}

View File

@ -0,0 +1,260 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-kernel/dracut/dracut-036-r4.ebuild,v 1.5 2014/04/24 20:09:28 aidecoe Exp $
EAPI=4
inherit bash-completion-r1 eutils linux-info multilib systemd
DESCRIPTION="Generic initramfs generation tool"
HOMEPAGE="http://dracut.wiki.kernel.org"
SRC_URI="mirror://kernel/linux/utils/boot/${PN}/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
IUSE="debug selinux systemd"
RESTRICT="test"
CDEPEND="virtual/udev
!>=sys-fs/udev-210
!>=sys-apps/systemd-210
systemd? ( >=sys-apps/systemd-199 )
selinux? ( sec-policy/selinux-dracut )
"
RDEPEND="${CDEPEND}
app-arch/cpio
>=app-shells/bash-4.0
>sys-apps/kmod-5[tools]
|| ( >=sys-apps/sysvinit-2.87-r3 sys-apps/systemd-sysv-utils )
>=sys-apps/util-linux-2.21
debug? ( dev-util/strace )
selinux? ( sys-libs/libselinux sys-libs/libsepol )
"
DEPEND="${CDEPEND}
app-text/asciidoc
>=dev-libs/libxslt-1.1.26
app-text/docbook-xml-dtd:4.5
>=app-text/docbook-xsl-stylesheets-1.75.2
virtual/pkgconfig
"
DOCS=( AUTHORS HACKING NEWS README README.generic README.kernel README.modules
README.testsuite TODO )
MY_LIBDIR=/usr/lib
PATCHES=(
"${FILESDIR}/${PV}-0001-NEWS-update-for-version-036.patch"
"${FILESDIR}/${PV}-0002-dracut-functions.sh-support-for-altern.patch"
"${FILESDIR}/${PV}-0003-gentoo.conf-let-udevdir-be-handled-by-.patch"
"${FILESDIR}/${PV}-0004-Use-the-same-paths-in-dracut.sh-as-tho.patch"
"${FILESDIR}/${PV}-0005-Install-dracut-install-into-libexec-di.patch"
"${FILESDIR}/${PV}-0006-dracut.sh-Fix-variable-name-typo.patch"
"${FILESDIR}/${PV}-0007-Added-missing-quotes.patch"
"${FILESDIR}/${PV}-0008-Add-legacy-flag-l-to-lz4-and-update-ma.patch"
)
#
# Helper functions
#
# Removes module from modules.d.
# $1 = module name
# Module name can be specified without number prefix.
rm_module() {
local force m
[[ $1 = -f ]] && force=-f
for m in $@; do
if [[ $m =~ ^[0-9][0-9][^\ ]*$ ]]; then
rm ${force} --interactive=never -r "${modules_dir}"/$m
else
rm ${force} --interactive=never -r "${modules_dir}"/[0-9][0-9]$m
fi
done
}
# Grabbed from net-misc/netctl ebuild.
optfeature() {
local desc=$1
shift
while (( $# )); do
if has_version "$1"; then
elog " [I] $1 to ${desc}"
else
elog " [ ] $1 to ${desc}"
fi
shift
done
}
#
# ebuild functions
#
src_prepare() {
epatch "${PATCHES[@]}"
local libdirs="/$(get_libdir) /usr/$(get_libdir)"
[[ $libdirs =~ /lib\ ]] || libdirs+=" /lib /usr/lib"
einfo "Setting libdirs to \"${libdirs}\" ..."
sed -e "3alibdirs=\"${libdirs}\"" \
-i "${S}/dracut.conf.d/gentoo.conf.example" || die
local udevdir="$("$(tc-getPKG_CONFIG)" udev --variable=udevdir)"
einfo "Setting udevdir to ${udevdir}..."
sed -r -e "s|^(udevdir=).*$|\1${udevdir}|" \
-i "${S}/dracut.conf.d/gentoo.conf.example" || die
if use systemd; then
local systemdutildir="$(systemd_get_utildir)"
local systemdsystemunitdir="$(systemd_get_unitdir)"
local systemdsystemconfdir="$("$(tc-getPKG_CONFIG)" systemd \
--variable=systemdsystemconfdir)"
[[ ${systemdsystemconfdir} ]] \
|| systemdsystemconfdir=/etc/systemd/system
einfo "Setting systemdutildir to ${systemdutildir} and ..."
sed -e "5asystemdutildir=\"${systemdutildir}\"" \
-i "${S}/dracut.conf.d/gentoo.conf.example" || die
einfo "Setting systemdsystemunitdir to ${systemdsystemunitdir} and..."
sed -e "6asystemdsystemunitdir=\"${systemdsystemunitdir}\"" \
-i "${S}/dracut.conf.d/gentoo.conf.example" || die
einfo "Setting systemdsystemconfdir to ${systemdsystemconfdir}..."
sed -e "7asystemdsystemconfdir=\"${systemdsystemconfdir}\"" \
-i "${S}/dracut.conf.d/gentoo.conf.example" || die
fi
epatch_user
}
src_configure() {
local myconf="--libdir=${MY_LIBDIR}"
myconf+=" --bashcompletiondir=$(get_bashcompdir)"
if use systemd; then
myconf+=" --systemdsystemunitdir='$(systemd_get_unitdir)'"
fi
econf ${myconf}
}
src_compile() {
tc-export CC
emake doc install/dracut-install
}
src_install() {
default
local my_libdir="${MY_LIBDIR}"
local dracutlibdir="${my_libdir#/}/dracut"
echo "DRACUT_VERSION=$PVR" > "${D%/}/${dracutlibdir}/dracut-version.sh"
insinto "${dracutlibdir}/dracut.conf.d/"
newins dracut.conf.d/gentoo.conf.example gentoo.conf
insinto /etc/logrotate.d
newins dracut.logrotate dracut
dodir /var/lib/dracut/overlay
dohtml dracut.html
#
# Modules
#
local module
modules_dir="${D%/}/${dracutlibdir}/modules.d"
use debug || rm_module 95debug
use selinux || rm_module 98selinux
if use systemd; then
# With systemd following modules do not make sense
rm_module 96securityfs 97masterkey 98integrity
else
rm_module 98systemd
# Without systemd following modules do not make sense
rm_module 00systemd-bootchart
fi
# Remove modules which won't work for sure
rm_module 95fcoe # no tools
# fips module depends on masked app-crypt/hmaccalc
rm_module 01fips 02fips-aesni
}
pkg_postinst() {
if linux-info_get_any_version && linux_config_src_exists; then
ewarn ""
ewarn "If the following test report contains a missing kernel"
ewarn "configuration option, you should reconfigure and rebuild your"
ewarn "kernel before booting image generated with this Dracut version."
ewarn ""
local CONFIG_CHECK="~BLK_DEV_INITRD ~DEVTMPFS"
# Kernel configuration options descriptions:
local desc_DEVTMPFS="Maintain a devtmpfs filesystem to mount at /dev"
local desc_BLK_DEV_INITRD="Initial RAM filesystem and RAM disk "\
"(initramfs/initrd) support"
local opt desc
# Generate ERROR_* variables for check_extra_config.
for opt in ${CONFIG_CHECK}; do
opt=${opt#\~}
desc=desc_${opt}
eval "local ERROR_${opt}='CONFIG_${opt}: \"${!desc}\"" \
"is missing and REQUIRED'"
done
check_extra_config
echo
else
ewarn ""
ewarn "Your kernel configuration couldn't be checked. Do you have"
ewarn "/usr/src/linux/.config file there? Please check manually if"
ewarn "following options are enabled:"
ewarn ""
ewarn " CONFIG_BLK_DEV_INITRD"
ewarn " CONFIG_DEVTMPFS"
ewarn ""
fi
elog "To get additional features, a number of optional runtime"
elog "dependencies may be installed:"
elog ""
optfeature "Networking support" net-misc/curl "net-misc/dhcp[client]" \
sys-apps/iproute2
optfeature \
"Measure performance of the boot process for later visualisation" \
app-benchmarks/bootchart2 sys-apps/usleep sys-process/acct
optfeature "Scan for Btrfs on block devices" sys-fs/btrfs-progs
optfeature "Load kernel modules and drop this privilege for real init" \
sys-libs/libcap
optfeature "Support CIFS" net-fs/cifs-utils
optfeature "Decrypt devices encrypted with cryptsetup/LUKS" \
sys-fs/cryptsetup
optfeature "Support for GPG-encrypted keys for crypt module" \
app-crypt/gnupg
optfeature \
"Allows use of dash instead of default bash (on your own risk)" \
app-shells/dash
optfeature "Framebuffer splash (media-gfx/splashutils)" \
media-gfx/splashutils
optfeature "Support iSCSI" sys-block/open-iscsi
optfeature "Support Logical Volume Manager" sys-fs/lvm2
optfeature "Support MD devices, also known as software RAID devices" \
sys-fs/mdadm
optfeature "Support Device Mapper multipathing" sys-fs/multipath-tools
optfeature "Plymouth boot splash" '>=sys-boot/plymouth-0.8.5-r5'
optfeature "Support network block devices" sys-block/nbd
optfeature "Support NFS" net-fs/nfs-utils net-nds/rpcbind
optfeature \
"Install ssh and scp along with config files and specified keys" \
dev-libs/openssl
optfeature "Enable logging with syslog-ng or rsyslog" app-admin/syslog-ng \
app-admin/rsyslog
}

View File

@ -0,0 +1,264 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-kernel/dracut/dracut-037-r1.ebuild,v 1.1 2014/05/14 07:09:46 aidecoe Exp $
EAPI=4
inherit bash-completion-r1 eutils linux-info multilib systemd
DESCRIPTION="Generic initramfs generation tool"
HOMEPAGE="http://dracut.wiki.kernel.org"
SRC_URI="mirror://kernel/linux/utils/boot/${PN}/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
IUSE="debug selinux systemd"
RESTRICT="test"
CDEPEND="virtual/udev
systemd? ( >=sys-apps/systemd-199 )
selinux? ( sec-policy/selinux-dracut )
"
RDEPEND="${CDEPEND}
app-arch/cpio
>=app-shells/bash-4.0
>sys-apps/kmod-5[tools]
|| ( >=sys-apps/sysvinit-2.87-r3 sys-apps/systemd-sysv-utils )
>=sys-apps/util-linux-2.21
debug? ( dev-util/strace )
selinux? ( sys-libs/libselinux sys-libs/libsepol )
"
DEPEND="${CDEPEND}
app-text/asciidoc
>=dev-libs/libxslt-1.1.26
app-text/docbook-xml-dtd:4.5
>=app-text/docbook-xsl-stylesheets-1.75.2
virtual/pkgconfig
"
DOCS=( AUTHORS HACKING NEWS README README.generic README.kernel README.modules
README.testsuite TODO )
MY_LIBDIR=/usr/lib
PATCHES=(
"${FILESDIR}/${PV}-0001-dracut-functions.sh-support-for-altern.patch"
"${FILESDIR}/${PV}-0002-gentoo.conf-let-udevdir-be-handled-by-.patch"
"${FILESDIR}/${PV}-0003-Use-the-same-paths-in-dracut.sh-as-tho.patch"
"${FILESDIR}/${PV}-0004-Install-dracut-install-into-libexec-di.patch"
"${FILESDIR}/${PV}-0005-modsign-do-not-hardcode-path-to-keyctl.patch"
)
#
# Helper functions
#
# Removes module from modules.d.
# $1 = module name
# Module name can be specified without number prefix.
rm_module() {
local force m
[[ $1 = -f ]] && force=-f
for m in $@; do
if [[ $m =~ ^[0-9][0-9][^\ ]*$ ]]; then
rm ${force} --interactive=never -r "${modules_dir}"/$m
else
rm ${force} --interactive=never -r "${modules_dir}"/[0-9][0-9]$m
fi
done
}
# Grabbed from net-misc/netctl ebuild.
optfeature() {
local desc=$1
shift
while (( $# )); do
if has_version "$1"; then
elog " [I] $1 to ${desc}"
else
elog " [ ] $1 to ${desc}"
fi
shift
done
}
#
# ebuild functions
#
src_prepare() {
epatch "${PATCHES[@]}"
local libdirs="/$(get_libdir) /usr/$(get_libdir)"
if [[ ${SYMLINK_LIB} = yes ]]; then
# Preserve lib -> lib64 symlinks in initramfs
[[ $libdirs =~ /lib\ ]] || libdirs+=" /lib /usr/lib"
fi
einfo "Setting libdirs to \"${libdirs}\" ..."
sed -e "3alibdirs=\"${libdirs}\"" \
-i "${S}/dracut.conf.d/gentoo.conf.example" || die
local udevdir="$("$(tc-getPKG_CONFIG)" udev --variable=udevdir)"
einfo "Setting udevdir to ${udevdir}..."
sed -r -e "s|^(udevdir=).*$|\1${udevdir}|" \
-i "${S}/dracut.conf.d/gentoo.conf.example" || die
if use systemd; then
local systemdutildir="$(systemd_get_utildir)"
local systemdsystemunitdir="$(systemd_get_unitdir)"
local systemdsystemconfdir="$("$(tc-getPKG_CONFIG)" systemd \
--variable=systemdsystemconfdir)"
[[ ${systemdsystemconfdir} ]] \
|| systemdsystemconfdir=/etc/systemd/system
einfo "Setting systemdutildir to ${systemdutildir} and ..."
sed -e "5asystemdutildir=\"${systemdutildir}\"" \
-i "${S}/dracut.conf.d/gentoo.conf.example" || die
einfo "Setting systemdsystemunitdir to ${systemdsystemunitdir} and..."
sed -e "6asystemdsystemunitdir=\"${systemdsystemunitdir}\"" \
-i "${S}/dracut.conf.d/gentoo.conf.example" || die
einfo "Setting systemdsystemconfdir to ${systemdsystemconfdir}..."
sed -e "7asystemdsystemconfdir=\"${systemdsystemconfdir}\"" \
-i "${S}/dracut.conf.d/gentoo.conf.example" || die
else
local systemdutildir="/lib/systemd"
einfo "Setting systemdutildir for standalone udev to" \
"${systemdutildir}..."
sed -e "5asystemdutildir=\"${systemdutildir}\"" \
-i "${S}/dracut.conf.d/gentoo.conf.example" || die
fi
epatch_user
}
src_configure() {
local myconf="--libdir=${MY_LIBDIR}"
myconf+=" --bashcompletiondir=$(get_bashcompdir)"
if use systemd; then
myconf+=" --systemdsystemunitdir='$(systemd_get_unitdir)'"
fi
econf ${myconf}
}
src_compile() {
tc-export CC
emake doc install/dracut-install
}
src_install() {
default
local my_libdir="${MY_LIBDIR}"
local dracutlibdir="${my_libdir#/}/dracut"
echo "DRACUT_VERSION=$PVR" > "${D%/}/${dracutlibdir}/dracut-version.sh"
insinto "${dracutlibdir}/dracut.conf.d/"
newins dracut.conf.d/gentoo.conf.example gentoo.conf
insinto /etc/logrotate.d
newins dracut.logrotate dracut
dodir /var/lib/dracut/overlay
dohtml dracut.html
#
# Modules
#
local module
modules_dir="${D%/}/${dracutlibdir}/modules.d"
use debug || rm_module 95debug
use selinux || rm_module 98selinux
if use systemd; then
# With systemd following modules do not make sense
rm_module 96securityfs 97masterkey 98integrity
else
rm_module 98systemd
# Without systemd following modules do not make sense
rm_module 00systemd-bootchart
fi
# Remove modules which won't work for sure
rm_module 95fcoe # no tools
# fips module depends on masked app-crypt/hmaccalc
rm_module 01fips 02fips-aesni
}
pkg_postinst() {
if linux-info_get_any_version && linux_config_src_exists; then
ewarn ""
ewarn "If the following test report contains a missing kernel"
ewarn "configuration option, you should reconfigure and rebuild your"
ewarn "kernel before booting image generated with this Dracut version."
ewarn ""
local CONFIG_CHECK="~BLK_DEV_INITRD ~DEVTMPFS"
# Kernel configuration options descriptions:
local desc_DEVTMPFS="Maintain a devtmpfs filesystem to mount at /dev"
local desc_BLK_DEV_INITRD="Initial RAM filesystem and RAM disk "\
"(initramfs/initrd) support"
local opt desc
# Generate ERROR_* variables for check_extra_config.
for opt in ${CONFIG_CHECK}; do
opt=${opt#\~}
desc=desc_${opt}
eval "local ERROR_${opt}='CONFIG_${opt}: \"${!desc}\"" \
"is missing and REQUIRED'"
done
check_extra_config
echo
else
ewarn ""
ewarn "Your kernel configuration couldn't be checked. Do you have"
ewarn "/usr/src/linux/.config file there? Please check manually if"
ewarn "following options are enabled:"
ewarn ""
ewarn " CONFIG_BLK_DEV_INITRD"
ewarn " CONFIG_DEVTMPFS"
ewarn ""
fi
elog "To get additional features, a number of optional runtime"
elog "dependencies may be installed:"
elog ""
optfeature "Networking support" net-misc/curl "net-misc/dhcp[client]" \
sys-apps/iproute2
optfeature \
"Measure performance of the boot process for later visualisation" \
app-benchmarks/bootchart2 sys-apps/usleep sys-process/acct
optfeature "Scan for Btrfs on block devices" sys-fs/btrfs-progs
optfeature "Load kernel modules and drop this privilege for real init" \
sys-libs/libcap
optfeature "Support CIFS" net-fs/cifs-utils
optfeature "Decrypt devices encrypted with cryptsetup/LUKS" \
sys-fs/cryptsetup
optfeature "Support for GPG-encrypted keys for crypt module" \
app-crypt/gnupg
optfeature \
"Allows use of dash instead of default bash (on your own risk)" \
app-shells/dash
optfeature "Framebuffer splash (media-gfx/splashutils)" \
media-gfx/splashutils
optfeature "Support iSCSI" sys-block/open-iscsi
optfeature "Support Logical Volume Manager" sys-fs/lvm2
optfeature "Support MD devices, also known as software RAID devices" \
sys-fs/mdadm
optfeature "Support Device Mapper multipathing" sys-fs/multipath-tools
optfeature "Plymouth boot splash" '>=sys-boot/plymouth-0.8.5-r5'
optfeature "Support network block devices" sys-block/nbd
optfeature "Support NFS" net-fs/nfs-utils net-nds/rpcbind
optfeature \
"Install ssh and scp along with config files and specified keys" \
dev-libs/openssl
optfeature "Enable logging with syslog-ng or rsyslog" app-admin/syslog-ng \
app-admin/rsyslog
}

View File

@ -0,0 +1,260 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-kernel/dracut/dracut-037.ebuild,v 1.2 2014/04/24 20:09:28 aidecoe Exp $
EAPI=4
inherit bash-completion-r1 eutils linux-info multilib systemd
DESCRIPTION="Generic initramfs generation tool"
HOMEPAGE="http://dracut.wiki.kernel.org"
SRC_URI="mirror://kernel/linux/utils/boot/${PN}/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
IUSE="debug selinux systemd"
RESTRICT="test"
CDEPEND="virtual/udev
systemd? ( >=sys-apps/systemd-199 )
selinux? ( sec-policy/selinux-dracut )
"
RDEPEND="${CDEPEND}
app-arch/cpio
>=app-shells/bash-4.0
>sys-apps/kmod-5[tools]
|| ( >=sys-apps/sysvinit-2.87-r3 sys-apps/systemd-sysv-utils )
>=sys-apps/util-linux-2.21
debug? ( dev-util/strace )
selinux? ( sys-libs/libselinux sys-libs/libsepol )
"
DEPEND="${CDEPEND}
app-text/asciidoc
>=dev-libs/libxslt-1.1.26
app-text/docbook-xml-dtd:4.5
>=app-text/docbook-xsl-stylesheets-1.75.2
virtual/pkgconfig
"
DOCS=( AUTHORS HACKING NEWS README README.generic README.kernel README.modules
README.testsuite TODO )
MY_LIBDIR=/usr/lib
PATCHES=(
"${FILESDIR}/${PV}-0001-dracut-functions.sh-support-for-altern.patch"
"${FILESDIR}/${PV}-0002-gentoo.conf-let-udevdir-be-handled-by-.patch"
"${FILESDIR}/${PV}-0003-Use-the-same-paths-in-dracut.sh-as-tho.patch"
"${FILESDIR}/${PV}-0004-Install-dracut-install-into-libexec-di.patch"
)
#
# Helper functions
#
# Removes module from modules.d.
# $1 = module name
# Module name can be specified without number prefix.
rm_module() {
local force m
[[ $1 = -f ]] && force=-f
for m in $@; do
if [[ $m =~ ^[0-9][0-9][^\ ]*$ ]]; then
rm ${force} --interactive=never -r "${modules_dir}"/$m
else
rm ${force} --interactive=never -r "${modules_dir}"/[0-9][0-9]$m
fi
done
}
# Grabbed from net-misc/netctl ebuild.
optfeature() {
local desc=$1
shift
while (( $# )); do
if has_version "$1"; then
elog " [I] $1 to ${desc}"
else
elog " [ ] $1 to ${desc}"
fi
shift
done
}
#
# ebuild functions
#
src_prepare() {
epatch "${PATCHES[@]}"
local libdirs="/$(get_libdir) /usr/$(get_libdir)"
[[ $libdirs =~ /lib\ ]] || libdirs+=" /lib /usr/lib"
einfo "Setting libdirs to \"${libdirs}\" ..."
sed -e "3alibdirs=\"${libdirs}\"" \
-i "${S}/dracut.conf.d/gentoo.conf.example" || die
local udevdir="$("$(tc-getPKG_CONFIG)" udev --variable=udevdir)"
einfo "Setting udevdir to ${udevdir}..."
sed -r -e "s|^(udevdir=).*$|\1${udevdir}|" \
-i "${S}/dracut.conf.d/gentoo.conf.example" || die
if use systemd; then
local systemdutildir="$(systemd_get_utildir)"
local systemdsystemunitdir="$(systemd_get_unitdir)"
local systemdsystemconfdir="$("$(tc-getPKG_CONFIG)" systemd \
--variable=systemdsystemconfdir)"
[[ ${systemdsystemconfdir} ]] \
|| systemdsystemconfdir=/etc/systemd/system
einfo "Setting systemdutildir to ${systemdutildir} and ..."
sed -e "5asystemdutildir=\"${systemdutildir}\"" \
-i "${S}/dracut.conf.d/gentoo.conf.example" || die
einfo "Setting systemdsystemunitdir to ${systemdsystemunitdir} and..."
sed -e "6asystemdsystemunitdir=\"${systemdsystemunitdir}\"" \
-i "${S}/dracut.conf.d/gentoo.conf.example" || die
einfo "Setting systemdsystemconfdir to ${systemdsystemconfdir}..."
sed -e "7asystemdsystemconfdir=\"${systemdsystemconfdir}\"" \
-i "${S}/dracut.conf.d/gentoo.conf.example" || die
else
local systemdutildir="/lib/systemd"
einfo "Setting systemdutildir for standalone udev to" \
"${systemdutildir}..."
sed -e "5asystemdutildir=\"${systemdutildir}\"" \
-i "${S}/dracut.conf.d/gentoo.conf.example" || die
fi
epatch_user
}
src_configure() {
local myconf="--libdir=${MY_LIBDIR}"
myconf+=" --bashcompletiondir=$(get_bashcompdir)"
if use systemd; then
myconf+=" --systemdsystemunitdir='$(systemd_get_unitdir)'"
fi
econf ${myconf}
}
src_compile() {
tc-export CC
emake doc install/dracut-install
}
src_install() {
default
local my_libdir="${MY_LIBDIR}"
local dracutlibdir="${my_libdir#/}/dracut"
echo "DRACUT_VERSION=$PVR" > "${D%/}/${dracutlibdir}/dracut-version.sh"
insinto "${dracutlibdir}/dracut.conf.d/"
newins dracut.conf.d/gentoo.conf.example gentoo.conf
insinto /etc/logrotate.d
newins dracut.logrotate dracut
dodir /var/lib/dracut/overlay
dohtml dracut.html
#
# Modules
#
local module
modules_dir="${D%/}/${dracutlibdir}/modules.d"
use debug || rm_module 95debug
use selinux || rm_module 98selinux
if use systemd; then
# With systemd following modules do not make sense
rm_module 96securityfs 97masterkey 98integrity
else
rm_module 98systemd
# Without systemd following modules do not make sense
rm_module 00systemd-bootchart
fi
# Remove modules which won't work for sure
rm_module 95fcoe # no tools
# fips module depends on masked app-crypt/hmaccalc
rm_module 01fips 02fips-aesni
}
pkg_postinst() {
if linux-info_get_any_version && linux_config_src_exists; then
ewarn ""
ewarn "If the following test report contains a missing kernel"
ewarn "configuration option, you should reconfigure and rebuild your"
ewarn "kernel before booting image generated with this Dracut version."
ewarn ""
local CONFIG_CHECK="~BLK_DEV_INITRD ~DEVTMPFS"
# Kernel configuration options descriptions:
local desc_DEVTMPFS="Maintain a devtmpfs filesystem to mount at /dev"
local desc_BLK_DEV_INITRD="Initial RAM filesystem and RAM disk "\
"(initramfs/initrd) support"
local opt desc
# Generate ERROR_* variables for check_extra_config.
for opt in ${CONFIG_CHECK}; do
opt=${opt#\~}
desc=desc_${opt}
eval "local ERROR_${opt}='CONFIG_${opt}: \"${!desc}\"" \
"is missing and REQUIRED'"
done
check_extra_config
echo
else
ewarn ""
ewarn "Your kernel configuration couldn't be checked. Do you have"
ewarn "/usr/src/linux/.config file there? Please check manually if"
ewarn "following options are enabled:"
ewarn ""
ewarn " CONFIG_BLK_DEV_INITRD"
ewarn " CONFIG_DEVTMPFS"
ewarn ""
fi
elog "To get additional features, a number of optional runtime"
elog "dependencies may be installed:"
elog ""
optfeature "Networking support" net-misc/curl "net-misc/dhcp[client]" \
sys-apps/iproute2
optfeature \
"Measure performance of the boot process for later visualisation" \
app-benchmarks/bootchart2 sys-apps/usleep sys-process/acct
optfeature "Scan for Btrfs on block devices" sys-fs/btrfs-progs
optfeature "Load kernel modules and drop this privilege for real init" \
sys-libs/libcap
optfeature "Support CIFS" net-fs/cifs-utils
optfeature "Decrypt devices encrypted with cryptsetup/LUKS" \
sys-fs/cryptsetup
optfeature "Support for GPG-encrypted keys for crypt module" \
app-crypt/gnupg
optfeature \
"Allows use of dash instead of default bash (on your own risk)" \
app-shells/dash
optfeature "Framebuffer splash (media-gfx/splashutils)" \
media-gfx/splashutils
optfeature "Support iSCSI" sys-block/open-iscsi
optfeature "Support Logical Volume Manager" sys-fs/lvm2
optfeature "Support MD devices, also known as software RAID devices" \
sys-fs/mdadm
optfeature "Support Device Mapper multipathing" sys-fs/multipath-tools
optfeature "Plymouth boot splash" '>=sys-boot/plymouth-0.8.5-r5'
optfeature "Support network block devices" sys-block/nbd
optfeature "Support NFS" net-fs/nfs-utils net-nds/rpcbind
optfeature \
"Install ssh and scp along with config files and specified keys" \
dev-libs/openssl
optfeature "Enable logging with syslog-ng or rsyslog" app-admin/syslog-ng \
app-admin/rsyslog
}

View File

@ -0,0 +1,42 @@
From 45e5079d4be0ac1a977bc41dcda423fcfa3280fc Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Tue, 8 Oct 2013 15:03:40 +0200
Subject: [PATCH 1/5] dracut.sh: do not bail out, if kernel modules dir is
missing
and only print a warning message
---
dracut.sh | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/dracut.sh b/dracut.sh
index e135dfc..d9533dd 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -496,17 +496,18 @@ if [[ $regenerate_all == "yes" ]]; then
((ret+=$?))
done
exit $ret
-elif [[ $kernel ]]; then
- if ! [[ -d /lib/modules/$kernel ]] && [[ $no_kernel != yes ]]; then
- printf -- "Kernel version $kernel has no modules in /lib/modules/$kernel\n" >&2
- exit 1
- fi
fi
if ! [[ $kernel ]]; then
kernel=$(uname -r)
fi
+if [[ $kernel ]]; then
+ if ! [[ -d /lib/modules/$kernel ]] && [[ $no_kernel != yes ]]; then
+ printf -- "Kernel version $kernel has no module directory /lib/modules/$kernel\n" >&2
+ fi
+fi
+
if ! [[ $outfile ]]; then
[[ -f /etc/machine-id ]] && read MACHINE_ID < /etc/machine-id
--
1.8.3.2

View File

@ -0,0 +1,41 @@
From c5a2f35eb2a90d8787d127b44cb6b5e0536d16ce Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Sun, 6 Jan 2013 13:35:01 +0100
Subject: [PATCH 2/5] dracut-functions.sh: support for alternative udev dirs -
udevaltdirs
It is required for Gentoo which moves udev from / to /usr and supports
both /lib/udev and /usr/lib/udev for compatibility with other packages.
Credits go to Alexander Tsoy <alexander@tsoy.me>.
Conflicts:
dracut-functions.sh
---
dracut-functions.sh | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/dracut-functions.sh b/dracut-functions.sh
index 45e0911..c1cbdeb 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -872,6 +872,16 @@ inst_rules() {
inst_dir "$_target"
for _rule in "$@"; do
if [ "${_rule#/}" = "$_rule" ]; then
+ for r in ${udevaltdirs}; do
+ [[ "$r" = "${udevdir}" ]] && continue
+ if [[ -e $r/rules.d/$_rule ]]; then
+ _found="$r/rules.d/$_rule"
+ inst_rule_programs "$_found"
+ inst_rule_group_owner "$_found"
+ inst_rule_initqueue "$_found"
+ inst_simple "$_found" "${udevdir}/rules.d/${_found##*/}"
+ fi
+ done
for r in ${udevdir}/rules.d ${hostonly:+/etc/udev/rules.d}; do
if [[ -e $r/$_rule ]]; then
_found="$r/$_rule"
--
1.8.3.2

View File

@ -0,0 +1,30 @@
From 29ade4d78b7609877659aa5938b3fba2954ce415 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Sun, 16 Dec 2012 20:02:48 +0100
Subject: [PATCH 3/5] gentoo.conf: let udevdir= be handled by pkg-config and
use udevaltdirs
To avoid need of rebuild after udev update/downgrade let udevdir= be set
dynamically with pkg-config. Use udevaltdirs to search for rules both
in old and new locations.
---
dracut.conf.d/gentoo.conf.example | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/dracut.conf.d/gentoo.conf.example b/dracut.conf.d/gentoo.conf.example
index 26e7314..f9617f0 100644
--- a/dracut.conf.d/gentoo.conf.example
+++ b/dracut.conf.d/gentoo.conf.example
@@ -1,7 +1,8 @@
# /etc/dracut.conf.d/gentoo.conf
# dracut config file customized for Gentoo Base System release 2
-udevdir=/lib/udev
+udevdir=
+udevaltdirs="/lib/udev /usr/lib/udev"
ro_mnt=yes
#
--
1.8.3.2

View File

@ -0,0 +1,74 @@
From 6660721bd34b7a25026ffc6a6df4cdfdc8742ed3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Wed, 2 Oct 2013 22:37:09 +0200
Subject: [PATCH 4/5] Use the same paths in dracut.sh as those set with
configure script
Makefile alters destination main dracut script and sets dracutbasedir to
the value of pkglibdir set in configure.
---
Makefile | 3 +++
dracut.sh | 9 ++++-----
2 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/Makefile b/Makefile
index 124a41b..ea504f5 100644
--- a/Makefile
+++ b/Makefile
@@ -91,6 +91,9 @@ install: dracut-version.sh
mkdir -p $(DESTDIR)$(pkglibdir)/modules.d
mkdir -p $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man5 $(DESTDIR)$(mandir)/man7 $(DESTDIR)$(mandir)/man8
install -m 0755 dracut.sh $(DESTDIR)$(bindir)/dracut
+ sed -r \
+ -e "s|^(pkglibdir)=.*|\1=$(pkglibdir)|" \
+ -i $(DESTDIR)$(bindir)/dracut
install -m 0755 dracut-catimages.sh $(DESTDIR)$(bindir)/dracut-catimages
install -m 0755 mkinitrd-dracut.sh $(DESTDIR)$(bindir)/mkinitrd
install -m 0755 lsinitrd.sh $(DESTDIR)$(bindir)/lsinitrd
diff --git a/dracut.sh b/dracut.sh
index d9533dd..cf18c81 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -26,10 +26,13 @@
# store for logging
dracut_args=( "$@" )
+# base dirs
+pkglibdir=/usr/lib/dracut
+dracutbasedir="$pkglibdir"
+
set -o pipefail
usage() {
- [[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut
if [[ -f $dracutbasedir/dracut-version.sh ]]; then
. $dracutbasedir/dracut-version.sh
fi
@@ -54,7 +57,6 @@ EOF
}
long_usage() {
- [[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut
if [[ -f $dracutbasedir/dracut-version.sh ]]; then
. $dracutbasedir/dracut-version.sh
fi
@@ -549,8 +551,6 @@ export DRACUT_LOG_LEVEL=warning
debug=yes
}
-[[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut
-
# if we were not passed a config file, try the default one
if [[ ! -f $conffile ]]; then
if [[ $allowlocal ]]; then
@@ -669,7 +669,6 @@ stdloglvl=$((stdloglvl + verbosity_mod_l))
[[ $use_fstab_l ]] && use_fstab=$use_fstab_l
[[ $mdadmconf_l ]] && mdadmconf=$mdadmconf_l
[[ $lvmconf_l ]] && lvmconf=$lvmconf_l
-[[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut
[[ $fw_dir ]] || fw_dir="/lib/firmware/updates /lib/firmware"
[[ $tmpdir_l ]] && tmpdir="$tmpdir_l"
[[ $tmpdir ]] || tmpdir=/var/tmp
--
1.8.3.2

View File

@ -0,0 +1,81 @@
From 80dbe6dfbdb2cd3475006e210fe057dceb81ddf2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Wed, 2 Oct 2013 22:40:43 +0200
Subject: [PATCH 5/5] Install dracut-install into libexec dir instead of lib
dir
dracut-install script is the only thing ABI specific atm.
See https://bugs.gentoo.org/show_bug.cgi?id=485218 for details on the
problem.
---
Makefile | 4 +++-
configure | 1 +
dracut-functions.sh | 4 ++++
dracut.sh | 1 +
4 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index ea504f5..e004a79 100644
--- a/Makefile
+++ b/Makefile
@@ -92,6 +92,7 @@ install: dracut-version.sh
mkdir -p $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man5 $(DESTDIR)$(mandir)/man7 $(DESTDIR)$(mandir)/man8
install -m 0755 dracut.sh $(DESTDIR)$(bindir)/dracut
sed -r \
+ -e "s|^(libexecdir)=.*|\1=$(libexecdir)|" \
-e "s|^(pkglibdir)=.*|\1=$(pkglibdir)|" \
-i $(DESTDIR)$(bindir)/dracut
install -m 0755 dracut-catimages.sh $(DESTDIR)$(bindir)/dracut-catimages
@@ -135,7 +136,8 @@ endif
done \
fi
if [ -f install/dracut-install ]; then \
- install -m 0755 install/dracut-install $(DESTDIR)$(pkglibdir)/dracut-install; \
+ mkdir -p $(DESTDIR)$(libexecdir); \
+ install -m 0755 install/dracut-install $(DESTDIR)$(libexecdir)/dracut-install; \
fi
mkdir -p $(DESTDIR)${prefix}/lib/kernel/install.d
install -m 0755 50-dracut.install $(DESTDIR)${prefix}/lib/kernel/install.d/50-dracut.install
diff --git a/configure b/configure
index 19b5e1f..d2ffc2c 100755
--- a/configure
+++ b/configure
@@ -61,6 +61,7 @@ sbindir ?= ${sbindir:-${prefix}/sbin}
mandir ?= ${mandir:-${prefix}/share/man}
enable_documentation ?= ${enable_documentation:-yes}
bindir ?= ${bindir:-${prefix}/bin}
+libexecdir ?= ${libexecdir:-${prefix}/libexec}
EOF
{
diff --git a/dracut-functions.sh b/dracut-functions.sh
index c1cbdeb..72b7f1b 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -694,6 +694,10 @@ if ! [[ $DRACUT_INSTALL ]]; then
DRACUT_INSTALL=$(find_binary dracut-install)
fi
+if ! [[ $DRACUT_INSTALL ]] && [[ -x $libexecdir/dracut-install ]]; then
+ DRACUT_INSTALL=$libexecdir/dracut-install
+fi
+
if ! [[ $DRACUT_INSTALL ]] && [[ -x $dracutbasedir/dracut-install ]]; then
DRACUT_INSTALL=$dracutbasedir/dracut-install
fi
diff --git a/dracut.sh b/dracut.sh
index cf18c81..e28b929 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -27,6 +27,7 @@
dracut_args=( "$@" )
# base dirs
+libexecdir=/usr/libexec
pkglibdir=/usr/lib/dracut
dracutbasedir="$pkglibdir"
--
1.8.3.2

View File

@ -0,0 +1,31 @@
From 0c89bcc27516803d68444488ede3d513ba982039 Mon Sep 17 00:00:00 2001
From: Alexander Tsoy <alexander@tsoy.me>
Date: Wed, 9 Oct 2013 06:39:46 +0400
Subject: [PATCH 6/6] resume: fix swap detection in hostonly
Check for other possible fs types. This fixes swap detection when using
TuxOnIce kernel.
Note that parse-resume.sh generate udev rules with support for
ID_FS_TYPE=suspend, but we do not include it here, because it is
libvolume_id thing and host_fs_types is populated using blkid.
---
modules.d/95resume/module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/95resume/module-setup.sh b/modules.d/95resume/module-setup.sh
index 518ebf0..a1ddb46 100755
--- a/modules.d/95resume/module-setup.sh
+++ b/modules.d/95resume/module-setup.sh
@@ -6,7 +6,7 @@ check() {
# No point trying to support resume, if no swap partition exist
[[ $hostonly ]] || [[ $mount_needs ]] && {
for fs in "${host_fs_types[@]}"; do
- [[ $fs = swap ]] && return 0
+ [[ $fs =~ ^(swap|swsuspend|swsupend)$ ]] && return 0
done
return 255
}
--
1.8.3.2

View File

@ -0,0 +1,25 @@
From be723725cd6ea1c41b52c1bff5a569eb8cd0c76d Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Wed, 16 Oct 2013 11:31:54 +0200
Subject: [PATCH 07/12] dracut.sh: also mkdir /run/lock, which is copied to
---
dracut.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dracut.sh b/dracut.sh
index e28b929..309aa7d 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -1081,7 +1081,7 @@ if [[ $kernel_only != yes ]]; then
fi
done
- for d in dev proc sys sysroot root run run/lock run/initramfs; do
+ for d in dev proc sys sysroot root run run/log run/lock run/initramfs; do
if [ -L "/$d" ]; then
inst_symlink "/$d"
else
--
1.8.4.3

View File

@ -0,0 +1,25 @@
From 34712f015f13221b653a1ed2ee75804f06a22357 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Wed, 16 Oct 2013 11:39:17 +0200
Subject: [PATCH 08/12] dracut.sh: no need to make subdirs in run
---
dracut.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dracut.sh b/dracut.sh
index 309aa7d..4f58eed 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -1081,7 +1081,7 @@ if [[ $kernel_only != yes ]]; then
fi
done
- for d in dev proc sys sysroot root run run/log run/lock run/initramfs; do
+ for d in dev proc sys sysroot root run; do
if [ -L "/$d" ]; then
inst_symlink "/$d"
else
--
1.8.4.3

View File

@ -0,0 +1,41 @@
From bd3303000b32cb500b2d769c6852784a807cee47 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Tue, 8 Oct 2013 10:30:00 +0200
Subject: [PATCH 09/12] lvm: install thin utils for non-hostonly
---
modules.d/90lvm/module-setup.sh | 18 +++++++++++-------
1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/modules.d/90lvm/module-setup.sh b/modules.d/90lvm/module-setup.sh
index f98ffff..514addc 100755
--- a/modules.d/90lvm/module-setup.sh
+++ b/modules.d/90lvm/module-setup.sh
@@ -52,13 +52,17 @@ install() {
inst lvm
- get_host_lvs | while read line; do
- printf "%s" " rd.lvm.lv=$line"
- if ! [[ $_needthin ]]; then
- [[ "$(lvs --noheadings -o segtype ${line%%/*} 2>/dev/null)" == *thin* ]] && _needthin=1
- fi
- done >> "${initdir}/etc/cmdline.d/90lvm.conf"
- echo >> "${initdir}/etc/cmdline.d/90lvm.conf"
+ if [[ $hostonly ]]; then
+ get_host_lvs | while read line; do
+ printf "%s" " rd.lvm.lv=$line"
+ if ! [[ $_needthin ]]; then
+ [[ "$(lvs --noheadings -o segtype ${line%%/*} 2>/dev/null)" == *thin* ]] && _needthin=1
+ fi
+ done >> "${initdir}/etc/cmdline.d/90lvm.conf"
+ echo >> "${initdir}/etc/cmdline.d/90lvm.conf"
+ else
+ _needthin=1
+ fi
inst_rules "$moddir/64-lvm.rules"
--
1.8.4.3

View File

@ -0,0 +1,40 @@
From a70dff7f103b27d5b7016e13a64c7710c61dc96e Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Wed, 16 Oct 2013 11:30:08 +0200
Subject: [PATCH 11/12] lvm: fix thin recognition
The global var setting was happening in a pipe and did not have an
effect.
Use <<<$() instead.
< <() cannot be used, because dracut is called in chroot's environments,
where /dev/fd does not point to /proc/self/fd, but bash wants
/dev/fd/<num> for this construct.
---
modules.d/90lvm/module-setup.sh | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/modules.d/90lvm/module-setup.sh b/modules.d/90lvm/module-setup.sh
index f8b598d..cbdf4a2 100755
--- a/modules.d/90lvm/module-setup.sh
+++ b/modules.d/90lvm/module-setup.sh
@@ -57,12 +57,13 @@ install() {
inst lvm
if [[ $hostonly ]]; then
- get_host_lvs | while read line; do
+ while read line; do
+ [[ -n "$line" ]] || continue
printf "%s" " rd.lvm.lv=$line"
if ! [[ $_needthin ]]; then
[[ "$(lvs --noheadings -o segtype ${line%%/*} 2>/dev/null)" == *thin* ]] && _needthin=1
fi
- done >> "${initdir}/etc/cmdline.d/90lvm.conf"
+ done <<<$(get_host_lvs) >> "${initdir}/etc/cmdline.d/90lvm.conf"
echo >> "${initdir}/etc/cmdline.d/90lvm.conf"
else
_needthin=1
--
1.8.4.3

View File

@ -0,0 +1,79 @@
From 615071016ecfa223b2744fc17e137de780167115 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 21 Oct 2013 09:09:26 +0200
Subject: [PATCH 12/12] lvm: always install thin utils for lvm
---
modules.d/90lvm/module-setup.sh | 33 +++++++--------------------------
1 file changed, 7 insertions(+), 26 deletions(-)
diff --git a/modules.d/90lvm/module-setup.sh b/modules.d/90lvm/module-setup.sh
index cbdf4a2..87374da 100755
--- a/modules.d/90lvm/module-setup.sh
+++ b/modules.d/90lvm/module-setup.sh
@@ -24,7 +24,8 @@ depends() {
return 0
}
-get_host_lvs() {
+# called by dracut
+cmdline() {
local _activated
declare -A _activated
@@ -37,37 +38,20 @@ get_host_lvs() {
eval $(dmsetup splitname --nameprefixes --noheadings --rows "$dev" 2>/dev/null)
[[ ${DM_VG_NAME} ]] && [[ ${DM_LV_NAME} ]] || return 1
if ! [[ ${_activated[${DM_VG_NAME}/${DM_LV_NAME}]} ]]; then
- printf "%s\n" "${DM_VG_NAME}/${DM_LV_NAME} "
+ printf " rd.lvm.lv=%s\n" "${DM_VG_NAME}/${DM_LV_NAME} "
_activated["${DM_VG_NAME}/${DM_LV_NAME}"]=1
fi
done
}
# called by dracut
-cmdline() {
- get_host_lvs | while read line; do
- printf " rd.lvm.lv=$line"
- done
-}
-
-# called by dracut
install() {
- local _i _needthin
+ local _i
inst lvm
- if [[ $hostonly ]]; then
- while read line; do
- [[ -n "$line" ]] || continue
- printf "%s" " rd.lvm.lv=$line"
- if ! [[ $_needthin ]]; then
- [[ "$(lvs --noheadings -o segtype ${line%%/*} 2>/dev/null)" == *thin* ]] && _needthin=1
- fi
- done <<<$(get_host_lvs) >> "${initdir}/etc/cmdline.d/90lvm.conf"
- echo >> "${initdir}/etc/cmdline.d/90lvm.conf"
- else
- _needthin=1
- fi
+ cmdline >> "${initdir}/etc/cmdline.d/90lvm.conf"
+ echo >> "${initdir}/etc/cmdline.d/90lvm.conf"
inst_rules "$moddir/64-lvm.rules"
@@ -103,9 +87,6 @@ install() {
inst_libdir_file "libdevmapper-event-lvm*.so"
- if [[ $_needthin ]]; then
- inst_multiple -o thin_dump thin_restore thin_check thin_repair
- fi
-
+ inst_multiple -o thin_dump thin_restore thin_check thin_repair
}
--
1.8.4.3

View File

@ -0,0 +1,31 @@
From ffbe30d1e1e9fb09136bfc2d29a3cc65292b5690 Mon Sep 17 00:00:00 2001
From: Alexander Tsoy <alexander@tsoy.me>
Date: Thu, 21 Nov 2013 20:33:38 +0400
Subject: [PATCH 13/13] usrmount: always install
/usr should be mounted by initramfs even if /sbin/init lives in /
Conflicts:
modules.d/98usrmount/module-setup.sh
---
modules.d/98usrmount/module-setup.sh | 3 ---
1 file changed, 3 deletions(-)
diff --git a/modules.d/98usrmount/module-setup.sh b/modules.d/98usrmount/module-setup.sh
index 1af789f..31a6229 100755
--- a/modules.d/98usrmount/module-setup.sh
+++ b/modules.d/98usrmount/module-setup.sh
@@ -4,10 +4,7 @@
# called by dracut
check() {
- local _init
[[ $mount_needs ]] && return 1
- _init=$(readlink -f /sbin/init)
- [[ "$init" == "${init##/usr}" ]] && return 255
return 0
}
--
1.8.4.4

View File

@ -0,0 +1,29 @@
From 29f735ac0e54421d1518b8d0f730523ebb7e6d5a Mon Sep 17 00:00:00 2001
From: Alexander Tsoy <alexander@tsoy.me>
Date: Wed, 25 Dec 2013 14:00:26 +0400
Subject: [PATCH] udev-rules: add eudev rules
eudev configured with "--enable-modules --disable-libkmod" installs
80-drivers-modprobe.rules instead of 80-drivers.rules
https://bugs.gentoo.org/show_bug.cgi?id=494188
---
modules.d/95udev-rules/module-setup.sh | 2 ++
1 file changed, 2 insertions(+)
diff --git a/modules.d/95udev-rules/module-setup.sh b/modules.d/95udev-rules/module-setup.sh
index 88c3da2..ebc4447 100755
--- a/modules.d/95udev-rules/module-setup.sh
+++ b/modules.d/95udev-rules/module-setup.sh
@@ -39,6 +39,8 @@ install() {
prepare_udev_rules 59-persistent-storage.rules 61-persistent-storage.rules
# debian udev rules
inst_rules 91-permissions.rules
+ # eudev rules
+ inst_rules 80-drivers-modprobe.rules
{
for i in cdrom tape dialout floppy; do
--
1.8.3.2

View File

@ -0,0 +1,24 @@
From 315bd22374c4cf8a472d9f59b783f4bc2e5aa646 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Wed, 29 Jan 2014 08:37:43 +0100
Subject: [PATCH 1/5] NEWS: update for version 036
---
NEWS | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/NEWS b/NEWS
index 5b88600..ccf279f 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,7 @@
+dracut-036
+==========
+- fixed skipcpio signature checking
+
dracut-035
==========
- changed dracut tarball compression to xz
--
1.8.5.5

View File

@ -0,0 +1,41 @@
From 232637ff5074b45913b0a358434779bd1317648e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Sun, 6 Jan 2013 13:35:01 +0100
Subject: [PATCH 2/5] dracut-functions.sh: support for alternative udev dirs -
udevaltdirs
It is required for Gentoo which moves udev from / to /usr and supports
both /lib/udev and /usr/lib/udev for compatibility with other packages.
Credits go to Alexander Tsoy <alexander@tsoy.me>.
Conflicts:
dracut-functions.sh
---
dracut-functions.sh | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/dracut-functions.sh b/dracut-functions.sh
index 7cfa097..86a69a8 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -873,6 +873,16 @@ inst_rules() {
inst_dir "$_target"
for _rule in "$@"; do
if [ "${_rule#/}" = "$_rule" ]; then
+ for r in ${udevaltdirs}; do
+ [[ "$r" = "${udevdir}" ]] && continue
+ if [[ -e $r/rules.d/$_rule ]]; then
+ _found="$r/rules.d/$_rule"
+ inst_rule_programs "$_found"
+ inst_rule_group_owner "$_found"
+ inst_rule_initqueue "$_found"
+ inst_simple "$_found" "${udevdir}/rules.d/${_found##*/}"
+ fi
+ done
for r in ${udevdir}/rules.d ${hostonly:+/etc/udev/rules.d}; do
if [[ -e $r/$_rule ]]; then
_found="$r/$_rule"
--
1.8.5.5

View File

@ -0,0 +1,30 @@
From 95d74e267e6f61b877f4c5c7f126096bc289891c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Sun, 16 Dec 2012 20:02:48 +0100
Subject: [PATCH 3/5] gentoo.conf: let udevdir= be handled by pkg-config and
use udevaltdirs
To avoid need of rebuild after udev update/downgrade let udevdir= be set
dynamically with pkg-config. Use udevaltdirs to search for rules both
in old and new locations.
---
dracut.conf.d/gentoo.conf.example | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/dracut.conf.d/gentoo.conf.example b/dracut.conf.d/gentoo.conf.example
index 26e7314..f9617f0 100644
--- a/dracut.conf.d/gentoo.conf.example
+++ b/dracut.conf.d/gentoo.conf.example
@@ -1,7 +1,8 @@
# /etc/dracut.conf.d/gentoo.conf
# dracut config file customized for Gentoo Base System release 2
-udevdir=/lib/udev
+udevdir=
+udevaltdirs="/lib/udev /usr/lib/udev"
ro_mnt=yes
#
--
1.8.5.5

View File

@ -0,0 +1,74 @@
From de737d15dcb38beefa617387bf9de583f6d212de Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Wed, 2 Oct 2013 22:37:09 +0200
Subject: [PATCH 4/5] Use the same paths in dracut.sh as those set with
configure script
Makefile alters destination main dracut script and sets dracutbasedir to
the value of pkglibdir set in configure.
---
Makefile | 3 +++
dracut.sh | 9 ++++-----
2 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/Makefile b/Makefile
index ceb7096..cab7755 100644
--- a/Makefile
+++ b/Makefile
@@ -103,6 +103,9 @@ install: dracut-version.sh
mkdir -p $(DESTDIR)$(pkglibdir)/modules.d
mkdir -p $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man5 $(DESTDIR)$(mandir)/man7 $(DESTDIR)$(mandir)/man8
install -m 0755 dracut.sh $(DESTDIR)$(bindir)/dracut
+ sed -r \
+ -e "s|^(pkglibdir)=.*|\1=$(pkglibdir)|" \
+ -i $(DESTDIR)$(bindir)/dracut
install -m 0755 dracut-catimages.sh $(DESTDIR)$(bindir)/dracut-catimages
install -m 0755 mkinitrd-dracut.sh $(DESTDIR)$(bindir)/mkinitrd
install -m 0755 lsinitrd.sh $(DESTDIR)$(bindir)/lsinitrd
diff --git a/dracut.sh b/dracut.sh
index 9b715ab..9657230 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -26,10 +26,13 @@
# store for logging
dracut_args=( "$@" )
+# base dirs
+pkglibdir=/usr/lib/dracut
+dracutbasedir="$pkglibdir"
+
set -o pipefail
usage() {
- [[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut
if [[ -f $dracutbasedir/dracut-version.sh ]]; then
. $dracutbasedir/dracut-version.sh
fi
@@ -54,7 +57,6 @@ EOF
}
long_usage() {
- [[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut
if [[ -f $dracutbasedir/dracut-version.sh ]]; then
. $dracutbasedir/dracut-version.sh
fi
@@ -639,8 +641,6 @@ export DRACUT_LOG_LEVEL=warning
debug=yes
}
-[[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut
-
# if we were not passed a config file, try the default one
if [[ ! -f $conffile ]]; then
if [[ $allowlocal ]]; then
@@ -759,7 +759,6 @@ stdloglvl=$((stdloglvl + verbosity_mod_l))
[[ $use_fstab_l ]] && use_fstab=$use_fstab_l
[[ $mdadmconf_l ]] && mdadmconf=$mdadmconf_l
[[ $lvmconf_l ]] && lvmconf=$lvmconf_l
-[[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut
[[ $fw_dir ]] || fw_dir="/lib/firmware/updates /lib/firmware"
[[ $tmpdir_l ]] && tmpdir="$tmpdir_l"
[[ $tmpdir ]] || tmpdir=/var/tmp
--
1.8.5.5

View File

@ -0,0 +1,81 @@
From bf3d75a2ebf4ad80313d7ced8478f21d9a96f87b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Wed, 2 Oct 2013 22:40:43 +0200
Subject: [PATCH 5/5] Install dracut-install into libexec dir instead of lib
dir
dracut-install script is the only thing ABI specific atm.
See https://bugs.gentoo.org/show_bug.cgi?id=485218 for details on the
problem.
---
Makefile | 4 +++-
configure | 1 +
dracut-functions.sh | 4 ++++
dracut.sh | 1 +
4 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index cab7755..fd936f2 100644
--- a/Makefile
+++ b/Makefile
@@ -104,6 +104,7 @@ install: dracut-version.sh
mkdir -p $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man5 $(DESTDIR)$(mandir)/man7 $(DESTDIR)$(mandir)/man8
install -m 0755 dracut.sh $(DESTDIR)$(bindir)/dracut
sed -r \
+ -e "s|^(libexecdir)=.*|\1=$(libexecdir)|" \
-e "s|^(pkglibdir)=.*|\1=$(pkglibdir)|" \
-i $(DESTDIR)$(bindir)/dracut
install -m 0755 dracut-catimages.sh $(DESTDIR)$(bindir)/dracut-catimages
@@ -147,7 +148,8 @@ endif
done \
fi
if [ -f install/dracut-install ]; then \
- install -m 0755 install/dracut-install $(DESTDIR)$(pkglibdir)/dracut-install; \
+ mkdir -p $(DESTDIR)$(libexecdir); \
+ install -m 0755 install/dracut-install $(DESTDIR)$(libexecdir)/dracut-install; \
fi
if [ -f skipcpio/skipcpio ]; then \
install -m 0755 skipcpio/skipcpio $(DESTDIR)$(pkglibdir)/skipcpio; \
diff --git a/configure b/configure
index 19b5e1f..d2ffc2c 100755
--- a/configure
+++ b/configure
@@ -61,6 +61,7 @@ sbindir ?= ${sbindir:-${prefix}/sbin}
mandir ?= ${mandir:-${prefix}/share/man}
enable_documentation ?= ${enable_documentation:-yes}
bindir ?= ${bindir:-${prefix}/bin}
+libexecdir ?= ${libexecdir:-${prefix}/libexec}
EOF
{
diff --git a/dracut-functions.sh b/dracut-functions.sh
index 86a69a8..e8ec335 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -695,6 +695,10 @@ if ! [[ $DRACUT_INSTALL ]]; then
DRACUT_INSTALL=$(find_binary dracut-install)
fi
+if ! [[ $DRACUT_INSTALL ]] && [[ -x $libexecdir/dracut-install ]]; then
+ DRACUT_INSTALL=$libexecdir/dracut-install
+fi
+
if ! [[ $DRACUT_INSTALL ]] && [[ -x $dracutbasedir/dracut-install ]]; then
DRACUT_INSTALL=$dracutbasedir/dracut-install
fi
diff --git a/dracut.sh b/dracut.sh
index 9657230..08335d0 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -27,6 +27,7 @@
dracut_args=( "$@" )
# base dirs
+libexecdir=/usr/libexec
pkglibdir=/usr/lib/dracut
dracutbasedir="$pkglibdir"
--
1.8.5.5

View File

@ -0,0 +1,33 @@
From 9e01e3d9c8f89b1ef98053a64bde9beed9714029 Mon Sep 17 00:00:00 2001
From: Colin Guthrie <colin@mageia.org>
Date: Wed, 5 Feb 2014 10:06:51 +0000
Subject: [PATCH 6/6] dracut.sh: Fix variable name typo.
This caused the root_dev variable not to be set which in turn meant that
the root device was not whitelisted in 99base/module-setup.sh when injecting
compile-time devexists hooks in hostonly initrds. This ties the generated
initrd to the root fs device (typically the UUID) rather than relying solely
only the root= kernel command line.
While it is hostonly, not hardcoding e.g. UUIDs is still desirable. Any
swap partition on the host device is still added however.
---
dracut.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dracut.sh b/dracut.sh
index 08335d0..d693d58 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -1005,7 +1005,7 @@ if [[ $hostonly ]]; then
_bdev=$(readlink -f "/dev/block/$_dev")
[[ -b $_bdev ]] && _dev=$_bdev
push host_devs $_dev
- [[ "$_mp" == "/" ]] && root_dev="$_dev"
+ [[ "$mp" == "/" ]] && root_dev="$_dev"
push host_devs "$_dev"
done
--
1.8.5.5

View File

@ -0,0 +1,26 @@
From 13294581f82c2e51754ba3dacd7ec304350244c0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Sun, 23 Feb 2014 17:43:57 +0100
Subject: [PATCH 7/7] Added missing quotes
See bug report at https://bugs.gentoo.org/show_bug.cgi?id=502064
---
dracut.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dracut.sh b/dracut.sh
index d693d58..5508050 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -554,7 +554,7 @@ done
# the old fashioned way
while (($# > 0)); do
- if [ ${1%%=*} == "++include" ]; then
+ if [ "${1%%=*}" == "++include" ]; then
push include_src "$2"
push include_target "$3"
PARMS_TO_STORE+=" --include '$2' '$3'"
--
1.9.0

View File

@ -0,0 +1,42 @@
From 791ecb805237a28a038bb317b9894113654f080e Mon Sep 17 00:00:00 2001
From: Alexander Tsoy <alexander@tsoy.me>
Date: Wed, 26 Feb 2014 15:50:17 +0400
Subject: [PATCH 8/8] Add legacy flag (-l) to lz4 and update magic number
Linux kernel does not support the new default lz4 format.
https://bugs.gentoo.org/show_bug.cgi?id=502102
---
dracut.sh | 2 +-
lsinitrd.sh | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/dracut.sh b/dracut.sh
index 5508050..91e05e3 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -782,7 +782,7 @@ case $compress in
xz) compress="xz --check=crc32 --lzma2=dict=1MiB -T0";;
gzip) compress="gzip -9"; command -v pigz > /dev/null 2>&1 && compress="pigz -9";;
lzo) compress="lzop -9";;
- lz4) compress="lz4 -9";;
+ lz4) compress="lz4 -l -9";;
esac
if [[ $_no_compress_l = "cat" ]]; then
compress="cat"
diff --git a/lsinitrd.sh b/lsinitrd.sh
index 2c58f84..8dc9032 100755
--- a/lsinitrd.sh
+++ b/lsinitrd.sh
@@ -172,7 +172,7 @@ case $bin in
$'\x71\xc7'*|070701)
CAT="cat --"
;;
- $'\x04\x22'*)
+ $'\x02\x21'*)
CAT="lz4 -d -c";;
*)
CAT="xzcat --";
--
1.9.0

View File

@ -0,0 +1,41 @@
From 9cdda4d50eddf8a14c57f986c6c4f86bc9619269 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Sun, 6 Jan 2013 13:35:01 +0100
Subject: [PATCH 1/4] dracut-functions.sh: support for alternative udev dirs -
udevaltdirs
It is required for Gentoo which moves udev from / to /usr and supports
both /lib/udev and /usr/lib/udev for compatibility with other packages.
Credits go to Alexander Tsoy <alexander@tsoy.me>.
Conflicts:
dracut-functions.sh
---
dracut-functions.sh | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/dracut-functions.sh b/dracut-functions.sh
index 391b549..6281fa0 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -918,6 +918,16 @@ inst_rules() {
inst_dir "$_target"
for _rule in "$@"; do
if [ "${_rule#/}" = "$_rule" ]; then
+ for r in ${udevaltdirs}; do
+ [[ "$r" = "${udevdir}" ]] && continue
+ if [[ -e $r/rules.d/$_rule ]]; then
+ _found="$r/rules.d/$_rule"
+ inst_rule_programs "$_found"
+ inst_rule_group_owner "$_found"
+ inst_rule_initqueue "$_found"
+ inst_simple "$_found" "${udevdir}/rules.d/${_found##*/}"
+ fi
+ done
for r in ${udevdir}/rules.d ${hostonly:+/etc/udev/rules.d}; do
if [[ -e $r/$_rule ]]; then
_found="$r/$_rule"
--
1.9.0

View File

@ -0,0 +1,30 @@
From 48b6551c95897a89be2510b268b8d89bfd6dc851 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Sun, 16 Dec 2012 20:02:48 +0100
Subject: [PATCH 2/4] gentoo.conf: let udevdir= be handled by pkg-config and
use udevaltdirs
To avoid need of rebuild after udev update/downgrade let udevdir= be set
dynamically with pkg-config. Use udevaltdirs to search for rules both
in old and new locations.
---
dracut.conf.d/gentoo.conf.example | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/dracut.conf.d/gentoo.conf.example b/dracut.conf.d/gentoo.conf.example
index 26e7314..f9617f0 100644
--- a/dracut.conf.d/gentoo.conf.example
+++ b/dracut.conf.d/gentoo.conf.example
@@ -1,7 +1,8 @@
# /etc/dracut.conf.d/gentoo.conf
# dracut config file customized for Gentoo Base System release 2
-udevdir=/lib/udev
+udevdir=
+udevaltdirs="/lib/udev /usr/lib/udev"
ro_mnt=yes
#
--
1.9.0

View File

@ -0,0 +1,74 @@
From e40f005daf74f6b6b62ea2e7fc352f097caf5f13 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Wed, 2 Oct 2013 22:37:09 +0200
Subject: [PATCH 3/4] Use the same paths in dracut.sh as those set with
configure script
Makefile alters destination main dracut script and sets dracutbasedir to
the value of pkglibdir set in configure.
---
Makefile | 3 +++
dracut.sh | 9 ++++-----
2 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/Makefile b/Makefile
index ceb7096..cab7755 100644
--- a/Makefile
+++ b/Makefile
@@ -103,6 +103,9 @@ install: dracut-version.sh
mkdir -p $(DESTDIR)$(pkglibdir)/modules.d
mkdir -p $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man5 $(DESTDIR)$(mandir)/man7 $(DESTDIR)$(mandir)/man8
install -m 0755 dracut.sh $(DESTDIR)$(bindir)/dracut
+ sed -r \
+ -e "s|^(pkglibdir)=.*|\1=$(pkglibdir)|" \
+ -i $(DESTDIR)$(bindir)/dracut
install -m 0755 dracut-catimages.sh $(DESTDIR)$(bindir)/dracut-catimages
install -m 0755 mkinitrd-dracut.sh $(DESTDIR)$(bindir)/mkinitrd
install -m 0755 lsinitrd.sh $(DESTDIR)$(bindir)/lsinitrd
diff --git a/dracut.sh b/dracut.sh
index c1ef474..b1141de 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -26,10 +26,13 @@
# store for logging
dracut_args=( "$@" )
+# base dirs
+pkglibdir=/usr/lib/dracut
+dracutbasedir="$pkglibdir"
+
set -o pipefail
usage() {
- [[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut
if [[ -f $dracutbasedir/dracut-version.sh ]]; then
. $dracutbasedir/dracut-version.sh
fi
@@ -54,7 +57,6 @@ EOF
}
long_usage() {
- [[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut
if [[ -f $dracutbasedir/dracut-version.sh ]]; then
. $dracutbasedir/dracut-version.sh
fi
@@ -652,8 +654,6 @@ export DRACUT_LOG_LEVEL=warning
debug=yes
}
-[[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut
-
# if we were not passed a config file, try the default one
if [[ ! -f $conffile ]]; then
if [[ $allowlocal ]]; then
@@ -773,7 +773,6 @@ stdloglvl=$((stdloglvl + verbosity_mod_l))
[[ $use_fstab_l ]] && use_fstab=$use_fstab_l
[[ $mdadmconf_l ]] && mdadmconf=$mdadmconf_l
[[ $lvmconf_l ]] && lvmconf=$lvmconf_l
-[[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut
[[ $fw_dir ]] || fw_dir="/lib/firmware/updates /lib/firmware"
[[ $tmpdir_l ]] && tmpdir="$tmpdir_l"
[[ $tmpdir ]] || tmpdir=/var/tmp
--
1.9.0

View File

@ -0,0 +1,81 @@
From c379589cc5cdd0c4e9e559b9edde44410416d2fb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
Date: Wed, 2 Oct 2013 22:40:43 +0200
Subject: [PATCH 4/4] Install dracut-install into libexec dir instead of lib
dir
dracut-install script is the only thing ABI specific atm.
See https://bugs.gentoo.org/show_bug.cgi?id=485218 for details on the
problem.
---
Makefile | 4 +++-
configure | 1 +
dracut-functions.sh | 4 ++++
dracut.sh | 1 +
4 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index cab7755..fd936f2 100644
--- a/Makefile
+++ b/Makefile
@@ -104,6 +104,7 @@ install: dracut-version.sh
mkdir -p $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man5 $(DESTDIR)$(mandir)/man7 $(DESTDIR)$(mandir)/man8
install -m 0755 dracut.sh $(DESTDIR)$(bindir)/dracut
sed -r \
+ -e "s|^(libexecdir)=.*|\1=$(libexecdir)|" \
-e "s|^(pkglibdir)=.*|\1=$(pkglibdir)|" \
-i $(DESTDIR)$(bindir)/dracut
install -m 0755 dracut-catimages.sh $(DESTDIR)$(bindir)/dracut-catimages
@@ -147,7 +148,8 @@ endif
done \
fi
if [ -f install/dracut-install ]; then \
- install -m 0755 install/dracut-install $(DESTDIR)$(pkglibdir)/dracut-install; \
+ mkdir -p $(DESTDIR)$(libexecdir); \
+ install -m 0755 install/dracut-install $(DESTDIR)$(libexecdir)/dracut-install; \
fi
if [ -f skipcpio/skipcpio ]; then \
install -m 0755 skipcpio/skipcpio $(DESTDIR)$(pkglibdir)/skipcpio; \
diff --git a/configure b/configure
index 19b5e1f..d2ffc2c 100755
--- a/configure
+++ b/configure
@@ -61,6 +61,7 @@ sbindir ?= ${sbindir:-${prefix}/sbin}
mandir ?= ${mandir:-${prefix}/share/man}
enable_documentation ?= ${enable_documentation:-yes}
bindir ?= ${bindir:-${prefix}/bin}
+libexecdir ?= ${libexecdir:-${prefix}/libexec}
EOF
{
diff --git a/dracut-functions.sh b/dracut-functions.sh
index 6281fa0..e2b1a7a 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -740,6 +740,10 @@ if ! [[ $DRACUT_INSTALL ]]; then
DRACUT_INSTALL=$(find_binary dracut-install)
fi
+if ! [[ $DRACUT_INSTALL ]] && [[ -x $libexecdir/dracut-install ]]; then
+ DRACUT_INSTALL=$libexecdir/dracut-install
+fi
+
if ! [[ $DRACUT_INSTALL ]] && [[ -x $dracutbasedir/dracut-install ]]; then
DRACUT_INSTALL=$dracutbasedir/dracut-install
fi
diff --git a/dracut.sh b/dracut.sh
index b1141de..6cf80b4 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -27,6 +27,7 @@
dracut_args=( "$@" )
# base dirs
+libexecdir=/usr/libexec
pkglibdir=/usr/lib/dracut
dracutbasedir="$pkglibdir"
--
1.9.0

View File

@ -0,0 +1,26 @@
From 99f913857dd38facd8f2af16a8b591fa6d7f2d45 Mon Sep 17 00:00:00 2001
From: Alexander Tsoy <alexander@tsoy.me>
Date: Mon, 31 Mar 2014 17:56:13 +0400
Subject: [PATCH 5/5] modsign: do not hardcode path to keyctl
https://bugs.gentoo.org/show_bug.cgi?id=506094
---
modules.d/03modsign/module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/03modsign/module-setup.sh b/modules.d/03modsign/module-setup.sh
index 09285d3..cc0e241 100755
--- a/modules.d/03modsign/module-setup.sh
+++ b/modules.d/03modsign/module-setup.sh
@@ -29,7 +29,7 @@ depends() {
# called by dracut
install() {
inst_dir /lib/modules/keys
- inst_binary /usr/bin/keyctl
+ inst_binary keyctl
inst_hook pre-trigger 01 "$moddir/load-modsign-keys.sh"
--
1.9.3

View File

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer>
<email>aidecoe@gentoo.org</email>
<name>Amadeusz Żołnowski</name>
</maintainer>
<maintainer>
<email>alexander@tsoy.me</email>
<name>Alexander Tsoy</name>
</maintainer>
<herd>proxy-maintainers</herd>
<use>
<flag name="debug">Module installing additional tools like strace, file
editor, ssh and more</flag>
<flag name="device-mapper">Set of helper modules providing support for
device mapper. You need to enable this only if emerge says
so.</flag>
<flag name="net">Set of helper modules providing networking support. You
need to enable this only if emerge says so.</flag>
</use>
<longdescription lang="en">
Generic, modular initramfs generation tool that can be used across various
distributions.
</longdescription>
</pkgmetadata>