bash security emergency update
Hanno Böck

Hanno Böck commited on 2014-09-24 16:52:57
Zeige 41 geänderte Dateien mit 2383 Einfügungen und 0 Löschungen.

... ...
@@ -0,0 +1,88 @@
1
+AUX autoconf-mktime-2.53.patch 4812 SHA256 f8fd7249e0eaac1a258198b7e2dd435fb287dd826d2b2b85c171f3c801bf5a9b SHA512 52fd04b9ba576ef28a66647307b550e9da074867c2cfd9d517948f3029521d94ca01f3e43b49544ecf6ed1139f8ac4f8beb36470e7e225a65557a6b5fb5348ec WHIRLPOOL 71319dc34c773c9773cc96339cb7b461115311ce42a3758f53a0eb6c7f8c1fadcec0de43f4b226de183867faa53982e8bf3919221e33474d0a1e44f73d32b15e
2
+AUX autoconf-mktime-2.59.patch 4686 SHA256 3c16de6cbe24fc806c29390eaf4c7e1d9ceda3df523bb18941cf0a3184356bba SHA512 4ac3951b72fcc50bc90d4fdd6286fc0ce01100d928b51f41043cf7c6f6adaddd7b19bb346bf21f306ce6cbe619750dfe18755c122e3f1a237fb07c02b25594a8 WHIRLPOOL bd4304863415e6e5b79a2df330b9add8e5378de54db2c24a3ea97c41125886204a77997ba179c42a901532ddf49314a91e1937df31d396ac8d4d6c7d612f442d
3
+AUX bash-3.0-read-memleak.patch 416 SHA256 c9be95964762fe11cd0154149f02bd0501da9394ea5034dc60ed8d6b2d1db4b9 SHA512 97361f9e14e2547a67da475a0bfd20c1be70534d745845d4918e98665d4182da231923c8365f881561db63b90d5e40def1f1b7f0bc98016c8d8c2e8aeb4e4407 WHIRLPOOL 230fa5d03010df8c7be84d085c4db2c79105752725d9a8f12ad31f7e482492743453273b8b39b2d19f508d02cc890cd2afcf5c07d02c676ccbde2d507970ac86
4
+AUX bash-3.0-trap-fg-signals.patch 641 SHA256 6a87cba12a8d2873be89c0721dfa405f05508b23841e4b5041a22f57698e1b03 SHA512 5644591aaaf6a2f5e5fa4d41aa4e26c5d53e2efe6ad5838729a2da709e04c539a4a83325f707269d59b5aa0609130dc888ada0b9ec96fe85536800218de8ad6d WHIRLPOOL 48aeafb472ba96caa5ddf61fe5fa3d75ddb42747fd1f5e31e908415d46fc8977651916d507cfe3092ee7a41e873d05e1ff0efc6396c6ddec3beb6f0845422c81
5
+AUX bash-3.1-dev-fd-test-as-user.patch 437 SHA256 8831820eb8db6ac47179b49af2a570c26a2ae9fa1f4b195bb956ecc6cf4abf8c SHA512 eb9907741b68513c53128221c240a1325735c1ceec2a4ac0df74ed85126404c3347a3d97181ada5b28686e17600653de9dfadfa9985812049de45741c81876b7 WHIRLPOOL 0fb5eb0ec459f77f71e8b7e19d76e4cd78076812dfdf7a2b72ec93a2ae99ce19bfe6410d5f63a7acd6684450d821a33197a4d53d55c3b980dbb0481ab190287f
6
+AUX bash-3.1-fix-dash-login-shell.patch 1749 SHA256 c33a999dc92355daf9556eb4d078910b80cb4bddac0ca343e530f85242eea2cd SHA512 f1ec4e9e6c119cba8d7df35d3cdb53b8bcf990b8577d0488a750dfdbd6781413981d2939ff3995977706ed927284aa0049ce36f64a126d6375fbed1210affb7d WHIRLPOOL 8610634cfdf63f1502375c83fd5aaef97780a0f40c2d476fe5b0f2325066046f1c3a4f1e9f7ed6bc62feaec1c61959eab0a74a5996845d31c1c4349663051c29
7
+AUX bash-3.1-funcdef-import.patch 2470 SHA256 d459dfdf33495e2cd4280853a0a493f17fb3a2216917c6a5b66650f0b3affaf0 SHA512 aa9a217d14d65d66a9039cd6c095d06336bee25b8b01920e579085cd183240b7757f16092932f3f7473118bc224465f9167edd009400a7917da029c951e5c315 WHIRLPOOL d428e829d38d37d0c4ed4ce1ce066b3598df514ee265c1b86ffcf9cb01265183a42a06b526134f3a4b9fd7fee42e3dd5145bb3d9dd3b73514155ad7644a7ff68
8
+AUX bash-3.1-gentoo.patch 1525 SHA256 ea9b45c2a71a972094e3d0044530ea75ef88562370d1d528ddccdb44bb53d42c SHA512 19a3b642b828bbb0c3331eb09b1a28abdcac6de4b7b456b20766126ff02558969ffe8ded36ed96ce5ea0bf7a9029cd036b045700a23406ce92d705306b11bc41 WHIRLPOOL 5b5dd84aa969059bf34745058762f7770c2f7c7c549bd5c1487d24661549104171de3b0eea7f3fbd9259fa423f55e302ba663616a88ed9cc23b72a81ddaafdb7
9
+AUX bash-3.1-ulimit.patch 3736 SHA256 e27d41117dab8814e3812833d2038ca4f5d5fde8a0da2322eb3111a6a6245443 SHA512 ce92df5cd0b0d98d1c09ad061e56fda0498cc64ee580604a2dab6408347c2a0a6758038f2f6c37092312dd6c82eb99da99119758170d817b913e96b4c24f5d34 WHIRLPOOL 37939e6514d30c8234a372ec7e2d41b6327a80695fae8d7d8a576b2f0e1783a9025e9a74083d62afcaee43702f07c2a544b2a096cba0b5fc1a30283cd2a9e71d
10
+AUX bash-3.2-dev-fd-test-as-user.patch 1104 SHA256 f1c8ea4628a85e094f12cf88bc2436fc748cc1c67f2204fdbca222b46a30e858 SHA512 fe4478d4423f7a9cce4af46207e2adcea2de17591c8cbc888695177a0b5efb9ab060d7980f6679ca66f6e99f1fa7b632fea6f002364c588996a4287cc5313689 WHIRLPOOL 4318384e7072100e650060520aa357698c0993331a9e1933f70af71af0c00b95c85bcc86da764ed0877cf3c066039b003f2ee2e676044cee81d4149facb5fdaa
11
+AUX bash-3.2-ldflags-for-build.patch 1172 SHA256 f325df461e7ec87a8450eeb7db7ac9aa897ddf6c248bbce6ef5e6cd82044fc7e SHA512 5ee27f6e2f3665ee4de4d47114ae03dc20d8050f1e4496d29796d892f9c96019a5dac8ec5672ba1818c0326d1151969bd03f9466089d6432468bc2cf56a1dd09 WHIRLPOOL 73068ed5105c30fbe3f353f424146efda53df4a0067caf4cb265600cc4aea11de8a4de2f15357a63df2890838abca849b13c1a98a08d79f340c64cf05e05becc
12
+AUX bash-3.2-loadables.patch 5355 SHA256 e081fe84f4d253c5192d260a3e1af76ff7ece45c1739b327f46884a158c70b1a SHA512 8255659ea5737a6edc97c29a772c3b40c634190d869c67ed585e9169d18bba08d625b6a56b8e3abf200fa4798c4ee5d9411807fabed8c123b4afa1fd3d7be50d WHIRLPOOL a78360956f4c2cb8a7dde02e65012116af5828f136b4ffa0724a47e2716baae6e934c3e65eabc44ab9bd7a909400aae18a2e88b1427784c888d4e7991ba11155
13
+AUX bash-3.2-parallel-build.patch 686 SHA256 0ad808cff4f93abbdb07d9b4bdb7fcdb203fa391395e4d9d2180d6032b4bf06e SHA512 c43e4026fcd2dc5bcbfcb05624fd7d8a8f42e87d93b2ed75bc4a50a29b2115153c805288eb8e7bcec43e21125a541dab60cca23625dbb0f8b0c944e59ddfddbd WHIRLPOOL e5bb10b9fb1c5c34f858662b781e0989f8c2da76824294a82341dfb5a3ddf29db45b52dcb320fe108c488b7347ce5f9ae63528fe4ecd2ad7e86576aeebfa77f5
14
+AUX bash-3.2-process-subst.patch 272 SHA256 cd198d922094fca30fba456decf22fb57b678802db4e4375b5193d95b6371843 SHA512 609b093f8f56beaaa1e41a3fc6a2261d302a938df911e2765e819bf71ad3c7da14444ca01f7e655b9bd7b9f08297520e18320c85f16f16425cb2e583e422c6ab WHIRLPOOL a4098114fdcdaf1f710e754712dac5435b2846deb1206b0bf001f91e46cd60be27b5e29ce847cbc666042ab60c77eadbe541934b2200d06e72caa0b821ab357b
15
+AUX bash-3.2-protos.patch 1106 SHA256 2c9a9d655d9da8e7d5dbc8535f1da2c831a6fb9067e5ff65beb906b25d6ff9ad SHA512 4989efed2ea1fb337983da9af55cf0a47cb64b006edbfba444d21c5660e05e9dd28a447d512ab3970211589f093ed091acf9833cfd29df3c06ef0fdadae520bc WHIRLPOOL fed37807b019056d93a085deb024f5586405831469fa97b2b99b8a6e519b239093fc5fe15a3de3408dd2e3d724d276cde71fd43bd613189f307a757574e5b08f
16
+AUX bash-3.2-session-leader.patch 2098 SHA256 533861310e7cba05f315ff56af32aaca5e4bdf7c2a450d4e616bb14fdf4a1f3d SHA512 5b2cc930adbb49531971548b57a56cc4a6ba5850ef68f968b566e854e9e419767b1ba95d2186b26d9fe14e06e289f9bb471d39eb7a5f1a04874b0ca98c3e48cb WHIRLPOOL dd5d333cbfbfee4eecd518601aaaa793d7397fa84997f4050a2450001d6f426ac53423ddc69c4994541c7d6dc3c1f4393ee51d82dfdf561b70d5afc45a6d4494
17
+AUX bash-3.2-ulimit.patch 449 SHA256 d40709360f25ab355dc83e334b512d3dd80e435e241d1e69581fbc41504f8381 SHA512 a03a59691c14d16f2b6eb48836c4f292369c7dbc61df3e13c1dcd023fd69618c6a8e4230dc9997701b3c12b208318b0ecaebf3fbeb7d601e0f94a2840a1cd88e WHIRLPOOL e9572281bab77791a629c4a513544c16d1db976a0fd6149590fc26f6c02d29de316aab1adfa7c49344554ca8d58d254a3625da6ed9a2a9bf6639ddbc3a6de1eb
18
+AUX bash-4.0-configure.patch 749 SHA256 12419ea6f91178608b0fe028d85b4e0daac5c339a52fbbb79d77d97a2f6bf010 SHA512 b7df205a424c8b345e7ddac0c112b59b473cb1a76350f0b22e002e3e5f2f3594d8350573f8c624835582591a97a518fe62028ec8e3c2ea73a3eeb94872ee7a95 WHIRLPOOL 6ebc68332a94118bf61a5b667c008d9e1b9a162a80bf5936b896d8ec34e150bed2efdcc562e3c33343200f1a49c066ffabd7382df78000a0116987ee62d004ad
19
+AUX bash-4.0-ldflags-for-build.patch 512 SHA256 97b0ee283846e6530a0f025b1fe69054229a37b00180b82fcd44dc0c3381dc8a SHA512 58298b4f76fdbbcce0c22a90ecd554fd5c5e485260ac8aeedadebfa6b2347c41fe99a1d4d8487e70cfbd7bed075e3efb12736e57516a45e0431821f6f243cd46 WHIRLPOOL 40d8997e53b16c1c19467540a79a1bbf18af692e241d50c54d4ead1ed75b910927d0a5a820964d03bbe778fef29a816ad2facd16b1d85b790d6a1f00fc54a13f
20
+AUX bash-4.0-negative-return.patch 748 SHA256 771f89825fc81ff035f1b03dfe1e65b7e58a0039c005067b0c37414b84ddbf2b SHA512 08bf99a64fafaa5d31c68337c6943c24353dc28b478a0678749dbcd21777c95e911d416f379f03499bbe5bf25edb7a36d35b51ae6b6cdf17f8c767d2cc620092 WHIRLPOOL a1654fc229368288a3ee67077a05e50c08b4b3d9800b37c0e9a3a189b8076be2db492794180e570f78da6a64dae762f90874087a7a410765d0ed4eb8482bbb11
21
+AUX bash-4.0-parallel-build.patch 2237 SHA256 65db03b0c0b8e2fd917f049e9e84f7b2b234b3e9e37f395d4d8984194b392a56 SHA512 007ae35eb0f5027fc8f490df0270c52cc36648020aa9be717e548be68c85bf532492ddb6b34df169be4a2b4f788dd89b81d4b2872a26428683b421a9360af2b4 WHIRLPOOL ce5b1609c5f2e2e162825b9036b8eff2ca76a978c8e8470fcf4dbc81bacdd8bfecdbe40f7beb958024a98e50ecfbf68853517b827a4b0f1a27c720824c9c2b23
22
+AUX bash-4.1-fbsd-eaccess.patch 843 SHA256 42a4ee58b0d2fd529e25fcc3ca10d17bbac2c91fd8bcb191d70c788f0b55fb95 SHA512 9616f7d8461302b1544b7eabc0fa1dc8dd682497b9512b67cb343046ee2baa0598efe7013d6730dc77824179073bd4bb1b4c14da721a72a03e7d9a1b1f2c9dd9 WHIRLPOOL 08478f9dad9dce98e7ad985ea8db060ae07fd803a4a58ec3cb42409e277d2f1102e48e460f5b487c0f302b9ee54e73e925a11629d34e3c2eea69c6696d3d0339
23
+AUX bash-4.1-parallel-build.patch 829 SHA256 0da60b91e4fb2326137a4dde6d8937592b6efea45de51194ca1770127637e652 SHA512 4378b430b5238bccee1d9d368e094bb567481ff551bc1ee3331fb29f9a37e13d833daf56524b9d7a2649549c9ff372a73ba659ac4b5fee93dd584d03149a4db5 WHIRLPOOL 05399c1d2645e574b5c636c470504c1d62bfead0235ea7a1c629938ccd15576de7365e4cbffe55690184831524caaf5296e317f626783fa0b502d80970307b3f
24
+AUX bash-4.2-execute-job-control.patch 865 SHA256 0b6fc0d467662dd85daa02ba8d50ea612cf4c5274d685d52eb1533b5f164b056 SHA512 c2d45f5e9668a8717137c533ced119315cf03c63fb373e5636c65383a399227e1d2aaef846452a0d3316db20b0b4cc41bde55c9aba2a9a02c1c31462d2273577 WHIRLPOOL 407e6e79afb617c6661453def92da451d2e4231a595557e654924058a6082badd15f8bff119a556322be4d4d4a65bdc785f3275e88324c536a60dccc99acf857
25
+AUX bash-4.2-no-readline.patch 287 SHA256 f145706f0a83939575023929905199ac4359c97530641c39635be36a46fa8d8c SHA512 558b6bc3a7588ca83190264c842a0eb79d838ebe8002f3aecf8a4dbbbbfa770a3568e2f35496ab80683c0317f15afbeb5748bd0c0027c7afbcb0419217dd5847 WHIRLPOOL e760a202352817c8b465d03b9f9101b3c5f87c7d5c88263d086b574bf89834c7d2e9de8aebcb4427e456ce17b1f51e89d3739c5a556179f03ea832cf385ab83d
26
+AUX bash-4.2-parallel-build.patch 4448 SHA256 1c5f7fb5c324d6f2b786ad259cc35bfdd3fe3087e778e4a5031277b33ca097c3 SHA512 44690ed868ed95b7949b21a308f402af64d46873a8eb023f44e3f12381719e66b5c123c75d496ccb3d51b10b7102ae041dc41d55131ff9835757731afb9f7711 WHIRLPOOL 70bf422d8207f08d15cfe95daf5b6ac264bd320c7544ee626efe0afdb751ebd4c953a59e39e44af85273cbdec3ebbd060597ab9ccfcc1b5b767fde4f6afa9916
27
+AUX bash-4.2-read-retry.patch 932 SHA256 37d60b456efd563960a9f1f3f40f0e7f6ef2f9aeb63d8dafabf13853f3d41987 SHA512 b8c9524a1385f8a66b964bc629ed62a1c825415e3388ac4204709440d3feedd5ffa92dd0fb54eab85283b0de49ce24a76836512b737612c0a4c45eb4ab40f8cb WHIRLPOOL b88a33ea5dd903f6049f79d96bd5975074e9b43bf21e5491cd8ccffc1649f4afcf48456b80bb99c3bc576c553c9bb99ca8ca831a85e936e82aef4aa39509a652
28
+AUX bash-4.2-speed-up-read-N.patch 2858 SHA256 8547d32535ed4e2fe5cb7b3503e6044c3f5df3772079509bd02cec4177059dcf SHA512 6b7f611ac35746c5ce8caad49def25d060397d81844c0dda2ba7c73f4b0318a28b3fb89f356695c8a7799b70ab0591d9612619403b7d4ade8aba1e60a933fdae WHIRLPOOL da9647b199f090b358b8186187d9ceff6cc5dd7cb20885f7963c1a1b445bf833093c2db931763a9c05f2e4b87e9e1c201bd34a441c49a39703eca7f3c61b2d49
29
+AUX bash-4.3-append-process-segfault.patch 675 SHA256 cadbc77924ce5e2ba3984263f1e5d5c877214f4b78bd7597c637aec059ee9592 SHA512 2c243f7ca4f689decb0171ae2f5b5babf6b37f8f0988ecfbcb952a8df22dde9a543719d48b64ce45d2308340e9c601c9bd2f14f3f11bd9b9374c0f6fccaf0c7a WHIRLPOOL e614268546796cafd1acc076c3b1212b3f047b809d62480392b0e41283be8decbf32f5db96f4b62fe8d21a61aa95b16b39b93be41e946311490ba198a222feb6
30
+AUX bash-4.3-compat-lvl.patch 628 SHA256 3303c12a499c5fb3f3c9ac7b11b020c83d4d4e3d672cc2df734709b22a6d92d7 SHA512 c552e1c7154d69201329f26e039c06a61e1bbaf5eaf16b7eea4f89d56aef0f710ebdfb115a1c00f07bd94893e51f9cbceee12bb57e51f6009c0e2327d53d7286 WHIRLPOOL 066fbb358f4fb9e32a58b4c4edd10d9c47c50f6aa202e0197c6b6d86a0836d48677561b834e5642b9052e64077efe240cb27144e5032c3e5f4bd9cb62201736e
31
+AUX bash-4.3-funcdef-import.patch 3138 SHA256 ee7b5fc2cb0fbfe60d3b522c09fe8a44e847f09c69cdfb18d6977832747e5f36 SHA512 cb2af273bdccf63d2eae6c64b621fbe81feaa449b0f06ecaeb23554d64cfda0e4f4b990d248435fd92aaeda652bd64e446a63239a8ff566c84abcf467229840d WHIRLPOOL 74b058552f6b5fee859d28eff7786b21116f75500316dafbc30748f448af5aa8076cf9fe76ee5d247d1137a6793ca6fefb5059d83fb560d7cc626b2793dc08f1
32
+AUX bash-4.3-parse-time-keyword.patch 790 SHA256 44c83641d4f8e7357b0b63b1a5095e751643c30f84fdf5dbc868c9d4a200c15d SHA512 070ab4a46adec60434ef45e04ca0d453fd02c40da8db7051800160c8fa8d3846a6e6bf57db02c583fd699eab69fa03b268107dc58e3332d2f7ed66f00432d6cd WHIRLPOOL ab37acf37bf497bc7c041f341b44dbd755d6e0170d8b74436d79aa63aac1c3cf35c13bd0c56a4eae071639bac27ea81a194c691c42fd4089de8df859745caf5c
33
+AUX bash-4.3-term-cleanup.patch 2152 SHA256 9f2d0faac988273dd1d838e8904325d524c996c1560e805c184c5387e31ed28d SHA512 3c13505e292532f10f4ac98ffd0044438b4d77f76d199018f1ff914ed1eb454c2ca12c6ef6996746c6300e37a78a4a0d111ac65f1c8d6897cfbc70bea457adf3 WHIRLPOOL 1db7ca7f51f3ed040a25f24d24221f024baf3a786dbb0477ba62e94f8c64b12d7266045df76ca316e63c0af62232cdd8b77028a86708fe4877b3ff52bec40fe3
34
+AUX bash-4.x-deferred-heredocs.patch 1255 SHA256 845ffcd7035eef5dc029747f211a737e0260b53b16086a37fb3c8ab3609a7d36 SHA512 9016203189d0b601f0441daec19f902de7387b599a2196c475d76c596dcf9a9c22765a58e7fc5a3117522ec2722475bd166bea271ff3048f31674e8bed2901a0 WHIRLPOOL f3a2ef5245c446b7e90917e987d80efba5e6437dbe86fc27bbd7768bc5f1e5f6e7663b350ca8a81a3f21a29af6e1594c14061be0d818fce6a4a63aed7efcb6fe
35
+AUX bash_logout 205 SHA256 15aaded954389c05d7de5d36c4887db61975ad52c87ad78baf1062ec8997289d SHA512 7234250c03fc920996a381f9daef9e2d8ab1e1a29acdebed6669d8e0fe1c872a7fa343adf7d9ddc81225b0cd9eb223ba7ad1ff42448aff057fc6d6baa8f04a7d WHIRLPOOL 16242c8796af44f550f2935b37c770c022754c63db75b57fbe49d1a313b8651235619ead571cd70ae37f890c694d1c6b2e4871ec51345743eff8649782d0523b
36
+AUX bashrc 2879 SHA256 72a0b0bf010e72667c229475961f56b3684e02bcf1ccb22da63564ea16c08b54 SHA512 cb89537d4f7bc03c0e05d339f0c6c63cbd61f7963d97d0af13fe3cc2e9ac74755573d8acb28f3c6133a7cbd8f9f6c6c745e0bc215702456b2892a9438876c8a2 WHIRLPOOL 2e6ca7bcb3c2fe0923320f43094f6a11729c128a2f78ba2d51adbb07eb477d3e0573a2af844939fbc8dc1aba52eaf9dce043592a8ceb893148ec855a852e7674
37
+AUX dot-bash_logout 127 SHA256 3bcb4958dad662fc2cbe77177236679f7a09b8bdb0be738102df4457394f4022 SHA512 e0248b5087656a4dd3a4790ed8e6101866b922ccab36b510b3bf408dc0c583e70f323fbad0392e4ea6ca5dcbe73568733e0c0aa9c8ce6b00ff5f72bf3e9fd8fd WHIRLPOOL 3dc6bc364f8229d123873940743866dfc330e193ab6ec7c5162c61d0ecc319198a64f27176521bfb979c31eed9ed0b2ee2ffce31b050d4cb8e3aa8a5c12c38cf
38
+AUX dot-bash_profile 193 SHA256 ae12206aaa35dc96273ed421f4e85ca26a1707455e3cc9f054c7f5e2e9c53df6 SHA512 064227bb7658f5ac0aaddd7ddda39daa0ffa924601445afa61c02aa19a990a5def377b125111e4817bf80ed80d33e1c111ee13034958b5de1ff8e50c093359a2 WHIRLPOOL cde8efc527122adbfa90d60a79fbdffd953c5573c5c6c5d499e56093517ceb7b48d9cfadd10b7c1d161b6d7f84276403fc233fca2d6798bcff2d0d052023672b
39
+AUX dot-bashrc 551 SHA256 e280e34af6e830c93adb6285f66ead4812ddfb2bbc6a7ff618467f4c933f6446 SHA512 518b62aa2fa30e7d1692847929a6ce8dae4eac93e8b16d223d1ae86f4d5b076bcbe1852c9034f321c013e17502db9f771979957c67f8e8a71ca4eea7bfe9cc1b WHIRLPOOL 27c53e3f59bd89d5517b5b22bcf04a9adddee0492c52d34d26a707062fb4c4fa853cdf2726d6ec2621a08f24c32a53651ce5693b6de1be764de3e088eb9f7ee6
40
+DIST bash-4.2.tar.gz 7009201 SHA256 a27a1179ec9c0830c65c6aa5d7dab60f7ce1a2a608618570f96bfa72e95ab3d8 SHA512 fdd3c230f4f7a687d36db1b8f7baab5e553cf55756e2d49a88ffaa4260c8cb949897dec9f48655e96608ef0093ac101b60c132060f06c711c0ab81aa3f148b5c WHIRLPOOL fd5f321a8a89381904b1dd1f5acb5100186ce48cccc9b248cf68b35a1c1932177df1fc2b0215131999ee6018decf3264c45e54d407bf4b74ff8e4cc8215c630a
41
+DIST bash42-001 2944 SHA256 8d6ca028576c4af23e660a2fbc2112221a11c8a785c0b37f033967e5cd12b47a SHA512 931f2f1d4e677925b5057558ea6f157073a9ba87bf4ed59e7d8fe20957c5fc40f3384a98fc4a2d5d7b458129ec096d9e28a860b6844ebf15f377778a6ef8aade WHIRLPOOL 72f1c1453d00f72efe77bd31253ee6978415abb3c943e2de4ba458de09af8e9f76469febfbdda54336e4399ea0f63a2cdc93d023b09b8caa97c435e4eab27a52
42
+DIST bash42-002 1780 SHA256 febac927e199aceeba2004908d971d4afb49b521796c3f42d1166f9fbbfbcef9 SHA512 b9ca62e397a05b368b74920d8d1b168367ffe840cf168e312b530c5b390cef3ca53e31db63c9fe15fe1a36e4c98369bf10573db40d20712fb1a016f10e0fc893 WHIRLPOOL d0803c477e120a323e79d842269db60eca7ce0eef8e2b829926a8b337d27cead87e9f8bb26c51f8f68eacfcc280123ad4ebd654c3d6744f361a88ef5c12f2a97
43
+DIST bash42-003 6896 SHA256 5a0a7c15018c87348ea87cb0beea14345faf878dbb0e25c17fa70677194cb4cd SHA512 6cf944ab0f554ab53831cbe114f771671c7a9420778d2caa524c09a24ec8064e7a7ef1355e66ed3a53100b72736284a5b44e2c6bda03a8234a2f2d340ed47ce4 WHIRLPOOL 8ff610b9bf6f81eb7ea68691c6d2bcfdcdc6ae2a5ed503306f4b5cac1f020c59901c3c3a35a6206934407d65be58db60fd2c0e74497a0fd30fc87822e8fbf36f
44
+DIST bash42-004 1686 SHA256 4e34b0f830d2583d56e14225a66937abc81f45bbafcd2eb49daf61c9462140c1 SHA512 aef5e753e59a82df07e18269064ff1d075e3b7558ac5aff7465da997370496bd4ef9c25920d7a47f66110d2ab719742033d96646921782d9ae15a27541765067 WHIRLPOOL 5cb128049a38905a4aef54c69fd1dbe7c0257c5e13de7bdab4c7a0c35b0979df0d6c34706077889f9e17ccb132f0edea96405caf0d2a3861f18c57c6635a05bc
45
+DIST bash42-005 3424 SHA256 a81749e73004b81cfdf0fe075bec365dc1fef756ee5e3fd142821e317d1459a0 SHA512 ef7fbc3fcc8174e7dfb27fb5e977d3a52b1b4b989cd7f748b1b35ea0e581a59668f41ec030e80f2afdc8b43dfcf472fad2985da284632b9228a6fd30ba4d0556 WHIRLPOOL fe5d6d320a4f3c3bf939b3b872b4dfdeeb2ac3baaea0ee871745aed01609e9fd8bfa555711a7e0190a32736e9362fe1c65148ac8d66d10877c59913c41855856
46
+DIST bash42-006 1187 SHA256 c91148945a2ddafa792682d7c8668c59e7e645eae1334b15b0d5d9ad22634bd1 SHA512 018031cc0cb2078937c81bd42459b98cfe793ff7d638ed2bd2859ec1c73da6a420d649f7dd49f2367035fd08af430ba783c68417088b1e4126095ab9467c55c9 WHIRLPOOL 1471ec01a11030b31d479913a952a6b52c65fcdfbcfbc41a76f231ca9de62031bdfa1eef58e5ef1ce493eb018bb97c5a88ff1f371e2337535eb23c770f1af944
47
+DIST bash42-007 1394 SHA256 405826acf443dd1084f236a15cb76d7f0ee2dbe5edff45c5fb836db571fb7e95 SHA512 65cef48b77530a3b87dec1c8c3fb28f553e83f28f24d5e170022b4962472e3e0021a57051800e1ddeebdb78548a3c192c4e1fef0f6e82612321c5d1335e2f8f8 WHIRLPOOL d937f89d9ddd3695c4f8ea73b555baa3073f31331f541e27baab16fbd476192e198f52c337d25afd153cc5fe5673dcdb747482350cb3ecf962c84c09de41996b
48
+DIST bash42-008 2164 SHA256 23080d11a60a78941210e2477f6bca066b45db03defa60da86fd765107ba2437 SHA512 5a782a165701967dc3c34d7723d13668b9ca0c4679de0f6150f42a183425e110281d893f30fa81eae27821a6d89e8ce9d9631268d9e02bca57cb8fece0389f3d WHIRLPOOL 98e06ac0869bc789f62b9e0bdfe7cc7d5a8107bddd2c8a4646072537016afb1d97d9999fde06a85d226770ac4a59ca5c19e7e11f2f878bb72383411c9e8d1914
49
+DIST bash42-009 2384 SHA256 e7ed5440b4c19765786e90e4f1ded43195d38b3e4d1c4b39fcc23de9a74ccb20 SHA512 ad0b58d00f37e8626a0bb664df7e24e0f19dc637aa829ae8f92fbe02a53140a3ca7de00f620c5b53001223a002ec774e5088354b342a640666810fd57cd1ff9a WHIRLPOOL b1af4e438027f10e51112b9e6476d8b3aa14917ccba708634f7927b80adf9333bcaae0a0d91c9aecf32b491b54fac4c8e88cfd355a20d18c7cc28dc6dcc5f05f
50
+DIST bash42-010 1818 SHA256 acfc5482c25e6923116fcf4b4f7f6345b80f75ad7299749db4b736ad67aa43dc SHA512 66e84164be08be47b0d7c8286b7d94a4da8538316dce8f8be54702fed2a44798d5f717ae3f524ce735d071430195ce10052a264f3f458b950fe26381fe6506d0 WHIRLPOOL 5694177e891a3f4b1906819e59b2d0fefd5537da9adecbe067b1c63c1c6a54fad6ecf8a7cd9e31175ac223fd1893d79229ebbea453ead39b8dc29ce4d579bdde
51
+DIST bash42-011 1426 SHA256 a491ae359a7ebbd7321aede561728289d71e1fc84777f402766a8afd4d261532 SHA512 0664fe80f3da9e5e64f1f0fc227e3937db6999526f743e74cf8d6eb589add10449c505422e241f1dfa0cd1e02c03c029cc0b7459850a52cc17d9c3a8d9c26a71 WHIRLPOOL bd72e7865c1f89ee4f1b7a7393b322c7ee3e2c053c0b693f50d3de4fa965d66e182a63b4b8452891638d41cfd4d44e7ffd17843fbc1c8672320bf395946df6a5
52
+DIST bash42-012 4247 SHA256 354433f1d2da02f1b9652cd20a5b85bbfb5bc2aaf79c42461ebd929d89b9b7b8 SHA512 0da4822a29d26d713aa5bfae00911db2db37242ec962edc4f256c8740e345b68e23dcaa4ca8bf37eaaa9e58facde6fe87c3b20c5bad565725a178555aed49503 WHIRLPOOL 23e090f6041c85a5f0057b866200c23852b81aacb8bcfabf44ed6aca4e33eeecb7b0d17b50190b663acffd8ee79c877b4c0b408d1f3cf7b405f2e834cf64d150
53
+DIST bash42-013 1340 SHA256 3412c5c6cbbce6c88592604aec054d8182ce64410038b5ecea69fc3968cf85ea SHA512 25f4caed2f4eb3f65dfb052b4b9b30a02fff8a1e6d6575e2da6bc1ce02d10aeb113870916f0b74ea2cd0722f81bcf8c05f70be1af178cff3c7091151d5791de5 WHIRLPOOL 5320dfe584243fba6c6c538d5a71304d63a4dee784d87714c2d3e9a9987ea7f39113a83076c431140fb5195645c91b7e51f3ed1e32ce6652ed90ba17aeebb7e3
54
+DIST bash42-014 1434 SHA256 b5a678e609858532735f94faedb5fabce00dfd6577a4e9ec5eec85fe682c8b33 SHA512 ea8dbe73d40bdc0bfc1752ad6fea9503b72bf4c204a6b0d04ee898429f2b16bf9fd21f8ce25b72e87efb82769a228ace31f1624f03491383129ce7935ead97aa WHIRLPOOL 868ffa5468262939845fba686377c93f1921d3c83b1070e0b9e937c8587a6b25e4bdf8cc41d584d549b647937949b8d515426ac7adf66cb3c6600218d1826660
55
+DIST bash42-015 1991 SHA256 2d876a8304bdf3d664e87e0a8d73bc4ccc100a9dd8c0d054e8649472d8748a98 SHA512 dd572539a26ae5c80b1c39cce8c548b9de0ab5b5f7e711974413322cb20845690f15d985713facab71957b6988553c0a613d5fa3dee2d263bdd9a8d7a5599ea9 WHIRLPOOL 22a67c207e4f3bd1bfe059d6814b779b5d2efaafad2bdb0442ba40b0344729cfb2ff7ef17c10a970c865d9afe1c28ba9964c8cf319066b7e307668a0bdf357bc
56
+DIST bash42-016 1410 SHA256 2895ccbcf7fc98da73a8fa3ba7440aaf2bfaef6c0af8bdd3a9c39403cf03e2a6 SHA512 2203fd108df4e9c8c93974ce2ac10d8d7bc9b6df1db92ff88b3b394d6fa26ca13de6e308480c192907ecd658df5b4bd3b077a946127b82167c3cac431c3defa3 WHIRLPOOL 89b9dad82200501de1358d8bfffc533bd4909fb58d3d05e901576fd4cfd862474877912c3221eefe65d6c7886057f0c17d688a5cdeb649c34ae4af2ef5214104
57
+DIST bash42-017 1399 SHA256 73552444498c761d6073dd67ccfe043b36ef24bb418c266d91d9750884daee7f SHA512 e2b93fb5f904a0064addd2d2d20bf4f8d868120bad1486916ae0774e41ef4123cbf5b31ef64109361d091ff317cbadbd28882d6571d3014052229a14993ed933 WHIRLPOOL cece85996181372a8406fac605f720562161f66d49a57592ee9bb4c5f409edff166854164093d531343773eaa22990702fb756c6783b235006843f77db67e5ad
58
+DIST bash42-018 1929 SHA256 e2a9457172370d454d31b84bbcba758ee6394316dbe755374553b52aadbb494d SHA512 facbe3d258e0e7514bfe3a8c6516aaf2e405facd233e205794ffab815f850ba7385d2d18d7b3a9c000cfe254a771779c6d8829b2fee66a9d6071b1888155b5a1 WHIRLPOOL 28737af2a1a954d5a34e9fc9faff5a05754f72cfaa51a270108ce90457b2c56a7870ce3017ca05e56ef2938e2e2a601f783f64e4bbe8db304a28aff284376fc6
59
+DIST bash42-019 1415 SHA256 a8b7cd02207656976016d93cab48e073cb5da002ceb27b7a63fc5ea62007eb56 SHA512 f8086b8358201c10e96d9533b90a58248e26bc379be96a8a9fba88e09c227acf85cddb26c04e93043b35371c12cbf156f591c9af88b1eb61ba8acca53f6d07a1 WHIRLPOOL 0c825c577ffcdb1102f3f9cfb69f6a92ebf73781c0170ff0788090ddfde0d7fb5f3534d06532b4f86b5b8cab7f6c07e30dee4e8f2cbc40bf11a0dd69addf6974
60
+DIST bash42-020 1825 SHA256 494773f0d0078cb35372d24caa523b00d8fdbbaed71e41dc14c9e47579da3c6f SHA512 23549c7a56e43f9aff7ebc376657ff498d07b47ebbfe6707ba3711e095fd80ca86d077c5379ee62c86711880979debd7b60733d83e12f349ced9e93860d8fc8c WHIRLPOOL 3f4aea688452e778ba440bbccfd0a4e76735ec7b7b3916d5896fcfdc3c4aeafce4c52c4cd21282915b21d12cfc03c170535d2bee86232f90ded87f2731f9cc07
61
+DIST bash42-021 1532 SHA256 a887a97be226575ecf483be2c76655bd6d1edde1cdfe199c27bd2e6baf32badc SHA512 09783ce72651af6abffebdfb3d3e7446b29ac4bfd395aeec66ef1f5c8a2bdc2238957b7e6f4e896178a5e4e24987de209e6776f29330879c0d8e14e8495d8284 WHIRLPOOL 821d16cfec3cabb2b48a6d46518993d47abd71d1ddcea90301d5f8a7b203c6e224031b344d543ebce2f534e14469b03079d09caa26cf4af4de6006bd477b4a61
62
+DIST bash42-022 1395 SHA256 9dcdf69df7f8cd2ba88d18c45a0d8f55fbe4f0e273411179db94dd6198b85c6b SHA512 ab6f3f175581f34dc106176fbbf5c2d19e9f421e16f328cffe98f11ee01462b63e0f1e720ec467780d91eb240a4a7fd4fd1cfdf6e0cb1293a8e42e8a4805c152 WHIRLPOOL 80eb65f4cf97167983ead281acb6a114cd866e22a8715b7106c342a442c942992916bd9918931422ee0ddc993762d86a21537724adb7fe4f3543f7fa7b2bf666
63
+DIST bash42-023 1699 SHA256 5dc11394f1a6c887373c081396efd4f4cc04492696722c57a4811c207965f0bf SHA512 b9d7044800a988dac8c59c48bd4845d3197d6ba965d22fb8f62b51b9d48f5a55519104a16283fb638264a6f858a6d574f8547d75721b96da640721bbdf097d81 WHIRLPOOL 7dee6a8915675019396d0003bd870315a44268c8af1015b29da802cd744fa340a7303d26d189b5a7a162a58f5931ee268a8e8129349b9bf3fa899720b0b119dc
64
+DIST bash42-024 1363 SHA256 99c826bdd33bee281d0a9191550d62a24d0b256cd41c90afd10abd63a66b99e6 SHA512 b4964ff258905cef806add58eadda17501e98bb3b3b5c8ce8ee0a9250e5bdf0a01329e1bfa973204b1c8e5da8fd068bcef624ec65c2f401c41d0b6b55cb2ba76 WHIRLPOOL c5c615b6d14ec8069b0990be04aa5e4c4ce3d41e910186e041c6ece46311c1591d327598981130c98a2a54144ff0efecfdaad9f6540173c4b0deb7927c70f736
65
+DIST bash42-025 3969 SHA256 0db0646fd7a559d5702911192bdd387acbbc61cf3c29a34007c3ec840e275515 SHA512 b4b80ef1a7599506454a912e2ee23f422bd199a675199b926c3770ba9091fb69583ddde84e67d897c79e6a047ebecbd18a5ee72557e7526c4108476eb5cff71b WHIRLPOOL c97157bec29f43d3d1367dc3a1625f51cd650646feecf8efc4b902175898c8cd90b7f403a7fb8798cde8232e770933de2e0bfef4f8fc0bd8a3e2bd24ae6fc8d4
66
+DIST bash42-026 1577 SHA256 e7e90cfaabbce3b4b9c699994e9d9ea4a2f084fd9f37788a80b0b70b47d323d2 SHA512 b00200d0b9040c74117e0150c589abb9e511abb01888c485eac770ab61c234669aeae3957a6752ab99c378ffd8188154bbec713c608b92cd3185a649b71615bf WHIRLPOOL c6851fde44599df98bb1c46bce45fadba204cbf7c368b8c5234ef992d24a2dc43fb107dbc36245ba4d48edda3cdc5c5f6c357c1fc2492ec4c66a36ffc8d97b3f
67
+DIST bash42-027 1461 SHA256 0c1f6b7256fcc17f42c05f9bbb4138f8e8bb67e79c622c3485711b6f37f7ed42 SHA512 107e13482deb9f6355196b2be9b717090aaffd8cf1580ab347bf38600e607c31cef5173b68e426a45d1678c7c64e7e095d5b6da941a5f53218919a0629e2fcfe WHIRLPOOL b4771a0bb540aa3f196400e4873c565a293ea656831a600d233755b3bc8bddce3d881b39a6f52a57b8ce5f622e9031a624f182a192de7e546b11f999f41a1294
68
+DIST bash42-028 1834 SHA256 204226de39ba81aaf3dd5a29cd59de052ec9f648538bb9e7f1c8150852b1ed7a SHA512 6e6ad04e7cff2d65045a9afb617c041b571b6c8cc728f9994825545b7d43c0c7868c68b22546784a6f604d3e0ec22b7bf0423e9d49b7109fefdc5d3db4b31399 WHIRLPOOL b13fa3ffaf6a38766743d2760493f58a4787aa7a244038e2fdf266270443d678cdc7aa6205be48665d2455e031f346d2d9095776f2aa879d70857e3132136aa0
69
+DIST bash42-029 16812 SHA256 d0b08c0817bc5acdb28b466727622a8422ca4d61188313cf162443b7f338f581 SHA512 9349625892201cb46f3669c18a38c86d609c1c9521fb8caecd6880df822897c6d2541dc0cf5d3d11d27779a3be636b0c6550b7e3b010d37e83804fd1ab27d35c WHIRLPOOL 045d8bec5da9508863fe93843cdacbb9fb2ca56e048d1a5bbfa305742688a9476568441633b9dec27a6e9bc56501d96a798714bcc1f9079de6c57d6bd3281cce
70
+DIST bash42-030 5046 SHA256 12594366591a136d8ccdcb8e218010f2ddab6be28a7f96d0ed32ca927e44afae SHA512 4643252a45b7fe84451c0bea95bd0089a1685067032c8a2e42bc78587deef5b6095de77500d1c54227f92940b201d193984852f65ef886237dd435617639a46a WHIRLPOOL 26c5209c8a29d6c12f61beadbf91d49707d090213d82b44da0aebde28f6ef0d26e256eabb89ef343c24e941a837a6bf57538ca6dc10227dca69536a67bb0f8a6
71
+DIST bash42-031 2047 SHA256 55f38c4d34775fbb063510c4222b195d998dd86f88288b64a6103e3812f8d9f9 SHA512 de0ea5c279ac956aca48f12e2962dcd4ae2f653349bf2350ae7b53e8370aaf882109fcb29bf559cd81512362bf31a100193de6bf193ff52331e8325df2f82e91 WHIRLPOOL 2dc6e5197beb2204b15493de41c041ef8df948d656d06e18cbaead2ece15d508980306ea7fbb02a1b926bdc92f6e09d182586b07c51fc93716c7c438e2dcbe63
72
+DIST bash42-032 2416 SHA256 e3a8b563dbb1e5cb7ca85a53515da8b2941213973496d48c4cc5a11c604791ed SHA512 ed35285989290c10f5013770397aa14897e63a28f5ae5a61319ea5881b0abd84410686288cf0f14dd9486d8fd623c410f857b48fbdb62350121e3596527dd3bf WHIRLPOOL f1d156a6b8d68eb71eae54c33aac8c6d24b09bc7ba07e856a71e39ba0f4e4ea7e1a4084d710f4239f7002af2ec73ca8953e81827d4f782ee0fe88406ace86311
73
+DIST bash42-033 1634 SHA256 f5d12790d69fdfb2f47ac86fa1ea1ecc088880141570273f38dfd3fa4a46434b SHA512 89e277e5a2f43fe75678c0dab57cd7c8761efa38f5902ed0b311ef6a0cdf48f683d3f28fd419908db43afdaf4f81d831f0fd630795f4d20b317543cb9ab95970 WHIRLPOOL 188eb57de7957a73c587904701a16dfa6043e785f47d685b6c4823729806080bb0a11b9c3409b4df69769c3f31ea00306ab42daa73dcfefe37c85ded518b6162
74
+DIST bash42-034 1345 SHA256 01c1f332101389cedf347c7736102966722a3b213900954e5d625bbc2f1e41b8 SHA512 d59a4a67a241d262de5fb27b96af0f15b0f6e7e922b2d61ea86e037dcd07ea77ec3c1ef6b289e5bbccd011b632538f264bb6426c3a07dba1946c094be56e0b16 WHIRLPOOL e2a2310a55db78a4d668235a4a70d266c28108ac4a04b50864704f7ba745d3e1cf080cf34544b426c1a2d6067adedc32d7491163f0ef5d09df3d51c99451b5cf
75
+DIST bash42-035 1920 SHA256 cecde463b038b4849635ff0993d9b264fc92403e7ae0accb52c7877aeaed78df SHA512 9f294177e91600f65cfee1b9dbf59b3ad7db449a99cc1013b7c97ef6c814b51afa7a2d2516a37fcc110ff3f0b25c4b06e42094f4665e03e41650bfa69c15eaf7 WHIRLPOOL e8806743da1f16375ffd29fb7c9ae78d8966d6f7faa833025e57fb59bd290a2afdf94777e9ac51917f378312fc8ce05d72ee14525352412c5826e8a2a9909fed
76
+DIST bash42-036 3123 SHA256 fe293a1bc92ac4d272ae9b9a0de3afef7c06145a2b52337a09cacccc5305aafa SHA512 7e114b99d8f5b210b826715c77adfdbb115e86ace35f7ff331fc6f595a4d0f689a055ccf7adfbafc057c7549f5597e4de455ab9e18a6ffeb5b4fd1d3a2aab99c WHIRLPOOL 6f4e9e9e8251b5a703bad2202301edb45546d94f452669ef681786ff5882269b70791456c7c2040731b5b7cff27c4028823592a61d46204a1271218f7e6c7b8c
77
+DIST bash42-037 3483 SHA256 c7578cddd3bb2430689c740f58a03403800726dcd1268b28f91bf37f368e1674 SHA512 4466990dc3499ccde5940ddfb383052fa345d4e53fff7c8963ac7482fa280658b4516a1583486175cab2f3a5c8afbbedda8461e3cb1802031bce8db386404608 WHIRLPOOL 918dd53aea5ba7c5da2b6ef3325289d80d5c9e01aa57bd5bf9b9e6a22302865929a670ed7b20a5916237e2078aa69223c681e00c79c5db40dcf4d9ffa455b603
78
+DIST bash42-038 1290 SHA256 b8c9a81bdf206be58ba491dfad80373b3348af769e80aaf72f7611ddbbbe6d57 SHA512 f835bb393153310fa2e4c2d95a98c0db53a97075f8989d61cccb095db223495777e413b21e9b235391a4a0f34d935a828ff5ccf337520d5dc87d380170efb351 WHIRLPOOL 3625b8a1e17e2ec7925027b6e048262126366ec2691e7a2bdfd23f8da2eefcea6ce967382067c8d6969d1a9cc641ffcd05ab71a713a61762c43d77df01082b8a
79
+DIST bash42-039 1603 SHA256 f4f9300a60321a5088ae9e54052a64c4d3e876f9a3a17ca104d58fa38b9c1791 SHA512 4c5e44a623840c7efe7894f313a5691307b12aea325dbc923b48deb6ee6ac0bb2ff7afb0d2ee12ab97b04d60c1b9e2a4facc51b66c93be9fe0beda317ec7318f WHIRLPOOL e863174def546d9e9cbcdf5cfa1f735a1503a7caa10ab25a017add965cde524412e37c7fdc43ee80b6dd23676f2231093df64de1d1f41aa823e6cf5c79136531
80
+DIST bash42-040 1710 SHA256 b265f9caf3c7321f95bc8e0b9e2c46bd86c226f00f05e823699aafb83c4aaa6c SHA512 ff5cfdd2aa846f0831a1f2f7b477e70fc6b68b6c4f4785293c417039a7f3fd4822ade4658ea17046ab9616c3fed02b463e6a3e60aeb7daf6ab667da14b9a482e WHIRLPOOL 7b4672ee3112be3919cef4a30e730daa534ee61c2b5a8e48cef799bf5e17a9bbf58dfbb96626f6edcdad595c92bec0dfc9b5f41a9785c20af7cf3e829553fe65
81
+DIST bash42-041 1463 SHA256 05cc1951bd9f6624088dd6067486ff47f1825e333273d7df5f1b06b23baaf5eb SHA512 7c9c12fc77bb764dbe8061e6df9419ab84d296a76c4a8bd96cf0f507bf70652a1c869162ac8d8c36f2d16ea0912a142fe14d6db45636bcb6e6fdf1444f0672a6 WHIRLPOOL bfcc374321554787373bac3d1cf22e2cdf4064a0ece447bda2426b90bd55c09f7d2ea2491bbdf2e03c2152783e45bccc98797fb4f12e4fe8095543ddb51f0457
82
+DIST bash42-042 1571 SHA256 faaa5c1f456517b258b2a65eaa664dd6a01eeff73c8ca4447c3a6de371bbf304 SHA512 99fd4f5f70e3d7d2e8dc1dac80e6ee6e0bb9ba1f629f41019b13f36aba2404aa4d786049bb0039e5fee138a01b813d295d4303c7c3d561a3cf565ffa19bb081e WHIRLPOOL 944cf532a9cdc42dcda55f3b2af96337d31596bcb39e83fb3e223bc3aeb1a45696dfc69e60ef0a68fd0c133728d9d23a037d633d9a267b09f51954ba7693e262
83
+DIST bash42-043 2110 SHA256 dc2683840f3e890a9c5f85338366ff6cd923285e558eb46aa818a03fa67c5c57 SHA512 70503181c392faf565ef0b23a2f6d1614836ffb9c04791cc4bfb31aff7786fd5efab4072034a4cfba0035595140cf7f9461b1565e4854ec34823cbd4f5ab419d WHIRLPOOL e988a962aac3ed9cd1f105cc5c9a477aaa52defdb049be8d9cd37da40177664507c06550193855cddea3b0a9fea3a04ec027ad14eea845317ee67e1b89697076
84
+DIST bash42-044 1871 SHA256 10d32d6c9ccdedb1d826f46468631d475f9dcf983fac087766e16df7b99766e6 SHA512 e94cf93c5760225d4ac16f9c73078c3ce9913ffe1e20ffed8fa31084a0efd3dd63762b5437221f6b570078667e3ec19d882169ffe0ba4c498e258e56f17d2511 WHIRLPOOL 23e3fd1ed1a708eead2ce463c0e5acd720accbe9727462b7fd3916b14b8eabf2339c1f7b1dc973249e075bff4fa566753ae43c540ce3ddc84b5cdd72814d568d
85
+DIST bash42-045 1572 SHA256 ddb7eff0f59d394a483b09feec3771d9026f81ba90afac32846a19b172b2986d SHA512 64f62b19c79eb2c581feda2b9f3c36196b3a794ee9996f6d72078fbb0b8c5878aa2d8ff3e2698cf9769e42083704dd9342bb108212d02aeb79875fad70895560 WHIRLPOOL 02fa25cf02c831675a78a5625e0ba5606b52eb9f3dbdf546cd62983d83cea7fd159b535df94b3c8d39907a7739de7459b69cde3583f28d952a54b384122d264e
86
+DIST bash42-046 1988 SHA256 95c1323b68c0ecc0ca09565ef2d5218625ced3957b702e04c8bcaad9e7b3816d SHA512 7e4a9d3961cb8bf8559f82684cb75fe8600a377522f582e1a9537696ceccab32d15d1045f850ea91ea8bd2cf286d79412bb47460af26bec8486d5f3137f5d54f WHIRLPOOL 68d83498307dec79bea516c7e7b03dfdff10116a716922c780c66d9017abb38cf6b32f17674490fed93b2701d8271f71f4aaeab6712b184fe4d880b818fab988
87
+DIST bash42-047 1353 SHA256 c1979201d0345011c419a1c82407cd2a00c60a0c75b7f07e145d17f3718daf7a SHA512 0b43eefcc0ef3a55e309dff339db31a07849ce794e645d917f1836f48c71b84bdc50aa3315b3b2e33acef2e6e81a07f2a026cb43381d0f809c8271cc0a0699a0 WHIRLPOOL 5b2a3000dd72b4cd34f74ffcfe160fe891c8e55766913260207cdad0ed205843398ca9a261f41ef5d54c76782ae291809be0b78c3bb960ea84bb0676cdc6e263
88
+EBUILD bash-4.2_p47-r1.ebuild 6703 SHA256 03547e45d2915517543f447c1eb4ced59d8dd23043d81d451eab8cd17670fd52 SHA512 50b51c5b1cdbea1730b550e867fcebb1b9fa3f1c1197fcb71aef8f5891e2a5a296143263c2d03589e8cc6e852a14f50bbca2162a657ad729d13f070118e96260 WHIRLPOOL f3c183945c15bef085773167626a315a14718e05ca6aabe0b00d9f7e4302f50d94b27b4ffcc9f97c11aa34e87ecf491d8a1d7d5871d2b1405f14db9916dd2ef8
... ...
@@ -0,0 +1,227 @@
1
+# Copyright 1999-2014 Gentoo Foundation
2
+# Distributed under the terms of the GNU General Public License v2
3
+# $Header: /var/cvsroot/gentoo-x86/app-shells/bash/bash-4.2_p47-r1.ebuild,v 1.1 2014/09/24 14:01:55 polynomial-c Exp $
4
+
5
+EAPI="4"
6
+
7
+inherit eutils flag-o-matic toolchain-funcs multilib
8
+
9
+# Official patchlevel
10
+# See ftp://ftp.cwru.edu/pub/bash/bash-4.2-patches/
11
+PLEVEL=${PV##*_p}
12
+MY_PV=${PV/_p*}
13
+MY_PV=${MY_PV/_/-}
14
+MY_P=${PN}-${MY_PV}
15
+[[ ${PV} != *_p* ]] && PLEVEL=0
16
+patches() {
17
+	local opt=$1 plevel=${2:-${PLEVEL}} pn=${3:-${PN}} pv=${4:-${MY_PV}}
18
+	[[ ${plevel} -eq 0 ]] && return 1
19
+	eval set -- {1..${plevel}}
20
+	set -- $(printf "${pn}${pv/\.}-%03d " "$@")
21
+	if [[ ${opt} == -s ]] ; then
22
+		echo "${@/#/${DISTDIR}/}"
23
+	else
24
+		local u
25
+		for u in ftp://ftp.cwru.edu/pub/bash mirror://gnu/${pn} ; do
26
+			printf "${u}/${pn}-${pv}-patches/%s " "$@"
27
+		done
28
+	fi
29
+}
30
+
31
+DESCRIPTION="The standard GNU Bourne again shell"
32
+HOMEPAGE="http://tiswww.case.edu/php/chet/bash/bashtop.html"
33
+SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz $(patches)"
34
+
35
+LICENSE="GPL-3"
36
+SLOT="0"
37
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
38
+IUSE="afs bashlogger examples mem-scramble +net nls plugins +readline vanilla"
39
+
40
+DEPEND=">=sys-libs/ncurses-5.2-r2
41
+	readline? ( >=sys-libs/readline-6.2 )
42
+	nls? ( virtual/libintl )"
43
+RDEPEND="${DEPEND}
44
+	!!<sys-apps/portage-2.1.6.7_p1
45
+	!!<sys-apps/paludis-0.26.0_alpha5"
46
+# we only need yacc when the .y files get patched (bash42-005)
47
+DEPEND+=" virtual/yacc"
48
+
49
+S=${WORKDIR}/${MY_P}
50
+
51
+pkg_setup() {
52
+	if is-flag -malign-double ; then #7332
53
+		eerror "Detected bad CFLAGS '-malign-double'.  Do not use this"
54
+		eerror "as it breaks LFS (struct stat64) on x86."
55
+		die "remove -malign-double from your CFLAGS mr ricer"
56
+	fi
57
+	if use bashlogger ; then
58
+		ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs."
59
+		ewarn "This will log ALL output you enter into the shell, you have been warned."
60
+	fi
61
+}
62
+
63
+src_unpack() {
64
+	unpack ${MY_P}.tar.gz
65
+}
66
+
67
+src_prepare() {
68
+	# Include official patches
69
+	[[ ${PLEVEL} -gt 0 ]] && epatch $(patches -s)
70
+
71
+	# Clean out local libs so we know we use system ones
72
+	rm -rf lib/{readline,termcap}/*
73
+	touch lib/{readline,termcap}/Makefile.in # for config.status
74
+	sed -ri -e 's:\$[(](RL|HIST)_LIBSRC[)]/[[:alpha:]]*.h::g' Makefile.in || die
75
+
76
+	# Avoid regenerating docs after patches #407985
77
+	sed -i -r '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in || die
78
+	touch -r . doc/*
79
+
80
+	epatch "${FILESDIR}"/${PN}-4.2-execute-job-control.patch #383237
81
+	epatch "${FILESDIR}"/${PN}-4.2-parallel-build.patch
82
+	epatch "${FILESDIR}"/${PN}-4.2-no-readline.patch
83
+	epatch "${FILESDIR}"/${PN}-4.2-read-retry.patch #447810
84
+	if ! use vanilla ; then
85
+		epatch "${FILESDIR}"/${PN}-4.2-speed-up-read-N.patch
86
+	fi
87
+	epatch "${FILESDIR}"/${PN}-3.1-funcdef-import.patch
88
+
89
+	epatch_user
90
+}
91
+
92
+src_configure() {
93
+	local myconf=()
94
+
95
+	# For descriptions of these, see config-top.h
96
+	# bashrc/#26952 bash_logout/#90488 ssh/#24762
97
+	append-cppflags \
98
+		-DDEFAULT_PATH_VALUE=\'\"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\"\' \
99
+		-DSTANDARD_UTILS_PATH=\'\"/bin:/usr/bin:/sbin:/usr/sbin\"\' \
100
+		-DSYS_BASHRC=\'\"/etc/bash/bashrc\"\' \
101
+		-DSYS_BASH_LOGOUT=\'\"/etc/bash/bash_logout\"\' \
102
+		-DNON_INTERACTIVE_LOGIN_SHELLS \
103
+		-DSSH_SOURCE_BASHRC \
104
+		$(use bashlogger && echo -DSYSLOG_HISTORY)
105
+
106
+	# Don't even think about building this statically without
107
+	# reading Bug 7714 first.  If you still build it statically,
108
+	# don't come crying to us with bugs ;).
109
+	#use static && export LDFLAGS="${LDFLAGS} -static"
110
+	use nls || myconf+=( --disable-nls )
111
+
112
+	# Historically, we always used the builtin readline, but since
113
+	# our handling of SONAME upgrades has gotten much more stable
114
+	# in the PM (and the readline ebuild itself preserves the old
115
+	# libs during upgrades), linking against the system copy should
116
+	# be safe.
117
+	# Exact cached version here doesn't really matter as long as it
118
+	# is at least what's in the DEPEND up above.
119
+	export ac_cv_rl_version=6.2
120
+
121
+	# Force linking with system curses ... the bundled termcap lib
122
+	# sucks bad compared to ncurses.  For the most part, ncurses
123
+	# is here because readline needs it.  But bash itself calls
124
+	# ncurses in one or two small places :(.
125
+
126
+	use plugins && append-ldflags -Wl,-rpath,/usr/$(get_libdir)/bash
127
+	tc-export AR #444070
128
+	econf \
129
+		--with-installed-readline=. \
130
+		--with-curses \
131
+		$(use_with afs) \
132
+		$(use_enable net net-redirections) \
133
+		--disable-profiling \
134
+		$(use_enable mem-scramble) \
135
+		$(use_with mem-scramble bash-malloc) \
136
+		$(use_enable readline) \
137
+		$(use_enable readline history) \
138
+		$(use_enable readline bang-history) \
139
+		"${myconf[@]}"
140
+}
141
+
142
+src_compile() {
143
+	emake
144
+
145
+	if use plugins ; then
146
+		emake -C examples/loadables all others
147
+	fi
148
+}
149
+
150
+src_install() {
151
+	emake install DESTDIR="${D}"
152
+
153
+	dodir /bin
154
+	mv "${ED}"/usr/bin/bash "${ED}"/bin/ || die
155
+	dosym bash /bin/rbash
156
+
157
+	insinto /etc/bash
158
+	doins "${FILESDIR}"/{bashrc,bash_logout}
159
+	insinto /etc/skel
160
+	for f in bash{_logout,_profile,rc} ; do
161
+		newins "${FILESDIR}"/dot-${f} .${f}
162
+	done
163
+
164
+	local sed_args=(
165
+		-e "s:#${USERLAND}#@::"
166
+		-e '/#@/d'
167
+	)
168
+	if ! use readline ; then
169
+		sed_args+=( #432338
170
+			-e '/^shopt -s histappend/s:^:#:'
171
+			-e 's:use_color=true:use_color=false:'
172
+		)
173
+	fi
174
+	sed -i \
175
+		"${sed_args[@]}" \
176
+		"${ED}"/etc/skel/.bashrc \
177
+		"${ED}"/etc/bash/bashrc || die
178
+
179
+	if use plugins ; then
180
+		exeinto /usr/$(get_libdir)/bash
181
+		doexe $(echo examples/loadables/*.o | sed 's:\.o::g')
182
+		insinto /usr/include/bash-plugins
183
+		doins *.h builtins/*.h examples/loadables/*.h include/*.h \
184
+			lib/{glob/glob.h,tilde/tilde.h}
185
+	fi
186
+
187
+	if use examples ; then
188
+		for d in examples/{functions,misc,scripts,scripts.noah,scripts.v2} ; do
189
+			exeinto /usr/share/doc/${PF}/${d}
190
+			insinto /usr/share/doc/${PF}/${d}
191
+			for f in ${d}/* ; do
192
+				if [[ ${f##*/} != PERMISSION ]] && [[ ${f##*/} != *README ]] ; then
193
+					doexe ${f}
194
+				else
195
+					doins ${f}
196
+				fi
197
+			done
198
+		done
199
+	fi
200
+
201
+	doman doc/*.1
202
+	dodoc README NEWS AUTHORS CHANGES COMPAT Y2K doc/FAQ doc/INTRO
203
+	dosym bash.info /usr/share/info/bashref.info
204
+}
205
+
206
+pkg_preinst() {
207
+	if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]] ; then
208
+		mkdir -p "${EROOT}"/etc/bash
209
+		mv -f "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/
210
+	fi
211
+
212
+	if [[ -L ${EROOT}/bin/sh ]]; then
213
+		# rewrite the symlink to ensure that its mtime changes. having /bin/sh
214
+		# missing even temporarily causes a fatal error with paludis.
215
+		local target=$(readlink "${EROOT}"/bin/sh)
216
+		local tmp=$(emktemp "${EROOT}"/bin)
217
+		ln -sf "${target}" "${tmp}"
218
+		mv -f "${tmp}" "${EROOT}"/bin/sh
219
+	fi
220
+}
221
+
222
+pkg_postinst() {
223
+	# If /bin/sh does not exist, provide it
224
+	if [[ ! -e ${EROOT}/bin/sh ]]; then
225
+		ln -sf bash "${EROOT}"/bin/sh
226
+	fi
227
+}
... ...
@@ -0,0 +1,199 @@
1
+https://bugs.gentoo.org/220040
2
+
3
+--- a/configure
4
++++ b/configure
5
+@@ -12393,22 +12393,25 @@ else
6
+ #line $LINENO "configure"
7
+ #include "confdefs.h"
8
+ /* Test program from Paul Eggert and Tony Leneis.  */
9
+-#if TIME_WITH_SYS_TIME
10
++#ifdef TIME_WITH_SYS_TIME
11
+ # include <sys/time.h>
12
+ # include <time.h>
13
+ #else
14
+-# if HAVE_SYS_TIME_H
15
++# ifdef HAVE_SYS_TIME_H
16
+ #  include <sys/time.h>
17
+ # else
18
+ #  include <time.h>
19
+ # endif
20
+ #endif
21
+ 
22
+-#if HAVE_UNISTD_H
23
++#include <limits.h>
24
++#include <stdlib.h>
25
++
26
++#ifdef HAVE_UNISTD_H
27
+ # include <unistd.h>
28
+ #endif
29
+ 
30
+-#if !HAVE_ALARM
31
++#ifndef HAVE_ALARM
32
+ # define alarm(X) /* empty */
33
+ #endif
34
+ 
35
+@@ -12416,6 +12419,7 @@ else
36
+ #undef putenv
37
+ 
38
+ static time_t time_t_max;
39
++static time_t time_t_min;
40
+ 
41
+ /* Values we'll use to set the TZ environment variable.  */
42
+ static const char *const tz_strings[] = {
43
+@@ -12424,9 +12428,9 @@ static const char *const tz_strings[] = {
44
+ };
45
+ #define N_STRINGS (sizeof (tz_strings) / sizeof (tz_strings[0]))
46
+ 
47
+-/* Fail if mktime fails to convert a date in the spring-forward gap.
48
++/* Return 0 if mktime fails to convert a date in the spring-forward gap.
49
+    Based on a problem report from Andreas Jaeger.  */
50
+-static void
51
++static int
52
+ spring_forward_gap ()
53
+ {
54
+   /* glibc (up to about 1998-10-07) failed this test. */
55
+@@ -12445,23 +12449,27 @@ spring_forward_gap ()
56
+   tm.tm_min = 0;
57
+   tm.tm_sec = 0;
58
+   tm.tm_isdst = -1;
59
+-  if (mktime (&tm) == (time_t)-1)
60
+-    exit (1);
61
++  return mktime (&tm) != (time_t) -1;
62
+ }
63
+ 
64
+-static void
65
+-mktime_test (now)
66
++static int
67
++mktime_test1 (now)
68
+      time_t now;
69
+ {
70
+   struct tm *lt;
71
+-  if ((lt = localtime (&now)) && mktime (lt) != now)
72
+-    exit (1);
73
+-  now = time_t_max - now;
74
+-  if ((lt = localtime (&now)) && mktime (lt) != now)
75
+-    exit (1);
76
++  return ! (lt = localtime (&now)) || mktime (lt) == now;
77
+ }
78
+ 
79
+-static void
80
++static int
81
++mktime_test (now)
82
++     time_t now;
83
++{
84
++  return (mktime_test1 (now)
85
++	  && mktime_test1 ((time_t) (time_t_max - now))
86
++	  && mktime_test1 ((time_t) (time_t_min + now)));
87
++}
88
++
89
++static int
90
+ irix_6_4_bug ()
91
+ {
92
+   /* Based on code from Ariel Faigon.  */
93
+@@ -12474,11 +12482,10 @@ irix_6_4_bug ()
94
+   tm.tm_sec = 0;
95
+   tm.tm_isdst = -1;
96
+   mktime (&tm);
97
+-  if (tm.tm_mon != 2 || tm.tm_mday != 31)
98
+-    exit (1);
99
++  return tm.tm_mon == 2 && tm.tm_mday == 31;
100
+ }
101
+ 
102
+-static void
103
++static int
104
+ bigtime_test (j)
105
+      int j;
106
+ {
107
+@@ -12500,8 +12507,39 @@ bigtime_test (j)
108
+ 	     && lt->tm_wday == tm.tm_wday
109
+ 	     && ((lt->tm_isdst < 0 ? -1 : 0 < lt->tm_isdst)
110
+ 		  == (tm.tm_isdst < 0 ? -1 : 0 < tm.tm_isdst))))
111
+-	exit (1);
112
++	return 0;
113
+     }
114
++  return 1;
115
++}
116
++
117
++static int
118
++year_2050_test ()
119
++{
120
++  /* The correct answer for 2050-02-01 00:00:00 in Pacific time,
121
++     ignoring leap seconds.  */
122
++  unsigned long int answer = 2527315200UL;
123
++
124
++  struct tm tm;
125
++  time_t t;
126
++  tm.tm_year = 2050 - 1900;
127
++  tm.tm_mon = 2 - 1;
128
++  tm.tm_mday = 1;
129
++  tm.tm_hour = tm.tm_min = tm.tm_sec = 0;
130
++  tm.tm_isdst = -1;
131
++
132
++  /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0"
133
++     instead of "TZ=America/Vancouver" in order to detect the bug even
134
++     on systems that don't support the Olson extension, or don't have the
135
++     full zoneinfo tables installed.  */
136
++  putenv ("TZ=PST8PDT,M4.1.0,M10.5.0");
137
++
138
++  t = mktime (&tm);
139
++
140
++  /* Check that the result is either a failure, or close enough
141
++     to the correct answer that we can assume the discrepancy is
142
++     due to leap seconds.  */
143
++  return (t == (time_t) -1
144
++	  || (0 < t && answer - 120 <= t && t <= answer + 120));
145
+ }
146
+ 
147
+ int
148
+@@ -12515,9 +12553,15 @@ main ()
149
+      isn't worth using anyway.  */
150
+   alarm (60);
151
+ 
152
+-  for (time_t_max = 1; 0 < time_t_max; time_t_max *= 2)
153
+-    continue;
154
+-  time_t_max--;
155
++  for (;;)
156
++    {
157
++      t = (time_t_max << 1) + 1;
158
++      if (t <= time_t_max)
159
++	break;
160
++      time_t_max = t;
161
++    }
162
++  time_t_min = - ((time_t) ~ (time_t) 0 == (time_t) -1) - time_t_max;
163
++
164
+   delta = time_t_max / 997; /* a suitable prime number */
165
+   for (i = 0; i < N_STRINGS; i++)
166
+     {
167
+@@ -12525,17 +12569,22 @@ main ()
168
+ 	putenv (tz_strings[i]);
169
+ 
170
+       for (t = 0; t <= time_t_max - delta; t += delta)
171
+-	mktime_test (t);
172
+-      mktime_test ((time_t) 60 * 60);
173
+-      mktime_test ((time_t) 60 * 60 * 24);
174
+-
175
+-      for (j = 1; 0 < j; j *= 2)
176
+-        bigtime_test (j);
177
+-      bigtime_test (j - 1);
178
++	if (! mktime_test (t))
179
++	  return 1;
180
++      if (! (mktime_test ((time_t) 1)
181
++	     && mktime_test ((time_t) (60 * 60))
182
++	     && mktime_test ((time_t) (60 * 60 * 24))))
183
++	return 1;
184
++
185
++      for (j = 1; ; j <<= 1)
186
++	if (! bigtime_test (j))
187
++	  return 1;
188
++	else if (INT_MAX / 2 < j)
189
++	  break;
190
++      if (! bigtime_test (INT_MAX))
191
++	return 1;
192
+     }
193
+-  irix_6_4_bug ();
194
+-  spring_forward_gap ();
195
+-  exit (0);
196
++  return ! (irix_6_4_bug () && spring_forward_gap () && year_2050_test ());
197
+ }
198
+ _ACEOF
199
+ rm -f conftest$ac_exeext
... ...
@@ -0,0 +1,197 @@
1
+http://bugs.gentoo.org/220040
2
+--- configure
3
++++ configure
4
+@@ -5299,26 +6059,25 @@
5
+ cat >>conftest.$ac_ext <<_ACEOF
6
+ /* end confdefs.h.  */
7
+ /* Test program from Paul Eggert and Tony Leneis.  */
8
+-#if TIME_WITH_SYS_TIME
9
++#ifdef TIME_WITH_SYS_TIME
10
+ # include <sys/time.h>
11
+ # include <time.h>
12
+ #else
13
+-# if HAVE_SYS_TIME_H
14
++# ifdef HAVE_SYS_TIME_H
15
+ #  include <sys/time.h>
16
+ # else
17
+ #  include <time.h>
18
+ # endif
19
+ #endif
20
+ 
21
+-#if HAVE_STDLIB_H
22
+-# include <stdlib.h>
23
+-#endif
24
++#include <limits.h>
25
++#include <stdlib.h>
26
+ 
27
+-#if HAVE_UNISTD_H
28
++#ifdef HAVE_UNISTD_H
29
+ # include <unistd.h>
30
+ #endif
31
+ 
32
+-#if !HAVE_ALARM
33
++#ifndef HAVE_ALARM
34
+ # define alarm(X) /* empty */
35
+ #endif
36
+ 
37
+@@ -5335,9 +6094,9 @@
38
+ };
39
+ #define N_STRINGS (sizeof (tz_strings) / sizeof (tz_strings[0]))
40
+ 
41
+-/* Fail if mktime fails to convert a date in the spring-forward gap.
42
++/* Return 0 if mktime fails to convert a date in the spring-forward gap.
43
+    Based on a problem report from Andreas Jaeger.  */
44
+-static void
45
++static int
46
+ spring_forward_gap ()
47
+ {
48
+   /* glibc (up to about 1998-10-07) failed this test. */
49
+@@ -5356,29 +6115,27 @@
50
+   tm.tm_min = 0;
51
+   tm.tm_sec = 0;
52
+   tm.tm_isdst = -1;
53
+-  if (mktime (&tm) == (time_t)-1)
54
+-    exit (1);
55
++  return mktime (&tm) != (time_t) -1;
56
+ }
57
+ 
58
+-static void
59
++static int
60
+ mktime_test1 (now)
61
+      time_t now;
62
+ {
63
+   struct tm *lt;
64
+-  if ((lt = localtime (&now)) && mktime (lt) != now)
65
+-    exit (1);
66
++  return ! (lt = localtime (&now)) || mktime (lt) == now;
67
+ }
68
+ 
69
+-static void
70
++static int
71
+ mktime_test (now)
72
+      time_t now;
73
+ {
74
+-  mktime_test1 (now);
75
+-  mktime_test1 ((time_t) (time_t_max - now));
76
+-  mktime_test1 ((time_t) (time_t_min + now));
77
++  return (mktime_test1 (now)
78
++	  && mktime_test1 ((time_t) (time_t_max - now))
79
++	  && mktime_test1 ((time_t) (time_t_min + now)));
80
+ }
81
+ 
82
+-static void
83
++static int
84
+ irix_6_4_bug ()
85
+ {
86
+   /* Based on code from Ariel Faigon.  */
87
+@@ -5391,11 +6148,10 @@
88
+   tm.tm_sec = 0;
89
+   tm.tm_isdst = -1;
90
+   mktime (&tm);
91
+-  if (tm.tm_mon != 2 || tm.tm_mday != 31)
92
+-    exit (1);
93
++  return tm.tm_mon == 2 && tm.tm_mday == 31;
94
+ }
95
+ 
96
+-static void
97
++static int
98
+ bigtime_test (j)
99
+      int j;
100
+ {
101
+@@ -5417,8 +6173,39 @@
102
+ 	     && lt->tm_wday == tm.tm_wday
103
+ 	     && ((lt->tm_isdst < 0 ? -1 : 0 < lt->tm_isdst)
104
+ 		  == (tm.tm_isdst < 0 ? -1 : 0 < tm.tm_isdst))))
105
+-	exit (1);
106
++	return 0;
107
+     }
108
++  return 1;
109
++}
110
++
111
++static int
112
++year_2050_test ()
113
++{
114
++  /* The correct answer for 2050-02-01 00:00:00 in Pacific time,
115
++     ignoring leap seconds.  */
116
++  unsigned long int answer = 2527315200UL;
117
++
118
++  struct tm tm;
119
++  time_t t;
120
++  tm.tm_year = 2050 - 1900;
121
++  tm.tm_mon = 2 - 1;
122
++  tm.tm_mday = 1;
123
++  tm.tm_hour = tm.tm_min = tm.tm_sec = 0;
124
++  tm.tm_isdst = -1;
125
++
126
++  /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0"
127
++     instead of "TZ=America/Vancouver" in order to detect the bug even
128
++     on systems that don't support the Olson extension, or don't have the
129
++     full zoneinfo tables installed.  */
130
++  putenv ("TZ=PST8PDT,M4.1.0,M10.5.0");
131
++
132
++  t = mktime (&tm);
133
++
134
++  /* Check that the result is either a failure, or close enough
135
++     to the correct answer that we can assume the discrepancy is
136
++     due to leap seconds.  */
137
++  return (t == (time_t) -1
138
++	  || (0 < t && answer - 120 <= t && t <= answer + 120));
139
+ }
140
+ 
141
+ int
142
+@@ -5432,12 +6219,15 @@
143
+      isn't worth using anyway.  */
144
+   alarm (60);
145
+ 
146
+-  for (time_t_max = 1; 0 < time_t_max; time_t_max *= 2)
147
+-    continue;
148
+-  time_t_max--;
149
+-  if ((time_t) -1 < 0)
150
+-    for (time_t_min = -1; (time_t) (time_t_min * 2) < 0; time_t_min *= 2)
151
+-      continue;
152
++  for (;;)
153
++    {
154
++      t = (time_t_max << 1) + 1;
155
++      if (t <= time_t_max)
156
++	break;
157
++      time_t_max = t;
158
++    }
159
++  time_t_min = - ((time_t) ~ (time_t) 0 == (time_t) -1) - time_t_max;
160
++
161
+   delta = time_t_max / 997; /* a suitable prime number */
162
+   for (i = 0; i < N_STRINGS; i++)
163
+     {
164
+@@ -5445,18 +6235,22 @@
165
+ 	putenv (tz_strings[i]);
166
+ 
167
+       for (t = 0; t <= time_t_max - delta; t += delta)
168
+-	mktime_test (t);
169
+-      mktime_test ((time_t) 1);
170
+-      mktime_test ((time_t) (60 * 60));
171
+-      mktime_test ((time_t) (60 * 60 * 24));
172
+-
173
+-      for (j = 1; 0 < j; j *= 2)
174
+-	bigtime_test (j);
175
+-      bigtime_test (j - 1);
176
++	if (! mktime_test (t))
177
++	  return 1;
178
++      if (! (mktime_test ((time_t) 1)
179
++	     && mktime_test ((time_t) (60 * 60))
180
++	     && mktime_test ((time_t) (60 * 60 * 24))))
181
++	return 1;
182
++
183
++      for (j = 1; ; j <<= 1)
184
++	if (! bigtime_test (j))
185
++	  return 1;
186
++	else if (INT_MAX / 2 < j)
187
++	  break;
188
++      if (! bigtime_test (INT_MAX))
189
++	return 1;
190
+     }
191
+-  irix_6_4_bug ();
192
+-  spring_forward_gap ();
193
+-  exit (0);
194
++  return ! (irix_6_4_bug () && spring_forward_gap () && year_2050_test ());
195
+ }
196
+ _ACEOF
197
+ rm -f conftest$ac_exeext
... ...
@@ -0,0 +1,15 @@
1
+Ripped from Fedora
2
+
3
+http://lists.gnu.org/archive/html/bug-bash/2005-12/msg00013.html
4
+https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=173283
5
+
6
+--- bash-3.0/builtins/read.def
7
++++ bash-3.0/builtins/read.def
8
+@@ -461,6 +461,7 @@
9
+   if (retval < 0)
10
+     {
11
+       builtin_error (_("read error: %d: %s"), fd, strerror (errno));
12
++      run_unwind_frame ("read_builtin");
13
+       return (EXECUTION_FAILURE);
14
+     }
15
+ #endif
... ...
@@ -0,0 +1,23 @@
1
+Don't barf on handled signals inside of scripts.  Makes for nicer output.
2
+
3
+patch by Martin Schlemmer <azarah@gentoo.org>
4
+
5
+--- jobs.c
6
++++ jobs.c
7
+@@ -2893,11 +2893,11 @@
8
+ 		}
9
+ 	      else if (IS_FOREGROUND (job))
10
+ 		{
11
+-#if !defined (DONT_REPORT_SIGPIPE)
12
+-		  if (termsig && WIFSIGNALED (s) && termsig != SIGINT)
13
+-#else
14
+-		  if (termsig && WIFSIGNALED (s) && termsig != SIGINT && termsig != SIGPIPE)
15
+-#endif
16
++		  if (termsig && WIFSIGNALED (s) && termsig != SIGINT &&
17
++#if defined (DONT_REPORT_SIGPIPE)
18
++		  termsig != SIGPIPE &&
19
++#endif
20
++		  signal_is_trapped (termsig) == 0)
21
+ 		    {
22
+ 		      fprintf (stderr, "%s", j_strsignal (termsig));
23
+ 
... ...
@@ -0,0 +1,14 @@
1
+Fix the /dev/fd test when running as a non root user
2
+after logging in as a root user #131875
3
+
4
+--- bash-3.1/configure
5
++++ bash-3.1/configure
6
+@@ -23098,7 +23098,7 @@
7
+   if test -d /dev/fd  && test -r /dev/fd/0 < /dev/null; then
8
+ # check for systems like FreeBSD 5 that only provide /dev/fd/[012]
9
+    exec 3<&0
10
+-   if test -r /dev/fd/3; then
11
++   if test -e /dev/fd/3; then
12
+      bash_cv_dev_fd=standard
13
+    else
14
+      bash_cv_dev_fd=absent
... ...
@@ -0,0 +1,52 @@
1
+http://lists.gnu.org/archive/html/bug-bash/2006-01/msg00054.html
2
+http://bugs.gentoo.org/118257
3
+
4
+Date: Fri, 13 Jan 2006 17:11:10 +0000
5
+From: Tim Waugh <twaugh@redhat.com>
6
+To: bug-bash@gnu.org
7
+Subject: [patch] fix 'exec -l /bin/bash'
8
+
9
+Configuration Information [Automatically generated, do not change]:
10
+Machine: i386
11
+OS: linux-gnu
12
+Compiler: i386-redhat-linux-gcc
13
+Compilation CFLAGS:  -DPROGRAM='bash' -DCONF_HOSTTYPE='i386' -DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='i386-redhat-linux-gnu' -DCONF_VENDOR='redhat' -DLOCALEDIR='/usr/share/locale' -DPACKAGE='bash' -DSHELL -DHAVE_CONFIG_H   -I.  -I. -I./include -I./lib  -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=pentium4 -fasynchronous-unwind-tables
14
+uname output: Linux gene.surrey.redhat.com 2.6.13-1.1597_FC5 #1 Thu Oct 6 02:13:06 EDT 2005 i686 i686 i386 GNU/Linux
15
+Machine Type: i386-redhat-linux-gnu
16
+
17
+Bash Version: 3.1
18
+Patch Level: 1
19
+Release Status: release
20
+
21
+Description:
22
+	If bash has argv[0] as '-/bin/bash' it does not become a login
23
+	shell.
24
+
25
+Repeat-By:
26
+	exec -l /bin/bash
27
+	shopt
28
+
29
+Fix:
30
+
31
+--- bash-3.1/shell.c.login	2006-01-13 16:52:14.000000000 +0000
32
++++ bash-3.1/shell.c	2006-01-13 16:52:15.000000000 +0000
33
+@@ -1543,9 +1543,10 @@
34
+      any startup files; just try to be more like /bin/sh. */
35
+   shell_name = argv0 ? base_pathname (argv0) : PROGRAM;
36
+ 
37
+-  if (*shell_name == '-')
38
++  if (argv0 && *argv0 == '-')
39
+     {
40
+-      shell_name++;
41
++      if (*shell_name == '-')
42
++        shell_name++;
43
+       login_shell++;
44
+     }
45
+ 
46
+
47
+
48
+_______________________________________________
49
+Bug-bash mailing list
50
+Bug-bash@gnu.org
51
+http://lists.gnu.org/mailman/listinfo/bug-bash
52
+
... ...
@@ -0,0 +1,73 @@
1
+*** ../bash-3.1.17/builtins/common.h	2004-09-09 13:21:08.000000000 -0400
2
+--- builtins/common.h	2014-09-16 22:00:02.000000000 -0400
3
+***************
4
+*** 34,37 ****
5
+--- 34,39 ----
6
+  
7
+  /* Flags for describe_command, shared between type.def and command.def */
8
++ #define SEVAL_FUNCDEF	0x080		/* only allow function definitions */
9
++ #define SEVAL_ONECMD	0x100		/* only allow a single command */
10
+  #define CDESC_ALL		0x001	/* type -a */
11
+  #define CDESC_SHORTDESC		0x002	/* command -V */
12
+*** ../bash-3.1.17/builtins/evalstring.c	2005-10-30 18:28:24.000000000 -0500
13
+--- builtins/evalstring.c	2014-09-16 22:00:02.000000000 -0400
14
+***************
15
+*** 224,227 ****
16
+--- 224,235 ----
17
+  	      struct fd_bitmap *bitmap;
18
+  
19
++ 	      if ((flags & SEVAL_FUNCDEF) && command->type != cm_function_def)
20
++ 		{
21
++ 		  internal_warning ("%s: ignoring function definition attempt", from_file);
22
++ 		  should_jump_to_top_level = 0;
23
++ 		  last_result = last_command_exit_value = EX_BADUSAGE;
24
++ 		  break;
25
++ 		}
26
++ 
27
+  	      bitmap = new_fd_bitmap (FD_BITMAP_SIZE);
28
+  	      begin_unwind_frame ("pe_dispose");
29
+***************
30
+*** 279,282 ****
31
+--- 287,293 ----
32
+  	      dispose_fd_bitmap (bitmap);
33
+  	      discard_unwind_frame ("pe_dispose");
34
++ 
35
++ 	      if (flags & SEVAL_ONECMD)
36
++ 		break;
37
+  	    }
38
+  	}
39
+*** ../bash-3.1.17/variables.c	2006-03-10 16:56:29.000000000 -0500
40
+--- variables.c	2014-09-16 22:00:02.000000000 -0400
41
+***************
42
+*** 311,320 ****
43
+  	  strcpy (temp_string + char_index + 1, string);
44
+  
45
+! 	  parse_and_execute (temp_string, name, SEVAL_NONINT|SEVAL_NOHIST);
46
+! 
47
+! 	  /* Ancient backwards compatibility.  Old versions of bash exported
48
+! 	     functions like name()=() {...} */
49
+! 	  if (name[char_index - 1] == ')' && name[char_index - 2] == '(')
50
+! 	    name[char_index - 2] = '\0';
51
+  
52
+  	  if (temp_var = find_function (name))
53
+--- 311,318 ----
54
+  	  strcpy (temp_string + char_index + 1, string);
55
+  
56
+! 	  /* Don't import function names that are invalid identifiers from the
57
+! 	     environment. */
58
+! 	  if (legal_identifier (name))
59
+! 	    parse_and_execute (temp_string, name, SEVAL_NONINT|SEVAL_NOHIST|SEVAL_FUNCDEF|SEVAL_ONECMD);
60
+  
61
+  	  if (temp_var = find_function (name))
62
+***************
63
+*** 325,332 ****
64
+  	  else
65
+  	    report_error (_("error importing function definition for `%s'"), name);
66
+- 
67
+- 	  /* ( */
68
+- 	  if (name[char_index - 1] == ')' && name[char_index - 2] == '\0')
69
+- 	    name[char_index - 2] = '(';		/* ) */
70
+  	}
71
+  #if defined (ARRAY_VARS)
72
+--- 323,326 ----
73
+
... ...
@@ -0,0 +1,55 @@
1
+Collection of fixes from mandrake
2
+
3
+--- bash-3.1/doc/builtins.1
4
++++ bash-3.1/doc/builtins.1
5
+@@ -8,8 +8,5 @@
6
+ let, local, logout, popd, printf, pushd, pwd, read, readonly, return, set,
7
+ shift, shopt, source, suspend, test, times, trap, type, typeset,
8
+ ulimit, umask, unalias, unset, wait \- bash built-in commands, see \fBbash\fR(1)
9
+-.SH BASH BUILTIN COMMANDS
10
+-.nr zZ 1
11
+-.so bash.1
12
+ .SH SEE ALSO
13
+ bash(1), sh(1)
14
+--- bash-3.1/Makefile.in
15
++++ bash-3.1/Makefile.in
16
+@@ -658,7 +658,7 @@
17
+ 
18
+ config.h:	stamp-h 
19
+ 
20
+-stamp-h:	config.status $(srcdir)/config.h.in $(srcdir)/config-top.h $(srcdir)/config-bot.h
21
++stamp-h:	version.h config.status $(srcdir)/config.h.in $(srcdir)/config-top.h $(srcdir)/config-bot.h
22
+ 	CONFIG_FILES= CONFIG_HEADERS=config.h $(SHELL) ./config.status
23
+ 
24
+ config.status:	$(srcdir)/configure
25
+@@ -666,7 +666,7 @@
26
+ 
27
+ # comment out for distribution
28
+ $(srcdir)/configure:	$(srcdir)/configure.in $(srcdir)/aclocal.m4 $(srcdir)/config.h.in
29
+-	cd $(srcdir) && autoconf
30
++	cd $(srcdir)
31
+ 
32
+ # for chet
33
+ reconfig: force
34
+--- bash-3.1/parse.y
35
++++ bash-3.1/parse.y
36
+@@ -389,7 +389,9 @@
37
+ 			}
38
+ 	;
39
+ 
40
+-word_list:	WORD
41
++word_list:
42
++			{ $$ = (WORD_LIST *)NULL; }
43
++	|	WORD
44
+ 			{ $$ = make_word_list ($1, (WORD_LIST *)NULL); }
45
+ 	|	word_list WORD
46
+ 			{ $$ = make_word_list ($2, $1); }
47
+@@ -1186,7 +1186,7 @@
48
+ 
49
+ #if defined (READLINE)
50
+ char *current_readline_prompt = (char *)NULL;
51
+-char *current_readline_line = (char *)NULL;
52
++unsigned char *current_readline_line = (unsigned char *)NULL;
53
+ int current_readline_line_index = 0;
54
+ 
55
+ static int
... ...
@@ -0,0 +1,122 @@
1
+Ripped from Fedora
2
+
3
+Add support for RLIMIT_NICE/RLIMIT_RTPRIO and add missing documentation
4
+for many other options
5
+
6
+--- builtins/ulimit.def
7
++++ builtins/ulimit.def
8
+@@ -24,7 +24,7 @@
9
+ $BUILTIN ulimit
10
+ $FUNCTION ulimit_builtin
11
+ $DEPENDS_ON !_MINIX
12
+-$SHORT_DOC ulimit [-SHacdfilmnpqstuvx] [limit]
13
++$SHORT_DOC ulimit [-SHacdefilmnpqrstuvx] [limit]
14
+ Ulimit provides control over the resources available to processes
15
+ started by the shell, on systems that allow such control.  If an
16
+ option is given, it is interpreted as follows:
17
+@@ -34,18 +34,20 @@
18
+     -a	all current limits are reported
19
+     -c	the maximum size of core files created
20
+     -d	the maximum size of a process's data segment
21
++    -e	the maximum scheduling priority (`nice')
22
+     -f	the maximum size of files created by the shell
23
+-    -i  the maximum number of pending signals
24
++    -i	the maximum number of pending signals
25
+     -l	the maximum size a process may lock into memory
26
+     -m	the maximum resident set size
27
+     -n	the maximum number of open file descriptors
28
+     -p	the pipe buffer size
29
+-    -q  the maximum number of bytes in POSIX message queues
30
++    -q	the maximum number of bytes in POSIX message queues
31
++    -r	the maximum rt priority
32
+     -s	the maximum stack size
33
+     -t	the maximum amount of cpu time in seconds
34
+     -u	the maximum number of user processes
35
+     -v	the size of virtual memory
36
+-    -x  the maximum number of file locks
37
++    -x	the maximum number of file locks
38
+ 
39
+ If LIMIT is given, it is the new value of the specified resource;
40
+ the special LIMIT values `soft', `hard', and `unlimited' stand for
41
+@@ -202,6 +204,9 @@
42
+ #ifdef RLIMIT_DATA
43
+   { 'd',	RLIMIT_DATA,  1024,	"data seg size",	"kbytes" },
44
+ #endif
45
++#ifdef RLIMIT_NICE
46
++  { 'e',	RLIMIT_NICE,  1,	"max nice",	(char *)NULL},
47
++#endif
48
+   { 'f',	RLIMIT_FILESIZE, 1024,	"file size",		"blocks" },
49
+ #ifdef RLIMIT_SIGPENDING
50
+   { 'i',	RLIMIT_SIGPENDING, 1,	"pending signals",	(char *)NULL },
51
+@@ -217,6 +222,9 @@
52
+ #ifdef RLIMIT_MSGQUEUE
53
+   { 'q',	RLIMIT_MSGQUEUE, 1,	"POSIX message queues",	"bytes" },
54
+ #endif
55
++#ifdef RLIMIT_RTPRIO
56
++  { 'r',	RLIMIT_RTPRIO, 1,	"max rt priority",	(char *)NULL},
57
++#endif
58
+ #ifdef RLIMIT_STACK
59
+   { 's',	RLIMIT_STACK, 1024,	"stack size",		"kbytes" },
60
+ #endif
61
+--- doc/bashref.texi
62
++++ doc/bashref.texi
63
+@@ -3833,7 +3833,7 @@
64
+ @item ulimit
65
+ @btindex ulimit
66
+ @example
67
+-ulimit [-acdfilmnpqstuvxSH] [@var{limit}]
68
++ulimit [-acdefilmnpqrstuvxSH] [@var{limit}]
69
+ @end example
70
+ @code{ulimit} provides control over the resources available to processes
71
+ started by the shell, on systems that allow such control.  If an
72
+@@ -3854,6 +3854,9 @@
73
+ @item -d
74
+ The maximum size of a process's data segment.
75
+ 
76
++@item -e
77
++The maximum scheduling priority.
78
++
79
+ @item -f
80
+ The maximum size of files created by the shell.
81
+ 
82
+@@ -3875,6 +3878,9 @@
83
+ @item -q
84
+ The maximum number of bytes in POSIX message queues.
85
+ 
86
++@item -r
87
++The maximum RT priority.
88
++
89
+ @item -s
90
+ The maximum stack size.
91
+ 
92
+--- doc/bash.1
93
++++ doc/bash.1
94
+@@ -8490,7 +8490,7 @@
95
+ returns true if any of the arguments are found, false if
96
+ none are found.
97
+ .TP
98
+-\fBulimit\fP [\fB\-SHacdfilmnpqstuvx\fP [\fIlimit\fP]]
99
++\fBulimit\fP [\fB\-SHacdefilmnpqrstuvx\fP [\fIlimit\fP]]
100
+ Provides control over the resources available to the shell and to
101
+ processes started by it, on systems that allow such control.
102
+ The \fB\-H\fP and \fB\-S\fP options specify that the hard or soft limit is
103
+@@ -8526,6 +8526,9 @@
104
+ .B \-d
105
+ The maximum size of a process's data segment
106
+ .TP
107
++.B \-e
108
++The maximum scheduling priority (`nice')
109
++.TP
110
+ .B \-f
111
+ The maximum size of files created by the shell
112
+ .TP
113
+@@ -8548,6 +8551,9 @@
114
+ .B \-q
115
+ The maximum number of bytes in POSIX message queues
116
+ .TP
117
++.B \-r
118
++The maximum rt priority
119
++.TP
120
+ .B \-s
121
+ The maximum stack size
122
+ .TP
... ...
@@ -0,0 +1,26 @@
1
+diff -ur bash-3.2.orig/aclocal.m4 bash-3.2/aclocal.m4
2
+--- bash-3.2.orig/aclocal.m4    2006-12-30 20:00:31 +0000
3
++++ bash-3.2/aclocal.m4 2006-12-30 20:02:02 +0000
4
+@@ -1544,7 +1544,8 @@
5
+ if test -d /dev/fd  && test -r /dev/fd/0 < /dev/null; then
6
+ # check for systems like FreeBSD 5 that only provide /dev/fd/[012]
7
+    exec 3</dev/null
8
+-   if test -r /dev/fd/3; then
9
++   # bash test builtin always works here, so we use the test binary
10
++   if `which test || echo test` -e /dev/fd/3; then
11
+      bash_cv_dev_fd=standard
12
+    else
13
+      bash_cv_dev_fd=absent
14
+diff -ur bash-3.2.orig/configure bash-3.2/configure
15
+--- bash-3.2.orig/configure     2006-12-30 20:03:24 +0000
16
++++ bash-3.2/configure  2006-12-30 20:01:50 +0000
17
+@@ -27179,7 +27179,8 @@
18
+ if test -d /dev/fd  && test -r /dev/fd/0 < /dev/null; then
19
+ # check for systems like FreeBSD 5 that only provide /dev/fd/[012]
20
+    exec 3</dev/null
21
+-   if test -r /dev/fd/3; then
22
++   # bash test builtin always works here, so we use the test binary
23
++   if `which test || echo test` -e /dev/fd/3; then
24
+      bash_cv_dev_fd=standard
25
+    else
26
+      bash_cv_dev_fd=absent
... ...
@@ -0,0 +1,37 @@
1
+http://bugs.gentoo.org/211947
2
+
3
+fix from Takashi YOSHII: dont use target ldflags for build apps
4
+
5
+--- bash/builtins/Makefile.in
6
++++ bash/builtins/Makefile.in
7
+@@ -63,7 +63,7 @@
8
+ 
9
+ LIBS = @LIBS@
10
+ LDFLAGS = @LDFLAGS@ $(LOCAL_LDFLAGS) $(CFLAGS)
11
+-LDFLAGS_FOR_BUILD = $(LDFLAGS)
12
++LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ $(LOCAL_LDFLAGS) $(CFLAGS_FOR_BUILD)
13
+ LOCAL_LDFLAGS = @LOCAL_LDFLAGS@
14
+ #LIBS_FOR_BUILD = @LIBS_FOR_BUILD@
15
+ LIBS_FOR_BUILD = $(LIBS)
16
+--- bash/support/Makefile.in
17
++++ bash/support/Makefile.in
18
+@@ -58,7 +58,7 @@
19
+ 
20
+ LOCAL_LDFLAGS = @LOCAL_LDFLAGS@
21
+ LDFLAGS = @LDFLAGS@ $(LOCAL_LDFLAGS) $(CFLAGS)
22
+-LDFLAGS_FOR_BUILD = $(LDFLAGS)
23
++LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ $(LOCAL_LDFLAGS) $(CFLAGS_FOR_BUILD)
24
+ 
25
+ INCLUDES = -I${BUILD_DIR} -I${topdir}
26
+ 
27
+--- bash/Makefile.in
28
++++ bash/Makefile.in
29
+@@ -143,7 +143,7 @@
30
+ CCFLAGS_FOR_BUILD = $(BASE_CCFLAGS) $(CPPFLAGS_FOR_BUILD) $(CFLAGS_FOR_BUILD)
31
+ 
32
+ LDFLAGS = @LDFLAGS@ $(STATIC_LD) $(LOCAL_LDFLAGS) $(PROFILE_FLAGS) $(CFLAGS)
33
+-LDFLAGS_FOR_BUILD = $(LDFLAGS)
34
++LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ $(LOCAL_LDFLAGS) $(CFLAGS_FOR_BUILD)
35
+ 
36
+ INCLUDES = -I. @RL_INCLUDE@ -I$(srcdir) -I$(BASHINCDIR) -I$(LIBSRC) $(INTL_INC)
37
+ 
... ...
@@ -0,0 +1,239 @@
1
+--- bash-3.2/examples/loadables/basename.c
2
++++ bash-3.2/examples/loadables/basename.c
3
+@@ -11,6 +11,7 @@
4
+ #include <stdio.h>
5
+ #include "builtins.h"
6
+ #include "shell.h"
7
++#include "common.h"
8
+ 
9
+ basename_builtin (list)
10
+      WORD_LIST *list;
11
+--- bash-3.2/examples/loadables/cut.c
12
++++ bash-3.2/examples/loadables/cut.c
13
+@@ -63,6 +63,7 @@
14
+ #include "builtins.h"
15
+ #include "shell.h"
16
+ #include "bashgetopt.h"
17
++#include "common.h"
18
+ 
19
+ #if !defined (errno)
20
+ extern int	errno;
21
+--- bash-3.2/examples/loadables/dirname.c
22
++++ bash-3.2/examples/loadables/dirname.c
23
+@@ -11,6 +11,7 @@
24
+ #include <stdio.h>
25
+ #include "builtins.h"
26
+ #include "shell.h"
27
++#include "common.h"
28
+ 
29
+ dirname_builtin (list)
30
+      WORD_LIST *list;
31
+--- bash-3.2/examples/loadables/finfo.c
32
++++ bash-3.2/examples/loadables/finfo.c
33
+@@ -12,6 +12,7 @@
34
+ #include <pwd.h>
35
+ #include <grp.h>
36
+ #include <errno.h>
37
++#include <time.h>
38
+ 
39
+ #include "bashansi.h"
40
+ #include "shell.h"
41
+--- bash-3.2/examples/loadables/head.c
42
++++ bash-3.2/examples/loadables/head.c
43
+@@ -21,6 +21,7 @@
44
+ #include "builtins.h"
45
+ #include "shell.h"
46
+ #include "bashgetopt.h"
47
++#include "common.h"
48
+ 
49
+ #if !defined (errno)
50
+ extern int errno;
51
+--- bash-3.2/examples/loadables/ln.c
52
++++ bash-3.2/examples/loadables/ln.c
53
+@@ -18,6 +18,7 @@
54
+ #include "builtins.h"
55
+ #include "shell.h"
56
+ #include "bashgetopt.h"
57
++#include "common.h"
58
+ 
59
+ #if !defined (errno)
60
+ extern int errno;
61
+--- bash-3.2/examples/loadables/logname.c
62
++++ bash-3.2/examples/loadables/logname.c
63
+@@ -11,6 +11,7 @@
64
+ 
65
+ #include "builtins.h"
66
+ #include "shell.h"
67
++#include "common.h"
68
+ 
69
+ #if !defined (errno)
70
+ extern int errno;
71
+--- bash-3.2/examples/loadables/mkdir.c
72
++++ bash-3.2/examples/loadables/mkdir.c
73
+@@ -16,6 +16,7 @@
74
+ #include "builtins.h"
75
+ #include "shell.h"
76
+ #include "bashgetopt.h"
77
++#include "common.h"
78
+ 
79
+ #if !defined (errno)
80
+ extern int errno;
81
+--- bash-3.2/examples/loadables/pathchk.c
82
++++ bash-3.2/examples/loadables/pathchk.c
83
+@@ -45,6 +45,7 @@
84
+ #include "stdc.h"
85
+ #include "bashgetopt.h"
86
+ #include "maxpath.h"
87
++#include "common.h"
88
+ 
89
+ #if !defined (errno)
90
+ extern int errno;
91
+--- bash-3.2/examples/loadables/print.c
92
++++ bash-3.2/examples/loadables/print.c
93
+@@ -17,6 +17,8 @@
94
+ #include "builtins.h"
95
+ #include "stdc.h"
96
+ #include "bashgetopt.h"
97
++#include "builtext.h"
98
++#include "common.h"
99
+ 
100
+ #if !defined (errno)
101
+ extern int errno;
102
+--- bash-3.2/examples/loadables/printenv.c
103
++++ bash-3.2/examples/loadables/printenv.c
104
+@@ -11,6 +11,7 @@
105
+ #include "builtins.h"
106
+ #include "shell.h"
107
+ #include "bashgetopt.h"
108
++#include "common.h"
109
+ 
110
+ extern char **export_env;
111
+ 
112
+--- bash-3.2/examples/loadables/push.c
113
++++ bash-3.2/examples/loadables/push.c
114
+@@ -11,6 +11,7 @@
115
+ #include "shell.h"
116
+ #include "jobs.h"
117
+ #include "bashgetopt.h"
118
++#include "common.h"
119
+ 
120
+ #ifndef errno
121
+ extern int errno;
122
+--- bash-3.2/examples/loadables/realpath.c
123
++++ bash-3.2/examples/loadables/realpath.c
124
+@@ -34,6 +34,7 @@
125
+ #include "builtins.h"
126
+ #include "shell.h"
127
+ #include "bashgetopt.h"
128
++#include "common.h"
129
+ 
130
+ #ifndef errno
131
+ extern int	errno;
132
+@@ -67,14 +68,14 @@
133
+ 			vflag = 1;
134
+ 			break;
135
+ 		default:
136
+-			usage();
137
++			builtin_usage();
138
+ 		}
139
+ 	}
140
+ 
141
+ 	list = loptend;
142
+ 
143
+ 	if (list == 0)
144
+-		usage();
145
++		builtin_usage();
146
+ 
147
+ 	for (es = EXECUTION_SUCCESS; list; list = list->next) {
148
+ 		p = list->word->word;
149
+--- bash-3.2/examples/loadables/rmdir.c
150
++++ bash-3.2/examples/loadables/rmdir.c
151
+@@ -8,6 +8,7 @@
152
+ #include <errno.h>
153
+ #include "builtins.h"
154
+ #include "shell.h"
155
++#include "common.h"
156
+ 
157
+ #if !defined (errno)
158
+ extern int errno;
159
+--- bash-3.2/examples/loadables/sleep.c
160
++++ bash-3.2/examples/loadables/sleep.c
161
+@@ -27,6 +27,7 @@
162
+ 
163
+ #include "shell.h"
164
+ #include "builtins.h"
165
++#include "common.h"
166
+ 
167
+ #define RETURN(x) \
168
+ 	do { \
169
+--- bash-3.2/examples/loadables/tee.c
170
++++ bash-3.2/examples/loadables/tee.c
171
+@@ -22,6 +22,7 @@
172
+ #include "builtins.h"
173
+ #include "shell.h"
174
+ #include "bashgetopt.h"
175
++#include "common.h"
176
+ 
177
+ #if !defined (errno)
178
+ extern int errno;
179
+--- bash-3.2/examples/loadables/truefalse.c
180
++++ bash-3.2/examples/loadables/truefalse.c
181
+@@ -1,5 +1,7 @@
182
+ /* true and false builtins */
183
+ 
184
++#include <config.h>
185
++
186
+ #include "bashtypes.h"
187
+ #include "shell.h"
188
+ #include "builtins.h"
189
+--- bash-3.2/examples/loadables/tty.c
190
++++ bash-3.2/examples/loadables/tty.c
191
+@@ -8,6 +8,7 @@
192
+ #include "builtins.h"
193
+ #include "shell.h"
194
+ #include "bashgetopt.h"
195
++#include "common.h"
196
+ 
197
+ extern char *ttyname ();
198
+ 
199
+--- bash-3.2/examples/loadables/uname.c
200
++++ bash-3.2/examples/loadables/uname.c
201
+@@ -27,6 +27,7 @@
202
+ #include "builtins.h"
203
+ #include "shell.h"
204
+ #include "bashgetopt.h"
205
++#include "common.h"
206
+ 
207
+ #define FLAG_SYSNAME	0x01	/* -s */
208
+ #define FLAG_NODENAME	0x02	/* -n */
209
+--- bash-3.2/examples/loadables/unlink.c
210
++++ bash-3.2/examples/loadables/unlink.c
211
+@@ -14,6 +14,7 @@
212
+ 
213
+ #include "builtins.h"
214
+ #include "shell.h"
215
++#include "common.h"
216
+ 
217
+ #ifndef errno
218
+ extern int errno;
219
+--- bash-3.2/examples/loadables/whoami.c
220
++++ bash-3.2/examples/loadables/whoami.c
221
+@@ -8,6 +8,7 @@
222
+ #include "builtins.h"
223
+ #include "shell.h"
224
+ #include "bashgetopt.h"
225
++#include "common.h"
226
+ 
227
+ whoami_builtin (list)
228
+      WORD_LIST *list;
229
+--- bash-3.2/examples/loadables/Makefile.in
230
++++ bash-3.2/examples/loadables/Makefile.in
231
+@@ -68,7 +68,7 @@
232
+ SHOBJ_CC = @SHOBJ_CC@
233
+ SHOBJ_CFLAGS = @SHOBJ_CFLAGS@
234
+ SHOBJ_LD = @SHOBJ_LD@
235
+-SHOBJ_LDFLAGS = @SHOBJ_LDFLAGS@
236
++SHOBJ_LDFLAGS = @SHOBJ_LDFLAGS@ @LDFLAGS@
237
+ SHOBJ_XLDFLAGS = @SHOBJ_XLDFLAGS@
238
+ SHOBJ_LIBS = @SHOBJ_LIBS@
239
+ SHOBJ_STATUS = @SHOBJ_STATUS@
... ...
@@ -0,0 +1,16 @@
1
+http://bugs.gentoo.org/189671
2
+http://lists.gnu.org/archive/html/bug-bash/2007-08/msg00081.html
3
+
4
+--- bash-3.2/Makefile.in
5
++++ bash-3.2/Makefile.in
6
+@@ -584,7 +584,9 @@
7
+ 	@( { test "${RL_LIBDIR}" = "${libdir}" && exit 0; } || \
8
+ 		cd ${RL_LIBDIR} && $(MAKE) $(MFLAGS) libreadline.a) || exit 1
9
+ 
10
+-$(HISTORY_LIBRARY): config.h $(HISTORY_SOURCE)
11
++# prevent parallel build race conditions in the lib/readline/ subdir
12
++# by depending on libreadline.a when applicable
13
++$(HISTORY_LIBRARY): config.h $(HISTORY_SOURCE) $(READLINE_DEP)
14
+ 	@echo making $@ in ${HIST_LIBDIR}
15
+ 	@( { test "${HIST_LIBDIR}" = "${libdir}" && exit 0; } || \
16
+ 		cd ${HIST_LIBDIR} && $(MAKE) $(MFLAGS) libhistory.a) || exit 1
... ...
@@ -0,0 +1,12 @@
1
+Fix process substitution on BSD
2
+
3
+--- execute_cmd.c
4
++++ execute_cmd.c
5
+@@ -2672,6 +2672,7 @@
6
+ 
7
+ 	  do_piping (pipe_in, pipe_out);
8
+ 
9
++	  subshell_environment = 0;
10
+ 	  if (async)
11
+ 	    subshell_environment |= SUBSHELL_ASYNC;
12
+ 	  if (pipe_in != NO_PIPE || pipe_out != NO_PIPE)
... ...
@@ -0,0 +1,45 @@
1
+move prototypes around so they show up when needed
2
+
3
+--- a/jobs.h
4
++++ b/jobs.h
5
+@@ -182,6 +182,7 @@
6
+ 
7
+ extern int count_all_jobs __P((void));
8
+ 
9
++extern void close_pgrp_pipe __P((void));
10
+ extern void terminate_current_pipeline __P((void));
11
+ extern void terminate_stopped_jobs __P((void));
12
+ extern void hangup_all_jobs __P((void));
13
+--- a/lib/glob/strmatch.c
14
++++ b/lib/glob/strmatch.c
15
+@@ -25,9 +25,6 @@
16
+ #include "strmatch.h"
17
+ 
18
+ extern int xstrmatch __P((char *, char *, int));
19
+-#if defined (HAVE_MULTIBYTE)
20
+-extern int internal_wstrmatch __P((wchar_t *, wchar_t *, int));
21
+-#endif
22
+ 
23
+ int
24
+ strmatch (pattern, string, flags)
25
+--- a/lib/glob/strmatch.h
26
++++ b/lib/glob/strmatch.h
27
+@@ -57,6 +57,7 @@
28
+ 
29
+ #if HANDLE_MULTIBYTE
30
+ extern int wcsmatch __P((wchar_t *, wchar_t *, int));
31
++extern int internal_wstrmatch __P((wchar_t *, wchar_t *, int));
32
+ #endif
33
+ 
34
+ #endif /* _STRMATCH_H */
35
+--- a/quit.h
36
++++ b/quit.h
37
+@@ -21,6 +21,8 @@
38
+ #if !defined (_QUIT_H_)
39
+ #define _QUIT_H_
40
+ 
41
++#include "sig.h"
42
++
43
+ /* Non-zero means SIGINT has already ocurred. */
44
+ extern volatile int interrupt_state;
45
+ extern volatile int terminating_signal;
... ...
@@ -0,0 +1,65 @@
1
+http://bugs.gentoo.org/231775
2
+http://lists.gnu.org/archive/html/bug-bash/2008-07/msg00010.html
3
+
4
+A parent bash shell sometimes will set the session leader tty (using tcsetpgrp)
5
+back to itself, taking control away from a child bash shell, due to a race
6
+condition.  A result is that the child can then not then execute some commands
7
+(like stty) from its init script (e.g. .bashrc).  The result I (and others)
8
+have seen is that the bash shell will hang while reading the init script.
9
+
10
+*** jobs.c.20080704	2008-07-10 15:14:13.000000000 -0400
11
+--- jobs.c	2008-07-10 15:17:59.000000000 -0400
12
+***************
13
+*** 266,269 ****
14
+--- 266,270 ----
15
+  static void set_job_running __P((int));
16
+  static void setjstatus __P((int));
17
++ static int maybe_give_terminal_to __P((pid_t, pid_t, int));
18
+  static void mark_all_jobs_as_dead __P((void));
19
+  static void mark_dead_jobs_as_notified __P((int));
20
+***************
21
+*** 637,641 ****
22
+  	   */
23
+  	  if (job_control && newjob->pgrp && (subshell_environment&SUBSHELL_ASYNC) == 0)
24
+! 	    give_terminal_to (newjob->pgrp, 0);
25
+  	}
26
+      }
27
+--- 638,642 ----
28
+  	   */
29
+  	  if (job_control && newjob->pgrp && (subshell_environment&SUBSHELL_ASYNC) == 0)
30
+! 	    maybe_give_terminal_to (shell_pgrp, newjob->pgrp, 0);
31
+  	}
32
+      }
33
+***************
34
+*** 3833,3836 ****
35
+--- 3834,3863 ----
36
+  }
37
+  
38
++ /* Give terminal to NPGRP iff it's currently owned by OPGRP.  FLAGS are the
39
++    flags to pass to give_terminal_to(). */
40
++ static int
41
++ maybe_give_terminal_to (opgrp, npgrp, flags)
42
++      pid_t opgrp, npgrp;
43
++      int flags;
44
++ {
45
++   int tpgrp;
46
++ 
47
++   tpgrp = tcgetpgrp (shell_tty);
48
++   if (tpgrp == npgrp)
49
++     {
50
++       terminal_pgrp = npgrp;
51
++       return 0;
52
++     }
53
++   else if (tpgrp != opgrp)
54
++     {
55
++ #if defined (DEBUG)
56
++       internal_warning ("maybe_give_terminal_to: terminal pgrp == %d shell pgrp = %d", tpgrp, opgrp);
57
++ #endif
58
++       return -1;
59
++     }
60
++   else
61
++     return (give_terminal_to (npgrp, flags));     
62
++ }
63
++ 
64
+  /* Clear out any jobs in the job array.  This is intended to be used by
65
+     children of the shell, who should not have any job structures as baggage
... ...
@@ -0,0 +1,13 @@
1
+add missing docs for -e and -r options
2
+
3
+--- builtins/ulimit.def
4
++++ builtins/ulimit.def
5
+@@ -24,7 +24,7 @@
6
+ $BUILTIN ulimit
7
+ $FUNCTION ulimit_builtin
8
+ $DEPENDS_ON !_MINIX
9
+-$SHORT_DOC ulimit [-SHacdfilmnpqstuvx] [limit]
10
++$SHORT_DOC ulimit [-SHacdefilmnpqrstuvx] [limit]
11
+ Ulimit provides control over the resources available to processes
12
+ started by the shell, on systems that allow such control.  If an
13
+ option is given, it is interpreted as follows:
... ...
@@ -0,0 +1,25 @@
1
+http://bugs.gentoo.org/304901
2
+
3
+newer patches touch configure ... we don't want autotool deps, so update
4
+the files ourselves
5
+
6
+--- bash-4.0/configure
7
++++ bash-4.0/configure
8
+@@ -5806,7 +5806,7 @@
9
+ 		# static version specified as -llibname to override the
10
+ 		# dynamic version
11
+ 		case "${host_os}" in
12
+-		darwin[89]*)	READLINE_LIB='${READLINE_LIBRARY}' ;;
13
++ 		darwin[89]*|darwin10*) READLINE_LIB='${READLINE_LIBRARY}' ;;
14
+ 		*)		READLINE_LIB=-lreadline ;;
15
+ 		esac
16
+ 	fi
17
+@@ -5847,7 +5847,7 @@
18
+ 		# static version specified as -llibname to override the
19
+ 		# dynamic version
20
+ 		case "${host_os}" in
21
+-		darwin[89]*)	HISTORY_LIB='${HISTORY_LIBRARY}' ;;
22
++ 		darwin[89]*|darwin10*) HISTORY_LIB='${HISTORY_LIBRARY}' ;;
23
+ 		*)		HISTORY_LIB=-lhistory ;;
24
+ 		esac
25
+ 	fi
... ...
@@ -0,0 +1,15 @@
1
+http://bugs.gentoo.org/211947
2
+
3
+fix from Takashi YOSHII: dont use target ldflags for build apps
4
+
5
+--- bash/Makefile.in
6
++++ bash/Makefile.in
7
+@@ -143,7 +143,7 @@
8
+ CCFLAGS_FOR_BUILD = $(BASE_CCFLAGS) $(CPPFLAGS_FOR_BUILD) $(CFLAGS_FOR_BUILD)
9
+ 
10
+ LDFLAGS = @LDFLAGS@ $(STATIC_LD) $(LOCAL_LDFLAGS) $(PROFILE_FLAGS) $(CFLAGS)
11
+-LDFLAGS_FOR_BUILD = $(LDFLAGS)
12
++LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ $(LOCAL_LDFLAGS) $(CFLAGS_FOR_BUILD)
13
+ 
14
+ INCLUDES = -I. @RL_INCLUDE@ -I$(srcdir) -I$(BASHINCDIR) -I$(LIBSRC) $(INTL_INC)
15
+ 
... ...
@@ -0,0 +1,33 @@
1
+http://lists.gnu.org/archive/html/bug-bash/2009-02/msg00158.html
2
+
3
+make `return` accept negative values again
4
+
5
+hack by me (vapier@gentoo.org) ... i'm not familiar with bash source code, so
6
+i imagine this isn't the best way to do it ...
7
+
8
+--- bash/builtins/return.def
9
++++ bash/builtins/return.def
10
+@@ -60,9 +60,23 @@
11
+ return_builtin (list)
12
+      WORD_LIST *list;
13
+ {
14
++	int neg = 0;
15
++	if (list && list->word && list->word->word) {
16
++		char *word = list->word->word;
17
++		if (*word == '-') {
18
++			while (*word++)
19
++				if (!isdigit(*word))
20
++					break;
21
++			if (!*word)
22
++				neg = 1;
23
++		}
24
++	}
25
++
26
++	if (!neg) {
27
+   if (no_options (list))
28
+     return (EX_USAGE);
29
+   list = loptend;	/* skip over possible `--' */
30
++	}
31
+ 
32
+   return_catch_value = get_exitstat (list);
33
+ 
... ...
@@ -0,0 +1,65 @@
1
+http://bugs.gentoo.org/267613
2
+
3
+add missing dep
4
+
5
+patch by Peter Alfredsen
6
+
7
+--- bash-4.0/Makefile.in
8
++++ bash-4.0/Makefile.in
9
+@@ -1022,10 +1022,11 @@
10
+ subst.o: flags.h jobs.h siglist.h execute_cmd.h ${BASHINCDIR}/filecntl.h trap.h pathexp.h
11
+ subst.o: mailcheck.h input.h $(DEFSRC)/getopt.h $(DEFSRC)/common.h
12
+ subst.o: bashline.h bashhist.h ${GLOB_LIBSRC}/strmatch.h
13
+ subst.o: ${BASHINCDIR}/chartypes.h
14
+ subst.o: ${BASHINCDIR}/shmbutil.h
15
++subst.o: ${DEFDIR}/builtext.h
16
+ test.o: bashtypes.h ${BASHINCDIR}/posixstat.h ${BASHINCDIR}/filecntl.h
17
+ test.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h
18
+ test.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h
19
+ test.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
20
+ test.o: make_cmd.h subst.h sig.h pathnames.h externs.h test.h
21
+
22
+http://bugs.gentoo.org/284633
23
+
24
+and another ...
25
+
26
+--- bash-4.0/lib/sh/Makefile.in
27
++++ bash-4.0/lib/sh/Makefile.in
28
+@@ -136,6 +136,9 @@
29
+ ${BUILD_DIR}/version.h: ${BUILD_DIR}/config.h ${BUILD_DIR}/Makefile Makefile
30
+ 	-( cd ${BUILD_DIR} && ${MAKE} ${MFLAGS} version.h )
31
+ 
32
++${BUILD_DIR}/pathnames.h: ${BUILD_DIR}/config.h ${BUILD_DIR}/Makefile Makefile
33
++	-( cd ${BUILD_DIR} && ${MAKE} ${MFLAGS} pathnames.h )
34
++
35
+ # rules for losing makes, like SunOS
36
+ casemod.o: casemod.c
37
+ clktck.o: clktck.c
38
+
39
+http://bugs.gentoo.org/300143
40
+
41
+and another ...
42
+
43
+--- bash-4.0/lib/glob/Makefile.in
44
++++ bash-4.0/lib/glob/Makefile.in
45
+@@ -119,6 +119,11 @@
46
+ mostlyclean: clean
47
+ 	-( cd doc && $(MAKE) $(MFLAGS) $@ )
48
+ 
49
++# Dependencies
50
++
51
++${BUILD_DIR}/pathnames.h: ${BUILD_DIR}/config.h ${BUILD_DIR}/Makefile Makefile
52
++	-( cd ${BUILD_DIR} && ${MAKE} ${MFLAGS} pathnames.h )
53
++
54
+ ######################################################################
55
+ #								     #
56
+ #  Dependencies for the object files which make up this library.     #
57
+@@ -136,7 +141,7 @@
58
+ strmatch.o: $(BUILD_DIR)/config.h
59
+ strmatch.o: $(BASHINCDIR)/stdc.h
60
+ 
61
+-glob.o: $(BUILD_DIR)/config.h
62
++glob.o: $(BUILD_DIR)/config.h $(topdir)/shell.h $(BUILD_DIR)/pathnames.h
63
+ glob.o: $(topdir)/bashtypes.h $(BASHINCDIR)/ansi_stdlib.h $(topdir)/bashansi.h
64
+ glob.o: $(BASHINCDIR)/posixstat.h $(BASHINCDIR)/memalloc.h
65
+ glob.o: strmatch.h glob.h
... ...
@@ -0,0 +1,29 @@
1
+Bash built-in test fails to correctly report exeuctable status for non-
2
+executable files when run by root on FreeBSD.
3
+
4
+See http://bugs.gentoo.org/303411
5
+
6
+Patch from Johan Hattne <johan.hattne@utsuthwestern.edu>
7
+--- lib/sh/eaccess.c.orig
8
++++ lib/sh/eaccess.c
9
+@@ -198,11 +198,19 @@
10
+      char *path;
11
+      int mode;
12
+ {
13
++  struct stat s;
14
++  int ret;
15
++
16
+   if (path_is_devfd (path))
17
+     return (sh_stataccess (path, mode));
18
+ 
19
+ #if defined (HAVE_EACCESS)		/* FreeBSD */
20
+-  return (eaccess (path, mode));
21
++  if (stat (path, &s) != 0)
22
++    return (-1);
23
++  ret = eaccess (path, mode);
24
++  if (mode == X_OK && ret == 0 && !S_ISDIR(s.st_mode) && geteuid() == 0)
25
++    return ((s.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)) == 0 ? -1 : 0);
26
++  return (ret);
27
+ #elif defined (EFF_ONLY_OK)		/* SVR4(?), SVR4.2 */
28
+   return access (path, mode|EFF_ONLY_OK);
29
+ #else
... ...
@@ -0,0 +1,23 @@
1
+--- bash-4.1/lib/glob/Makefile.in
2
++++ bash-4.1/lib/glob/Makefile.in
3
+@@ -119,6 +119,11 @@
4
+ mostlyclean: clean
5
+ 	-( cd doc && $(MAKE) $(MFLAGS) $@ )
6
+ 
7
++# Dependencies
8
++
9
++${BUILD_DIR}/pathnames.h: ${BUILD_DIR}/config.h ${BUILD_DIR}/Makefile Makefile
10
++	-( cd ${BUILD_DIR} && ${MAKE} ${MFLAGS} pathnames.h )
11
++
12
+ ######################################################################
13
+ #								     #
14
+ #  Dependencies for the object files which make up this library.     #
15
+@@ -136,7 +141,7 @@
16
+ strmatch.o: $(BUILD_DIR)/config.h
17
+ strmatch.o: $(BASHINCDIR)/stdc.h
18
+ 
19
+-glob.o: $(BUILD_DIR)/config.h
20
++glob.o: $(BUILD_DIR)/config.h $(topdir)/shell.h $(BUILD_DIR)/pathnames.h
21
+ glob.o: $(topdir)/bashtypes.h $(BASHINCDIR)/ansi_stdlib.h $(topdir)/bashansi.h
22
+ glob.o: $(BASHINCDIR)/posixstat.h $(BASHINCDIR)/memalloc.h
23
+ glob.o: strmatch.h glob.h
... ...
@@ -0,0 +1,24 @@
1
+fix build when job control is disabled
2
+
3
+http://lists.gnu.org/archive/html/bug-bash/2011-06/msg00110.html
4
+http://lists.gnu.org/archive/html/bug-bash/2011-07/msg00057.html
5
+http://lists.gnu.org/archive/html/bug-bash/2011-09/msg00039.html
6
+https://bugs.gentoo.org/383237
7
+
8
+should be fixed in next release of bash ...
9
+
10
+--- a/execute_cmd.c
11
++++ b/execute_cmd.c
12
+@@ -2202,7 +2202,11 @@
13
+   /* If the `lastpipe' option is set with shopt, and job control is not
14
+      enabled, execute the last element of non-async pipelines in the
15
+      current shell environment. */
16
+-  if (lastpipe_opt && job_control == 0 && asynchronous == 0 && pipe_out == NO_PIPE && prev > 0)
17
++  if (lastpipe_opt && 
18
++#if defined(JOB_CONTROL)
19
++		job_control == 0 && 
20
++#endif
21
++		asynchronous == 0 && pipe_out == NO_PIPE && prev > 0)
22
+     {
23
+       lstdin = move_to_high_fd (0, 0, 255);
24
+       if (lstdin > 0)
... ...
@@ -0,0 +1,19 @@
1
+fix building when readline is disabled
2
+
3
+--- a/builtins/complete.def
4
++++ b/builtins/complete.def
5
+@@ -49,6 +49,8 @@ $END
6
+ 
7
+ #include <config.h>
8
+ 
9
++#ifdef READLINE
10
++
11
+ #include <stdio.h>
12
+ 
13
+ #include "../bashtypes.h"
14
+@@ -867,3 +869,5 @@ compopt_builtin (list)
15
+ 
16
+   return (ret);
17
+ }
18
++
19
++#endif
... ...
@@ -0,0 +1,106 @@
1
+https://lists.gnu.org/archive/html/bug-bash/2011-10/msg00036.html
2
+
3
+the current yacc rules allow multiple runs to generate the same files.  usually
4
+this doesn't come up as the generated files are shipped in the tarball, but
5
+when you modify parse.y (applying a patch or developing or whatever), you can
6
+hit this problem.
7
+
8
+simple way of showing this:
9
+	make -j y.tab.{c,h}
10
+a correct system would not show the yacc parser running twice :)
11
+
12
+simple patch is to have the .h file depend on the .c file, and have the .h file
13
+itself issue a dummy rule (to avoid make thinking things changed).
14
+
15
+--- a/Makefile.in
16
++++ b/Makefile.in
17
+@@ -579,16 +579,17 @@
18
+ 
19
+ # old rules
20
+ GRAM_H = parser-built
21
+-y.tab.o: y.tab.c ${GRAM_H} command.h ${BASHINCDIR}/stdc.h input.h
22
++y.tab.o: y.tab.h y.tab.c ${GRAM_H} command.h ${BASHINCDIR}/stdc.h input.h
23
+ ${GRAM_H}:	y.tab.h
24
+ 	@-if test -f y.tab.h ; then \
25
+ 		cmp -s $@ y.tab.h 2>/dev/null || cp -p y.tab.h $@; \
26
+ 	fi
27
+-y.tab.c y.tab.h: parse.y
28
++y.tab.c: parse.y
29
+ #	-if test -f y.tab.h; then mv -f y.tab.h old-y.tab.h; fi
30
+ 	$(YACC) -d $(srcdir)/parse.y
31
+ 	touch parser-built
32
+ #	-if cmp -s old-y.tab.h y.tab.h; then mv old-y.tab.h y.tab.h; else cp -p y.tab.h ${GRAM_H}; fi
33
++y.tab.h: y.tab.c ; @true
34
+ 
35
+ # experimental new rules - work with GNU make but not BSD (or OSF) make
36
+ #y.tab.o: y.tab.c y.tab.h
37
+
38
+https://lists.gnu.org/archive/html/bug-bash/2011-10/msg00037.html
39
+
40
+the current code generates a bunch of local libraries in subdirs and then
41
+links bash against that.  those subdirs sometimes need version.h.  so they
42
+have a rule to change back up to the parent dir and build version.h (which is
43
+fine).  the trouble is that the top level objects and the subdirs are allowed
44
+to build in parallel, so it's possible for multiple children to see that
45
+version.h is not available and that it needs to be created, so they all do.
46
+
47
+there is even more trouble is that version.h depends on all the top level
48
+sources, some of which are compiled (like syntax.c).  so these parallel
49
+children all kick off a job to generate syntax.c which in turn requires the
50
+mksyntax helper executable.  obviously multiple processes rm-ing, compiling,
51
+and linking the same files quickly falls apart.
52
+
53
+so tweak the subdirs to all depend on the .build target which in turn depends
54
+on all of these top level files being generated.  now the subdirs won't try and
55
+recursively enter the top level.
56
+
57
+(noticed by David James)
58
+
59
+--- a/Makefile.in
60
++++ b/Makefile.in
61
+@@ -597,6 +598,11 @@
62
+ #	$(YACC) -d $(srcdir)/parse.y
63
+ #	-if cmp -s old-y.tab.h y.tab.h; then mv old-y.tab.h y.tab.h; fi
64
+ 
65
++# Subdirs will often times want version.h, so they'll change back up to
66
++# the top level and try to create it.  This causes parallel build issues
67
++# so just force top level sanity before we descend.
68
++$(LIBDEP): .build
69
++
70
+ $(READLINE_LIBRARY): config.h $(READLINE_SOURCE)
71
+ 	@echo making $@ in ${RL_LIBDIR}
72
+ 	@( { test "${RL_LIBDIR}" = "${libdir}" && exit 0; } || \
73
+
74
+http://lists.gnu.org/archive/html/bug-bash/2011-10/msg00107.html
75
+
76
+the top level Makefile will recurse into the defdir for multiple targets
77
+(libbuiltins.a, common.o, bashgetopt.o, builtext.h), and since these do
78
+not have any declared interdependencies, parallel makes will recurse into
79
+the subdir and build the respective targets.
80
+
81
+nothing depends on common.o or bashgetopt.o, so those targets don't get
82
+used normally.  this leaves libbuiltins.a and builtext.h.  at a glance,
83
+this shouldn't be a big deal, but when we look closer, there's a subtle
84
+failure lurking.
85
+
86
+most of the objects in the defdir need to be generated which means they
87
+need to build+link the local mkbuiltins helper.  the builtext.h header
88
+also needs to be generated by the mkbuiltins helper.  so when the top
89
+level launches a child for libbuiltins.a and a child for builtext.h, we
90
+can hit a race condition where the two try to generate mkbuiltins, and
91
+the build randomly fails.
92
+
93
+so update libbuiltins.a to depend on builtext.h.  this should be fairly
94
+simple since it's only a single target.
95
+
96
+--- a/Makefile.in
97
++++ b/Makefile.in
98
+@@ -674,7 +674,7 @@
99
+ 	$(RM) $@
100
+ 	./mksyntax$(EXEEXT) -o $@
101
+ 
102
+-$(BUILTINS_LIBRARY): $(BUILTIN_DEFS) $(BUILTIN_C_SRC) config.h ${BASHINCDIR}/memalloc.h version.h
103
++$(BUILTINS_LIBRARY): $(BUILTIN_DEFS) $(BUILTIN_C_SRC) config.h ${BASHINCDIR}/memalloc.h ${DEFDIR}/builtext.h version.h
104
+ 	@(cd $(DEFDIR) && $(MAKE) $(MFLAGS) DEBUG=${DEBUG} libbuiltins.a ) || exit 1
105
+ 
106
+ # these require special rules to circumvent make builtin rules
... ...
@@ -0,0 +1,41 @@
1
+https://bugs.gentoo.org/447810
2
+
3
+fix from upstream to workaround broken BSD kernels
4
+
5
+commit 208fdb509e072977ae7a621e916dfcd32c76047d
6
+Author: Chet Ramey <chet@caleb.ins.cwru.edu>
7
+Date:   Mon Mar 4 08:09:29 2013 -0500
8
+
9
+    commit bash-20130201 snapshot
10
+
11
+diff --git a/redir.c b/redir.c
12
+index d7da2f3..aa3d16d 100644
13
+--- a/redir.c
14
++++ b/redir.c
15
+@@ -650,7 +650,7 @@ redir_open (filename, flags, mode, ri)
16
+      int flags, mode;
17
+      enum r_instruction ri;
18
+ {
19
+-  int fd, r;
20
++  int fd, r, e;
21
+ 
22
+   r = find_string_in_alist (filename, _redir_special_filenames, 1);
23
+   if (r >= 0)
24
+@@ -666,7 +666,16 @@ redir_open (filename, flags, mode, ri)
25
+     }
26
+   else
27
+     {
28
+-      fd = open (filename, flags, mode);
29
++      do
30
++	{
31
++	  fd = open (filename, flags, mode);
32
++	  e = errno;
33
++	  if (fd < 0 && e == EINTR)
34
++	    QUIT;
35
++	  errno = e;
36
++	}
37
++      while (fd < 0 && errno == EINTR);
38
++
39
+ #if defined (AFS)
40
+       if ((fd < 0) && (errno == EACCES))
41
+ 	{
... ...
@@ -0,0 +1,112 @@
1
+http://lists.gnu.org/archive/html/bug-bash/2012-11/msg00034.html
2
+
3
+From 530d4988afd68ea9d2cf1b0267d4dc821d0d204f Mon Sep 17 00:00:00 2001
4
+From: Mike Frysinger <vapier@gentoo.org>
5
+Date: Mon, 19 Nov 2012 17:58:51 -0500
6
+Subject: [PATCH] bash: speed up `read -N`
7
+
8
+Rather than using 1 byte reads, use the existing cache read logic.
9
+This could be sped up more, but this change is not as invasive and
10
+should (hopefully) be fairly safe.
11
+
12
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
13
+---
14
+ builtins/read.def | 21 ++++++++++++++++-----
15
+ externs.h         |  1 +
16
+ lib/sh/zread.c    | 15 +++++++++++++--
17
+ 3 files changed, 30 insertions(+), 7 deletions(-)
18
+
19
+diff --git a/builtins/read.def b/builtins/read.def
20
+index e32dec7..81a1b3f 100644
21
+--- a/builtins/read.def
22
++++ b/builtins/read.def
23
+@@ -457,7 +457,10 @@ read_builtin (list)
24
+   interrupt_immediately++;
25
+   terminate_immediately++;
26
+ 
27
+-  unbuffered_read = (nchars > 0) || (delim != '\n') || input_is_pipe;
28
++  if ((nchars > 0) && !input_is_tty && ignore_delim)
29
++    unbuffered_read = 2;
30
++  else if ((nchars > 0) || (delim != '\n') || input_is_pipe)
31
++    unbuffered_read = 1;
32
+ 
33
+   if (prompt && edit == 0)
34
+     {
35
+@@ -505,10 +508,18 @@ read_builtin (list)
36
+ 	  print_ps2 = 0;
37
+ 	}
38
+ 
39
+-      if (unbuffered_read)
40
+-	retval = zread (fd, &c, 1);
41
+-      else
42
+-	retval = zreadc (fd, &c);
43
++      switch (unbuffered_read)
44
++	{
45
++	case 2:
46
++	  retval = zreadcn (fd, &c, nchars - nr);
47
++	  break;
48
++	case 1:
49
++	  retval = zread (fd, &c, 1);
50
++	  break;
51
++	default:
52
++	  retval = zreadc (fd, &c);
53
++	  break;
54
++	}
55
+ 
56
+       if (retval <= 0)
57
+ 	{
58
+diff --git a/externs.h b/externs.h
59
+index 09244fa..a5ad645 100644
60
+--- a/externs.h
61
++++ b/externs.h
62
+@@ -479,6 +479,7 @@ extern ssize_t zread __P((int, char *, size_t));
63
+ extern ssize_t zreadretry __P((int, char *, size_t));
64
+ extern ssize_t zreadintr __P((int, char *, size_t));
65
+ extern ssize_t zreadc __P((int, char *));
66
++extern ssize_t zreadcn __P((int, char *, int));
67
+ extern ssize_t zreadcintr __P((int, char *));
68
+ extern void zreset __P((void));
69
+ extern void zsyncfd __P((int));
70
+diff --git a/lib/sh/zread.c b/lib/sh/zread.c
71
+index 5db21a9..af7d02b 100644
72
+--- a/lib/sh/zread.c
73
++++ b/lib/sh/zread.c
74
+@@ -101,15 +101,18 @@ static char lbuf[128];
75
+ static size_t lind, lused;
76
+ 
77
+ ssize_t
78
+-zreadc (fd, cp)
79
++zreadcn (fd, cp, len)
80
+      int fd;
81
+      char *cp;
82
++     int len;
83
+ {
84
+   ssize_t nr;
85
+ 
86
+   if (lind == lused || lused == 0)
87
+     {
88
+-      nr = zread (fd, lbuf, sizeof (lbuf));
89
++      if (len > sizeof (lbuf))
90
++	len = sizeof (lbuf);
91
++      nr = zread (fd, lbuf, len);
92
+       lind = 0;
93
+       if (nr <= 0)
94
+ 	{
95
+@@ -123,6 +126,14 @@ zreadc (fd, cp)
96
+   return 1;
97
+ }
98
+ 
99
++ssize_t
100
++zreadc (fd, cp)
101
++     int fd;
102
++     char *cp;
103
++{
104
++  return zreadcn (fd, cp, sizeof (lbuf));
105
++}
106
++
107
+ /* Don't mix calls to zreadc and zreadcintr in the same function, since they
108
+    use the same local buffer. */
109
+ ssize_t
110
+-- 
111
+1.7.12.4
112
+
... ...
@@ -0,0 +1,18 @@
1
+https://lists.gnu.org/archive/html/bug-bash/2014-08/msg00048.html
2
+
3
+*** ../bash-4.3-patched/execute_cmd.c	2014-07-30 10:26:52.000000000 -0400
4
+--- execute_cmd.c	2014-08-11 16:55:57.000000000 -0400
5
+***************
6
+*** 2406,2410 ****
7
+      {
8
+  #if defined (JOB_CONTROL)
9
+!       append_process (savestring (the_printed_command), dollar_dollar_pid, exec_result, lastpipe_jid);
10
+  #endif
11
+        lstdin = wait_for (lastpid);
12
+--- 2433,2438 ----
13
+      {
14
+  #if defined (JOB_CONTROL)
15
+!       if (INVALID_JOB (lastpipe_jid) == 0)
16
+! 	append_process (savestring (the_printed_command_except_trap), dollar_dollar_pid, exec_result, lastpipe_jid);
17
+  #endif
18
+        lstdin = wait_for (lastpid);
... ...
@@ -0,0 +1,13 @@
1
+https://lists.gnu.org/archive/html/bug-bash/2014-06/msg00046.html
2
+
3
+--- a/builtins/shopt.def
4
++++ b/builtins/shopt.def
5
+@@ -160,7 +160,7 @@ static struct {
6
+   { "compat32", &shopt_compat32, set_compatibility_level },
7
+   { "compat40", &shopt_compat40, set_compatibility_level },
8
+   { "compat41", &shopt_compat41, set_compatibility_level },
9
+-  { "compat42", &shopt_compat41, set_compatibility_level },
10
++  { "compat42", &shopt_compat42, set_compatibility_level },
11
+ #if defined (READLINE)
12
+   { "complete_fullquote", &complete_fullquote, (shopt_set_func_t *)NULL},
13
+   { "direxpand", &dircomplete_expand, shopt_set_complete_direxpand },
... ...
@@ -0,0 +1,92 @@
1
+*** ../bash-4.3-patched/builtins/common.h	2013-07-08 16:54:47.000000000 -0400
2
+--- builtins/common.h	2014-09-12 14:25:47.000000000 -0400
3
+***************
4
+*** 34,37 ****
5
+--- 49,54 ----
6
+  #define SEVAL_PARSEONLY	0x020
7
+  #define SEVAL_NOLONGJMP 0x040
8
++ #define SEVAL_FUNCDEF	0x080		/* only allow function definitions */
9
++ #define SEVAL_ONECMD	0x100		/* only allow a single command */
10
+  
11
+  /* Flags for describe_command, shared between type.def and command.def */
12
+*** ../bash-4.3-patched/builtins/evalstring.c	2014-02-11 09:42:10.000000000 -0500
13
+--- builtins/evalstring.c	2014-09-14 14:15:13.000000000 -0400
14
+***************
15
+*** 309,312 ****
16
+--- 313,324 ----
17
+  	      struct fd_bitmap *bitmap;
18
+  
19
++ 	      if ((flags & SEVAL_FUNCDEF) && command->type != cm_function_def)
20
++ 		{
21
++ 		  internal_warning ("%s: ignoring function definition attempt", from_file);
22
++ 		  should_jump_to_top_level = 0;
23
++ 		  last_result = last_command_exit_value = EX_BADUSAGE;
24
++ 		  break;
25
++ 		}
26
++ 
27
+  	      bitmap = new_fd_bitmap (FD_BITMAP_SIZE);
28
+  	      begin_unwind_frame ("pe_dispose");
29
+***************
30
+*** 369,372 ****
31
+--- 381,387 ----
32
+  	      dispose_fd_bitmap (bitmap);
33
+  	      discard_unwind_frame ("pe_dispose");
34
++ 
35
++ 	      if (flags & SEVAL_ONECMD)
36
++ 		break;
37
+  	    }
38
+  	}
39
+*** ../bash-4.3-patched/variables.c	2014-05-15 08:26:50.000000000 -0400
40
+--- variables.c	2014-09-14 14:23:35.000000000 -0400
41
+***************
42
+*** 359,369 ****
43
+  	  strcpy (temp_string + char_index + 1, string);
44
+  
45
+! 	  if (posixly_correct == 0 || legal_identifier (name))
46
+! 	    parse_and_execute (temp_string, name, SEVAL_NONINT|SEVAL_NOHIST);
47
+! 
48
+! 	  /* Ancient backwards compatibility.  Old versions of bash exported
49
+! 	     functions like name()=() {...} */
50
+! 	  if (name[char_index - 1] == ')' && name[char_index - 2] == '(')
51
+! 	    name[char_index - 2] = '\0';
52
+  
53
+  	  if (temp_var = find_function (name))
54
+--- 364,372 ----
55
+  	  strcpy (temp_string + char_index + 1, string);
56
+  
57
+! 	  /* Don't import function names that are invalid identifiers from the
58
+! 	     environment, though we still allow them to be defined as shell
59
+! 	     variables. */
60
+! 	  if (legal_identifier (name))
61
+! 	    parse_and_execute (temp_string, name, SEVAL_NONINT|SEVAL_NOHIST|SEVAL_FUNCDEF|SEVAL_ONECMD);
62
+  
63
+  	  if (temp_var = find_function (name))
64
+***************
65
+*** 382,389 ****
66
+  	      report_error (_("error importing function definition for `%s'"), name);
67
+  	    }
68
+- 
69
+- 	  /* ( */
70
+- 	  if (name[char_index - 1] == ')' && name[char_index - 2] == '\0')
71
+- 	    name[char_index - 2] = '(';		/* ) */
72
+  	}
73
+  #if defined (ARRAY_VARS)
74
+--- 385,388 ----
75
+*** ../bash-4.3-patched/subst.c	2014-08-11 11:16:35.000000000 -0400
76
+--- subst.c	2014-09-12 15:31:04.000000000 -0400
77
+***************
78
+*** 8048,8052 ****
79
+  	  goto return0;
80
+  	}
81
+!       else if (var = find_variable_last_nameref (temp1))
82
+  	{
83
+  	  temp = nameref_cell (var);
84
+--- 8118,8124 ----
85
+  	  goto return0;
86
+  	}
87
+!       else if (var && (invisible_p (var) || var_isset (var) == 0))
88
+! 	temp = (char *)NULL;
89
+!       else if ((var = find_variable_last_nameref (temp1)) && var_isset (var) && invisible_p (var) == 0)
90
+  	{
91
+  	  temp = nameref_cell (var);
92
+
... ...
@@ -0,0 +1,30 @@
1
+https://lists.gnu.org/archive/html/bug-bash/2014-06/msg00034.html
2
+
3
+*** ../bash-4.3-patched/parse.y	2014-04-07 11:56:12.000000000 -0400
4
+--- parse.y	2014-06-11 10:25:53.000000000 -0400
5
+***************
6
+*** 2789,2797 ****
7
+      case OR_OR:
8
+      case '&':
9
+      case DO:
10
+      case THEN:
11
+      case ELSE:
12
+      case '{':		/* } */
13
+!     case '(':		/* ) */
14
+      case BANG:		/* ! time pipeline */
15
+      case TIME:		/* time time pipeline */
16
+--- 2789,2802 ----
17
+      case OR_OR:
18
+      case '&':
19
++     case WHILE:
20
+      case DO:
21
++     case UNTIL:
22
++     case IF:
23
+      case THEN:
24
++     case ELIF:
25
+      case ELSE:
26
+      case '{':		/* } */
27
+!     case '(':		/* )( */
28
+!     case ')':		/* only valid in case statement */
29
+      case BANG:		/* ! time pipeline */
30
+      case TIME:		/* time time pipeline */
... ...
@@ -0,0 +1,47 @@
1
+http://lists.gnu.org/archive/html/bug-bash/2014-09/msg00031.html
2
+
3
+*** ../bash-4.3-patched/bashline.c	2014-05-14 09:22:39.000000000 -0400
4
+--- bashline.c	2014-09-08 11:28:56.000000000 -0400
5
+***************
6
+*** 203,206 ****
7
+--- 203,207 ----
8
+  extern int array_needs_making;
9
+  extern int posixly_correct, no_symbolic_links;
10
++ extern int sigalrm_seen;
11
+  extern char *current_prompt_string, *ps1_prompt;
12
+  extern STRING_INT_ALIST word_token_alist[];
13
+***************
14
+*** 4209,4214 ****
15
+    /* If we're going to longjmp to top_level, make sure we clean up readline.
16
+       check_signals will call QUIT, which will eventually longjmp to top_level,
17
+!      calling run_interrupt_trap along the way. */
18
+!   if (interrupt_state)
19
+      rl_cleanup_after_signal ();
20
+    bashline_reset_event_hook ();
21
+--- 4262,4268 ----
22
+    /* If we're going to longjmp to top_level, make sure we clean up readline.
23
+       check_signals will call QUIT, which will eventually longjmp to top_level,
24
+!      calling run_interrupt_trap along the way.  The check for sigalrm_seen is
25
+!      to clean up the read builtin's state. */
26
+!   if (terminating_signal || interrupt_state || sigalrm_seen)
27
+      rl_cleanup_after_signal ();
28
+    bashline_reset_event_hook ();
29
+*** ../bash-4.3-patched/sig.c	2014-01-10 15:06:06.000000000 -0500
30
+--- sig.c	2014-09-08 11:26:33.000000000 -0400
31
+***************
32
+*** 533,538 ****
33
+    /* Set the event hook so readline will call it after the signal handlers
34
+       finish executing, so if this interrupted character input we can get
35
+!      quick response. */
36
+!   if (interactive_shell && interactive && no_line_editing == 0)
37
+      bashline_set_event_hook ();
38
+  #endif
39
+--- 533,540 ----
40
+    /* Set the event hook so readline will call it after the signal handlers
41
+       finish executing, so if this interrupted character input we can get
42
+!      quick response.  If readline is active or has modified the terminal we
43
+!      need to set this no matter what the signal is, though the check for
44
+!      RL_STATE_TERMPREPPED is possibly redundant. */
45
+!   if (RL_ISSTATE (RL_STATE_SIGHANDLER) || RL_ISSTATE (RL_STATE_TERMPREPPED))
46
+      bashline_set_event_hook ();
47
+  #endif
... ...
@@ -0,0 +1,47 @@
1
+http://bugs.gentoo.org/310197
2
+http://lists.gnu.org/archive/html/bug-bash/2010-03/msg00063.html
3
+
4
+fix heredocs handling in `set` output
5
+
6
+*** ../bash-4.1-patched/print_cmd.c	2009-09-16 15:32:26.000000000 -0400
7
+--- print_cmd.c	2010-03-22 21:15:30.000000000 -0400
8
+***************
9
+*** 114,117 ****
10
+--- 114,123 ----
11
+  #define CHECK_XTRACE_FP	xtrace_fp = (xtrace_fp ? xtrace_fp : stderr)
12
+  
13
++ #define PRINT_DEFERRED_HEREDOCS(x) \
14
++   do { \
15
++     if (deferred_heredocs) \
16
++       print_deferred_heredocs (x); \
17
++   } while (0)
18
++ 
19
+  /* Non-zero means the stuff being printed is inside of a function def. */
20
+  static int inside_function_def;
21
+***************
22
+*** 561,571 ****
23
+  {
24
+    print_for_command_head (for_command);
25
+- 
26
+    cprintf (";");
27
+    newline ("do\n");
28
+    indentation += indentation_amount;
29
+    make_command_string_internal (for_command->action);
30
+    semicolon ();
31
+    indentation -= indentation_amount;
32
+    newline ("done");
33
+  }
34
+--- 566,578 ----
35
+  {
36
+    print_for_command_head (for_command);
37
+    cprintf (";");
38
+    newline ("do\n");
39
++ 
40
+    indentation += indentation_amount;
41
+    make_command_string_internal (for_command->action);
42
++   PRINT_DEFERRED_HEREDOCS ("");
43
+    semicolon ();
44
+    indentation -= indentation_amount;
45
++ 
46
+    newline ("done");
47
+  }
... ...
@@ -0,0 +1,9 @@
1
+# /etc/bash/bash_logout
2
+
3
+# This file is sourced when a login shell terminates.
4
+
5
+# You may wish to clear everyone's screen when they logout.
6
+#clear
7
+
8
+# Or maybe you want to leave a thoughtful note.
9
+#fortune
... ...
@@ -0,0 +1,88 @@
1
+# /etc/bash/bashrc
2
+#
3
+# This file is sourced by all *interactive* bash shells on startup,
4
+# including some apparently interactive shells such as scp and rcp
5
+# that can't tolerate any output.  So make sure this doesn't display
6
+# anything or bad things will happen !
7
+
8
+
9
+# Test for an interactive shell.  There is no need to set anything
10
+# past this point for scp and rcp, and it's important to refrain from
11
+# outputting anything in those cases.
12
+if [[ $- != *i* ]] ; then
13
+	# Shell is non-interactive.  Be done now!
14
+	return
15
+fi
16
+
17
+# Bash won't get SIGWINCH if another process is in the foreground.
18
+# Enable checkwinsize so that bash will check the terminal size when
19
+# it regains control.  #65623
20
+# http://cnswww.cns.cwru.edu/~chet/bash/FAQ (E11)
21
+shopt -s checkwinsize
22
+
23
+# Enable history appending instead of overwriting.  #139609
24
+shopt -s histappend
25
+
26
+# Change the window title of X terminals 
27
+case ${TERM} in
28
+	xterm*|rxvt*|Eterm*|aterm|kterm|gnome*|interix|konsole*)
29
+		PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}\007"'
30
+		;;
31
+	screen*)
32
+		PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}\033\\"'
33
+		;;
34
+esac
35
+
36
+use_color=false
37
+#BSD#@# BSD doesn't typically come with dircolors so we need
38
+#BSD#@# to hardcode some terminals in here.
39
+#BSD#@case ${TERM} in
40
+#BSD#@	xterm*|rxvt*|Eterm|aterm|kterm|gnome*|screen|cons25) use_color=true;;
41
+#BSD#@esac
42
+
43
+# Set colorful PS1 only on colorful terminals.
44
+# dircolors --print-database uses its own built-in database
45
+# instead of using /etc/DIR_COLORS.  Try to use the external file
46
+# first to take advantage of user additions.  Use internal bash
47
+# globbing instead of external grep binary.
48
+safe_term=${TERM//[^[:alnum:]]/?}   # sanitize TERM
49
+match_lhs=""
50
+[[ -f ~/.dir_colors   ]] && match_lhs="${match_lhs}$(<~/.dir_colors)"
51
+[[ -f /etc/DIR_COLORS ]] && match_lhs="${match_lhs}$(</etc/DIR_COLORS)"
52
+[[ -z ${match_lhs}    ]] \
53
+	&& type -P dircolors >/dev/null \
54
+	&& match_lhs=$(dircolors --print-database)
55
+[[ $'\n'${match_lhs} == *$'\n'"TERM "${safe_term}* ]] && use_color=true
56
+
57
+if ${use_color} ; then
58
+	# Enable colors for ls, etc.  Prefer ~/.dir_colors #64489
59
+	if type -P dircolors >/dev/null ; then
60
+		if [[ -f ~/.dir_colors ]] ; then
61
+			eval $(dircolors -b ~/.dir_colors)
62
+		elif [[ -f /etc/DIR_COLORS ]] ; then
63
+			eval $(dircolors -b /etc/DIR_COLORS)
64
+		fi
65
+	fi
66
+
67
+	if [[ ${EUID} == 0 ]] ; then
68
+		PS1='\[\033[01;31m\]\h\[\033[01;34m\] \W \$\[\033[00m\] '
69
+	else
70
+		PS1='\[\033[01;32m\]\u@\h\[\033[01;34m\] \w \$\[\033[00m\] '
71
+	fi
72
+
73
+	#BSD#@export CLICOLOR=1
74
+	#GNU#@alias ls='ls --color=auto'
75
+	alias grep='grep --colour=auto'
76
+	alias egrep='egrep --colour=auto'
77
+	alias fgrep='fgrep --colour=auto'
78
+else
79
+	if [[ ${EUID} == 0 ]] ; then
80
+		# show root@ when we don't have colors
81
+		PS1='\u@\h \W \$ '
82
+	else
83
+		PS1='\u@\h \w \$ '
84
+	fi
85
+fi
86
+
87
+# Try to keep environment pollution down, EPA loves us.
88
+unset use_color safe_term match_lhs
... ...
@@ -0,0 +1,6 @@
1
+# /etc/skel/.bash_logout
2
+
3
+# This file is sourced when a login shell terminates.
4
+
5
+# Clear the screen for security's sake.
6
+clear
... ...
@@ -0,0 +1,5 @@
1
+# /etc/skel/.bash_profile
2
+
3
+# This file is sourced by bash for login shells.  The following line
4
+# runs your .bashrc and is recommended by the bash info pages.
5
+[[ -f ~/.bashrc ]] && . ~/.bashrc
... ...
@@ -0,0 +1,18 @@
1
+# /etc/skel/.bashrc
2
+#
3
+# This file is sourced by all *interactive* bash shells on startup,
4
+# including some apparently interactive shells such as scp and rcp
5
+# that can't tolerate any output.  So make sure this doesn't display
6
+# anything or bad things will happen !
7
+
8
+
9
+# Test for an interactive shell.  There is no need to set anything
10
+# past this point for scp and rcp, and it's important to refrain from
11
+# outputting anything in those cases.
12
+if [[ $- != *i* ]] ; then
13
+	# Shell is non-interactive.  Be done now!
14
+	return
15
+fi
16
+
17
+
18
+# Put your fun stuff here.
0 19