aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStuart Shelton <stuart@shelton.me>2015-02-11 01:25:26 +0000
committerStuart Shelton <stuart@shelton.me>2015-02-11 01:25:26 +0000
commit13d40c56bb662042535291576064440b1d4ddca5 (patch)
treece7890de8655c662d5af1e66de8746b58b13f617 /app-shells
parentAdd sys-apps/busybox-1.23.1 sys-apps/busybox-1.23.1-r1 (diff)
downloadsrcshelton-13d40c56bb662042535291576064440b1d4ddca5.tar.gz
srcshelton-13d40c56bb662042535291576064440b1d4ddca5.tar.bz2
srcshelton-13d40c56bb662042535291576064440b1d4ddca5.zip
Add app-shells/bash-4.2_p53 with <signal.h> included in relevant places
Diffstat (limited to 'app-shells')
-rw-r--r--app-shells/bash/Manifest74
-rw-r--r--app-shells/bash/bash-4.2_p53.ebuild301
-rw-r--r--app-shells/bash/files/bash-4.0-bashintl-in-siglist.patch12
-rw-r--r--app-shells/bash/files/bash-4.0-cflags_for_build.patch23
-rw-r--r--app-shells/bash/files/bash-4.0-childmax-pids.patch123
-rw-r--r--app-shells/bash/files/bash-4.0-configs-prefix.patch15
-rw-r--r--app-shells/bash/files/bash-4.0-interix-x64.patch40
-rw-r--r--app-shells/bash/files/bash-4.1-blocking-namedpipe.patch14
-rw-r--r--app-shells/bash/files/bash-4.2-darwin13.patch41
-rw-r--r--app-shells/bash/files/bash-4.2-execute-job-control.patch24
-rw-r--r--app-shells/bash/files/bash-4.2-no-readline.patch19
-rw-r--r--app-shells/bash/files/bash-4.2-parallel-build.patch106
-rw-r--r--app-shells/bash/files/bash-4.2-read-retry.patch41
-rw-r--r--app-shells/bash/files/bash-4.2-signal.h.patch20
-rw-r--r--app-shells/bash/files/bash-4.2-speed-up-read-N.patch112
-rw-r--r--app-shells/bash/files/bash_logout9
-rw-r--r--app-shells/bash/files/bashrc88
-rw-r--r--app-shells/bash/files/bashrc-prefix.patch40
-rw-r--r--app-shells/bash/files/dot-bash_logout6
-rw-r--r--app-shells/bash/files/dot-bash_profile5
-rw-r--r--app-shells/bash/files/dot-bashrc18
21 files changed, 1131 insertions, 0 deletions
diff --git a/app-shells/bash/Manifest b/app-shells/bash/Manifest
new file mode 100644
index 00000000..5217f967
--- /dev/null
+++ b/app-shells/bash/Manifest
@@ -0,0 +1,74 @@
+AUX bash-4.0-bashintl-in-siglist.patch 274 SHA256 46f93d1464c3feb5679e0d2e054af531b9629562ac1b99228bbd6f70b51bf548 SHA512 52f3d8773841b7c1c96ff578cc2e0cba454772ee63aca5309dba1ae4aea472858f1ec5bc6caa09909cca3d90593d061485941e1bbbb875565bd1f0b229b2da7e WHIRLPOOL 457a9799344a835bd28764b6107a97002c1bf3cb78256dc755b1507d95c30e600b1318469ee660e75bb17ac385426c656d179cf4eedff2018a9c77068d41952a
+AUX bash-4.0-cflags_for_build.patch 954 SHA256 22c37f7d43d913a76846fe54b746d1237e10b6bd935163809c86a93ceb28ad65 SHA512 6357bd7c8b7fe4de009de3791525c80459bd910adfcd35537722fe27bcd7f12b1e97f20d05d8a9ac8373e4e24a48be3fe1a7d8ab7e86afdf725ca6f848222467 WHIRLPOOL f3056c850838592185e7da9f422ef77bfd1f64130dbb480a7f47f6a3cbb11884c397c68aa52aa6b3449e7dd042f6763eb5e676aee53b8e7e1cebcb54f58b5da3
+AUX bash-4.0-childmax-pids.patch 4671 SHA256 51d6d4921ab23d4237c5fe2cc1f3c3ee93c4ecbb29c558cf6f1dfe163cf53000 SHA512 6c48f4ddbd733936fc870b410f0f81221b3843639e50b5d73329d8d2b0cb0f490d6c6f7724f91c8168570cc5e5f90042aa9d8f6790e1b401a652cbc90b41cea0 WHIRLPOOL 88092bbd613bca28dc94d27e4b3e6e6e2ccbb78ef12781604909b6746e693daf01cb00c73a719cf2b2d4d9beb6584cc4cc1a04e5196633372c56523827f374aa
+AUX bash-4.0-configs-prefix.patch 532 SHA256 e83e4659f0d62a5a8c7cac9332bd356d5827a4b89ce7fde05e233477b9785717 SHA512 87132ab99b4bbe9ee5a52bd0f98c8ef27b03135168490babb2c96b4f4799212c3b8132830ad6332b585443a28b0b2121946bf834a04a9c2a5afae81fd547beaa WHIRLPOOL 94fe7e5fca1db131ff046416f693872c8ee354768848b8a1c0b49414924a41ff1e0d3e5f13e556ea710479848eadc83035b9e3304bc737b54e04e1c407723e25
+AUX bash-4.0-interix-x64.patch 1098 SHA256 2cc9c7f6bf91d7203f95f1fb2cee6408772d3a87b15fa4e9759a0b82f742210c SHA512 5f18bf651810f76776f96ff5f55be4c09d8f7d229a3fb891ee37555477d8602d502a92894c0fc2c74d3f0dee1ac0211e002bbf8a73ef644d3f6e41640b50871a WHIRLPOOL 7610188cb694971bdae785670e4afa548d3682f34b0b872043ef14939aec47044a03e8dfcde11abb1ad5be71547600833737bc0a4e233aaa64b11f045970bf85
+AUX bash-4.1-blocking-namedpipe.patch 618 SHA256 7c5c7fdd9dabeced6629f90f4ce0173cd33fe8b8b5caa7e829bece92601974d2 SHA512 c6bdaf4fc0fe46c650246bf24968a0be38695a93c428094950164d314a9bff76c670534d2c41c636266ee87fa80715c4a203a57f1d3f0424d1d5e3177df9e6b2 WHIRLPOOL 0f1518963a7a03533889b11648780b88fdad6d7e9e73ca6dfededc6f75fb4c1c3cf9d915e2013e67bb0215c6ab91c64054256a390fefd1a8f30bb83ecc61ac87
+AUX bash-4.2-darwin13.patch 1345 SHA256 cdfab00f37bcc8ee263094e4514361036a8ddc9086bc7230eaeef0cea6c936f6 SHA512 dc6477c227b8e351dea3822af6f23dae567deaceb8324ca2bd568fe39419d78dcd9b08e671aee1367a56db7c4969290cba32944e64ccc997da17cd8e4c221023 WHIRLPOOL 8744c58aef3096ca282578eeadc341720cd9afdf9ca5f81a6d8fce03d37810ab3a7bb2665f2a1f0dd7d1499fbea4053080814ac8e9584f627ea5ada4fc562692
+AUX bash-4.2-execute-job-control.patch 865 SHA256 0b6fc0d467662dd85daa02ba8d50ea612cf4c5274d685d52eb1533b5f164b056 SHA512 c2d45f5e9668a8717137c533ced119315cf03c63fb373e5636c65383a399227e1d2aaef846452a0d3316db20b0b4cc41bde55c9aba2a9a02c1c31462d2273577 WHIRLPOOL 407e6e79afb617c6661453def92da451d2e4231a595557e654924058a6082badd15f8bff119a556322be4d4d4a65bdc785f3275e88324c536a60dccc99acf857
+AUX bash-4.2-no-readline.patch 287 SHA256 f145706f0a83939575023929905199ac4359c97530641c39635be36a46fa8d8c SHA512 558b6bc3a7588ca83190264c842a0eb79d838ebe8002f3aecf8a4dbbbbfa770a3568e2f35496ab80683c0317f15afbeb5748bd0c0027c7afbcb0419217dd5847 WHIRLPOOL e760a202352817c8b465d03b9f9101b3c5f87c7d5c88263d086b574bf89834c7d2e9de8aebcb4427e456ce17b1f51e89d3739c5a556179f03ea832cf385ab83d
+AUX bash-4.2-parallel-build.patch 4448 SHA256 1c5f7fb5c324d6f2b786ad259cc35bfdd3fe3087e778e4a5031277b33ca097c3 SHA512 44690ed868ed95b7949b21a308f402af64d46873a8eb023f44e3f12381719e66b5c123c75d496ccb3d51b10b7102ae041dc41d55131ff9835757731afb9f7711 WHIRLPOOL 70bf422d8207f08d15cfe95daf5b6ac264bd320c7544ee626efe0afdb751ebd4c953a59e39e44af85273cbdec3ebbd060597ab9ccfcc1b5b767fde4f6afa9916
+AUX bash-4.2-read-retry.patch 932 SHA256 37d60b456efd563960a9f1f3f40f0e7f6ef2f9aeb63d8dafabf13853f3d41987 SHA512 b8c9524a1385f8a66b964bc629ed62a1c825415e3388ac4204709440d3feedd5ffa92dd0fb54eab85283b0de49ce24a76836512b737612c0a4c45eb4ab40f8cb WHIRLPOOL b88a33ea5dd903f6049f79d96bd5975074e9b43bf21e5491cd8ccffc1649f4afcf48456b80bb99c3bc576c553c9bb99ca8ca831a85e936e82aef4aa39509a652
+AUX bash-4.2-signal.h.patch 488 SHA256 c3dc42d4e70c910c86a8da8b67c6f205f5cdb73a50870b9148a28358d4ce95bb SHA512 aee31737762ed85d53b887e7bc1b5c4cb40c166e079bb3874dfcf356bc0318430864dafe17f729b6fd2d04d9b110bc032690a7746b79e97b9affeb901ce0fe2d WHIRLPOOL 864fd7ec17cda0ca4f11cfdde55973e3d7cab7d856f904dfff0ee96b97484b87d4a228d1273dcf1a76709b562fd8ee0b95d1b04631addd99382ba57fabfa2cd6
+AUX bash-4.2-speed-up-read-N.patch 2858 SHA256 8547d32535ed4e2fe5cb7b3503e6044c3f5df3772079509bd02cec4177059dcf SHA512 6b7f611ac35746c5ce8caad49def25d060397d81844c0dda2ba7c73f4b0318a28b3fb89f356695c8a7799b70ab0591d9612619403b7d4ade8aba1e60a933fdae WHIRLPOOL da9647b199f090b358b8186187d9ceff6cc5dd7cb20885f7963c1a1b445bf833093c2db931763a9c05f2e4b87e9e1c201bd34a441c49a39703eca7f3c61b2d49
+AUX bash_logout 205 SHA256 15aaded954389c05d7de5d36c4887db61975ad52c87ad78baf1062ec8997289d SHA512 7234250c03fc920996a381f9daef9e2d8ab1e1a29acdebed6669d8e0fe1c872a7fa343adf7d9ddc81225b0cd9eb223ba7ad1ff42448aff057fc6d6baa8f04a7d WHIRLPOOL 16242c8796af44f550f2935b37c770c022754c63db75b57fbe49d1a313b8651235619ead571cd70ae37f890c694d1c6b2e4871ec51345743eff8649782d0523b
+AUX bashrc 2879 SHA256 72a0b0bf010e72667c229475961f56b3684e02bcf1ccb22da63564ea16c08b54 SHA512 cb89537d4f7bc03c0e05d339f0c6c63cbd61f7963d97d0af13fe3cc2e9ac74755573d8acb28f3c6133a7cbd8f9f6c6c745e0bc215702456b2892a9438876c8a2 WHIRLPOOL 2e6ca7bcb3c2fe0923320f43094f6a11729c128a2f78ba2d51adbb07eb477d3e0573a2af844939fbc8dc1aba52eaf9dce043592a8ceb893148ec855a852e7674
+AUX bashrc-prefix.patch 1502 SHA256 004ae7a51b0fc73d79658a707af0889b9fadaf41e0181ae4e24e2e0e504ff0d0 SHA512 f09f7f587709fc8624141c2d4576a150787bd27fbc64c12126cdb1d4f346ef4d5ab5c2a6c3f16ed4ece385a9f9e0341066563ac6d027bb08d005dce2c523d2f7 WHIRLPOOL 1ed21b8bc78811423354cdcbefd7538d4e2060e89a88044b54f8aebd3c491c6119ea7039587853399136f02ee50946be329e95f19aff84c36e1c12399b3fd378
+AUX dot-bash_logout 127 SHA256 3bcb4958dad662fc2cbe77177236679f7a09b8bdb0be738102df4457394f4022 SHA512 e0248b5087656a4dd3a4790ed8e6101866b922ccab36b510b3bf408dc0c583e70f323fbad0392e4ea6ca5dcbe73568733e0c0aa9c8ce6b00ff5f72bf3e9fd8fd WHIRLPOOL 3dc6bc364f8229d123873940743866dfc330e193ab6ec7c5162c61d0ecc319198a64f27176521bfb979c31eed9ed0b2ee2ffce31b050d4cb8e3aa8a5c12c38cf
+AUX dot-bash_profile 193 SHA256 ae12206aaa35dc96273ed421f4e85ca26a1707455e3cc9f054c7f5e2e9c53df6 SHA512 064227bb7658f5ac0aaddd7ddda39daa0ffa924601445afa61c02aa19a990a5def377b125111e4817bf80ed80d33e1c111ee13034958b5de1ff8e50c093359a2 WHIRLPOOL cde8efc527122adbfa90d60a79fbdffd953c5573c5c6c5d499e56093517ceb7b48d9cfadd10b7c1d161b6d7f84276403fc233fca2d6798bcff2d0d052023672b
+AUX dot-bashrc 551 SHA256 e280e34af6e830c93adb6285f66ead4812ddfb2bbc6a7ff618467f4c933f6446 SHA512 518b62aa2fa30e7d1692847929a6ce8dae4eac93e8b16d223d1ae86f4d5b076bcbe1852c9034f321c013e17502db9f771979957c67f8e8a71ca4eea7bfe9cc1b WHIRLPOOL 27c53e3f59bd89d5517b5b22bcf04a9adddee0492c52d34d26a707062fb4c4fa853cdf2726d6ec2621a08f24c32a53651ce5693b6de1be764de3e088eb9f7ee6
+DIST bash-4.2.tar.gz 7009201 SHA256 a27a1179ec9c0830c65c6aa5d7dab60f7ce1a2a608618570f96bfa72e95ab3d8 SHA512 fdd3c230f4f7a687d36db1b8f7baab5e553cf55756e2d49a88ffaa4260c8cb949897dec9f48655e96608ef0093ac101b60c132060f06c711c0ab81aa3f148b5c WHIRLPOOL fd5f321a8a89381904b1dd1f5acb5100186ce48cccc9b248cf68b35a1c1932177df1fc2b0215131999ee6018decf3264c45e54d407bf4b74ff8e4cc8215c630a
+DIST bash42-001 2944 SHA256 8d6ca028576c4af23e660a2fbc2112221a11c8a785c0b37f033967e5cd12b47a SHA512 931f2f1d4e677925b5057558ea6f157073a9ba87bf4ed59e7d8fe20957c5fc40f3384a98fc4a2d5d7b458129ec096d9e28a860b6844ebf15f377778a6ef8aade WHIRLPOOL 72f1c1453d00f72efe77bd31253ee6978415abb3c943e2de4ba458de09af8e9f76469febfbdda54336e4399ea0f63a2cdc93d023b09b8caa97c435e4eab27a52
+DIST bash42-002 1780 SHA256 febac927e199aceeba2004908d971d4afb49b521796c3f42d1166f9fbbfbcef9 SHA512 b9ca62e397a05b368b74920d8d1b168367ffe840cf168e312b530c5b390cef3ca53e31db63c9fe15fe1a36e4c98369bf10573db40d20712fb1a016f10e0fc893 WHIRLPOOL d0803c477e120a323e79d842269db60eca7ce0eef8e2b829926a8b337d27cead87e9f8bb26c51f8f68eacfcc280123ad4ebd654c3d6744f361a88ef5c12f2a97
+DIST bash42-003 6896 SHA256 5a0a7c15018c87348ea87cb0beea14345faf878dbb0e25c17fa70677194cb4cd SHA512 6cf944ab0f554ab53831cbe114f771671c7a9420778d2caa524c09a24ec8064e7a7ef1355e66ed3a53100b72736284a5b44e2c6bda03a8234a2f2d340ed47ce4 WHIRLPOOL 8ff610b9bf6f81eb7ea68691c6d2bcfdcdc6ae2a5ed503306f4b5cac1f020c59901c3c3a35a6206934407d65be58db60fd2c0e74497a0fd30fc87822e8fbf36f
+DIST bash42-004 1686 SHA256 4e34b0f830d2583d56e14225a66937abc81f45bbafcd2eb49daf61c9462140c1 SHA512 aef5e753e59a82df07e18269064ff1d075e3b7558ac5aff7465da997370496bd4ef9c25920d7a47f66110d2ab719742033d96646921782d9ae15a27541765067 WHIRLPOOL 5cb128049a38905a4aef54c69fd1dbe7c0257c5e13de7bdab4c7a0c35b0979df0d6c34706077889f9e17ccb132f0edea96405caf0d2a3861f18c57c6635a05bc
+DIST bash42-005 3424 SHA256 a81749e73004b81cfdf0fe075bec365dc1fef756ee5e3fd142821e317d1459a0 SHA512 ef7fbc3fcc8174e7dfb27fb5e977d3a52b1b4b989cd7f748b1b35ea0e581a59668f41ec030e80f2afdc8b43dfcf472fad2985da284632b9228a6fd30ba4d0556 WHIRLPOOL fe5d6d320a4f3c3bf939b3b872b4dfdeeb2ac3baaea0ee871745aed01609e9fd8bfa555711a7e0190a32736e9362fe1c65148ac8d66d10877c59913c41855856
+DIST bash42-006 1187 SHA256 c91148945a2ddafa792682d7c8668c59e7e645eae1334b15b0d5d9ad22634bd1 SHA512 018031cc0cb2078937c81bd42459b98cfe793ff7d638ed2bd2859ec1c73da6a420d649f7dd49f2367035fd08af430ba783c68417088b1e4126095ab9467c55c9 WHIRLPOOL 1471ec01a11030b31d479913a952a6b52c65fcdfbcfbc41a76f231ca9de62031bdfa1eef58e5ef1ce493eb018bb97c5a88ff1f371e2337535eb23c770f1af944
+DIST bash42-007 1394 SHA256 405826acf443dd1084f236a15cb76d7f0ee2dbe5edff45c5fb836db571fb7e95 SHA512 65cef48b77530a3b87dec1c8c3fb28f553e83f28f24d5e170022b4962472e3e0021a57051800e1ddeebdb78548a3c192c4e1fef0f6e82612321c5d1335e2f8f8 WHIRLPOOL d937f89d9ddd3695c4f8ea73b555baa3073f31331f541e27baab16fbd476192e198f52c337d25afd153cc5fe5673dcdb747482350cb3ecf962c84c09de41996b
+DIST bash42-008 2164 SHA256 23080d11a60a78941210e2477f6bca066b45db03defa60da86fd765107ba2437 SHA512 5a782a165701967dc3c34d7723d13668b9ca0c4679de0f6150f42a183425e110281d893f30fa81eae27821a6d89e8ce9d9631268d9e02bca57cb8fece0389f3d WHIRLPOOL 98e06ac0869bc789f62b9e0bdfe7cc7d5a8107bddd2c8a4646072537016afb1d97d9999fde06a85d226770ac4a59ca5c19e7e11f2f878bb72383411c9e8d1914
+DIST bash42-009 2384 SHA256 e7ed5440b4c19765786e90e4f1ded43195d38b3e4d1c4b39fcc23de9a74ccb20 SHA512 ad0b58d00f37e8626a0bb664df7e24e0f19dc637aa829ae8f92fbe02a53140a3ca7de00f620c5b53001223a002ec774e5088354b342a640666810fd57cd1ff9a WHIRLPOOL b1af4e438027f10e51112b9e6476d8b3aa14917ccba708634f7927b80adf9333bcaae0a0d91c9aecf32b491b54fac4c8e88cfd355a20d18c7cc28dc6dcc5f05f
+DIST bash42-010 1818 SHA256 acfc5482c25e6923116fcf4b4f7f6345b80f75ad7299749db4b736ad67aa43dc SHA512 66e84164be08be47b0d7c8286b7d94a4da8538316dce8f8be54702fed2a44798d5f717ae3f524ce735d071430195ce10052a264f3f458b950fe26381fe6506d0 WHIRLPOOL 5694177e891a3f4b1906819e59b2d0fefd5537da9adecbe067b1c63c1c6a54fad6ecf8a7cd9e31175ac223fd1893d79229ebbea453ead39b8dc29ce4d579bdde
+DIST bash42-011 1426 SHA256 a491ae359a7ebbd7321aede561728289d71e1fc84777f402766a8afd4d261532 SHA512 0664fe80f3da9e5e64f1f0fc227e3937db6999526f743e74cf8d6eb589add10449c505422e241f1dfa0cd1e02c03c029cc0b7459850a52cc17d9c3a8d9c26a71 WHIRLPOOL bd72e7865c1f89ee4f1b7a7393b322c7ee3e2c053c0b693f50d3de4fa965d66e182a63b4b8452891638d41cfd4d44e7ffd17843fbc1c8672320bf395946df6a5
+DIST bash42-012 4247 SHA256 354433f1d2da02f1b9652cd20a5b85bbfb5bc2aaf79c42461ebd929d89b9b7b8 SHA512 0da4822a29d26d713aa5bfae00911db2db37242ec962edc4f256c8740e345b68e23dcaa4ca8bf37eaaa9e58facde6fe87c3b20c5bad565725a178555aed49503 WHIRLPOOL 23e090f6041c85a5f0057b866200c23852b81aacb8bcfabf44ed6aca4e33eeecb7b0d17b50190b663acffd8ee79c877b4c0b408d1f3cf7b405f2e834cf64d150
+DIST bash42-013 1340 SHA256 3412c5c6cbbce6c88592604aec054d8182ce64410038b5ecea69fc3968cf85ea SHA512 25f4caed2f4eb3f65dfb052b4b9b30a02fff8a1e6d6575e2da6bc1ce02d10aeb113870916f0b74ea2cd0722f81bcf8c05f70be1af178cff3c7091151d5791de5 WHIRLPOOL 5320dfe584243fba6c6c538d5a71304d63a4dee784d87714c2d3e9a9987ea7f39113a83076c431140fb5195645c91b7e51f3ed1e32ce6652ed90ba17aeebb7e3
+DIST bash42-014 1434 SHA256 b5a678e609858532735f94faedb5fabce00dfd6577a4e9ec5eec85fe682c8b33 SHA512 ea8dbe73d40bdc0bfc1752ad6fea9503b72bf4c204a6b0d04ee898429f2b16bf9fd21f8ce25b72e87efb82769a228ace31f1624f03491383129ce7935ead97aa WHIRLPOOL 868ffa5468262939845fba686377c93f1921d3c83b1070e0b9e937c8587a6b25e4bdf8cc41d584d549b647937949b8d515426ac7adf66cb3c6600218d1826660
+DIST bash42-015 1991 SHA256 2d876a8304bdf3d664e87e0a8d73bc4ccc100a9dd8c0d054e8649472d8748a98 SHA512 dd572539a26ae5c80b1c39cce8c548b9de0ab5b5f7e711974413322cb20845690f15d985713facab71957b6988553c0a613d5fa3dee2d263bdd9a8d7a5599ea9 WHIRLPOOL 22a67c207e4f3bd1bfe059d6814b779b5d2efaafad2bdb0442ba40b0344729cfb2ff7ef17c10a970c865d9afe1c28ba9964c8cf319066b7e307668a0bdf357bc
+DIST bash42-016 1410 SHA256 2895ccbcf7fc98da73a8fa3ba7440aaf2bfaef6c0af8bdd3a9c39403cf03e2a6 SHA512 2203fd108df4e9c8c93974ce2ac10d8d7bc9b6df1db92ff88b3b394d6fa26ca13de6e308480c192907ecd658df5b4bd3b077a946127b82167c3cac431c3defa3 WHIRLPOOL 89b9dad82200501de1358d8bfffc533bd4909fb58d3d05e901576fd4cfd862474877912c3221eefe65d6c7886057f0c17d688a5cdeb649c34ae4af2ef5214104
+DIST bash42-017 1399 SHA256 73552444498c761d6073dd67ccfe043b36ef24bb418c266d91d9750884daee7f SHA512 e2b93fb5f904a0064addd2d2d20bf4f8d868120bad1486916ae0774e41ef4123cbf5b31ef64109361d091ff317cbadbd28882d6571d3014052229a14993ed933 WHIRLPOOL cece85996181372a8406fac605f720562161f66d49a57592ee9bb4c5f409edff166854164093d531343773eaa22990702fb756c6783b235006843f77db67e5ad
+DIST bash42-018 1929 SHA256 e2a9457172370d454d31b84bbcba758ee6394316dbe755374553b52aadbb494d SHA512 facbe3d258e0e7514bfe3a8c6516aaf2e405facd233e205794ffab815f850ba7385d2d18d7b3a9c000cfe254a771779c6d8829b2fee66a9d6071b1888155b5a1 WHIRLPOOL 28737af2a1a954d5a34e9fc9faff5a05754f72cfaa51a270108ce90457b2c56a7870ce3017ca05e56ef2938e2e2a601f783f64e4bbe8db304a28aff284376fc6
+DIST bash42-019 1415 SHA256 a8b7cd02207656976016d93cab48e073cb5da002ceb27b7a63fc5ea62007eb56 SHA512 f8086b8358201c10e96d9533b90a58248e26bc379be96a8a9fba88e09c227acf85cddb26c04e93043b35371c12cbf156f591c9af88b1eb61ba8acca53f6d07a1 WHIRLPOOL 0c825c577ffcdb1102f3f9cfb69f6a92ebf73781c0170ff0788090ddfde0d7fb5f3534d06532b4f86b5b8cab7f6c07e30dee4e8f2cbc40bf11a0dd69addf6974
+DIST bash42-020 1825 SHA256 494773f0d0078cb35372d24caa523b00d8fdbbaed71e41dc14c9e47579da3c6f SHA512 23549c7a56e43f9aff7ebc376657ff498d07b47ebbfe6707ba3711e095fd80ca86d077c5379ee62c86711880979debd7b60733d83e12f349ced9e93860d8fc8c WHIRLPOOL 3f4aea688452e778ba440bbccfd0a4e76735ec7b7b3916d5896fcfdc3c4aeafce4c52c4cd21282915b21d12cfc03c170535d2bee86232f90ded87f2731f9cc07
+DIST bash42-021 1532 SHA256 a887a97be226575ecf483be2c76655bd6d1edde1cdfe199c27bd2e6baf32badc SHA512 09783ce72651af6abffebdfb3d3e7446b29ac4bfd395aeec66ef1f5c8a2bdc2238957b7e6f4e896178a5e4e24987de209e6776f29330879c0d8e14e8495d8284 WHIRLPOOL 821d16cfec3cabb2b48a6d46518993d47abd71d1ddcea90301d5f8a7b203c6e224031b344d543ebce2f534e14469b03079d09caa26cf4af4de6006bd477b4a61
+DIST bash42-022 1395 SHA256 9dcdf69df7f8cd2ba88d18c45a0d8f55fbe4f0e273411179db94dd6198b85c6b SHA512 ab6f3f175581f34dc106176fbbf5c2d19e9f421e16f328cffe98f11ee01462b63e0f1e720ec467780d91eb240a4a7fd4fd1cfdf6e0cb1293a8e42e8a4805c152 WHIRLPOOL 80eb65f4cf97167983ead281acb6a114cd866e22a8715b7106c342a442c942992916bd9918931422ee0ddc993762d86a21537724adb7fe4f3543f7fa7b2bf666
+DIST bash42-023 1699 SHA256 5dc11394f1a6c887373c081396efd4f4cc04492696722c57a4811c207965f0bf SHA512 b9d7044800a988dac8c59c48bd4845d3197d6ba965d22fb8f62b51b9d48f5a55519104a16283fb638264a6f858a6d574f8547d75721b96da640721bbdf097d81 WHIRLPOOL 7dee6a8915675019396d0003bd870315a44268c8af1015b29da802cd744fa340a7303d26d189b5a7a162a58f5931ee268a8e8129349b9bf3fa899720b0b119dc
+DIST bash42-024 1363 SHA256 99c826bdd33bee281d0a9191550d62a24d0b256cd41c90afd10abd63a66b99e6 SHA512 b4964ff258905cef806add58eadda17501e98bb3b3b5c8ce8ee0a9250e5bdf0a01329e1bfa973204b1c8e5da8fd068bcef624ec65c2f401c41d0b6b55cb2ba76 WHIRLPOOL c5c615b6d14ec8069b0990be04aa5e4c4ce3d41e910186e041c6ece46311c1591d327598981130c98a2a54144ff0efecfdaad9f6540173c4b0deb7927c70f736
+DIST bash42-025 3969 SHA256 0db0646fd7a559d5702911192bdd387acbbc61cf3c29a34007c3ec840e275515 SHA512 b4b80ef1a7599506454a912e2ee23f422bd199a675199b926c3770ba9091fb69583ddde84e67d897c79e6a047ebecbd18a5ee72557e7526c4108476eb5cff71b WHIRLPOOL c97157bec29f43d3d1367dc3a1625f51cd650646feecf8efc4b902175898c8cd90b7f403a7fb8798cde8232e770933de2e0bfef4f8fc0bd8a3e2bd24ae6fc8d4
+DIST bash42-026 1577 SHA256 e7e90cfaabbce3b4b9c699994e9d9ea4a2f084fd9f37788a80b0b70b47d323d2 SHA512 b00200d0b9040c74117e0150c589abb9e511abb01888c485eac770ab61c234669aeae3957a6752ab99c378ffd8188154bbec713c608b92cd3185a649b71615bf WHIRLPOOL c6851fde44599df98bb1c46bce45fadba204cbf7c368b8c5234ef992d24a2dc43fb107dbc36245ba4d48edda3cdc5c5f6c357c1fc2492ec4c66a36ffc8d97b3f
+DIST bash42-027 1461 SHA256 0c1f6b7256fcc17f42c05f9bbb4138f8e8bb67e79c622c3485711b6f37f7ed42 SHA512 107e13482deb9f6355196b2be9b717090aaffd8cf1580ab347bf38600e607c31cef5173b68e426a45d1678c7c64e7e095d5b6da941a5f53218919a0629e2fcfe WHIRLPOOL b4771a0bb540aa3f196400e4873c565a293ea656831a600d233755b3bc8bddce3d881b39a6f52a57b8ce5f622e9031a624f182a192de7e546b11f999f41a1294
+DIST bash42-028 1834 SHA256 204226de39ba81aaf3dd5a29cd59de052ec9f648538bb9e7f1c8150852b1ed7a SHA512 6e6ad04e7cff2d65045a9afb617c041b571b6c8cc728f9994825545b7d43c0c7868c68b22546784a6f604d3e0ec22b7bf0423e9d49b7109fefdc5d3db4b31399 WHIRLPOOL b13fa3ffaf6a38766743d2760493f58a4787aa7a244038e2fdf266270443d678cdc7aa6205be48665d2455e031f346d2d9095776f2aa879d70857e3132136aa0
+DIST bash42-029 16812 SHA256 d0b08c0817bc5acdb28b466727622a8422ca4d61188313cf162443b7f338f581 SHA512 9349625892201cb46f3669c18a38c86d609c1c9521fb8caecd6880df822897c6d2541dc0cf5d3d11d27779a3be636b0c6550b7e3b010d37e83804fd1ab27d35c WHIRLPOOL 045d8bec5da9508863fe93843cdacbb9fb2ca56e048d1a5bbfa305742688a9476568441633b9dec27a6e9bc56501d96a798714bcc1f9079de6c57d6bd3281cce
+DIST bash42-030 5046 SHA256 12594366591a136d8ccdcb8e218010f2ddab6be28a7f96d0ed32ca927e44afae SHA512 4643252a45b7fe84451c0bea95bd0089a1685067032c8a2e42bc78587deef5b6095de77500d1c54227f92940b201d193984852f65ef886237dd435617639a46a WHIRLPOOL 26c5209c8a29d6c12f61beadbf91d49707d090213d82b44da0aebde28f6ef0d26e256eabb89ef343c24e941a837a6bf57538ca6dc10227dca69536a67bb0f8a6
+DIST bash42-031 2047 SHA256 55f38c4d34775fbb063510c4222b195d998dd86f88288b64a6103e3812f8d9f9 SHA512 de0ea5c279ac956aca48f12e2962dcd4ae2f653349bf2350ae7b53e8370aaf882109fcb29bf559cd81512362bf31a100193de6bf193ff52331e8325df2f82e91 WHIRLPOOL 2dc6e5197beb2204b15493de41c041ef8df948d656d06e18cbaead2ece15d508980306ea7fbb02a1b926bdc92f6e09d182586b07c51fc93716c7c438e2dcbe63
+DIST bash42-032 2416 SHA256 e3a8b563dbb1e5cb7ca85a53515da8b2941213973496d48c4cc5a11c604791ed SHA512 ed35285989290c10f5013770397aa14897e63a28f5ae5a61319ea5881b0abd84410686288cf0f14dd9486d8fd623c410f857b48fbdb62350121e3596527dd3bf WHIRLPOOL f1d156a6b8d68eb71eae54c33aac8c6d24b09bc7ba07e856a71e39ba0f4e4ea7e1a4084d710f4239f7002af2ec73ca8953e81827d4f782ee0fe88406ace86311
+DIST bash42-033 1634 SHA256 f5d12790d69fdfb2f47ac86fa1ea1ecc088880141570273f38dfd3fa4a46434b SHA512 89e277e5a2f43fe75678c0dab57cd7c8761efa38f5902ed0b311ef6a0cdf48f683d3f28fd419908db43afdaf4f81d831f0fd630795f4d20b317543cb9ab95970 WHIRLPOOL 188eb57de7957a73c587904701a16dfa6043e785f47d685b6c4823729806080bb0a11b9c3409b4df69769c3f31ea00306ab42daa73dcfefe37c85ded518b6162
+DIST bash42-034 1345 SHA256 01c1f332101389cedf347c7736102966722a3b213900954e5d625bbc2f1e41b8 SHA512 d59a4a67a241d262de5fb27b96af0f15b0f6e7e922b2d61ea86e037dcd07ea77ec3c1ef6b289e5bbccd011b632538f264bb6426c3a07dba1946c094be56e0b16 WHIRLPOOL e2a2310a55db78a4d668235a4a70d266c28108ac4a04b50864704f7ba745d3e1cf080cf34544b426c1a2d6067adedc32d7491163f0ef5d09df3d51c99451b5cf
+DIST bash42-035 1920 SHA256 cecde463b038b4849635ff0993d9b264fc92403e7ae0accb52c7877aeaed78df SHA512 9f294177e91600f65cfee1b9dbf59b3ad7db449a99cc1013b7c97ef6c814b51afa7a2d2516a37fcc110ff3f0b25c4b06e42094f4665e03e41650bfa69c15eaf7 WHIRLPOOL e8806743da1f16375ffd29fb7c9ae78d8966d6f7faa833025e57fb59bd290a2afdf94777e9ac51917f378312fc8ce05d72ee14525352412c5826e8a2a9909fed
+DIST bash42-036 3123 SHA256 fe293a1bc92ac4d272ae9b9a0de3afef7c06145a2b52337a09cacccc5305aafa SHA512 7e114b99d8f5b210b826715c77adfdbb115e86ace35f7ff331fc6f595a4d0f689a055ccf7adfbafc057c7549f5597e4de455ab9e18a6ffeb5b4fd1d3a2aab99c WHIRLPOOL 6f4e9e9e8251b5a703bad2202301edb45546d94f452669ef681786ff5882269b70791456c7c2040731b5b7cff27c4028823592a61d46204a1271218f7e6c7b8c
+DIST bash42-037 3483 SHA256 c7578cddd3bb2430689c740f58a03403800726dcd1268b28f91bf37f368e1674 SHA512 4466990dc3499ccde5940ddfb383052fa345d4e53fff7c8963ac7482fa280658b4516a1583486175cab2f3a5c8afbbedda8461e3cb1802031bce8db386404608 WHIRLPOOL 918dd53aea5ba7c5da2b6ef3325289d80d5c9e01aa57bd5bf9b9e6a22302865929a670ed7b20a5916237e2078aa69223c681e00c79c5db40dcf4d9ffa455b603
+DIST bash42-038 1290 SHA256 b8c9a81bdf206be58ba491dfad80373b3348af769e80aaf72f7611ddbbbe6d57 SHA512 f835bb393153310fa2e4c2d95a98c0db53a97075f8989d61cccb095db223495777e413b21e9b235391a4a0f34d935a828ff5ccf337520d5dc87d380170efb351 WHIRLPOOL 3625b8a1e17e2ec7925027b6e048262126366ec2691e7a2bdfd23f8da2eefcea6ce967382067c8d6969d1a9cc641ffcd05ab71a713a61762c43d77df01082b8a
+DIST bash42-039 1603 SHA256 f4f9300a60321a5088ae9e54052a64c4d3e876f9a3a17ca104d58fa38b9c1791 SHA512 4c5e44a623840c7efe7894f313a5691307b12aea325dbc923b48deb6ee6ac0bb2ff7afb0d2ee12ab97b04d60c1b9e2a4facc51b66c93be9fe0beda317ec7318f WHIRLPOOL e863174def546d9e9cbcdf5cfa1f735a1503a7caa10ab25a017add965cde524412e37c7fdc43ee80b6dd23676f2231093df64de1d1f41aa823e6cf5c79136531
+DIST bash42-040 1710 SHA256 b265f9caf3c7321f95bc8e0b9e2c46bd86c226f00f05e823699aafb83c4aaa6c SHA512 ff5cfdd2aa846f0831a1f2f7b477e70fc6b68b6c4f4785293c417039a7f3fd4822ade4658ea17046ab9616c3fed02b463e6a3e60aeb7daf6ab667da14b9a482e WHIRLPOOL 7b4672ee3112be3919cef4a30e730daa534ee61c2b5a8e48cef799bf5e17a9bbf58dfbb96626f6edcdad595c92bec0dfc9b5f41a9785c20af7cf3e829553fe65
+DIST bash42-041 1463 SHA256 05cc1951bd9f6624088dd6067486ff47f1825e333273d7df5f1b06b23baaf5eb SHA512 7c9c12fc77bb764dbe8061e6df9419ab84d296a76c4a8bd96cf0f507bf70652a1c869162ac8d8c36f2d16ea0912a142fe14d6db45636bcb6e6fdf1444f0672a6 WHIRLPOOL bfcc374321554787373bac3d1cf22e2cdf4064a0ece447bda2426b90bd55c09f7d2ea2491bbdf2e03c2152783e45bccc98797fb4f12e4fe8095543ddb51f0457
+DIST bash42-042 1571 SHA256 faaa5c1f456517b258b2a65eaa664dd6a01eeff73c8ca4447c3a6de371bbf304 SHA512 99fd4f5f70e3d7d2e8dc1dac80e6ee6e0bb9ba1f629f41019b13f36aba2404aa4d786049bb0039e5fee138a01b813d295d4303c7c3d561a3cf565ffa19bb081e WHIRLPOOL 944cf532a9cdc42dcda55f3b2af96337d31596bcb39e83fb3e223bc3aeb1a45696dfc69e60ef0a68fd0c133728d9d23a037d633d9a267b09f51954ba7693e262
+DIST bash42-043 2110 SHA256 dc2683840f3e890a9c5f85338366ff6cd923285e558eb46aa818a03fa67c5c57 SHA512 70503181c392faf565ef0b23a2f6d1614836ffb9c04791cc4bfb31aff7786fd5efab4072034a4cfba0035595140cf7f9461b1565e4854ec34823cbd4f5ab419d WHIRLPOOL e988a962aac3ed9cd1f105cc5c9a477aaa52defdb049be8d9cd37da40177664507c06550193855cddea3b0a9fea3a04ec027ad14eea845317ee67e1b89697076
+DIST bash42-044 1871 SHA256 10d32d6c9ccdedb1d826f46468631d475f9dcf983fac087766e16df7b99766e6 SHA512 e94cf93c5760225d4ac16f9c73078c3ce9913ffe1e20ffed8fa31084a0efd3dd63762b5437221f6b570078667e3ec19d882169ffe0ba4c498e258e56f17d2511 WHIRLPOOL 23e3fd1ed1a708eead2ce463c0e5acd720accbe9727462b7fd3916b14b8eabf2339c1f7b1dc973249e075bff4fa566753ae43c540ce3ddc84b5cdd72814d568d
+DIST bash42-045 1572 SHA256 ddb7eff0f59d394a483b09feec3771d9026f81ba90afac32846a19b172b2986d SHA512 64f62b19c79eb2c581feda2b9f3c36196b3a794ee9996f6d72078fbb0b8c5878aa2d8ff3e2698cf9769e42083704dd9342bb108212d02aeb79875fad70895560 WHIRLPOOL 02fa25cf02c831675a78a5625e0ba5606b52eb9f3dbdf546cd62983d83cea7fd159b535df94b3c8d39907a7739de7459b69cde3583f28d952a54b384122d264e
+DIST bash42-046 1988 SHA256 95c1323b68c0ecc0ca09565ef2d5218625ced3957b702e04c8bcaad9e7b3816d SHA512 7e4a9d3961cb8bf8559f82684cb75fe8600a377522f582e1a9537696ceccab32d15d1045f850ea91ea8bd2cf286d79412bb47460af26bec8486d5f3137f5d54f WHIRLPOOL 68d83498307dec79bea516c7e7b03dfdff10116a716922c780c66d9017abb38cf6b32f17674490fed93b2701d8271f71f4aaeab6712b184fe4d880b818fab988
+DIST bash42-047 1353 SHA256 c1979201d0345011c419a1c82407cd2a00c60a0c75b7f07e145d17f3718daf7a SHA512 0b43eefcc0ef3a55e309dff339db31a07849ce794e645d917f1836f48c71b84bdc50aa3315b3b2e33acef2e6e81a07f2a026cb43381d0f809c8271cc0a0699a0 WHIRLPOOL 5b2a3000dd72b4cd34f74ffcfe160fe891c8e55766913260207cdad0ed205843398ca9a261f41ef5d54c76782ae291809be0b78c3bb960ea84bb0676cdc6e263
+DIST bash42-048 3258 SHA256 751a5d2330b21ac9aba7323acbbc91c948285f30a4bb41f56796f9a36b983d24 SHA512 4218377052da8900ab6d49b855ae6f7779ad94e9e76daf3424240fbbb1bab37b929989b976ecc3ccbfb66f3c278a7ba546e5d34b214382b41767991945d960b4 WHIRLPOOL 16da3dfb42b1cbb50841e381428135a9d0439d30c519725bd52bf55093c618b7ca8983b4638749dc87d5893a20b4cc5546c1ef5141f62d78fad8ccd5b4261fe7
+DIST bash42-049 1159 SHA256 901cd74cdd9f3e9bb5cc907d563e3d4dcdf9d5f6a751e85b706a958f51bc510e SHA512 a0472af2c3bb30fb3ebf0217b34261aa586314a05fc19c959b4931dcd064e0a6a8b4e37f8b4a9dd13d8fff38822e32e12fb28f4fcb73b0f6dcf42827fa5aba05 WHIRLPOOL a34df0a257a3db06b887abbda2afa823b471e1ba705318822e98d4740ce41fe906edf2d91602bcbbf97f1202067086b33217824af7cf8f2f71c58fb4d6fd65eb
+DIST bash42-050 6650 SHA256 1a19b84455e83b46fcaa27759a5dd643dde2e11ceacd1e84e351970ea04d8ba6 SHA512 317a5f90d909a5db697025894b50f35f26f8293b3ce1ad9b8e9dc6d0661f277659c8cc0a70a113d3889b2de6e932e5af5ba89a427f32879c69d4e3db24e6a2a8 WHIRLPOOL 2d77d23cd0e2baa59f8024e3e09f9db48f0ab999157d9c6911c4893abcf6a3e320f8f1614049ebf2b7b9ff5da57041ef1fd1b873746a940cf720ca947ad75d43
+DIST bash42-051 5063 SHA256 3e15347bc23a116b8ee898acec9d0ac744612ce9bbc0096fff47c4cf1149051c SHA512 de9d35fae23b9c7782139b9812460a602252675a9db556d7e38e8c15ae914db0e4a1f2e06db909e249a36f33ca1f04aed25fc8e036d9b1fc6ab58d8148524e2a WHIRLPOOL 8a61a34206d97e087a298dabe5b6347eaf22e846bdfebedfed1c534063e7b78f9e2a6a68de330f6069aeb736444ec50bcad105c683ecefc64f288abbe8a44b96
+DIST bash42-052 1810 SHA256 f098fa7148f76c80ec82c704a1aab6ae246960a7ce05624ecc8844fa1561dc0c SHA512 94654d078a58a7acdea99c955315f9537575c7965514eeb19d5af9a18973042338500a72e917094ebda60fee1016cac8328f37e1bc011f2b485f167cba2aabdf WHIRLPOOL 9cc299e57c9039ec0d34cfa0031fc89f9a59aca394389b807bfc193bb29ef8b9dc7aec8a0f8a4349bb0b0dab2bbca76a7bc154566188164528e5d05067ee08fe
+DIST bash42-053 3859 SHA256 20e693d7543885c8da78db873782e56206f522d27da2c953103f23b950ffd3de SHA512 241dcc2d3b944d0f136ca5f2564dbf3593491664c5bc18d5643d9861f273ca18dfa92da2f98e2c8d62e770b7450ffc27b82260fd50974708cddc4c26604942e3 WHIRLPOOL 78683a3107521a2dd76b98f8412d96eed69b6402f111f6ecca2bd91b2cb753eb22a7bce302f9618d7a99010e8022259387350258a463e78865f5f9ecdea71cb7
+EBUILD bash-4.2_p53.ebuild 9839 SHA256 b3537561c61436aae65effbc30c655f430e41af92ab8440fafa3de2a607fc0f6 SHA512 4d410894c8a1ee847e5a2c7b87dd939aff65b6bc123069d99285e238f68b525e8d847bba6e26cafa72a42b29b61c673482152c9e8b29acef862de9c5e2da4ac4 WHIRLPOOL 852b1b2adeeb5f2ab396a8ea776fbd8300401e772e8bb816c555b0c1cf4458c8785ee0524f7a16284211d05192d09c8153a60fefafadeb1f3441701246044b97
diff --git a/app-shells/bash/bash-4.2_p53.ebuild b/app-shells/bash/bash-4.2_p53.ebuild
new file mode 100644
index 00000000..5690b560
--- /dev/null
+++ b/app-shells/bash/bash-4.2_p53.ebuild
@@ -0,0 +1,301 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-shells/bash/bash-4.2_p53.ebuild,v 1.4 2014/10/08 06:21:18 armin76 Exp $
+
+EAPI="4"
+
+inherit eutils flag-o-matic toolchain-funcs multilib prefix
+
+# Official patchlevel
+# See ftp://ftp.cwru.edu/pub/bash/bash-4.2-patches/
+PLEVEL=${PV##*_p}
+MY_PV=${PV/_p*}
+MY_PV=${MY_PV/_/-}
+MY_P=${PN}-${MY_PV}
+[[ ${PV} != *_p* ]] && PLEVEL=0
+patches() {
+ local opt=$1 plevel=${2:-${PLEVEL}} pn=${3:-${PN}} pv=${4:-${MY_PV}}
+ [[ ${plevel} -eq 0 ]] && return 1
+ eval set -- {1..${plevel}}
+ set -- $(printf "${pn}${pv/\.}-%03d " "$@")
+ if [[ ${opt} == -s ]] ; then
+ echo "${@/#/${DISTDIR}/}"
+ else
+ local u
+ for u in ftp://ftp.cwru.edu/pub/bash mirror://gnu/${pn} ; do
+ printf "${u}/${pn}-${pv}-patches/%s " "$@"
+ done
+ fi
+}
+
+DESCRIPTION="The standard GNU Bourne again shell"
+HOMEPAGE="http://tiswww.case.edu/php/chet/bash/bashtop.html"
+SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz $(patches)"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~ppc-aix ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="afs bashlogger examples mem-scramble +net nls plugins +readline vanilla"
+
+DEPEND=">=sys-libs/ncurses-5.2-r2
+ readline? ( >=sys-libs/readline-6.2 )
+ nls? ( virtual/libintl )"
+RDEPEND="${DEPEND}
+ !!<sys-apps/portage-2.1.6.7_p1
+ !!<sys-apps/paludis-0.26.0_alpha5"
+# we only need yacc when the .y files get patched (bash42-005)
+DEPEND+=" virtual/yacc"
+
+S=${WORKDIR}/${MY_P}
+
+pkg_setup() {
+ if is-flag -malign-double ; then #7332
+ eerror "Detected bad CFLAGS '-malign-double'. Do not use this"
+ eerror "as it breaks LFS (struct stat64) on x86."
+ die "remove -malign-double from your CFLAGS mr ricer"
+ fi
+ if use bashlogger ; then
+ ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs."
+ ewarn "This will log ALL output you enter into the shell, you have been warned."
+ fi
+}
+
+src_unpack() {
+ unpack ${MY_P}.tar.gz
+}
+
+src_prepare() {
+ # Include official patches
+ [[ ${PLEVEL} -gt 0 ]] && epatch $(patches -s)
+
+ # Clean out local libs so we know we use system ones
+ rm -rf lib/{readline,termcap}/*
+ touch lib/{readline,termcap}/Makefile.in # for config.status
+ sed -ri -e 's:\$[(](RL|HIST)_LIBSRC[)]/[[:alpha:]]*.h::g' Makefile.in || die
+
+ # Avoid regenerating docs after patches #407985
+ sed -i -r '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in || die
+ touch -r . doc/*
+
+ epatch "${FILESDIR}"/${PN}-4.2-execute-job-control.patch #383237
+ epatch "${FILESDIR}"/${PN}-4.2-parallel-build.patch
+ epatch "${FILESDIR}"/${PN}-4.2-no-readline.patch
+ epatch "${FILESDIR}"/${PN}-4.2-read-retry.patch #447810
+ if ! use vanilla ; then
+ epatch "${FILESDIR}"/${PN}-4.2-speed-up-read-N.patch
+ fi
+
+ # this adds additional prefixes
+ epatch "${FILESDIR}"/${PN}-4.0-configs-prefix.patch
+ eprefixify pathnames.h.in
+
+ epatch "${FILESDIR}"/${PN}-4.0-bashintl-in-siglist.patch
+ epatch "${FILESDIR}"/${PN}-4.0-cflags_for_build.patch
+
+ epatch "${FILESDIR}"/${PN}-4.2-darwin13.patch # patch from 4.3
+ epatch "${FILESDIR}"/${PN}-4.1-blocking-namedpipe.patch # aix lacks /dev/fd/
+ epatch "${FILESDIR}"/${PN}-4.0-childmax-pids.patch # AIX, Interix
+ if [[ ${CHOST} == *-interix* ]]; then
+ epatch "${FILESDIR}"/${PN}-4.0-interix-x64.patch
+ fi
+
+ # Include appropriate headers, to satisfy clang and avoid -Wimplicit-function-declaration
+ epatch "${FILESDIR}"/${PN}-4.2-signal.h.patch
+
+ # Fix not to reference a disabled symbol if USE=-readline, breaks
+ # Darwin, bug #500932
+ if use !readline ; then
+ sed -i -e 's/enable_hostname_completion//' builtins/shopt.def || die
+ fi
+
+ # Nasty trick to set bashbug's shebang to bash instead of sh. We don't have
+ # sh while bootstrapping for the first time, This works around bug 309825
+ sed -i -e '1s:sh:bash:' support/bashbug.sh || die
+
+ # modify the bashrc file for prefix
+ pushd "${T}" > /dev/null || die
+ cp "${FILESDIR}"/bashrc .
+ epatch "${FILESDIR}"/bashrc-prefix.patch
+ eprefixify bashrc
+ popd > /dev/null
+
+ # DON'T YOU EVER PUT eautoreconf OR SIMILAR HERE! THIS IS A CRITICAL
+ # PACKAGE THAT MUST NOT RELY ON AUTOTOOLS, USE A SELF-SUFFICIENT PATCH
+ # INSTEAD!!!
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf=()
+
+ # For descriptions of these, see config-top.h
+ # bashrc/#26952 bash_logout/#90488 ssh/#24762
+ if use prefix ; then
+ append-cppflags \
+ -DDEFAULT_PATH_VALUE=\'\"${EPREFIX}/usr/sbin:${EPREFIX}/usr/bin:${EPREFIX}/sbin:${EPREFIX}/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\"\' \
+ -DSTANDARD_UTILS_PATH=\'\"${EPREFIX}/bin:${EPREFIX}/usr/bin:${EPREFIX}/sbin:${EPREFIX}/usr/sbin:/bin:/usr/bin:/sbin:/usr/sbin\"\' \
+ -DSYS_BASHRC=\'\"${EPREFIX}/etc/bash/bashrc\"\' \
+ -DSYS_BASH_LOGOUT=\'\"${EPREFIX}/etc/bash/bash_logout\"\' \
+ -DNON_INTERACTIVE_LOGIN_SHELLS \
+ -DSSH_SOURCE_BASHRC \
+ $(use bashlogger && echo -DSYSLOG_HISTORY)
+ else
+ append-cppflags \
+ -DDEFAULT_PATH_VALUE=\'\"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\"\' \
+ -DSTANDARD_UTILS_PATH=\'\"/bin:/usr/bin:/sbin:/usr/sbin\"\' \
+ -DSYS_BASHRC=\'\"/etc/bash/bashrc\"\' \
+ -DSYS_BASH_LOGOUT=\'\"/etc/bash/bash_logout\"\' \
+ -DNON_INTERACTIVE_LOGIN_SHELLS \
+ -DSSH_SOURCE_BASHRC \
+ $(use bashlogger && echo -DSYSLOG_HISTORY)
+ fi
+
+ # IRIX's MIPSpro produces garbage with >= -O2, bug #209137
+ [[ ${CHOST} == mips-sgi-irix* ]] && replace-flags -O? -O1
+
+ if [[ ${CHOST} == *-aix* ]] || [[ ${CHOST} == *-hpux* ]] ; then
+ # Avoid finding tgetent() in anything else but ncurses library,
+ # as <termcap.h> is provided by ncurses, even during bootstrap
+ # on AIX and HP-UX, and we would get undefined symbols like
+ # BC, PC, UP if linking against something else.
+ # The bash-bug is that it doesn't check for <termcap.h> provider,
+ # and unfortunately {,n}curses is checked last.
+ # Even if ncurses provides libcurses.so->libncurses.so symlink,
+ # it feels more clean to link against libncurses.so directly.
+ # (all configure-variables for tgetent() are shown here)
+ export ac_cv_func_tgetent=no
+ export ac_cv_lib_termcap_tgetent=no # found on HP-UX
+ export ac_cv_lib_tinfo_tgetent=no
+ export ac_cv_lib_curses_tgetent=no # found on AIX
+ #export ac_cv_lib_ncurses_tgetent=no
+ fi
+
+ # Don't even think about building this statically without
+ # reading Bug 7714 first. If you still build it statically,
+ # don't come crying to us with bugs ;).
+ #use static && export LDFLAGS="${LDFLAGS} -static"
+ use nls || myconf+=( --disable-nls )
+
+ # Historically, we always used the builtin readline, but since
+ # our handling of SONAME upgrades has gotten much more stable
+ # in the PM (and the readline ebuild itself preserves the old
+ # libs during upgrades), linking against the system copy should
+ # be safe.
+ # Exact cached version here doesn't really matter as long as it
+ # is at least what's in the DEPEND up above.
+ export ac_cv_rl_version=6.2
+
+ # Force linking with system curses ... the bundled termcap lib
+ # sucks bad compared to ncurses. For the most part, ncurses
+ # is here because readline needs it. But bash itself calls
+ # ncurses in one or two small places :(.
+
+ use plugins && case ${CHOST} in
+ *-linux-gnu | *-solaris* | *-freebsd* )
+ append-ldflags -Wl,-rpath,"${EPREFIX}"/usr/$(get_libdir)/bash
+ ;;
+ # Darwin doesn't need an rpath here (in fact doesn't grok the argument)
+ esac
+ tc-export AR #444070
+ econf \
+ --with-installed-readline=. \
+ --with-curses \
+ $(use_with afs) \
+ $(use_enable net net-redirections) \
+ --disable-profiling \
+ $(use_enable mem-scramble) \
+ $(use_with mem-scramble bash-malloc) \
+ $(use_enable readline) \
+ $(use_enable readline history) \
+ $(use_enable readline bang-history) \
+ "${myconf[@]}"
+}
+
+src_compile() {
+ emake
+
+ if use plugins ; then
+ emake -C examples/loadables all others
+ fi
+}
+
+src_install() {
+ emake install DESTDIR="${D}"
+
+ dodir /bin
+ mv "${ED}"/usr/bin/bash "${ED}"/bin/ || die
+ dosym bash /bin/rbash
+
+ insinto /etc/bash
+ doins "${T}"/bashrc
+ doins "${FILESDIR}"/bash_logout
+ insinto /etc/skel
+ for f in bash{_logout,_profile,rc} ; do
+ newins "${FILESDIR}"/dot-${f} .${f}
+ done
+
+ local sed_args=(
+ -e "s:#${USERLAND}#@::"
+ -e '/#@/d'
+ )
+ if ! use readline ; then
+ sed_args+=( #432338
+ -e '/^shopt -s histappend/s:^:#:'
+ -e 's:use_color=true:use_color=false:'
+ )
+ fi
+ sed -i \
+ "${sed_args[@]}" \
+ "${ED}"/etc/skel/.bashrc \
+ "${ED}"/etc/bash/bashrc || die
+
+ if use plugins ; then
+ exeinto /usr/$(get_libdir)/bash
+ doexe $(echo examples/loadables/*.o | sed 's:\.o::g')
+ insinto /usr/include/bash-plugins
+ doins *.h builtins/*.h examples/loadables/*.h include/*.h \
+ lib/{glob/glob.h,tilde/tilde.h}
+ fi
+
+ if use examples ; then
+ for d in examples/{functions,misc,scripts,scripts.noah,scripts.v2} ; do
+ exeinto /usr/share/doc/${PF}/${d}
+ insinto /usr/share/doc/${PF}/${d}
+ for f in ${d}/* ; do
+ if [[ ${f##*/} != PERMISSION ]] && [[ ${f##*/} != *README ]] ; then
+ doexe ${f}
+ else
+ doins ${f}
+ fi
+ done
+ done
+ fi
+
+ doman doc/*.1
+ dodoc README NEWS AUTHORS CHANGES COMPAT Y2K doc/FAQ doc/INTRO
+ dosym bash.info /usr/share/info/bashref.info
+}
+
+pkg_preinst() {
+ if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]] ; then
+ mkdir -p "${EROOT}"/etc/bash
+ mv -f "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/
+ fi
+
+ if [[ -L ${EROOT}/bin/sh ]]; then
+ # rewrite the symlink to ensure that its mtime changes. having /bin/sh
+ # missing even temporarily causes a fatal error with paludis.
+ local target=$(readlink "${EROOT}"/bin/sh)
+ local tmp=$(emktemp "${EROOT}"/bin)
+ ln -sf "${target}" "${tmp}"
+ mv -f "${tmp}" "${EROOT}"/bin/sh
+ fi
+}
+
+pkg_postinst() {
+ # If /bin/sh does not exist, provide it
+ if [[ ! -e ${EROOT}/bin/sh ]]; then
+ ln -sf bash "${EROOT}"/bin/sh
+ fi
+}
diff --git a/app-shells/bash/files/bash-4.0-bashintl-in-siglist.patch b/app-shells/bash/files/bash-4.0-bashintl-in-siglist.patch
new file mode 100644
index 00000000..14b06620
--- /dev/null
+++ b/app-shells/bash/files/bash-4.0-bashintl-in-siglist.patch
@@ -0,0 +1,12 @@
+http://lists.gnu.org/archive/html/bug-bash/2009-06/msg00016.html
+
+--- siglist.c.orig 2009-06-22 17:40:04.000000000 +0200
++++ siglist.c 2009-06-22 17:42:21.000000000 +0200
+@@ -33,6 +33,7 @@
+ #endif
+
+ #include "xmalloc.h"
++#include "bashintl.h"
+
+ char *sys_siglist[NSIG];
+
diff --git a/app-shells/bash/files/bash-4.0-cflags_for_build.patch b/app-shells/bash/files/bash-4.0-cflags_for_build.patch
new file mode 100644
index 00000000..954a4a93
--- /dev/null
+++ b/app-shells/bash/files/bash-4.0-cflags_for_build.patch
@@ -0,0 +1,23 @@
+In non-cross-builds, LDFLAGS_FOR_BUILD contain CFLAGS via LDFLAGS.
+So CFLAGS_FOR_BUILD also have to contain CFLAGS, to allow 32bit
+builds on x86_64 multilib hosts using CFLAGS=-m32.
+--- configure.in.orig 2009-09-23 09:38:11.925846236 +0200
++++ configure.in 2009-09-23 09:39:02.346543283 +0200
+@@ -466,6 +466,7 @@
+
+ if test "X$cross_compiling" = "Xno"; then
+ CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-"$CPPFLAGS"}
++ CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-'$(CFLAGS)'}
+ LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-'$(LDFLAGS)'}
+ else
+ CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-""}
+--- configure.orig 2009-02-09 14:33:13.000000000 +0100
++++ configure 2009-09-23 09:40:00.816540401 +0200
+@@ -5103,6 +5103,7 @@
+
+ if test "X$cross_compiling" = "Xno"; then
+ CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-"$CPPFLAGS"}
++ CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-'$(CFLAGS)'}
+ LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-'$(LDFLAGS)'}
+ else
+ CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-""}
diff --git a/app-shells/bash/files/bash-4.0-childmax-pids.patch b/app-shells/bash/files/bash-4.0-childmax-pids.patch
new file mode 100644
index 00000000..87f875a9
--- /dev/null
+++ b/app-shells/bash/files/bash-4.0-childmax-pids.patch
@@ -0,0 +1,123 @@
+Initial report:
+http://lists.gnu.org/archive/html/bug-bash/2012-07/msg00054.html
+Small testcase breaking on AIX, requires maxuproc > 128
+ $ /usr/sbin/lsattr -E -l sys0 | grep maxuproc
+http://lists.gnu.org/archive/html/bug-bash/2012-07/msg00080.html
+
+ 7/24
+ ----
+configure.in
+ - interix: define RECYCLES_PIDS. Based on a report from Michael
+ Haubenwallner <michael.haubenwallner@salomon.at>
+
+ 7/26
+ ----
+jobs.c
+ - make_child: call bgp_delete on the newly-created pid unconditionally.
+ Some systems reuse pids before cycling through an entire set of
+ CHILD_MAX/_SC_CHILD_MAX unique pids. This is no longer dependent
+ on RECYCLES_PIDS. Based on a report from Michael Haubenwallner
+ <michael.haubenwallner@salomon.at>
+
+ 7/28
+ ----
+subst.c
+ - command_substitute: make sure last_made_pid gets reset if make_child
+ fails
+
+execute_cmd.c
+ - execute_command_internal: case cm_simple: decide whether or not to
+ wait_for a child if already_making_children is non-zero, indicates
+ that there is an unwaited-for child. More of fix for bug report
+ from Michael Haubenwallner <michael.haubenwallner@salomon.at>
+
+jobs.c
+ - make_child: call delete_old_job (new_pid) unconditionally, don't
+ bother to check whether or not pid wrap occurred. Rest of fix for
+ bug report from Michael Haubenwallner
+ <michael.haubenwallner@salomon.at>
+
+#diff --git a/configure.in b/configure.in
+#index df91278..646abee 100644
+#--- a/configure.in
+#+++ b/configure.in
+#@@ -1067,7 +1067,7 @@ linux*) LOCAL_LDFLAGS=-rdynamic # allow dynamic loading
+# *qnx*) LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;;
+# powerux*) LOCAL_LIBS="-lgen" ;;
+# cygwin*) LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
+#-opennt*|interix*) LOCAL_CFLAGS="-DNO_MAIN_ENV_ARG -DBROKEN_DIRENT_D_INO -D_POSIX_SOURCE -D_ALL_SOURCE" ;;
+#+opennt*|interix*) LOCAL_CFLAGS="-DNO_MAIN_ENV_ARG -DBROKEN_DIRENT_D_INO -D_POSIX_SOURCE -D_ALL_SOURCE -DRECYCLES_PIDS" ;;
+# esac
+#
+# dnl Stanza for OS/compiler pair-specific flags
+diff --git a/configure b/configure
+index 0e62d6f..d913772 100755
+--- a/configure
++++ b/configure
+@@ -15760,7 +15760,7 @@ linux*) LOCAL_LDFLAGS=-rdynamic # allow dynamic loading
+ *qnx*) LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;;
+ powerux*) LOCAL_LIBS="-lgen" ;;
+ cygwin*) LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
+-opennt*|interix*) LOCAL_CFLAGS="-DNO_MAIN_ENV_ARG -DBROKEN_DIRENT_D_INO -D_POSIX_SOURCE -D_ALL_SOURCE" ;;
++opennt*|interix*) LOCAL_CFLAGS="-DNO_MAIN_ENV_ARG -DBROKEN_DIRENT_D_INO -D_POSIX_SOURCE -D_ALL_SOURCE -DRECYCLES_PIDS" ;;
+ esac
+
+ case "${host_os}-${CC}" in
+diff --git a/execute_cmd.c b/execute_cmd.c
+index 5beddef..8615b0b 100644
+--- a/execute_cmd.c
++++ b/execute_cmd.c
+@@ -775,9 +782,11 @@ execute_command_internal (command, asynchronous, pipe_in, pipe_out,
+ the child. */
+
+ /* XXX - this is something to watch out for if there are problems
+- when the shell is compiled without job control. */
+- if (already_making_children && pipe_out == NO_PIPE &&
+- last_made_pid != last_pid)
++ when the shell is compiled without job control. Don't worry about
++ whether or not last_made_pid == last_pid; already_making_children
++ tells us whether or not there are unwaited-for children to wait
++ for and reap. */
++ if (already_making_children && pipe_out == NO_PIPE)
+ {
+ stop_pipeline (asynchronous, (COMMAND *)NULL);
+
+diff --git a/jobs.c b/jobs.c
+index 18b189d..d190e82 100644
+--- a/jobs.c
++++ b/jobs.c
+@@ -1898,15 +1898,13 @@ make_child (command, async_p)
+ last_asynchronous_pid = 1;
+ #endif
+
+- if (pid_wrap > 0)
+- delete_old_job (pid);
++ /* Delete the saved status for any job containing this PID in case it's
++ been reused. */
++ delete_old_job (pid);
+
+-#if !defined (RECYCLES_PIDS)
+- /* Only check for saved status if we've saved more than CHILD_MAX
+- statuses, unless the system recycles pids. */
+- if ((js.c_reaped + bgpids.npid) >= js.c_childmax)
+-#endif
+- bgp_delete (pid); /* new process, discard any saved status */
++ /* Perform the check for pid reuse unconditionally. Some systems reuse
++ PIDs before giving a process CHILD_MAX/_SC_CHILD_MAX unique ones. */
++ bgp_delete (pid); /* new process, discard any saved status */
+
+ last_made_pid = pid;
+
+diff --git a/subst.c b/subst.c
+index 057c992..e772dd7 100644
+--- a/subst.c
++++ b/subst.c
+@@ -5332,6 +5332,8 @@ command_substitute (string, quoted)
+ sys_error (_("cannot make child for command substitution"));
+ error_exit:
+
++ last_made_pid = old_pid;
++
+ FREE (istring);
+ close (fildes[0]);
+ close (fildes[1]);
diff --git a/app-shells/bash/files/bash-4.0-configs-prefix.patch b/app-shells/bash/files/bash-4.0-configs-prefix.patch
new file mode 100644
index 00000000..c6ada7c7
--- /dev/null
+++ b/app-shells/bash/files/bash-4.0-configs-prefix.patch
@@ -0,0 +1,15 @@
+--- bash-4.0/pathnames.h.in
++++ bash-4.0/pathnames.h.in
+@@ -22,10 +22,10 @@
+ #define _PATHNAMES_H_
+
+ /* The default file for hostname completion. */
+-#define DEFAULT_HOSTS_FILE "/etc/hosts"
++#define DEFAULT_HOSTS_FILE "@GENTOO_PORTAGE_EPREFIX@/etc/hosts"
+
+ /* The default login shell startup file. */
+-#define SYS_PROFILE "/etc/profile"
++#define SYS_PROFILE "@GENTOO_PORTAGE_EPREFIX@/etc/profile"
+
+ /* The default location of the bash debugger initialization/startup file. */
+ #define DEBUGGER_START_FILE "@DEBUGGER_START_FILE@"
diff --git a/app-shells/bash/files/bash-4.0-interix-x64.patch b/app-shells/bash/files/bash-4.0-interix-x64.patch
new file mode 100644
index 00000000..5e3f9009
--- /dev/null
+++ b/app-shells/bash/files/bash-4.0-interix-x64.patch
@@ -0,0 +1,40 @@
+diff -ru bash-4.0.orig/shell.c bash-4.0/shell.c
+--- bash-4.0.orig/shell.c 2009-10-06 09:39:27 +0200
++++ bash-4.0/shell.c 2009-10-06 10:17:47 +0200
+@@ -357,6 +357,36 @@
+ #ifdef __OPENNT
+ char **env;
+
++#ifdef __INTERIX
++ /* on x64 interix, microsoft introduced freaky environment names
++ * like COMMONPROGRAMFILES(X86) - (yes, _with_ those braces) ...
++ * simply handle them, by transforming all '(' and ')' in the existing
++ * environment to '_'s ... */
++#define _ENV_RPL(var, end, srch, rpl) \
++ while(var) { \
++ char * _p_fnd = strchr(var, srch); \
++ \
++ if(!_p_fnd || _p_fnd >= end) \
++ break; \
++ \
++ *_p_fnd = rpl; \
++ }
++
++ {
++ char ** _pe = environ;
++
++ while(_pe && *_pe) {
++ char * _p_eq = strchr(*_pe, '=');
++
++ if(_p_eq) {
++ _ENV_RPL(*_pe, _p_eq, '(', '_');
++ _ENV_RPL(*_pe, _p_eq, ')', '_');
++ }
++ ++_pe;
++ }
++ }
++#endif
++
+ env = environ;
+ #endif /* __OPENNT */
+
diff --git a/app-shells/bash/files/bash-4.1-blocking-namedpipe.patch b/app-shells/bash/files/bash-4.1-blocking-namedpipe.patch
new file mode 100644
index 00000000..224583dd
--- /dev/null
+++ b/app-shells/bash/files/bash-4.1-blocking-namedpipe.patch
@@ -0,0 +1,14 @@
+Breaks on platforms without /dev/fd/ like AIX, so named pipes are used instead:
+bash -c 'for x in {0..9}; do echo $x; done > >(cnt=0; while read line; do let cnt=cnt+1; done; echo $cnt)'
+
+--- subst.c.orig 2013-10-31 15:33:56.243896345 +0100
++++ subst.c 2013-10-31 15:34:14.285099859 +0100
+@@ -4839,7 +4839,7 @@
+
+ #if !defined (HAVE_DEV_FD)
+ /* Open the named pipe in the child. */
+- fd = open (pathname, open_for_read_in_child ? O_RDONLY|O_NONBLOCK : O_WRONLY);
++ fd = open (pathname, open_for_read_in_child ? O_RDONLY : O_WRONLY);
+ if (fd < 0)
+ {
+ /* Two separate strings for ease of translation. */
diff --git a/app-shells/bash/files/bash-4.2-darwin13.patch b/app-shells/bash/files/bash-4.2-darwin13.patch
new file mode 100644
index 00000000..670e11a3
--- /dev/null
+++ b/app-shells/bash/files/bash-4.2-darwin13.patch
@@ -0,0 +1,41 @@
+https://lists.gnu.org/archive/html/bug-bash/2013-07/msg00011.html
+https://github.com/Homebrew/homebrew/commit/5bfaa0553c8318c268cab1a169f0b6d2487e7fee#diff-13b7da79ca811b00c712f3fc37bc8cc3R61
+
+(Fixed in next bash release)
+
+From 481ac7aca4763deb475ee134884a7ab719f7b152 Mon Sep 17 00:00:00 2001
+From: Jeremy Olexa <darkside@gentoo.org>
+Date: Wed, 15 Jan 2014 21:25:24 -0600
+Subject: [PATCH] fix polite_directory_format on osx 10.9
+
+---
+ parse.y | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/parse.y b/parse.y
+index dc78e7e..88f0417 100644
+--- a/parse.y
++++ b/parse.y
+@@ -5271,9 +5271,18 @@ decode_prompt_string (string)
+ #undef ROOT_PATH
+ #undef DOUBLE_SLASH_ROOT
+ else
++ {
+ /* polite_directory_format is guaranteed to return a string
+ no longer than PATH_MAX - 1 characters. */
+- strcpy (t_string, polite_directory_format (t_string));
++ /* polite_directory_format might simply return the pointer to
++ t_string strcpy(3) tells dst and src may not overlap, OS X 10.9
++ asserts this and triggers an abort trap if that's the case */
++ temp = polite_directory_format (t_string);
++ if (temp != t_string)
++ strcpy (t_string, temp);
++ }
++
++
+
+ temp = trim_pathname (t_string, PATH_MAX - 1);
+ /* If we're going to be expanding the prompt string later,
+--
+1.8.3.4 (Apple Git-47)
+
diff --git a/app-shells/bash/files/bash-4.2-execute-job-control.patch b/app-shells/bash/files/bash-4.2-execute-job-control.patch
new file mode 100644
index 00000000..82b73e51
--- /dev/null
+++ b/app-shells/bash/files/bash-4.2-execute-job-control.patch
@@ -0,0 +1,24 @@
+fix build when job control is disabled
+
+http://lists.gnu.org/archive/html/bug-bash/2011-06/msg00110.html
+http://lists.gnu.org/archive/html/bug-bash/2011-07/msg00057.html
+http://lists.gnu.org/archive/html/bug-bash/2011-09/msg00039.html
+https://bugs.gentoo.org/383237
+
+should be fixed in next release of bash ...
+
+--- a/execute_cmd.c
++++ b/execute_cmd.c
+@@ -2202,7 +2202,11 @@
+ /* If the `lastpipe' option is set with shopt, and job control is not
+ enabled, execute the last element of non-async pipelines in the
+ current shell environment. */
+- if (lastpipe_opt && job_control == 0 && asynchronous == 0 && pipe_out == NO_PIPE && prev > 0)
++ if (lastpipe_opt &&
++#if defined(JOB_CONTROL)
++ job_control == 0 &&
++#endif
++ asynchronous == 0 && pipe_out == NO_PIPE && prev > 0)
+ {
+ lstdin = move_to_high_fd (0, 0, 255);
+ if (lstdin > 0)
diff --git a/app-shells/bash/files/bash-4.2-no-readline.patch b/app-shells/bash/files/bash-4.2-no-readline.patch
new file mode 100644
index 00000000..14eb6bf4
--- /dev/null
+++ b/app-shells/bash/files/bash-4.2-no-readline.patch
@@ -0,0 +1,19 @@
+fix building when readline is disabled
+
+--- a/builtins/complete.def
++++ b/builtins/complete.def
+@@ -49,6 +49,8 @@ $END
+
+ #include <config.h>
+
++#ifdef READLINE
++
+ #include <stdio.h>
+
+ #include "../bashtypes.h"
+@@ -867,3 +869,5 @@ compopt_builtin (list)
+
+ return (ret);
+ }
++
++#endif
diff --git a/app-shells/bash/files/bash-4.2-parallel-build.patch b/app-shells/bash/files/bash-4.2-parallel-build.patch
new file mode 100644
index 00000000..ab2de862
--- /dev/null
+++ b/app-shells/bash/files/bash-4.2-parallel-build.patch
@@ -0,0 +1,106 @@
+https://lists.gnu.org/archive/html/bug-bash/2011-10/msg00036.html
+
+the current yacc rules allow multiple runs to generate the same files. usually
+this doesn't come up as the generated files are shipped in the tarball, but
+when you modify parse.y (applying a patch or developing or whatever), you can
+hit this problem.
+
+simple way of showing this:
+ make -j y.tab.{c,h}
+a correct system would not show the yacc parser running twice :)
+
+simple patch is to have the .h file depend on the .c file, and have the .h file
+itself issue a dummy rule (to avoid make thinking things changed).
+
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -579,16 +579,17 @@
+
+ # old rules
+ GRAM_H = parser-built
+-y.tab.o: y.tab.c ${GRAM_H} command.h ${BASHINCDIR}/stdc.h input.h
++y.tab.o: y.tab.h y.tab.c ${GRAM_H} command.h ${BASHINCDIR}/stdc.h input.h
+ ${GRAM_H}: y.tab.h
+ @-if test -f y.tab.h ; then \
+ cmp -s $@ y.tab.h 2>/dev/null || cp -p y.tab.h $@; \
+ fi
+-y.tab.c y.tab.h: parse.y
++y.tab.c: parse.y
+ # -if test -f y.tab.h; then mv -f y.tab.h old-y.tab.h; fi
+ $(YACC) -d $(srcdir)/parse.y
+ touch parser-built
+ # -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
++y.tab.h: y.tab.c ; @true
+
+ # experimental new rules - work with GNU make but not BSD (or OSF) make
+ #y.tab.o: y.tab.c y.tab.h
+
+https://lists.gnu.org/archive/html/bug-bash/2011-10/msg00037.html
+
+the current code generates a bunch of local libraries in subdirs and then
+links bash against that. those subdirs sometimes need version.h. so they
+have a rule to change back up to the parent dir and build version.h (which is
+fine). the trouble is that the top level objects and the subdirs are allowed
+to build in parallel, so it's possible for multiple children to see that
+version.h is not available and that it needs to be created, so they all do.
+
+there is even more trouble is that version.h depends on all the top level
+sources, some of which are compiled (like syntax.c). so these parallel
+children all kick off a job to generate syntax.c which in turn requires the
+mksyntax helper executable. obviously multiple processes rm-ing, compiling,
+and linking the same files quickly falls apart.
+
+so tweak the subdirs to all depend on the .build target which in turn depends
+on all of these top level files being generated. now the subdirs won't try and
+recursively enter the top level.
+
+(noticed by David James)
+
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -597,6 +598,11 @@
+ # $(YACC) -d $(srcdir)/parse.y
+ # -if cmp -s old-y.tab.h y.tab.h; then mv old-y.tab.h y.tab.h; fi
+
++# Subdirs will often times want version.h, so they'll change back up to
++# the top level and try to create it. This causes parallel build issues
++# so just force top level sanity before we descend.
++$(LIBDEP): .build
++
+ $(READLINE_LIBRARY): config.h $(READLINE_SOURCE)
+ @echo making $@ in ${RL_LIBDIR}
+ @( { test "${RL_LIBDIR}" = "${libdir}" && exit 0; } || \
+
+http://lists.gnu.org/archive/html/bug-bash/2011-10/msg00107.html
+
+the top level Makefile will recurse into the defdir for multiple targets
+(libbuiltins.a, common.o, bashgetopt.o, builtext.h), and since these do
+not have any declared interdependencies, parallel makes will recurse into
+the subdir and build the respective targets.
+
+nothing depends on common.o or bashgetopt.o, so those targets don't get
+used normally. this leaves libbuiltins.a and builtext.h. at a glance,
+this shouldn't be a big deal, but when we look closer, there's a subtle
+failure lurking.
+
+most of the objects in the defdir need to be generated which means they
+need to build+link the local mkbuiltins helper. the builtext.h header
+also needs to be generated by the mkbuiltins helper. so when the top
+level launches a child for libbuiltins.a and a child for builtext.h, we
+can hit a race condition where the two try to generate mkbuiltins, and
+the build randomly fails.
+
+so update libbuiltins.a to depend on builtext.h. this should be fairly
+simple since it's only a single target.
+
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -674,7 +674,7 @@
+ $(RM) $@
+ ./mksyntax$(EXEEXT) -o $@
+
+-$(BUILTINS_LIBRARY): $(BUILTIN_DEFS) $(BUILTIN_C_SRC) config.h ${BASHINCDIR}/memalloc.h version.h
++$(BUILTINS_LIBRARY): $(BUILTIN_DEFS) $(BUILTIN_C_SRC) config.h ${BASHINCDIR}/memalloc.h ${DEFDIR}/builtext.h version.h
+ @(cd $(DEFDIR) && $(MAKE) $(MFLAGS) DEBUG=${DEBUG} libbuiltins.a ) || exit 1
+
+ # these require special rules to circumvent make builtin rules
diff --git a/app-shells/bash/files/bash-4.2-read-retry.patch b/app-shells/bash/files/bash-4.2-read-retry.patch
new file mode 100644
index 00000000..44903c68
--- /dev/null
+++ b/app-shells/bash/files/bash-4.2-read-retry.patch
@@ -0,0 +1,41 @@
+https://bugs.gentoo.org/447810
+
+fix from upstream to workaround broken BSD kernels
+
+commit 208fdb509e072977ae7a621e916dfcd32c76047d
+Author: Chet Ramey <chet@caleb.ins.cwru.edu>
+Date: Mon Mar 4 08:09:29 2013 -0500
+
+ commit bash-20130201 snapshot
+
+diff --git a/redir.c b/redir.c
+index d7da2f3..aa3d16d 100644
+--- a/redir.c
++++ b/redir.c
+@@ -650,7 +650,7 @@ redir_open (filename, flags, mode, ri)
+ int flags, mode;
+ enum r_instruction ri;
+ {
+- int fd, r;
++ int fd, r, e;
+
+ r = find_string_in_alist (filename, _redir_special_filenames, 1);
+ if (r >= 0)
+@@ -666,7 +666,16 @@ redir_open (filename, flags, mode, ri)
+ }
+ else
+ {
+- fd = open (filename, flags, mode);
++ do
++ {
++ fd = open (filename, flags, mode);
++ e = errno;
++ if (fd < 0 && e == EINTR)
++ QUIT;
++ errno = e;
++ }
++ while (fd < 0 && errno == EINTR);
++
+ #if defined (AFS)
+ if ((fd < 0) && (errno == EACCES))
+ {
diff --git a/app-shells/bash/files/bash-4.2-signal.h.patch b/app-shells/bash/files/bash-4.2-signal.h.patch
new file mode 100644
index 00000000..b0eb91b7
--- /dev/null
+++ b/app-shells/bash/files/bash-4.2-signal.h.patch
@@ -0,0 +1,20 @@
+--- trap.c.dist 2015-02-11 01:07:27.000000000 +0000
++++ trap.c 2015-02-11 01:09:45.000000000 +0000
+@@ -30,6 +30,7 @@
+
+ #include <stdio.h>
+ #include <errno.h>
++#include <signal.h>
+
+ #include "bashintl.h"
+
+--- builtins/kill.def.dist 2015-02-11 01:07:39.000000000 +0000
++++ builtins/kill.def 2015-02-11 01:09:54.000000000 +0000
+@@ -47,6 +47,7 @@ $END
+
+ #include <stdio.h>
+ #include <errno.h>
++#include <signal.h>
+ #if defined (HAVE_UNISTD_H)
+ # ifdef _MINIX
+ # include <sys/types.h>
diff --git a/app-shells/bash/files/bash-4.2-speed-up-read-N.patch b/app-shells/bash/files/bash-4.2-speed-up-read-N.patch
new file mode 100644
index 00000000..b96ad0c8
--- /dev/null
+++ b/app-shells/bash/files/bash-4.2-speed-up-read-N.patch
@@ -0,0 +1,112 @@
+http://lists.gnu.org/archive/html/bug-bash/2012-11/msg00034.html
+
+From 530d4988afd68ea9d2cf1b0267d4dc821d0d204f Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Mon, 19 Nov 2012 17:58:51 -0500
+Subject: [PATCH] bash: speed up `read -N`
+
+Rather than using 1 byte reads, use the existing cache read logic.
+This could be sped up more, but this change is not as invasive and
+should (hopefully) be fairly safe.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ builtins/read.def | 21 ++++++++++++++++-----
+ externs.h | 1 +
+ lib/sh/zread.c | 15 +++++++++++++--
+ 3 files changed, 30 insertions(+), 7 deletions(-)
+
+diff --git a/builtins/read.def b/builtins/read.def
+index e32dec7..81a1b3f 100644
+--- a/builtins/read.def
++++ b/builtins/read.def
+@@ -457,7 +457,10 @@ read_builtin (list)
+ interrupt_immediately++;
+ terminate_immediately++;
+
+- unbuffered_read = (nchars > 0) || (delim != '\n') || input_is_pipe;
++ if ((nchars > 0) && !input_is_tty && ignore_delim)
++ unbuffered_read = 2;
++ else if ((nchars > 0) || (delim != '\n') || input_is_pipe)
++ unbuffered_read = 1;
+
+ if (prompt && edit == 0)
+ {
+@@ -505,10 +508,18 @@ read_builtin (list)
+ print_ps2 = 0;
+ }
+
+- if (unbuffered_read)
+- retval = zread (fd, &c, 1);
+- else
+- retval = zreadc (fd, &c);
++ switch (unbuffered_read)
++ {
++ case 2:
++ retval = zreadcn (fd, &c, nchars - nr);
++ break;
++ case 1:
++ retval = zread (fd, &c, 1);
++ break;
++ default:
++ retval = zreadc (fd, &c);
++ break;
++ }
+
+ if (retval <= 0)
+ {
+diff --git a/externs.h b/externs.h
+index 09244fa..a5ad645 100644
+--- a/externs.h
++++ b/externs.h
+@@ -479,6 +479,7 @@ extern ssize_t zread __P((int, char *, size_t));
+ extern ssize_t zreadretry __P((int, char *, size_t));
+ extern ssize_t zreadintr __P((int, char *, size_t));
+ extern ssize_t zreadc __P((int, char *));
++extern ssize_t zreadcn __P((int, char *, int));
+ extern ssize_t zreadcintr __P((int, char *));
+ extern void zreset __P((void));
+ extern void zsyncfd __P((int));
+diff --git a/lib/sh/zread.c b/lib/sh/zread.c
+index 5db21a9..af7d02b 100644
+--- a/lib/sh/zread.c
++++ b/lib/sh/zread.c
+@@ -101,15 +101,18 @@ static char lbuf[128];
+ static size_t lind, lused;
+
+ ssize_t
+-zreadc (fd, cp)
++zreadcn (fd, cp, len)
+ int fd;
+ char *cp;
++ int len;
+ {
+ ssize_t nr;
+
+ if (lind == lused || lused == 0)
+ {
+- nr = zread (fd, lbuf, sizeof (lbuf));
++ if (len > sizeof (lbuf))
++ len = sizeof (lbuf);
++ nr = zread (fd, lbuf, len);
+ lind = 0;
+ if (nr <= 0)
+ {
+@@ -123,6 +126,14 @@ zreadc (fd, cp)
+ return 1;
+ }
+
++ssize_t
++zreadc (fd, cp)
++ int fd;
++ char *cp;
++{
++ return zreadcn (fd, cp, sizeof (lbuf));
++}
++
+ /* Don't mix calls to zreadc and zreadcintr in the same function, since they
+ use the same local buffer. */
+ ssize_t
+--
+1.7.12.4
+
diff --git a/app-shells/bash/files/bash_logout b/app-shells/bash/files/bash_logout
new file mode 100644
index 00000000..50a79331
--- /dev/null
+++ b/app-shells/bash/files/bash_logout
@@ -0,0 +1,9 @@
+# /etc/bash/bash_logout
+
+# This file is sourced when a login shell terminates.
+
+# You may wish to clear everyone's screen when they logout.
+#clear
+
+# Or maybe you want to leave a thoughtful note.
+#fortune
diff --git a/app-shells/bash/files/bashrc b/app-shells/bash/files/bashrc
new file mode 100644
index 00000000..a398eb1e
--- /dev/null
+++ b/app-shells/bash/files/bashrc
@@ -0,0 +1,88 @@
+# /etc/bash/bashrc
+#
+# This file is sourced by all *interactive* bash shells on startup,
+# including some apparently interactive shells such as scp and rcp
+# that can't tolerate any output. So make sure this doesn't display
+# anything or bad things will happen !
+
+
+# Test for an interactive shell. There is no need to set anything
+# past this point for scp and rcp, and it's important to refrain from
+# outputting anything in those cases.
+if [[ $- != *i* ]] ; then
+ # Shell is non-interactive. Be done now!
+ return
+fi
+
+# Bash won't get SIGWINCH if another process is in the foreground.
+# Enable checkwinsize so that bash will check the terminal size when
+# it regains control. #65623
+# http://cnswww.cns.cwru.edu/~chet/bash/FAQ (E11)
+shopt -s checkwinsize
+
+# Enable history appending instead of overwriting. #139609
+shopt -s histappend
+
+# Change the window title of X terminals
+case ${TERM} in
+ xterm*|rxvt*|Eterm*|aterm|kterm|gnome*|interix|konsole*)
+ PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}\007"'
+ ;;
+ screen*)
+ PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}\033\\"'
+ ;;
+esac
+
+use_color=false
+#BSD#@# BSD doesn't typically come with dircolors so we need
+#BSD#@# to hardcode some terminals in here.
+#BSD#@case ${TERM} in
+#BSD#@ xterm*|rxvt*|Eterm|aterm|kterm|gnome*|screen|cons25) use_color=true;;
+#BSD#@esac
+
+# Set colorful PS1 only on colorful terminals.
+# dircolors --print-database uses its own built-in database
+# instead of using /etc/DIR_COLORS. Try to use the external file
+# first to take advantage of user additions. Use internal bash
+# globbing instead of external grep binary.
+safe_term=${TERM//[^[:alnum:]]/?} # sanitize TERM
+match_lhs=""
+[[ -f ~/.dir_colors ]] && match_lhs="${match_lhs}$(<~/.dir_colors)"
+[[ -f /etc/DIR_COLORS ]] && match_lhs="${match_lhs}$(</etc/DIR_COLORS)"
+[[ -z ${match_lhs} ]] \
+ && type -P dircolors >/dev/null \
+ && match_lhs=$(dircolors --print-database)
+[[ $'\n'${match_lhs} == *$'\n'"TERM "${safe_term}* ]] && use_color=true
+
+if ${use_color} ; then
+ # Enable colors for ls, etc. Prefer ~/.dir_colors #64489
+ if type -P dircolors >/dev/null ; then
+ if [[ -f ~/.dir_colors ]] ; then
+ eval $(dircolors -b ~/.dir_colors)
+ elif [[ -f /etc/DIR_COLORS ]] ; then
+ eval $(dircolors -b /etc/DIR_COLORS)
+ fi
+ fi
+
+ if [[ ${EUID} == 0 ]] ; then
+ PS1='\[\033[01;31m\]\h\[\033[01;34m\] \W \$\[\033[00m\] '
+ else
+ PS1='\[\033[01;32m\]\u@\h\[\033[01;34m\] \w \$\[\033[00m\] '
+ fi
+
+ #BSD#@export CLICOLOR=1
+ #GNU#@alias ls='ls --color=auto'
+ alias grep='grep --colour=auto'
+ alias egrep='egrep --colour=auto'
+ alias fgrep='fgrep --colour=auto'
+else
+ if [[ ${EUID} == 0 ]] ; then
+ # show root@ when we don't have colors
+ PS1='\u@\h \W \$ '
+ else
+ PS1='\u@\h \w \$ '
+ fi
+fi
+
+# Try to keep environment pollution down, EPA loves us.
+unset use_color safe_term match_lhs
diff --git a/app-shells/bash/files/bashrc-prefix.patch b/app-shells/bash/files/bashrc-prefix.patch
new file mode 100644
index 00000000..04ebb10f
--- /dev/null
+++ b/app-shells/bash/files/bashrc-prefix.patch
@@ -0,0 +1,40 @@
+--- bashrc
++++ bashrc
+@@ -1,4 +1,4 @@
+-# /etc/bash/bashrc
++# @GENTOO_PORTAGE_EPREFIX@/etc/bash/bashrc
+ #
+ # This file is sourced by all *interactive* bash shells on startup,
+ # including some apparently interactive shells such as scp and rcp
+@@ -48,7 +48,7 @@
+ safe_term=${TERM//[^[:alnum:]]/?} # sanitize TERM
+ match_lhs=""
+ [[ -f ~/.dir_colors ]] && match_lhs="${match_lhs}$(<~/.dir_colors)"
+-[[ -f /etc/DIR_COLORS ]] && match_lhs="${match_lhs}$(</etc/DIR_COLORS)"
++[[ -f "@GENTOO_PORTAGE_EPREFIX@"/etc/DIR_COLORS ]] && match_lhs="${match_lhs}$(<"@GENTOO_PORTAGE_EPREFIX@"/etc/DIR_COLORS)"
+ [[ -z ${match_lhs} ]] \
+ && type -P dircolors >/dev/null \
+ && match_lhs=$(dircolors --print-database)
+@@ -56,15 +56,13 @@
+
+ if ${use_color} ; then
+ # Enable colors for ls, etc. Prefer ~/.dir_colors #64489
+- if type -P dircolors >/dev/null ; then
+- if [[ -f ~/.dir_colors ]] ; then
+- eval $(dircolors -b ~/.dir_colors)
+- elif [[ -f /etc/DIR_COLORS ]] ; then
+- eval $(dircolors -b /etc/DIR_COLORS)
+- fi
+- fi
+-
+- if [[ ${EUID} == 0 ]] ; then
++ if [[ -f ~/.dir_colors ]] ; then
++ eval $("@GENTOO_PORTAGE_EPREFIX@"/usr/bin/dircolors -b ~/.dir_colors);
++ elif [[ -f "@GENTOO_PORTAGE_EPREFIX@"/etc/DIR_COLORS ]] ; then
++ eval $("@GENTOO_PORTAGE_EPREFIX@"/usr/bin/dircolors -b "@GENTOO_PORTAGE_EPREFIX@"/etc/DIR_COLORS)
++ fi
++
++ if [[ ${EUID} == 0 ]] ; then
+ PS1='\[\033[01;31m\]\h\[\033[01;34m\] \W \$\[\033[00m\] '
+ else
+ PS1='\[\033[01;32m\]\u@\h\[\033[01;34m\] \w \$\[\033[00m\] '
diff --git a/app-shells/bash/files/dot-bash_logout b/app-shells/bash/files/dot-bash_logout
new file mode 100644
index 00000000..44b6f79c
--- /dev/null
+++ b/app-shells/bash/files/dot-bash_logout
@@ -0,0 +1,6 @@
+# /etc/skel/.bash_logout
+
+# This file is sourced when a login shell terminates.
+
+# Clear the screen for security's sake.
+clear
diff --git a/app-shells/bash/files/dot-bash_profile b/app-shells/bash/files/dot-bash_profile
new file mode 100644
index 00000000..94a6622b
--- /dev/null
+++ b/app-shells/bash/files/dot-bash_profile
@@ -0,0 +1,5 @@
+# /etc/skel/.bash_profile
+
+# This file is sourced by bash for login shells. The following line
+# runs your .bashrc and is recommended by the bash info pages.
+[[ -f ~/.bashrc ]] && . ~/.bashrc
diff --git a/app-shells/bash/files/dot-bashrc b/app-shells/bash/files/dot-bashrc
new file mode 100644
index 00000000..34dbd8c8
--- /dev/null
+++ b/app-shells/bash/files/dot-bashrc
@@ -0,0 +1,18 @@
+# /etc/skel/.bashrc
+#
+# This file is sourced by all *interactive* bash shells on startup,
+# including some apparently interactive shells such as scp and rcp
+# that can't tolerate any output. So make sure this doesn't display
+# anything or bad things will happen !
+
+
+# Test for an interactive shell. There is no need to set anything
+# past this point for scp and rcp, and it's important to refrain from
+# outputting anything in those cases.
+if [[ $- != *i* ]] ; then
+ # Shell is non-interactive. Be done now!
+ return
+fi
+
+
+# Put your fun stuff here.