summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /app-shells/bash
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'app-shells/bash')
-rw-r--r--app-shells/bash/Manifest277
-rw-r--r--app-shells/bash/bash-2.05b_p13.ebuild147
-rw-r--r--app-shells/bash/bash-3.0_p22.ebuild151
-rw-r--r--app-shells/bash/bash-3.1_p23.ebuild143
-rw-r--r--app-shells/bash/bash-3.2_p57.ebuild145
-rw-r--r--app-shells/bash/bash-4.0_p44.ebuild140
-rw-r--r--app-shells/bash/bash-4.1_p17.ebuild137
-rw-r--r--app-shells/bash/bash-4.2_p53.ebuild226
-rw-r--r--app-shells/bash/bash-4.3_p33-r1.ebuild249
-rw-r--r--app-shells/bash/bash-4.3_p33-r2.ebuild250
-rw-r--r--app-shells/bash/bash-4.3_p33.ebuild247
-rw-r--r--app-shells/bash/bash-4.3_p39.ebuild248
-rw-r--r--app-shells/bash/bash-4.4_alpha-r1.ebuild247
-rw-r--r--app-shells/bash/files/autoconf-mktime-2.53.patch199
-rw-r--r--app-shells/bash/files/autoconf-mktime-2.59.patch197
-rw-r--r--app-shells/bash/files/bash-2.05b-destdir.patch28
-rw-r--r--app-shells/bash/files/bash-2.05b-empty-herestring.patch25
-rw-r--r--app-shells/bash/files/bash-2.05b-fix-job-warning.patch14
-rw-r--r--app-shells/bash/files/bash-2.05b-jobs.patch28
-rw-r--r--app-shells/bash/files/bash-2.05b-parallel-build.patch15
-rw-r--r--app-shells/bash/files/bash-2.05b-protos.patch25
-rw-r--r--app-shells/bash/files/bash-2.05b-rbash.patch27
-rw-r--r--app-shells/bash/files/bash-3.0-afs.patch20
-rw-r--r--app-shells/bash/files/bash-3.0-crash.patch46
-rw-r--r--app-shells/bash/files/bash-3.0-darwin-conn.patch20
-rw-r--r--app-shells/bash/files/bash-3.0-histtimeformat.patch56
-rw-r--r--app-shells/bash/files/bash-3.0-jobs.patch56
-rw-r--r--app-shells/bash/files/bash-3.0-locale.patch112
-rw-r--r--app-shells/bash/files/bash-3.0-manpage.patch15
-rw-r--r--app-shells/bash/files/bash-3.0-multibyteifs.patch281
-rw-r--r--app-shells/bash/files/bash-3.0-pgrp-pipe-fix.patch20
-rw-r--r--app-shells/bash/files/bash-3.0-protos.patch68
-rw-r--r--app-shells/bash/files/bash-3.0-pwd.patch16
-rw-r--r--app-shells/bash/files/bash-3.0-rbash.patch18
-rw-r--r--app-shells/bash/files/bash-3.0-read-builtin-pipe.patch20
-rw-r--r--app-shells/bash/files/bash-3.0-read-e-segfault.patch26
-rw-r--r--app-shells/bash/files/bash-3.0-read-memleak.patch15
-rw-r--r--app-shells/bash/files/bash-3.0-strnlen.patch175
-rw-r--r--app-shells/bash/files/bash-3.0-subshell.patch39
-rw-r--r--app-shells/bash/files/bash-3.0-trap-fg-signals.patch23
-rw-r--r--app-shells/bash/files/bash-3.0-ulimit.patch186
-rw-r--r--app-shells/bash/files/bash-3.0-volatile-command.patch16
-rw-r--r--app-shells/bash/files/bash-3.1-dev-fd-test-as-user.patch14
-rw-r--r--app-shells/bash/files/bash-3.1-fix-dash-login-shell.patch52
-rw-r--r--app-shells/bash/files/bash-3.1-protos.patch67
-rw-r--r--app-shells/bash/files/bash-3.1-ulimit.patch122
-rw-r--r--app-shells/bash/files/bash-3.2-dev-fd-test-as-user.patch26
-rw-r--r--app-shells/bash/files/bash-3.2-ldflags-for-build.patch37
-rw-r--r--app-shells/bash/files/bash-3.2-loadables.patch239
-rw-r--r--app-shells/bash/files/bash-3.2-process-subst.patch12
-rw-r--r--app-shells/bash/files/bash-3.2-protos.patch57
-rw-r--r--app-shells/bash/files/bash-3.2-session-leader.patch65
-rw-r--r--app-shells/bash/files/bash-3.2-ulimit.patch13
-rw-r--r--app-shells/bash/files/bash-4.0-configure.patch25
-rw-r--r--app-shells/bash/files/bash-4.0-ldflags-for-build.patch15
-rw-r--r--app-shells/bash/files/bash-4.0-negative-return.patch33
-rw-r--r--app-shells/bash/files/bash-4.0-parallel-build.patch65
-rw-r--r--app-shells/bash/files/bash-4.1-fbsd-eaccess.patch29
-rw-r--r--app-shells/bash/files/bash-4.1-parallel-build.patch23
-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-speed-up-read-N.patch112
-rw-r--r--app-shells/bash/files/bash-4.3-append-process-segfault.patch18
-rw-r--r--app-shells/bash/files/bash-4.3-arrayfunc.patch15
-rw-r--r--app-shells/bash/files/bash-4.3-compat-lvl.patch13
-rw-r--r--app-shells/bash/files/bash-4.3-declare-visibility.patch60
-rw-r--r--app-shells/bash/files/bash-4.3-mapfile-improper-array-name-validation.patch13
-rw-r--r--app-shells/bash/files/bash-4.3-parse-time-keyword.patch30
-rw-r--r--app-shells/bash/files/bash-4.4-optimize-fork.patch16
-rw-r--r--app-shells/bash/files/bash-4.x-deferred-heredocs.patch47
-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-r192
-rw-r--r--app-shells/bash/files/bashrc-r2108
-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
-rw-r--r--app-shells/bash/metadata.xml16
80 files changed, 6143 insertions, 0 deletions
diff --git a/app-shells/bash/Manifest b/app-shells/bash/Manifest
new file mode 100644
index 00000000000..469e92b550e
--- /dev/null
+++ b/app-shells/bash/Manifest
@@ -0,0 +1,277 @@
+DIST bash-2.05b.tar.gz 1956216 SHA256 ba03d412998cc54bd0b0f2d6c32100967d3137098affdc2d32e6e7c11b163fe4 SHA512 595f84cfd38b239ff37f2c6fc22c669f8e1d4fea34400e30c4079ab657d05f735ee6b0e6af0db6c1b17dbf9cecec81805b467b4dbd45cc97044bfefac731aad6 WHIRLPOOL 999fdd8ec730364a9fe7926046d15e6f2b0ea3f9fa840d351f39ca8bdf360e67719db0946fe08c090850d684590b38c0d8adf72b1b7109c2569ce92d771817b2
+DIST bash-3.0.tar.gz 2418293 SHA256 72d3f9d80fb4622e79ee5019314668b7bd6747182fa0928c8742002b7568586f SHA512 2b56dc0531e908811e1cced23067d82505d57a3cf4651125a6e424649bc98f476366579306e03242388f0f5b17d2a09badc15b8358f70cde6f64c60b94015c9b WHIRLPOOL 7084d68e0fb4f01847cee785acc99641719755d2fff222ec969037eb38700c528dcffc236eaae855557cb67fa3fd5df857c0bbdcf1cba890823d1807b5bc974b
+DIST bash-3.1.tar.gz 2533934 SHA256 d6952b2c38f9bf417559dd3b071860e1099ddfb8a12c0228f22afaf47f79d3b9 SHA512 3b5d5f0de83d71c972e75267ab8f6b05a7e144acb39a7c6e14be7b4bcb9b67faeaf9a123fceebd957befa1222db05b9b539f524032d89eb1fb5936d9846c1c7e WHIRLPOOL 70042de87ee5520d48311d94548b73396fedb33ee612d6ddfacae1563d0fb4202d190abfc6a3c3d678e20c35e5e3da9849b766a29fd2dec71dbf44d3ff13b593
+DIST bash-3.2.tar.gz 2529838 SHA256 26c99025b59e30779300b68adb764f824974d267a4d7cc1b347d14a2393f9fb4 SHA512 cc88b1a4dab9f752cf6a22153e40b8590f6d3408217730bb28f5eb431cbb5577c4d3befe8bd44669b8fa64433f299e0dd23511fd1ed8a820020e2f7f4a461758 WHIRLPOOL f6cd6223203921fd186f5a1fe693f06076eb281bcd4459ce780f2162d040cb3fcd29028b333f6fada4d9c0aa081684c97e82ecc47dbc0f48e1a622bcc3d2328e
+DIST bash-4.0.tar.gz 6230779 SHA256 9793d394f640a95030c77d5ac989724afe196921956db741bcaf141801c50518 SHA512 dccd099d11d649b26d5b5c2ab5fb8f33915631e1d86fba519a0464f2bd3a3289655e956cf161a0dc3671b8be193b6b065bede8a407d98af3012dd4b824711255 WHIRLPOOL b8223f5dcee9dee92b9bb0c6d09a90ea2fd71bbd0894a9927be459e0a2e2b3f0413f57062f4ba7c1f806d778bca71641df4c2892fd6224861d2cd802bebe64f8
+DIST bash-4.1.tar.gz 6598300 SHA256 3f627124a83c6d34db503a923e20710d370573a29dd5d11d6f116d1aee7be1da SHA512 2f2a053d98be9a31cd089e1293e3369ad05406f6543d1d1662d8b5807fdcfebc1dda79db9bf2c596a6351ea463fb9bd9c8943c1d45da9b82f2fd3bab0b8a581a WHIRLPOOL 0259149d6f0d8f8a19e4b5a88e127c55efae0df4459063295aa6a9de69450b5f4b4b579894e4410ddfc0119eeb0356865b7cc4dbc7e4a75ad98acce0dfe2d46f
+DIST bash-4.2.tar.gz 7009201 SHA256 a27a1179ec9c0830c65c6aa5d7dab60f7ce1a2a608618570f96bfa72e95ab3d8 SHA512 fdd3c230f4f7a687d36db1b8f7baab5e553cf55756e2d49a88ffaa4260c8cb949897dec9f48655e96608ef0093ac101b60c132060f06c711c0ab81aa3f148b5c WHIRLPOOL fd5f321a8a89381904b1dd1f5acb5100186ce48cccc9b248cf68b35a1c1932177df1fc2b0215131999ee6018decf3264c45e54d407bf4b74ff8e4cc8215c630a
+DIST bash-4.3.tar.gz 7955839 SHA256 afc687a28e0e24dc21b988fa159ff9dbcf6b7caa92ade8645cc6d5605cd024d4 SHA512 a852b8e46ee55568dce9d23a30a9dbd1c770c2d2a4bc91e1c3177d723b31b32c5d69d19704a93f165891b409b9dd2cc65723372044e2bd0ee49ed59a11512651 WHIRLPOOL d82eb296b1bdee517b20e40d2231697dc41e2040d34e2da24c4fa40755c723d732929805ebef6f6923cd8ffecfb0db7063ec1dc3ab4e695a93916f2d872e236f
+DIST bash-4.4-alpha.tar.gz 8388940 SHA256 a074952a3f9dc2237d073c33f809c87b735795dd4eec4dcfb0debec3624eb776 SHA512 cc3b79af35c8bb32e95241234145a258a87a8b99664c372a60fd78f188f7a468fd39da5f3e4a682a046c0a8bb00e979b1b1634f368157b1077832af4ba693e40 WHIRLPOOL 9c02bbddcfb0e55b0f5ce62ad9da8e82cfe1b4bdc7c1adb82b8e37fc902fdf5b6eda05194023ed7e48f57647e280e3f74c88702fb1abad5fa459d6c9668c9b87
+DIST bash205b-001 1132 SHA256 bf7a055e0916b7899e7429e36e35d009db445b942b34520a601ea5a8fa634fdd SHA512 5ce4357468821b05e747201f3aa57225ad8f540c9e2c87051720490e039c30b478b9b662a68f14a0800fefe40184e4495e2645665200f9d75e9a115b2ac08071 WHIRLPOOL 90ba36843bbf2e0b7279d3bd197ddaa04e03e113be32051e5a77280cda6d43dcbf339780c57322fc0835a54c82e0095f0d3f2a13f13fec8c0b8da38e7e9b253a
+DIST bash205b-002 755 SHA256 affdd1808a6262fbfe291ebffa2133b05e4bb46067a90e3329d5741e10f0587b SHA512 46947b0229478d5c2cfeff68b8ebc00e4ef0c8b94e336ca12f72b4490ba3622c0240c01c17c1641c3b07adc2c64ec94d6d780365e8990768ec8888f3a9526883 WHIRLPOOL 7333910e98e517306077937881d4c5569ddd85552203b3ec833f0fda13822e388ce85f007d60e4ab4b1ef15abb66fa40dc4356ca01367463d179a6a23bcff8e7
+DIST bash205b-003 2356 SHA256 604972eaafe69f44413d429e0a826b0eae209ca74b14eeeccdf0d502bbabb340 SHA512 74528ca5d165b812d299f1c69b47757bd677c0b22ce4217e155cd641708b02364a93c6709fb57b546b376b36da74429a61493921c7c199563da40ddcf1c1f399 WHIRLPOOL 7ce09fb66d32f3aebda7fb2be66179daab033b4c08ea51c744148051b47e7effc2451971efeb14d6a403c48c5c46c2ac0a4585159f8115ec40b2bfa89f98317f
+DIST bash205b-004 1110 SHA256 fab91e9742ca4e990666441e91821742e6dff78e8e388ba55205cf7b1cd8e8e1 SHA512 d00fbac75340aa1928628010723da44f1f4c505194a867f380ece1b92d82d0e619a6c8431c6acb39433d10743de90fd74523a397824989ec96109d0a440e8185 WHIRLPOOL 3f10e5d7670be3018d023b31546eef52740471a63fe2f8752aa2b250939030577ba1f8ef60e91c231f6959059012dff84afd6230f2bffa96c0199ec4aaf63eed
+DIST bash205b-005 2217 SHA256 de80bbb3b7686c96c1d99354989c0dacfe4ae2cf082cdf7e9dc3c1c6910cce9a SHA512 76d2f2b4cc14263e0776b9425bc8e660e25bb6e8e7c55b05d3b96a0397ebe1ac8de262997e6b093e58c0f6ef1b662067f64065b086325988d5e867d545bd8bc1 WHIRLPOOL 0b5b7bbfc6013feb5f0c6b6f4748cad66178ee13420ea8e45008ed44fb8d9aea6b2fb5d5c9ef80c62254949bcf7c20cf3bf321c55c150461dae49d7317e8ca9e
+DIST bash205b-006 3155 SHA256 92fd6b3313d90194bb7e8868436554866517901da801b5a0c838efc620ea0396 SHA512 95bf5b3e5a30b5b14c6896bfa774f463c3271dad5d2678495b25a11700734eb5b0881e2e24a9b758800dd4ee031a464c4c0817ee6924f69937c482456fbb038a WHIRLPOOL 3f14a6e0e6f926758ca1bb4102ea9318b3c437d08f2b4e77ec321a25ac69668d39b78f02435ac6896ebcc9c0fbc81b3f8a4dfa1593da8682f55d976d41b93bdd
+DIST bash205b-007 1072 SHA256 0843c481bd13f4652e0ba722ea3786570b84440869e0944a3a2e1d0d4430500d SHA512 9849bcd97940c12c0ed4e87d11a0770a221e52daf2d6b86f39284f9a55113f3e44317f628f0ae54911373d2027109606740512eebef7043d5347d732ff453315 WHIRLPOOL 8083ee05e4f9617c6c214ad87207a120f84dcf061478c09420b0e651adeaa5ff813cc3a1fed6c20de25b222d4f07b39da151fcbbb1a68ce7ec5e445535d6ce8e
+DIST bash205b-008 2824 SHA256 871c04d09a3cee44db366346550a30ef5d1e07c04a4570ae9afc972e8b869222 SHA512 9b1e5af8d8a458c0d4b233985de3d69f774dd1b3941e567495717eacc183d0e2bb82139088e1e22be920681978d764476092aa5235e70ed4358d5fc8f19a9aea WHIRLPOOL 73d7f270980da523013e04af7a69989a7d432d03df90be42498f5dbae5360b4f96e9e7c244c0b516388cdc135d2a8ad658076199bc8160310a87eab6823a996a
+DIST bash205b-009 713 SHA256 30ce4aba2695e660722a405d709a049531ca8933dabef55cf954f171993169b6 SHA512 1daf812eb2fe902d591f63f65bfc02d00556cb8a77ebde5e6820cc3d3dd4c93332b95f048378d6619861f3801f7ba6eea9bafe5c2b4db03cea530cd0c35ccc25 WHIRLPOOL 469d299046af947525f2dfe1241517d758a4660180fb7668522a1a5157fe28a8f56907c262ba73e13a30bcad78e830797099fe4823aa910c186da71e9b3aaff7
+DIST bash205b-010 6267 SHA256 a6641e958d1876e0770b22f4ea0bf912864e36b37c068c71a6fb3084a13310a1 SHA512 6272608dd5ff55a22ceb9e6f6991a53b9ea0d809e1d1d8c10166519b62fb8fb78e24c9fd274ff8962fb2ac536150afabc88dfd0d5c14dece2c389b4fecdc5993 WHIRLPOOL a7fb77f696fbaa01fa7beb6a0d9bb31c45b85fa4acd1f22fe20a18596b9eb86a2420dacdf7ca17c7ce3151cad4b28357aafacc201b5e6bcb46bc68d55b48b782
+DIST bash205b-011 3223 SHA256 1f93855a2d0636380cc02f909ddf19ee9c68e528ee494e07a89de4114cb77b94 SHA512 3ee695648389d5cd59e1bdb4e940e93239c67b19082c43989bb6787da44f101bb593b7ba3514d859ce5c4e603c879610accc6862d3e5f69a6c02de359a6097e0 WHIRLPOOL 1a6f1a85e54e6146413c5465477e8b17e9bd4fb6fe1010c119029d848467a441338706be048db7909f5cdc90286b25ef86cadd91d7af6f27b5f16636fc9fe2bb
+DIST bash205b-012 1377 SHA256 605ce384f5f0b3466e15157a880d6eb303d9307fb02a47b75c155533bed90649 SHA512 4e02219ea03ceffa33ab84646048e7f52d6371a25e2df422fd58f349f102372934e640200eca41038bfd6d69a8d45291a0ab88696b83d565d190015e4e457771 WHIRLPOOL f00cf36f9043715042a594476c77640ad70520ae65a1ed872cebc4bb3590e108dbf0d9bf677e210a4b00a747f14f474993bd90093f27e3e39dc83e0a0528021e
+DIST bash205b-013 2779 SHA256 0a5224f5b3640fb612ab86196a44dff5ceb93115f7f98e22a3534fc60da145c2 SHA512 22e487265b446595583276a1e99a222f55173528949cb4ed8c34911447bf5716152569a0a50061e1c6b73ca0d7abfdab8fd0da5dd4a424e54192d91399a1593e WHIRLPOOL d9a682be8af5d9542259b3dcb1d6e1b023cd4794e4818b940e5d45dbc41bd2fc656c1601efbe5b4644864698f4b7b6d087b54d329adf97a920e10431ff08ebd0
+DIST bash30-001 4999 SHA256 cc10d8f92d612c3b223d5bd93747fbda157d43dd2dc46931b6c4a413dc025990 SHA512 70fca2ced05f63841a7be3b115f068e29edb384dc0ba61680fbe7e29212cc139864a5db8c419aa03b773e1dfb52d71b7f17f9fca8f4284c75250cab450450750 WHIRLPOOL b1256fb457321d8cf4c1e8889409b26c3a6d13fc95ea4e066a3334016de30d9810539a86e2013569af56fbbe4ac763b2b0be44234a755bcb0670fe35a5a9b058
+DIST bash30-002 2119 SHA256 e6ee9bafa05a3c9208243ab2cdcc811022355df81223c6268ebdf2f6490b127d SHA512 73b2f22c91eb90487d722537c42871fe60fdf3cd95d0b2c9f7bf20aef2424267fe50cefb0837b26c49b2944e0a017d8d990e01ee8523c23d74acdf2aa10502ef WHIRLPOOL 6b792ec97cea9dcb2c5d73ef65e543ed15393b0707689b7d56de9da8f74d5f3ae389272b49d4979af2fdcfb94160fff3630ffdf833a989567061fc4fedf75f26
+DIST bash30-003 4669 SHA256 cd1ebed48b14d97d1e95406b7e622c97ae8b30ef87a4aa343b3f5f38626e5acc SHA512 7ccf778e9fed7a85004825ad83b350b43859395c41a998480f1bfd589f6b936f2d3e2096e05f7811061c5efc168601b75decdc74c95363455e685465827a31a3 WHIRLPOOL 0cac926d0c5161e41c509015de5122b5ff4b1f4be184ff011ccc84e8c5de01349f08d30f6ae743fe81939808c56c1600d44d6e3af424ba9d77281fb5706b6ebe
+DIST bash30-004 3372 SHA256 7bada92d85abf50c1283986f633ea05448b59ea81ad34ee8776732b164c0deec SHA512 93cd7c7d7d84c9a15a7c0f434096aea9cfa027c76cf6b7f06a722bd47be22eee8a19c5601d7546e9e00b2ea83473be130d05ee2e4e05bc2e99cf07302b4247c0 WHIRLPOOL 455f3384cd8181baf3d5445a4fef59965b7ff4f22ba8340693555cea741c30822a7f06f71bdb184d89603079948446fda11e6fe8e51aa670eb7672339030a7ea
+DIST bash30-005 1776 SHA256 94cbd9ec49581d2eea24ced3a9e8fa7482145d2edff9de71c304d1a8a807fbc0 SHA512 4682a35f301fbb1f1dd20b2f120b5c3a7a88345da15f7a859cbed193efafb06d95d5b31a038b273b996ee0237fc13f2a10cd0bfb0e994d8d2eb01b7990edee11 WHIRLPOOL 5f4012d0792a33808240e53b1d79a3d8834b1abf8f26b2fbf3d7841fd1d7d35b6603422265f5cbd249c3da5b137044d2055a1fbccba84c66ff6f39aba9a3d7a4
+DIST bash30-006 4258 SHA256 7db67f299605d93fe6cba3e30930d98dfadb042938deb1772e774dcb3a5bd218 SHA512 49d0c847b9505677f8d7ffcac1a24b93c6946aed756b94f891110dc7751ca515c29ac79463a5d3f5b594be698a88c56ab1a2d5dec0d6141a57aee254e7e1e80c WHIRLPOOL 68603a224e4884b3a07bc8b21c5f204b69dbc7ce9db35f861d0b808d09a92a6144192bd60c22b48d5724f20b95a06db8c54c38554fe808e4d5d87480df16620f
+DIST bash30-007 1808 SHA256 b0c46db80a84588a1b51ff6e48a781c56c97677d0573ac0e793d6c811c6b3c47 SHA512 a57305b0509dfe81d87db2ad377301d50f4486f1723df763318d51c2bf947ad3d6b3bf220516e9f71151818e9b959e6e811c7e2c626519c18f355f1cb2f18731 WHIRLPOOL 484b40d8686d68b79baeeb83428759a15211130e0d1416211f1e0e458cc47f9bd2327f8b8f7d3f3adf42c8204c501fbafc704f09b4a77c3635ada33bad3328d8
+DIST bash30-008 1220 SHA256 5cf87ad11a4592f741e25ca80571fcb5b3900d1a52318f64fe8a9e885958c6a6 SHA512 aef8fc04b31abb4dccb64a305920d2e935222466a8136fc9e4fbbac5e567e9b573d3170211d576fe52e22d8afdc84db4f40d9451784010a77f821045a96c1f27 WHIRLPOOL 200461974ed636bd7e536dbb63662929da06f63025f08c63b141e49fe3df3f9a161a42659a885bdd39d0416df1fd34c4cd890b61f25d7f6602d830de0476ff10
+DIST bash30-009 2828 SHA256 0aca61348118b2538b3892916f508f2633528e49713830c848ac0515a747aca8 SHA512 d6eac26af855efa4b0d080d7c15d8a346351141725a9b405f098bb156d3ca4d5bf32affa75a75ff4bc45f4b4ec40d22c604f64e55d89503dfbee5d68ad9e83af WHIRLPOOL e523080c4de824165a750c91f571696093054adca02c6f02df098c564b27dcde84be5c44f7ef9056cc3cbe09a8b580108ef1956e7d8b2c0eccc29ec9ceeb8dfb
+DIST bash30-010 3193 SHA256 61f92dd3bd49113a2c8e8dd0ed89ffbaa0f60127bd09fc60aba385729a78b5e0 SHA512 f67e7594223d424f901c080b8c5d8f78882bb208a96a539b8a9c06c63f12f8b647e7173b814cf44800f00d6e02cd542d3e19fef4281c9c41e65d786e68f2808e WHIRLPOOL 34e81c31c2a07ac40db4a5a82c2df56072363b38bc35639d5af22b209ffaebb41ad2d8086de6e069e8f4e3c8426b6ff1abe7e13c85d94c6c8dd5e8e564b286e1
+DIST bash30-011 2635 SHA256 3bb9986e4264f4bf900c3d2a91e0bea69d06fd921f7dab6356e7fada8ce5ac2c SHA512 de8c33e665edf75b4ed7e5a866a49e718a8d1d052ecfb84a74e3c72e8466a7f809b9e77c548f06aac2041d9ad71550a931e504b1906995782a77826b82ce6d63 WHIRLPOOL f085113bbd5482419a34981b2b9d3a4fc88836b50988ef2fc8e74d5b448f0ad62a11a5caf0a5483f3c7ed3ee5b3d8c35a7c12dd1c0c9985d842503c7cd9a757a
+DIST bash30-012 1395 SHA256 818b5014fdb046736e4469817dae66f0e7273516e69fa7dd562c03ab38752649 SHA512 7f8a51b3b30dae139bb0b048f8552ccf96494cdd8367ead2718e56cd772db2f97f375c7a62157843af5af6235625df21cddc56c366ca5363c87551b2c91763df WHIRLPOOL 8cf9e79be42cf550015e516b1ecd2785e3b4395012c908161c99800b277773d45c2483f3ee36c19e8b7d786c9ef5be41e3c6b58e792306fcd4238fb6ec472358
+DIST bash30-013 1963 SHA256 43f46a3185fab5b79ecce01599629a7956887b625b2883fa561a99ccbe649926 SHA512 a3e7a1fef8fa0bbefba09fd49c10f87b604b87635c16f08e61a3d4053d6a202d3a955679caf36b7e32141cadb1ffa1da73fbedec0dfb55096958a318457c7721 WHIRLPOOL 7785ddf5a6d235265f8edf2bb303ae75b954239baca907681e2af0b39c47a6757e9a73b86c8654f212329827711bec717ca407d069ac91a6a94a60d26f963b8d
+DIST bash30-014 1165 SHA256 0f7cc21dc0490f24fc5d807d0884c40547788d6e2812f0dce21356ed0e12475f SHA512 0d1e59c8e3d2fe9ea6f4a047d18188e39ddb0448b40815148a733f73c57d48cf69082c4c9475d57532721d3560b2f5e1bef7e3903cd18fcbdc2133d0d854b7af WHIRLPOOL 9b27bc250b1e08b6f5b05a9dfafcd7c62a0f094e215936e50a1e37677dd6ed49dbac101124453680dd975521d9987ca9fce0e2c7d2eacaac5272fe19dd59a2b7
+DIST bash30-015 1480 SHA256 dadff53e74f0c7123336c4af0354b57c0d18953fc7710800fd2f96325430182c SHA512 ea138da9ca63badd647a4bd56f637f144bfac715617ae3a6d04e90983672544299ec8ffad2afcd01e7aa8ec6a5532206441a7b2e283d7fcb9e87b5cfcda6129f WHIRLPOOL ded337fad1955011e786d06461ea3517c34a50e8afbaee363fd7962219f736c4210a3a2fb77c49a88567d76d77d93451cf12adda64ea8dd84cff452943a86805
+DIST bash30-016 2453 SHA256 7b71cc18a21e5ecb4df1ef072b9d36ada268f33cc8492a70e4892ecda1f6bfb2 SHA512 ec97d4311a34527545a179ac251720714ff94ee1d7c8bb01393d847eefd40c148cc4bdb22c2e2d951b9ef7315af2a914a6e5d775611af388a4b57f6c0de230da WHIRLPOOL a0cd29cd951deffc3c0bdb13ead34e0890f717edb1148a78ae9a201623569a44d7deeccb3af52be7075cb05a81a9006c6eca9d0a592a1a3bbcf12a5b8e53d0a8
+DIST bash30-017 3226 SHA256 427c3ba3e0d6ea29b8ddbfc2fa48f0f90fbd68d38501a409ba0beb73840245d3 SHA512 c7c621f4a683b10b6e55729121786484ac075e050b82c848ffa2d79518759cb21ebd2fd7f7e529b7f2bfe95df79d6e2bd270b9fd5c91fac275a0ca3950884d56 WHIRLPOOL 084c63af3700cdb93d4705710a5303943e8dbc41bbd5c1ff77e965b24dbdbe78d21ccbb634317e1a38ff531af4f7658d0c2a334565a551626c428b8bd0f9ec93
+DIST bash30-018 1115 SHA256 51ba469c45d18a42394964b2ca4ea8c99c33090f6c0a43695d5cfe72df497656 SHA512 013edd5b11c526cc0539aba875064df046a6d93f6d417d7b2ac323a21e3013d6bef3b2dbde5773d6806445db60406c92acd697719eb4b689ed96909d209384a7 WHIRLPOOL 7ac7476afca3db162e7ca01e2ca33cef1eaaf9203396f6fc52027b7856f191f3af9756575a29f8ec712745ee94b31ce9fc2a327c5b58de3481286e4c604c181e
+DIST bash30-019 6676 SHA256 c9f92667975c751a1b7004cbd584ffb84028ba4869d622972922befdfaec7f17 SHA512 919a3d5a10e60899bde064b875ef593ffe9ad6265f4cb48cfb92791d7ba603db8e20ea31bb933c62ccefe345ef6fd0ec8ead7a0fde53f20262f5cd05e22f6929 WHIRLPOOL 96492c6e928c634d266145290005c8414ca0b7794e46b15757bd77bab92b78c13358ba88976a002ce79921fd0815d14dd0c6e1819d03328301e1decf7cd29a8d
+DIST bash30-020 4035 SHA256 877b0313dc5e572c1df7a7858f2571d75061fb87a7d85e0dc005b4e4aef7e8f5 SHA512 23696d437b8f0f56e1f6e20fbff2700f15001e6854b08269dff654046b2ca6ed0f6d040f308d486cc0e584315695c45c8f47f69196942a83f095dcb06197dfc6 WHIRLPOOL 4bfdac41279b4f0f37a5579db81cea42f6936a9705a8cc2ab343a42bfe62ada842e0145dd6be0ca8e78d9006d2bc28b898faf2d0a335b3405a111261e1aa443b
+DIST bash30-021 1778 SHA256 1942b82395451e083e152bfca13ae8d3e3774f94536dd030f399e2d38985b3c0 SHA512 7f7f93c3be8913a7de413032910e95811e9935754cbdb3bbbffdbd2996bc040bf314b7d8ee6446a46a0ee97e838a7b0c0c8d39ffb15b351a191de486999b8cad WHIRLPOOL f5a0e0af0b0afff95f175e534f07ca92c41b04ffef24f3827a0f2b48152a06b7f91aa218c2b750fe3fdb319ec20732ae4938fa866ba20609cd47d6b9321655be
+DIST bash30-022 3476 SHA256 a0a9371ce507b936af522822eb38ea86cba30dc9721baa7fe7e6ffbdb8e1c621 SHA512 a4f3d15031489e6c581fbcae2402a76aee78e77af57f5a60cf78b0e7deb33358648fe8de7da7e778ee217b694deed69e7cc7e7dcd4c474101ea08455eb593eaf WHIRLPOOL 8c5db5a45c6bdf856679f5ee041da714882bdcb35753977f1b80702cacce800ed06f81face83d4ac6c5f6bf4bccba210696a76bdad4efed12a3bc6a7805b0599
+DIST bash31-001 2708 SHA256 3b6d9151ca7a45dbcf43ebd1c6a647ef90c4b8eb54a245936fd6ffadc61fe727 SHA512 ec5aa8407afd6b4db29855ff740f880d20cd029bc27d6b996a8e4cc2982a37e5eb826216436c47f09cd45e17fb8fe55b748dcaa7a361bba8c9e59f1620b40fcb WHIRLPOOL 931e4829b48da4088f6775aa212dd8f110c2ef874a33469ddd3c1fce363a7c2407a1cf059261cbe5c625e569b6e0f11c36d416164d3d61e58831435249a50668
+DIST bash31-002 7169 SHA256 ecd248b1ca027368dae967502af5b28019eeee8fa3ee8d6a0210677789658f08 SHA512 80951d9c8abbb7ed83c85e8ed069a80305eb8c119b1f5b5a4b35e213b7ac98c4fb15e07512e028139ed60928c39f914ba675db9f068619a15a076844a46b1a2b WHIRLPOOL ab7f524e7c96efc93f58dd40bbba6d923f5c90cf87a08c8d82459e5603f89f2fb4fc8215f9b68c946fa48d652e3433e12b3f9173bae405e9773a600bac033d50
+DIST bash31-003 1324 SHA256 96cb8a42162a5876b2392b76fbfc78d073f50735e1e8a14e67e03b6e9c2b215d SHA512 37d64e5f04832d404887d1a95bf3973b66b31b7c2b6184e3edd5f92ad848bf01dc0051bfee6804069beb0b1f522b8e3a0b0407c65885f539cc8e1f1ce2a296a1 WHIRLPOOL 96a1f17b8cdacaf070d70119bb686a155e313257b38791f92883518f028670ddff8a6ff1b68a2fa835daae81887057b757248e7a8e6677786d71ebc7eb5aa6c0
+DIST bash31-004 1470 SHA256 a50ecd3f51e9a79f34855c68c61c9523fccb66da0870eade936cc1f64ba04415 SHA512 c5913e1f11fb7887a442496b5a70f8fe938d5311be848bb19fc6898c0ed95ed045b21db994b4fc4c4860c37924c6c4ceb30909a6e143a5d7742203c51637e9ca WHIRLPOOL 53ca18200f35771606a83d9d84edfc05e28fa1a5464d9fbdcd690ba88c54cf609c83c70c72f4761d475b88ee9a23b4414e3444c4ecf7d7b3443353814a0a77bc
+DIST bash31-005 1322 SHA256 3b057498f01cb2b528a154b9043261cb059846b23222409f7de95a7971dc6664 SHA512 619e5eec9d5f864dd3b94ea0bc89e2f5a80b74738444886763b1e692a424d2cc7650b7e16b7ac977f065ef4554953c1e7bf171d15837712a99b6b487876df517 WHIRLPOOL c99cba65c0d536b8b7abf62cfc92de5176e66bf370597b1d1bb752b69ab3a0f8deff59a275a7ece12d29bc9129953cd812258710dfab06ca75e8c673106a7b7f
+DIST bash31-006 1561 SHA256 d155030ed49de27812d9ae01211283f7afe5e718ea4ed9babe1f121d25acf778 SHA512 4a8c24789af60096bfb63033cd801cf090cbb81122e48fe936fd47beae594f61e1f37b9f31f8a9bb5c1608d114fa3fe0555c81ec64983aa06a4b8f6512a368b4 WHIRLPOOL 318defda4cd379c87993a61af0d7a9d3873e0a2c6478d75ab73277c5208af57a90bbe2644e71a6c8bb4d02add2d56cb4a3b06e41dcc095ce080d8525be474de4
+DIST bash31-007 3254 SHA256 fa89a6c808490e07cd7350ecb3390ce0ae6dc71d634c61c62991aafab97962c4 SHA512 b6842a7fa0ac353f5341e351136121c94be77460c6bd990e67987e3ea85a7c92e13d59cdb5d26316fcc21edecbc8f47c5f6147b3473b1e150bb03774f28b62dd WHIRLPOOL f57789e44cb09b9a9905e6a90e1a3c66acfd8ac8a5c15ea7f128be9e30637c31e7af91da7921e54c5f679c4b97df1713a23374197a87b6ee3e3ec5197903f6da
+DIST bash31-008 1422 SHA256 c30fe9da56261c7100c5b6794d4341b6b1fb6aa0ecc25b1010ac4ac25b07d1c7 SHA512 4d5c67738fea317e1e2eada7aadfd99b85b1a54d93801e0ea75254ff65156b219ef614ce278a9d41d4c24efe92cd54b7b4e44d84bd461f2eca0485b71717f734 WHIRLPOOL 52d6a009974892cacebc3a891dc7eac999f4e72cd0c9e23d3304bc3da09d75a5d932ff47e274a6962342e2aecbb07c3fac1a6737eae28e49668cb8e3f1b54523
+DIST bash31-009 2000 SHA256 cfdc6dd92d0f47988ee59e2a26e8e62a87558e03908a26ee33dd0394228ac255 SHA512 991bf65f32fde10305ce828e91871e122ad1601b1081bbabbd1154a7d5b05ccb0b3b9e3f8da39bc57edac053ab894061520a5211cacc2ee098eb11939e38c98d WHIRLPOOL 2de2a52accc3b535049e579181864d14c2686ea3d112554aec34bd59a24e67359d39a037672b5eee5e3b9d34fca6a78ebf1b63dce7e9f339c9a675e45408487e
+DIST bash31-010 5218 SHA256 7ba8186d5e7de76c5b4e7c8905ad82b3d7cf459141eedc4ebcc6a0ca3b23cfc4 SHA512 c5402af01238ebd33d8770992d9bae256b36c3bfebb9644dc1151b893eabc78834fc895b7a2fb452787e00ac2653185a8035400321cac9ad05a8b4a61dfd09e2 WHIRLPOOL 57ddaebba8a843ef1efb6e84eea3fc31a8ea4d8936ce27836fcc6daeada05ad683f2bd141a666961ab30fff45a82835f44d75c09e9762ea8661b3127f1b849af
+DIST bash31-011 1462 SHA256 09cfa96d03b4a12bb85687e61797214222e188c4002f51962dffa51ab12ed998 SHA512 f662f455fae03ce70dc5b837e9ed549289c75a6b9fd5fdc1f14edbcf0934e85f4a46c2164a15ee7f10e606ec771a1b5ea7c081a3d227421f2dd2321c8f267e8d WHIRLPOOL 48339c0c77832bfe6e35ac9b838462ab2dc84f50955d722719c0fcc9a8974564f4460e66c33d6e1b4304a0b9444c6daa2be649201942f6259584ab1922d2f18c
+DIST bash31-012 1212 SHA256 b28bf4a491658879c43d4150cf0be1c48db97a594b6657c1cdeceabc226b8231 SHA512 e8940ebf8b0282816b04fe399ba05bcdb49a4f144c02b86fe2e5cd01556907451f99944b2e275bc0204c4368f232744321daac57ea858911c21c7d72997e0476 WHIRLPOOL 63395dce19aff08c1a64d9d76d82e957a56e00afa3f58bc4695199ed20e33d6874035ad3d197fefa3f67524b8a637b05d54fab5f7489a395a60fa4f8a5b7aa79
+DIST bash31-013 1133 SHA256 8b9a49bd03994f789198269c80b544b04e9056973bd75f843c05e40873c97088 SHA512 4cb90f249cd92d730133792395e23521e8ccfd4bc841a42988aa20e0e19940114a3245bb28ab4b9ee48673c80f37a6d3f95e8211f0e93a2cc91c02b88d1b3948 WHIRLPOOL 3cdf7143fbc5ed65d93133d01f74ce0e787d19e7c41ba950b7dc1e220b2d05473347750041f890cbc596ea47ad8e8edd82ea4453fc43d519577c3c642c3d5391
+DIST bash31-014 2818 SHA256 48086c8572efebfab3535dfbd4767d95eaf98e7dcb7d1dd13698a16ab0580319 SHA512 83873746b75a9892fcddc5ade512c0fcf5f4614af42b836613ff62c10f3787516d812def4200c39b60179ba7ebb86b0ca0e3d2b7780eaa63e34387ed1e145e93 WHIRLPOOL 62a3d9b7e53b5b8293dbc23570c86aa5ba1b016daa3c9ff7daa025c8d01e97c7eb87974ef6dc0f7ecf965a4fa021d77278c1e22569916078a6af72d2d4095a6b
+DIST bash31-015 3089 SHA256 3070548adf1c6ce481000b6bb96db7511637d6aef52276fe2f83e2bcb078865c SHA512 5469e29f1b9bebfcf56d9c3db96115d6bcf49c68fbc3b1170623c291c181b8c887b9bddb145c2b6d2e161685408610610351a0f2c10d8db34faf484bcf4ca76c WHIRLPOOL 7d978d5d5bc30deaad72e04584072bedbe0ad8af1bed2e5a3e4fab5f16c7aefa8fabaa833e8877f85e63034a20b69634febdeb9175266f961c8552ccda398796
+DIST bash31-016 1295 SHA256 2438b71c7fadf2971141e6854d317804e143d86eefd6d7b4479d62afd385ebad SHA512 7f3e2edaf3523427f91739780c7336f3d63a37e9236d846763747b093c69b2df68a02eec0ea627852c6eb3d1b3d5044dfda1f9e74254d436af4a35a9e1fd0551 WHIRLPOOL 00f7cc118ec7d524e4a419db1519516b9b0ecd07a58bfcb8ca38ab325983b32c5c0426e053210eaae01e4586b6b14c6fa62825c309d10047a3989217402d59bb
+DIST bash31-017 3640 SHA256 8fb3ac54b9536ad1ba829f229f1ab906ab2af005f2bfa733f2687245e1569407 SHA512 5cabcf481a9a47245af383c8ef23b560674431e200b7d01918ccbe625ca9bd436b7a94d8064394a2c69c6383011b912575253c29eca6e2a8d597c4113e92cb96 WHIRLPOOL 10a98686f2b66b1e69bf8277c27791ddc11cc8b7d0cb531e6c5876facfbbed659ea8e6ac041c137bad06f1e066fc097f5ff79183d4afd51df5df94660d7a08b5
+DIST bash31-018 3225 SHA256 80f15b2719f3acd746edbe828f23b80116ca033b870120301256131eaa5050b3 SHA512 c2e7535178c670fd08b59db763fe84ba272e630353a6ff9da0ed22be4d449dc971f92919945444862b3b9ed9a73a636d1232f55a5cea082b85874ff47e5433de WHIRLPOOL c0e6efaf966d0f4f72cc060f1bab52acd6461d81f8049abab73a6690d0310b4a135f3404a3d0ac3c1551ca853392bd9d5862649c86509550dbe686057aaec56b
+DIST bash31-019 1115 SHA256 ee870d33d922d5050a5722470ba6a8d6560ee9b34406c6f66c25351120256410 SHA512 302e291dad01724b030c68e42edb2ca3d49c242264ce4e89652fa18d1eb4b30ede500eb2c4f4fc7237b25eda87330ee289c7f52c19ee8d4a4c782612b2175efe WHIRLPOOL 0d46625911b2bb0a472c1d0344efdfc3f281b52dc5782c1410343be9b699bae5453a7388bfdc9967d3f7ecc5e5f567ba1969e08f27a919d61d3303b7995d177b
+DIST bash31-020 6617 SHA256 459b70fec9046c63bc7be02284fdd7b39ab2c40760e1f5499c396674ae2e691b SHA512 eea4f5bc08f17784b460e124559ab87756f27bacadabf012b38db2e9ba754ebc14b027b86ec2cb51ae40443909779fc6ecdc91dad7baa9a08cb754969ab6fc3d WHIRLPOOL 9b463a4195ec695ddb87f6cbe5468c7bb6373d6370ebdb4878479cdd8bef398c2c4469cf3dc0263f78ff78dc4d71de01b817c6fc61efbf2fff009b13de512542
+DIST bash31-021 4034 SHA256 3dedc495d48d78fe7756e651fec2bc280542209d33b91b7f2e031e38a7bcdd80 SHA512 ab5243b941e14b7ce59df754b6f9ff757f8a607f819fce55906e7bb860a11874d46558dd949fa51492ef77d334533bc8175f3c2fce61731313d33a0b1d7af616 WHIRLPOOL a86d2938220448a3f9e0e97dd01a23192790b56ac5c6547343eaeefee034e059e6872b1c8da764689cb9793de13fda7268ed9204c4a4f06c8170439b06e5147a
+DIST bash31-022 1777 SHA256 d3fb461827b1289bc7c09dd331b469c95a5a81fcf16e52d410ac86d0a5be154f SHA512 879d473dd9cb72d23fe438ffd678c3860c71ff664b0c971ecdad7de58334178119822fd2616b0787b58a26dafab3db0321f76194ab1b512e939a0a8abad69537 WHIRLPOOL 7683ae2601a5aeb2cca2d0ec9732568496ff858729104681e4ada452e0de1410c8263deddf4cb375c016d2fad0093101a06387d8695b0a315e206b6ddbd7cfb6
+DIST bash31-023 3475 SHA256 7e042ed56819ac7c24f661c464503cb02fb3e3f4fb3b24603b926b1697f27e0d SHA512 5cd7f6807e77a9d4e4c298bc06399d351f22a88e77bad802550f79685c6e54505cb617ca31771953545638bb3d08814b8a69f1fda56698ae7c9844b0652d2567 WHIRLPOOL c63c82e465b2421b33d1fae3fbe871c7ae1b6f092650932eac6a27d084adf151f2d4d955659f6feda370df46592a331e02cd408cb5cf05976ec7cb9a3dad198e
+DIST bash32-001 1539 SHA256 beda60ce6186fafa36cd0a98db9ced42cff68daee4342cca73167fb0f2f43eaa SHA512 14d0b34dec1b285b46bfdcdf18b98aa9412afe14dcd330a6e07d4295bda04c18251ad118b3560e2db3c981e0e32be6e20bac082bfefa071ea6e680f3d2010ffa WHIRLPOOL 5934d7d8ac9d6bac475672eee9abbd4da7cfb9baa2a45e565c43b5bfc6b98c411f5325fa9421041543d2b60626db97246195772ab5e479c620cc08e52a7adf1e
+DIST bash32-002 1524 SHA256 a0ca49a3c47678ad074c990bdc871fcec680749b7f04f2def6527f04c589c40a SHA512 9b9483615a97bf3958f1efd055ecef6ee5f5e1b104d3d42a00a62c27e912aec4d3aff0b1a39de180fc20b12d2ddfbceeb595f2c3515eded40854f97ca0bfbc25 WHIRLPOOL 12a876c17e62afa67f8aeaf0001ae660ab0ceff7df1fe2f5c047cc66dcb66132d59ae2ca0f3091a120cd636c0bb3a78212bcb046867c822a06d79fb0c38fcd06
+DIST bash32-003 4599 SHA256 7ec9e5e7e402e43b12bfd3a9237f4f171029fc7f58e59335abf3ccb455a5a84d SHA512 b489841a41789b93ef505b19da5f756a6ed981386f9ee57a94f13ed03892abb800e00eba012fb6a884d8e6b2ca7db9032069d04bb57916b062097c3a8d89ef23 WHIRLPOOL 3039e873a5cc785146832bf31a5677a70400d06553f09cdd6b39140e750dd48fdfe15d00faa35a78ab62f3daab3638ac3d464acfab6ee7ce44e8255ed19ada8e
+DIST bash32-004 2585 SHA256 3de0938673637089c3b0f0f355de377bb2be2d3fca68053dda267ca11b5998f2 SHA512 553d1a9d3eadff28a1af8835b6ac8af17fe7a97f6a2b0332c8bcd837d49000b82b9330fc2862e691e696f7b842729eee12c8a8a3e2ebcb48bea1b1a55ecdbed9 WHIRLPOOL 7720de6210382d7cb38cf5140f1e45272201ebfc43f14fe5a533b8681190d69df3643db9798597623d41da537e4643921fe67ac6b667194c70c4dca3ba888b02
+DIST bash32-005 5910 SHA256 e7fecdecb12320cd6fe9aca83fab1828b76aeb5313b991883764cb9139d845b7 SHA512 58eb1893e562c72a23e1896a50f6b1e6e976cdfcdaf0f8ac30b493de7af1f7cda5c5b801ca363b1a22b78c8995fce9cf66c18bb4be75e32ec7f7e2bb348e6b30 WHIRLPOOL e22268dd3700d71f3c26173b0a61d75132a1d60726c6e5270bf78043eebcf0c7922792f5906edbf08acd1ab01df24eba72652e293033eb7841f12d33137370ed
+DIST bash32-006 1298 SHA256 8f14f81ced32bc057bc10abf6842f4a5ac172816631f2b87a5a3be4f01c0847d SHA512 053dbae4942250e3146b7402e41f11a004d5da578fae0e933ec71a96304c8be697031426d28e703e89bf01413bf99d76df339b7b2ce5cfc07512478b1f627b99 WHIRLPOOL 686703b4726690215250926d9614b9b85d3f556b943b86c14ae1bf7c19d9af6d1d206872dbcd707bb9adadf313eefb84b0417711c50a8236aacb7351748b1ca3
+DIST bash32-007 1375 SHA256 6863a712e5a68eccfb77162a9f947ffd80af648f0124c38f795ebba2be12eff8 SHA512 76dcf1e7fc620f23ba33cc8a25ec78b3a76483dbf22f5af490087df95bf7def23f7cff515525bcb581e56b7f90f3770bdd6dd0d45504802f7c7111292607871c WHIRLPOOL 1b49952441967cf39c18479d65b45a2c0166c4237f41013ccb6888676e66831c125bd41d48cd401111e84cb13effbc957c796166eaeb935848e2b1d714ca3b56
+DIST bash32-008 1302 SHA256 ccf303b4d199d89d5efc659235f8a645376e86d294260dda4becbb61ec06667b SHA512 74a73e9f47e586b47b5cb5d91889c7d17aa4a9fcfb31112ed6349fb5574a059cfb374a2831e6e2800e143c641a7060f6d8400a47a04e05861ee4c9147d707983 WHIRLPOOL 0f32cd8e04c52f5e2dfed3983c711edabc8800d9e21baaf88923665f1988c65fbcea7c72abbcfbf86527e7454ccc0e3e1e0b6efcca493f3e01ea891251f828ec
+DIST bash32-009 1882 SHA256 ef30c579419106b4b4a2d0064ef7e57ceee6cdf657f4ccd7b89c8e4fd70560d8 SHA512 b76760a6a09d33f5d1243a500233a30c581768b317233815e390f24e81321ece695f6db7b179b3f80c621b07f1bcff13fc9ccfaf9dff90034ec729b6d15ebfb3 WHIRLPOOL 758aa073ab7832816b0d1535b9d8b08b9a4ca530048184ea8bb2abc0fa80b4a746f38800431e75a92dcb98c3618e0de3bb4bb7ad5cee6462e9dd296ef6f132d1
+DIST bash32-010 6293 SHA256 bb7df9fefe88d62ee371353edf62402a667cffba6ea202aa1c8b220308a0c612 SHA512 1c576da5efb44be99516e3f57834092b7b8edf8d26d2d9a57d8a6b834d564f6ddad2a83a9f693e290a77293c873b25631fd711a06a3c058733c599ad1b2ceac7 WHIRLPOOL 7e6d5686bcf2d0fd6392c3fc5cf14ef4c9a8cca1c43657ae7327ab89bdc32f0f1cbcc54fe2a6eb79bd0fb09749a623d0c0703cb7cd4518fad9f0757cea76aa00
+DIST bash32-011 4776 SHA256 85bf656cfc49b1447b061341a4b1cb93ba89a41d8d1699a65aa971d1853ba472 SHA512 1aed732d4a4828486ddfd00cc399dd04d92df60fc135521a3077043162e5387c5a1ea2aa914a55a7949674e62546bdc0a6792ac6a680dbe3ec71a63f03b72923 WHIRLPOOL 4789ee7e25e55b4f8739ec1260a3e4c01735e2165c9ba259a070ef930f74d892ed1b3cb23018fabb0176063736f79ac1e7d7b19d98cb62738a57d846d526cfb4
+DIST bash32-012 2555 SHA256 45ef4ad98f2f218aa3acec15842ae1b833769c1dbe2f90c9bba00bbe4949fc43 SHA512 ac110c5f0bafc356c3c1705786bef6c77b331d2ed5bfcbf179e588fa76a8c3cd130809c5f0ebc2d15c8b92b8b4de0acc8162de2aa2e48c609c99acf9d4a6d97e WHIRLPOOL e87e65f8e0e9e88fc21c3de0555d668bb19682c3ad88f127416e27c7b24886473db1d8c2c4361caf0bb898fdd59336e57f96e01c52dc7d0509edd0fcc6af8f46
+DIST bash32-013 1852 SHA256 9fbf893c383f45d25e5bc5c9eae8d2b349521f288945b3bd21c781784b81f693 SHA512 046660b12924f8703442eef708587b7eed042f47ef77a93ca765a26d62419adc9a2e96303d233a2ab4fe847abd67f05874c86ea0b9b722beb89d4cd93856c9f2 WHIRLPOOL 0022d1eb0a39e0c5e52e55df8c20eb187336268047e68cf562deb67efc880e852d28fc6a3c407996d487d5007dc2f72564a9bf1be5b78948d3414b7ab859263b
+DIST bash32-014 8141 SHA256 62bb1a4d70f6f7938ca70a6aa7fe6f4b377ab5f450c7756b22b41de3bbd98ed6 SHA512 294ebeb27fdbc2e6d1143710d991f05bb34ae576f0823a0f197f0c34ee1f1050da1d6e8b2972c4574c3630119d53ddc7d01ce483def7aa3c096cef3a2a145ff4 WHIRLPOOL 3cc95f4a2aaf1159a71e080e67f7e98b4859e73113ea600fb80bfe294189c0b40a21e99c5ef3afd902b62fcad22c9db65c1f60e0d6656775caf142441853b626
+DIST bash32-015 2293 SHA256 de40425e83628eb7431f39340ac09b42b5fcf484a565352851961b3e917d8771 SHA512 b574774cd49c7640b3b7d1bff1fa2c8c3f9a1f5c8bfe83fa4d38b9d422e130f1c9b40b9679612944e128cdeff0c6c048346c99eaa3eebbcd4e0bf5d75a642d06 WHIRLPOOL 8a34d86ce119f75581883d8a4563048c9106fb9e396a7fe9b8693ee9742f18e3db0b609c82fbcde404e80f0760656b6a4ca09e9a66f3bdfb2dd2a45b1cd409a7
+DIST bash32-016 1620 SHA256 7abf66bbba3ebd6b6428190f3ebca59abdc0bfa3957f1a725489de7391c2d9f1 SHA512 5b8f9703af2a5779f0c887ac7131746ccbac3086dce5cdebd90710b8a72dd5cf6a4de22f8d2521a617921167dc9ab3eea4933a4d28ca08c128be67b8850138db WHIRLPOOL e5a57fe13a1fd2d7dd9523babb4fc1054814a408e53269990847e3f30fb379a88e3c4c9ea80a4434df46de0f950bbf6ac652f161dbb464ed8a3a1234813418a4
+DIST bash32-017 2611 SHA256 951aa2a07b38db8eea8e7368d3ac36af60af7f5ade455215006229ce3815dfe0 SHA512 d336f3cdb219689b89f6b399f46af68b7ee08b8360a219fb358d79a09eb06e027ec93ff210167faea1c1e898ce9e5959ee743f5892c9bc21b35ab332da26608b WHIRLPOOL 87d780c8a049be3ac6b4241b366fae63becbede400e0ab5a94f68817ffba9140e43e423d8a29e7379f91aec79977b2ca9ecbab36640b054883e5f1bd780d20be
+DIST bash32-018 2433 SHA256 c85e2bca6084a79774adbf801698c62905662836334e54355b77fbf1c529074c SHA512 f2059a93758f135e0909163d45d9610950139cef048da89ec93489e983307a291041094db6707a76d10fe2a23c7ffdf4c2c6cbbfe7e6991ce14559e4a4a10b97 WHIRLPOOL d44f0beb8c1bc573e6496b28475437dd15d6ce4798cabf0eb3301400f0a5317c58179a5e3a57abd2aa8149fc05c8486041e7a0a0c262c02032c7eb94a015e8fa
+DIST bash32-019 8618 SHA256 d83f1d740cb103be444589dcd9da61c2802815e8c256a01cfa7e484c50a9eb85 SHA512 2822e39bc19fd4074889006af1489029b6a379c9d74a6669fd1dc13695d98747b1ccb3ca40a7883155e443a50f4aeb8258589b10621831296a4834df815b8397 WHIRLPOOL 50a538cb001de304f68f6029995f1b47274cfa1b3f440617a1f80eb7db813abe4517d6d7318135f44b8fa4d6b5a30de16f36cf8c135a8800671e866d0302822a
+DIST bash32-020 5182 SHA256 3e66a1d05566d5501c2f868d3c94b8d71821a21d0daf9baaf594369697793013 SHA512 dbbfcdc30cd51f33c36ce28b1f7f35e39bfb5e7277e7ed25bb9bfffc7f958834210d36637f73d80e8e61461095c1eb712daa1b5ad833fbae0c9890ab0d0c51f7 WHIRLPOOL 64aca652cc23201c55ad75442d241d4fc873a09a5c284c4809b6464c72c89db8fbacf8e9641e5a101fb005d48e551cf7df58722d7d374d41fd04c4e0e117f122
+DIST bash32-021 1814 SHA256 a5e54704e6867c969a3e60556a5fbacedecca7404c3ddbe8180a92b6898a2a58 SHA512 a7d5b6a542b3912cfb0099f5f57b9d9050cd0a8a8ba17c48eee6c080253897171ce70ee75f290e8ea3d2f5b46c49e5b1e031f3ea0fb9e1fc7bc2d8e06139a10f WHIRLPOOL 25d9c811b5fa2d5b97c3b9671ec9b1dd94547eaedeea277e1143cc1c7e164dcbd9c541b57bc91af33bda4959094944743c93e9d0b782210d2d1abc9667411de8
+DIST bash32-022 3034 SHA256 057e03d593b858637056c0458b168e9c012db914727abba964afcaf377f2c5a4 SHA512 82f85f5c99d72cd2611c586c9d96a3051e07545676aadd0e8530dcb042a4c4ba37fc24f743139059da1ab36f0286c9e8275beb3e5a186f10aa45194d0fee6ec3 WHIRLPOOL 5c1e0eee55cf3d4f684aa1bab2bdf8cf4aec141f5d2d96949d15d642be7c09830cc1ad3567f63ab854a98d97e4c3fc6f573b0ae74dabeb53608f6f1ecaa3abc8
+DIST bash32-023 1321 SHA256 869466d80807cde59c0eab9a39ef1909be4d5e8698ea1e3daa530ad59baaa97a SHA512 b6b91217de9f34c4c0764056491fd42ec573ffddf3475405eadb79a6a5b54ef64e8b3cfe9c1502cf9649f2a49f9cc756c40b539006ff3b8f2c777690f7cd2c67 WHIRLPOOL 4a3b73c5c5178e45995ff0d3b76a87c9fa94ba4da4a5f8b3b420beff709805e6d1a0010ddd61be1f89d9c7fa241a9744dc2c28a1c26268122062c18692b3c4be
+DIST bash32-024 3228 SHA256 d13c59fa6b182f79bbf9ba35f72085aeb755f9785985eaf9f4a55d58045fe327 SHA512 6d0a3ca7664b9ca2b134e79e4fa26d850b6d3a276b632f6bf7c47cca5e92fbe0ef22c02bcede6edacd97722e28c319e9cd83cabfb0095a9ad2f5742544b26591 WHIRLPOOL 27f351f87d5fa4b93ee2f5972d66e2bd02a19fc537be7e93f0f9c78196bb2fc2022dcd37f51a0d9edd40fd0bc97968dd42790e52695500e61373d11b03c21f9f
+DIST bash32-025 1935 SHA256 abfc1e1db3af956d4e71deb6a1ea9de1164c49fca4020b2546df3aa56f08cebe SHA512 75f3f6dde820263735eaeec0ac8662eff0178bd8f53feabfbc8cc212226ae5dd399cca7f4ddee17d9ce5873e7eb6de7a5b521077367a7bf4658c059719620ea0 WHIRLPOOL c85b2f828ae37b4fad4553fd17567062436f3856f00abe3e701f4c3919d3e141c9b14bc9d530095d5a452f49ab433894b9a0d6234183b201d3afa7dca1583d1d
+DIST bash32-026 2438 SHA256 07985caacd6c150cf89c51965bd18db2c89a9f32f7a2aa946757007409c292b9 SHA512 ae320a3239f6183b19b3af6c72f64080984839137099746ba9c6104fed9f4fd77763bb207cc6f0c007585f02a42c3ef7e1f22b4cbe6e6e442beb13f9623368d0 WHIRLPOOL 822fa92339b3a135b65ac709957bede9605ae5fa818ea0702af53460eba0fa990bf4a0b5db265f2a81b365e5d6b6061af87bdb435dadfa6de33b5f3a2396f4ea
+DIST bash32-027 2690 SHA256 79647e3af94db8c2e636a293ee5b2f12516560b12aac0d4568a125d36cd21ddf SHA512 369a44e4f6555f28eef93d18d2931db6a36e67ce227b203c33a2863931969d06001f5242ab1665ed152533061de80e0bca6dc55a2c1196719788bb0d129589eb WHIRLPOOL f69820cbd4ecf6cf131a71079490bcb70f64e1e81e1cae72aa40edd644d76713d2a6b779eb08a8904317290a18f80e7457fe0816ab4ccb0cd2345a5976057829
+DIST bash32-028 1750 SHA256 37289390175097c23efac5cb00d66b8b87e41fc37398064d11ac00de0e9934b0 SHA512 2cf38013c6e9df96f0d49bd68df94c1e37b925ee56cdcb1a1df2b9173b27ad40a20ee4858ea51eebdf611e2d7f8320a6f62af2a4a4fd01a4842942381bc71eb3 WHIRLPOOL 5ecbe452bccce4e54b64714cd06e545597ad720d9fe3e17e8a96a9dab60fe21f11c3fd4c2881efe94d128e3dea868604e5204454b07eb33f5c9c8040ec5f8d65
+DIST bash32-029 1330 SHA256 1f4e543171bd66bc28b197938811028ea70e9e406be2529326d2a586844b98e7 SHA512 1babb4ec8e3b35a0f6b76798e053aff7dbf0bd4573793ea27f303ba913a2f53f4d0fe202965715ac988c655c16199d8c5ef5eac0ba2e0cec0ba355ef36768133 WHIRLPOOL 5b69ca05a0a6d06bbf433c568538ca6ee0987709d49418399af8a39e9c870c587af07267473593d970d2e79827662dfce8ca434dcedd8f3d78da2f79537085cb
+DIST bash32-030 1558 SHA256 5ed6ca19787f2285e0c080056f65a137e053387380b3d8f6133812dd8f824afb SHA512 8f14933c8f0a0e3060c4f392a00031b8e1415459c6769220bfee4ba1e71721ede50f26a98cf0856122bccdf8b77262bf39febbde9da5199ab46e17285adca6d3 WHIRLPOOL 3646f55221609ce6c4b72332ecb4b191c42a13734ec1beaf331dd3ca1f32d71cc4c2095beb277c835f43e2195c6f0697f386409feab1c79b9d71c481eb1d607a
+DIST bash32-031 1961 SHA256 81ddc8f45e3272dd0e463fab87b58058be28d9c867674f3f53432dbd25cdfa48 SHA512 93c559324acb6366035efade5c7d70963b5ad761bf28b9dc4adf6cc81f68f077b018e466fc3da9e51b7c6890c4491419e11d6a1a16d617da780ea7b609460870 WHIRLPOOL 22d19aa249146b12e4f830ae9c2ced8ef6461007e20fbb4d8ebfd4c822938dad3da88a5ce05bebc5ea109d14cf7accaf64fc912e8e8ee888ec253b328fd7895e
+DIST bash32-032 1304 SHA256 926a9115e5c885ff9f2ef8abc6c3c552652afc370ebf65a87f41ec6810bdb569 SHA512 7f1f2b5616c9aa148987a1ce9cbf466a2172542dabafc39aeb26b3a085f032e981c33686f5df9825d63346d11f22305fcf553a7719b12b6b85921f0d2f9cec6e WHIRLPOOL f09bd932c9d1b9d758e804c707c24dafdd4eea3ff79d40576829b3903b154301b14eb7ba0d9341e7df92fe3c175798d1da69c957f9e061797436e6db8b0e6d38
+DIST bash32-033 2181 SHA256 9d7abee640dafbcdc6b75544015f3ffb5ed5aed2747465ec1412e959d3966740 SHA512 0be93faf459283142936da4c99642a0845c702c4a17fbad6b2309bb884f557ff88d06d1e724b4aa4f72dbd62d3657a9e420c65f10f6c6fe0088f19d291cd1e86 WHIRLPOOL 088a5ff2ffcc588b0439ea606ac33f41175d7c63df8fee8317f209628ca022def92679635da7cbe9d89c3d62578dca34c89a0c7ff3c0bd5504dca18d1c1c02d3
+DIST bash32-034 1866 SHA256 adc52e3427b606fe9649980b01c5b2b18f0509c4dd6d59a84f85b6a2989f9f8e SHA512 c8cf9582d0abee1820cac7af8f72ca338e6cf6a37a10ae0b482ecf526867904c82d28827909ed466dd33f5adf971696b0b024a6fc7aff909d8eaabd1c0ffa2ba WHIRLPOOL 4e47a200cebd29a041aeae18d762b7ca88f87eff98f06d5c33a537fd5f0e672505716a5b27765c60bef6dc6f51e6c1ffde27d1db4147ec753322a4120e0f31fe
+DIST bash32-035 4805 SHA256 d3d906b23fce195d5d6f0db8969fa5264e80a98b5460008d6a05e4156ca73953 SHA512 3a19c3325a26281e39fc1edeac31fcadf4cb52055e220e62f582b3f7ba04350ecb876829b73c9cf00f33b826c400a95c72c9ae1c5675e224a4dc7d3305712788 WHIRLPOOL 5f59f762ea546e973217ce36446a4864f26505ae4f71962a1185ea1765e45c06aec4fdc2fa872b75ce7d4a3aa670bdbc6be5900fc0a5b86122741b8b0a3bd2ab
+DIST bash32-036 1264 SHA256 bdb24d65d1170234379fe587f5dc8b990c5e0c2d61c394bb8c81b91c1c64ce23 SHA512 e0dfaa808f23bdd945b6f07d823484f2fd2eca25804e32c16483f18e36062079deb60f276112638c0c14f9a6a1223e3fb77bc93275f76841027352220daf728f WHIRLPOOL 5e2988480da1fb39e21bbe457392047093b683e380b489050a56ca453c94715be53b5e20359f316fa7c6d34e48187b373c4e8c494a51d61c6bc6569528f2b858
+DIST bash32-037 3227 SHA256 9688a352c0fb23d2ce6e685ce39cda1c49f4aa7819bde2508ff8c90003f484df SHA512 237c419545a46ab1542fb5897c7cc8dd1256bf712d6f1ce46f143d0d98bd61502c07186124636d63707a62f3a811a8285a17a82164a3cc662f40898be9c18a0c WHIRLPOOL 464ef47ab19715c74e867a9f2a6816b33fae13d9b4939605b028c2b2f36900b8745aa45b1d410e38f10703d8f464e5dd7eb2deeaa57069e09be50e2b8d8920ca
+DIST bash32-038 2412 SHA256 0e3649531c3a5675743980ecf5ff5fcbca2801afe4dca7fb4b250aae7ac3b782 SHA512 085b7c63baad97c266d388d7000c60994d7578e034c67cf9a3f8e77e1e089ce42ab3d23a702db5ba942d29848e6ef74cca43fae50058be524a66258072fa2ae9 WHIRLPOOL 617914bea6147ee30723db825ac7ffc0d8c81aa0445b2ca0f2a3200649c07fc463d9413d8ca9e9788eac43834c39910764296d84b189e488efaf8fe0efc977d2
+DIST bash32-039 5034 SHA256 46d427fd5b1509ec7dd980c07efd88634fde61cf07ab221dcbde9e1021bd2817 SHA512 8b113de654eabec0e607534129b486a50b937bc7a6e334aceb8aa5cbb3d1447a762052fa082f2678114928402d794c59f3bd98f7b8c0dc1957e5c428f4090d11 WHIRLPOOL 3d984d552e77d1c705a511d7c3b9230816d0926879443b7c08b108bee139713681a616024b27b0b8539846b7ca7f580877ffd62c2f608948a7e5f48ee2dbda62
+DIST bash32-040 1403 SHA256 c9e0387eb4a2904126864d24de0699cdb6070789e1c02287a3b81ea96bf945aa SHA512 4e4def9ec1e4954ab9c28d5dca9cc78b87829e54c9edd262a2da906d17f0429c9f552b602b109922a0805837546eaf17c6e621e601a240c9d5fe6cdbf8716ee0 WHIRLPOOL ebb89f440c8fd60162955296528e459e68d478173b693e2fa28ba6d68adaa6b9a96e13ebb5c1575d9915c3e90990c63f8e3880b6dcf6aab8347556d543258e96
+DIST bash32-041 4446 SHA256 cc551fa57d613efea30ab2404fe724793a3d10f012b030e611d2c6449e463bcd SHA512 c5ae4008fd2e86ba92f0c0fce4f93025458c8012b55eedd137d70f6570b52ea981952853f863a3751f9a82b8c355fda5d7b85365314b643c4a9368463c4c71ee WHIRLPOOL e4939e25ff09bcc6345243f0f03f1d175692d56553be4f4b2aff05d9705be234d5c1d9b8ba59b45edc7111df37d80b6cc024e32435afebe433d7d3c23c0053ae
+DIST bash32-042 1209 SHA256 fd0df54d03034e104b6377f249624bda0271aa874190a46e9d41fc49ad3caaef SHA512 d8ad8ae3a462d59f4c34e704b10292642e03cf5c1d0320aca70f6a9fbe4e203b7d7a45a20894c82e8575f9a01a0087950990471d9d51227f102d075badbe6d35 WHIRLPOOL 7b19f74456e7bcac2108e99752cad44aab682e4f54d6053a59b04f97006854a681280d67e7b86122c06ab7eddaed6607af799c0c8a5c3eb74536c62396b03ef4
+DIST bash32-043 1658 SHA256 43df7d2d7d61d3a8f0e14bc86d4f55b6d2e64829ba0829a78f5214d186087af7 SHA512 6d13a3051fa5be41c40a12a1ab3edf717da7e9f002aaf5de105a15b11026d0cc3748ab0655e61d98390e782597b9ba212af2810e59e99211fb77e97441f0d71e WHIRLPOOL 0485cfe20bddad134687a37d207527f97c9559fb942790cebc6ed7e7f59e0fbd9cd3ba8cf7811ed56e8b07a4ec59f9fc2a018c39c55bf8a18e1962775e85bfa2
+DIST bash32-044 5565 SHA256 204b5ecaaa5de334c3cfbce6dfd8a9d3770b09024ab4724d86080fbf501ded69 SHA512 a042c996c9d925e2e2a74296af1ae8dbd7f4afe8d83921c6a449612fb193c66c0c71943f64c95032b732b3e0e73de5f97be1ebc0eb77aefaa6b6e36d29b7a61b WHIRLPOOL 226ea2fedadef36d35763e146a5d08b60dde4808746523ae149e4758a9280a4beba521bd77f0cca602ed7cbb67174ec01fc68095e1760ec385765a2956e9ebf6
+DIST bash32-045 1338 SHA256 3250e6c6d5d6884e31beaa2f521d2a1af9c2f701a4c0e67a7cd011b6ad8f082b SHA512 8aae43371e0c126ba8fbd6faf34eddcec8656c5161359e9b57532093694aaf1e6a2786b018156371b793d37cbeedb5040b93728f3dbda85199f7994511dee741 WHIRLPOOL 0ec5ad5961755e74b8ed179f20d161bac7a6ba85eb6586743121d4c4bfbf5e7a2f8bdd146e4acc297e4943d93c68f57a9e0806802b33f58d0e436102aa34c2cc
+DIST bash32-046 1275 SHA256 fc829e92fa951c34368d83272d746f5c0ed345a7ad037f93322347eed00a1e1f SHA512 1fb2d29c70850a0ab2ddbfa2868f626a19ae88316c5a32da3033832e9e73d7f0768eaa147348a1f008163b0e796c38fdc1fb629ee8b71848b0047c3f773e97e9 WHIRLPOOL 34583b91a3c0d3997b9e431f877410accd189c453ac5ebbd5d4d5dcaf672d72f2c13dace94e4bcb87e5853fe2f91af2e3865aea8e1edb07c715dd545628081c0
+DIST bash32-047 1981 SHA256 623d4a958d2b022a15929a4de7403766ff07b295a185987b4d1e6cf3b70ea106 SHA512 587e3fef02d3fa0e4cccb12b994a2def2a8fe2f799c31f27d60dc393b0f5d9e5f71d7996fecdb83a4386c0de2ca3fa5676f899f94e1b8ad3af82c5e2bc5a5c6c WHIRLPOOL 6259fc767083a752b38dde95491755cdb74af60cd159b33022e24d10c1e337ad398a56bf2679fb27d39ccb4a329c3c60cbb4b4272f35aba1c2ed387b40c81786
+DIST bash32-048 1948 SHA256 74cb56764274f393676f68738eb22a3ed8fa388c0487feeadf0d78a45b549749 SHA512 17105999c7afec123a377d82b2218746d54b66479ddfde641a2bf928aff9851b554ca36aa6f84e0e6943b52e4e3c1befc1d1070aa700c5278196aaa7ad384580 WHIRLPOOL b640110dd91bdc4b48b080d8869da1437e58cf5356992a6c9dc5ee4f70de72379ac3601e8175d2553f69cf820d2a2dab4e61e342719a58b24acbc716763ba4ea
+DIST bash32-049 1663 SHA256 b1217ed94bdb95dc878fa5cabbf8a164435eb0d9da23a392198f48566ee34a2f SHA512 18d6ba61c9ed2c8d710d62a006c58f8b4cc14c507743811dad3afd74ec6b017b2297b3ea1ef3c0b7ad38f834f1ba83937922ae8a87225ff2ca45ecbe6df1bb1c WHIRLPOOL 097fbad27bfdb23cee0344e517e9750c3fe1406b2f3dee16d61634584f5c01c1a1f3a11e81a82d80d52face0fa66694945ee590c4af9edca1f9ee343f3336c9b
+DIST bash32-050 1697 SHA256 081bb03c580ecee63ba03b40beb3caf509eca29515b2e8dd3c078503609a1642 SHA512 544dfe144e51b3d81cce4d01a6627478407edbbd53184c675c73f05eb3a85f99959c021749f2643beb9ab7163dd5bc86b97b9df289bdde2d83474bab4e9c0749 WHIRLPOOL 23edcb9ff2c67b166bb2dad5e511cda7f7a0eb0f1e0b8a5afcc345d5deb9d09bed974f61bef53c029b13dc50fddfa73c26d3bc0834b537344e21da6e28200b5c
+DIST bash32-051 1371 SHA256 354886097cd95b4def77028f32ee01e2e088d58a98184fede9d3ce9320e218ef SHA512 862000d29e5134bea3ce0fd3b8bc478cbce82cab37ab31942030e03dddf2d597cc3d469554bdd255c3ea18c359528b3ad8f7320a9763c95e578de4b30d35c2f1 WHIRLPOOL be75780b1510fde12900a73546c767a7cf3c1950ab964c41f6ac3e8ed5897b5fc5c6464c060b8a0fb50fb41084e0399544febb7800acd1599b78e5b2f2ce8f57
+DIST bash32-052 3250 SHA256 a0eccf9ceda50871db10d21efdd74b99e35efbd55c970c400eeade012816bb61 SHA512 c52fa2692f264a6c49432b22cee9aaed3584f2357687028f4b96ba67104a3929b6136bb91ec64acb94fbc10c2de842372940f4ff450b9c534bdb28c627c55e66 WHIRLPOOL 685e9561e4c2559500649bdb7cdecc4b985f45f6a4bcb99d67229fe771fb2a1f4dc348045eadf478f5d627574c1f7984dde55951178331e7e8cf9a445ced7ac4
+DIST bash32-053 1115 SHA256 fe6f0e96e0b966eaed9fb5e930ca12891f4380f30f9e0a773d200ff2063a864e SHA512 46cc13432224bad89736de4543692431480505616df6240276cc37ef1ff405e99653880910b39982b2449184cd08dfbc34e17fe7e3ee506c2f2e546c4e825360 WHIRLPOOL 97e2d62126b1356f467092af8bfeba0c2fb19b502d75c7096f9131716f6c7858f5fd016cdc02763d14f693baa8f7be8ee8caac2a338a34fb993b0d9764102e9d
+DIST bash32-054 6617 SHA256 c6dab911e85688c542ce75afc175dbb4e5011de5102758e19a4a80dac1e79359 SHA512 76deccbd28e742c54b494316cf6debfa2681e9682b2cb34c9c105ee7a0a571e8e044c034f97e349b0eafdd919627c8ae2d4d26fa1100b6c9a38273d9a9e8852f WHIRLPOOL d6f80584e3a8b51304f25069506598045b14c14f9fab4d4a5c17f88768fa32ca500bfd4f9c6a5ee614d608f9dfffc23a251fe9635489d9900c47907b425f2e9e
+DIST bash32-055 4034 SHA256 c0e816700837942ed548da74e5917f74b70cbbbb10c9f2caf73e8e06a0713d0a SHA512 7be87eb61d5d619b8788d2e4298d59976aee90febf59b89dae2df1b43e85b3916c16b559b5169226dd99f1a86d1f2e01da2d682fedb78b97e8fbea58541759d8 WHIRLPOOL 4abcc5667b76135999b19f7bb6260fd19bc4bebbd8d0aa49d15470f0556b8599eda8f46d17bc91b008d9036dd3933c8a6d05b1b5ecc6af8e902c08f9f3bb3ba9
+DIST bash32-056 1777 SHA256 063a8d8d74e4407bf07a32b965b8ef6d213a66abdb6af26cc3584a437a56bbb4 SHA512 bb1a5c84e5d8676061e06f9d2ece972fa4d1a8936252d2d199757a35afc81633a5737437fde099277af0c16d3318bba56cbd97ff14b832593dc2d63ed3f6e8eb WHIRLPOOL e5690703a96811b618b62080563d90f7975cdefc8fe96fb15fd3b69884eed3c5e1593f69232ee979bd33724353937e1f06a70f1c6849b490daffa2200b4291b0
+DIST bash32-057 3475 SHA256 5fc689394d515990f5ea74e2df765fc6e5e42ca44b4591b2c6f9be4b0cadf0f0 SHA512 9e0808363823d34fb054ba11441ef71e24cb226a1f2f062ba775951546b6038468ed1808067c7f1212594554b0bb5eb1137dd932b7f6fa6da06228b6364631f0 WHIRLPOOL dcea697907c1e65a9b7fafc472d8c53ca10f6bc9a5285742aca44f46584aa143caf396d4fbea05c3a573918a86dda3a34b259c38c150fcbbd343bb870a20d62d
+DIST bash40-001 5156 SHA256 e3b514204e5da7bf1aecf7d0981514b2367d4b529da6d4a45d09dc29e2f0031b SHA512 2898b793404656d63739e478332789a6ba51844c3a388ca4a18e42953883065c3164cb90e525cc6ad8e59d1f47e7e8058ff7ca42194569729aebbbcb5e93dab0 WHIRLPOOL 747515eff1af46bbb1423086f4f852b93fa20963eddd1591ead15bec39f9e22e5e9db52cb6785b7afe90746a6b42c110ae0b4c3982fd0449001bad71633bc073
+DIST bash40-002 1220 SHA256 495117e566019b9cb0ab49504945b30cdda6e5b59597e43e18eae1f06b1d5cf4 SHA512 5af8cddc9ebff7433fc200780e46becca4b13a407c2b85aa08871e3a3019daab9787aeaacf4fd86ae3666119a3f35c8548ab488c72cef4fbaf991307d6bbd348 WHIRLPOOL b36c8bc8d6e7ac48029904a915a052817b3f4a2639ae93a55fee772e70b9af5e52144735a59142baee81c45d3f67fe31826513b5bdd00696fec30a1f4f926ec5
+DIST bash40-003 1749 SHA256 e300c40611b1e3775b7d1fb73bd770ad19973c22d7016d126af3304bae797bd8 SHA512 700821bfd1e890118c2c051a589911fff5ae2aae7ecf6aa6eb2da019ad45136ccc5bccf8103fc923a1b4bf0b1d2aa2e2d4e3cfc9a5cb0b5179f1221255e0de47 WHIRLPOOL bf67f7568ee25b37d663a68911033669c5013e3813ff00a926db2092517c196ef3088442e442475e5c61bf7748b0f62a2fed6be9b064b580fc4b93ccf96e6b54
+DIST bash40-004 1347 SHA256 4b03ed1f8aea99dec4ab3ba930bd126c6b7dbaeebf219e21ce3aa6274c52d2ae SHA512 e9e88426a4f8222b32e59af4b32a781b9dff7fbfc50d6c40f97fd62fe4dabf08b8c257c685b3be01ffbcef2a918d30dd951b86e670ef283804c7ef4d923c3985 WHIRLPOOL 502656caab4b7ba108c453474dd9999bad755e4495c6348c3da3383e6fc2b4a14307a2dc9c4ba0c42eb95bdcb7cf6b9b96a0a677bcf937ab2effce7fdf5f6168
+DIST bash40-005 2021 SHA256 420658c026916610a07d40b71eb70f6674b78c3b3da10384c7535c15b3309450 SHA512 1d84d131c3677db0e827040174d78aa45b4444e4164bcd392ad630a41e10cb3445dc4abcde214c2d808a4ca23cae8b7005a290df463074851c598a9df5eef2e1 WHIRLPOOL 15585ce3b26abcb93d3145f23958aca4cda96a51c7a3d8d6cb37cdc49f5d936e67900efbdedea86f6e4242f6701b17b6eaeeedc3983aecd7c7b234685cad2149
+DIST bash40-006 1133 SHA256 c78762520f3da5f39319c3143f9eb4f4ca3351a6306cf94b7c42b3b2844d82e4 SHA512 49e83eab424e3423e65f3793c53daecf2e809194cbf2b8edd5fefafb0478c1ce42d6e7057ca367908949698a7be20269a03dcbfee3f1c1c5c288a67ad3b01459 WHIRLPOOL 6aad1ae263e5e598a7cb2ff5bfd52017fcfa78ebfe8328103598249d7639ec63b2a69746bbecb81c4779f2cf875cacbfd16a77963d7ca9a68a78a081b754ffbf
+DIST bash40-007 6920 SHA256 558d559e24d15a9eedb42951f4706839322c644791d20c11ca5e958cfc0e616d SHA512 3ddbff2676fa94d88e1bb824affeb3cb067089cf1c6c48a0ff0a3323f6e64ff59da4dc1126829925b4ec86f11c55a20ef2bd1e517b4661546402061a0aab73e6 WHIRLPOOL fdba9c77f60bda4ea47703652d910a2f7866a4fe0f2501985625249870922709dca06db468366054b4693e8b8964455627e5e5f8c78cd16c7a35ca17b4cb26cd
+DIST bash40-008 1196 SHA256 87db24c00f83db7bdeab585dfecc76cc6ce6fd9269fce0ac7197771f3005d8fc SHA512 1a51acefb80e78bee86fd1ec48da376028e15570bb79c6d108cf8c89802f8dad5d89fe99d492f64662c687e3ae747a8658037579e43b143c0112ebb89697dd03 WHIRLPOOL 6f3023dcb5cba32d42d8f7a283aa39b2a34f95ec9cf48c671d3a90e04637ee0c03a793bd317a8d7a99331ff69c6bfb20d616abd620e5f5bd1f2baa87af2bca33
+DIST bash40-009 1821 SHA256 0047c240617a4aa633bb699f93a4fa9caf77051f2bb85fc2e9c6c899d1df7e2b SHA512 a732f24b5d39a7ba0f2c9b88fea97fc50c96ee73a15bd40085184620eea1c76d07224179b9e9a47ab20401259c548519c0801a3d8260ef47e830e8176e289232 WHIRLPOOL 4a504eb69d92b4ae7fa194328aa3d185d13390505eeffcab94f26c1b6793438b1d7dc278d7eecc217d176b836203400b97baab0e61290d1d75ba0c5db9d12489
+DIST bash40-010 2152 SHA256 f2416f6b45ff3d9a315e41b3da023eb727f53e7dd6e8a07e88d1f2a005ee4816 SHA512 bb0a48acdae924dfa482f2403802454bc3ce276b6179cedd6abe7451709c942b0e6253c18c6d75347364578604619cac9b701540c09148077f65bfae5ddc123a WHIRLPOOL a39d5e3d5ef2d66290adde4a2230626c0026130315ccf15650e5fc7abe925c82aeea2522c14f59f6f6e28c8b61b3b245c3d737ec3a30c73f2a345a36587103e3
+DIST bash40-011 1383 SHA256 ffc81429efe88958356684c27a914d832c1cacb16ca6881192832ee3a18354d4 SHA512 2c33054e6ef2d2816b62a7b6ce0db8a207e99e7a00ce9b9fe005d2de20b4d94a2ba74cc301848b3c72b5319ec4ca76a9113092c3663ca5278810bed4045801ad WHIRLPOOL b688fd9ffc6688b75252061845a24c1fb2ff7dac9d93c3165ae888b62ca5c0a25b001aa89e6ff5f31e7528526944238ede553bc6cf1910224e0749dd15265665
+DIST bash40-012 1459 SHA256 b2c4d6e9c12a8695bc177798b9857b9dbc85a035ad83fce401e668a2de1183f3 SHA512 d39c5a9697dec009bfe3ee3a102f2acce3723444a1e575afce152b082f4dce12c126e391ed1bad10c718a08d9d5cdb571d1e9b86bac5559f57e6c0549a0fc48c WHIRLPOOL f529dfc3bdebd271472e5af13c73f7e41c210281c184393630c2d9379315d61770a2b4d24e3ab80de9cd67d15faf28f05c435547dd7fb278b5bb65f2dce6cf6a
+DIST bash40-013 4629 SHA256 760ccaf9d1f3be5d81e6bc1f8201820b42a2cdcd2a561cb0fb021b4c241e4c3a SHA512 1108f2231c531fddfc021db2ce17b5f1e522039a708493447af5fc8298c6268cfb6080fd38a79edb6877eb2c92ef79b77eedfab14842af91f6bf5037beab0825 WHIRLPOOL 1d22b6b72226b04d7a4a9a9a416f995c47d29c9b90e69db5c269940caa6e4b3158a100a253026437ea0e68133d8d2c87edfd1192c22164c1c93c35763fb99481
+DIST bash40-014 3709 SHA256 13edc4c691768672f680b4f266bdd1c12e7b247349eba4d30d0bd923cca1c39a SHA512 7f05486fdd76e35700d8eb690d90d4fb3e24677a648036fba2f06528f61f7cb230e64cd1f1b374a865acccab4a57841e465088fcb69727e9e8f5f999d673cc34 WHIRLPOOL ddaee711e067ce4874a7306304452ee639315fb82f903816dd174cc8deb0bcc36ba14087186768a39d467330df3642ac528854849107832dbc83979033dc893e
+DIST bash40-015 1914 SHA256 7ba0e2bedf54c80b58e0f471e7372c539e5a43d55eb3f1881f5b8fb649758814 SHA512 f99c9cfb03f2ce9971d866a76b48e3d045fb244d0b223e6db0a7fb3e445107de624bf0c9cdc6fbbe0664d054e5973c5b0fbf15e5d231d8030b256f8d75dce358 WHIRLPOOL 4e3804a77d4c5dff7349082fef77b7073e50bbb29cc651da8fb08410eaa3521cb89f752c1939f48dd30dfa8fbeb9be6748f57bd23557b0496e50d83f205f8eea
+DIST bash40-016 3032 SHA256 8f3a936e928fe78ae10df109d226f79207a5418a7eded376e880fe57a571d519 SHA512 9ae370aa3943731c62209fc15edbcd99d66ea3f7fa8c834262dfc2fc06dc17ad3a509013f902130f5c72ac5411322b018ae8e821158d65ba00c015e23cdac779 WHIRLPOOL 3b8b5763681a9e71c3186ae813d2907b940d91ab7368aa9410b294df66b7bce2ec6515f8c2eaa42edd91b04b72aed4e91ef50b0a8356884990371712eecb6c0b
+DIST bash40-017 1496 SHA256 2bee2afe6339b034e3a8d88bfbf922f6f4704abf0fb56041fa693075f530f021 SHA512 6a78c3fee549b37850ab2e3c0049572c951e5f3717f54d6661d008b6240f7ae869f7a333a422d008025dce47ba222ec350d06d6c8764b06937431bda5b09e320 WHIRLPOOL a098a8282658f77a7cfd681a59b12261b680ffcc4e2b34d6ce1c94b4c88186299b012e2f75001d54f02fc4ce75418cac90c53ffd98c2f173c819540f0627fb29
+DIST bash40-018 2614 SHA256 1db3bb8db0e386be938ce3ca9d3aff10edee57e696dec353fb134960ddc0e631 SHA512 76072a06cdccd49425d77ecc47908137473bd128e3186c4149b93ec06b9809086a46af6f215a63d03c4c178f1a26c061eafffbe86c65e90028d28fd93dcd2420 WHIRLPOOL 4f30e646d3585b84cec237003a8b3d891fd0addabd7366a711024f7321b405d8c321280cc46b48a7f1556b5452c2dc00709ab5801049b0c3e85c23e9bddd5097
+DIST bash40-019 3309 SHA256 5049948f077090c02286445a441cf8efa3a2d95d5660dd8acef512408b0b7475 SHA512 56c751098f9395ee48d35c921b03a089edabf94060cff404614d0ce14aeed3ab904562c0ad6e3fec3e18da701ab4eaf31b3599b4ac94820c06fb114d95ab94df WHIRLPOOL a435bf3a223cae0e2b7d30d96b93d7e00b0f99de341ab482c14c6115b5f18f7fc7dbbbfecad6a32c84137e86dc1aebebe35312e900cabffe82c6ca326b1b498b
+DIST bash40-020 2666 SHA256 1c9a9aebe316867c71fdf94f1b2d3c2b40c0d291b3d220e36785e1ac340c6784 SHA512 0176a995921e565855938f916288f3ed40cb027b2af29bac7e2fd0678f81e8dad16437cbb94428a4391d1951adf844be355deb520b11eaa8e7ae493a7a167c86 WHIRLPOOL dd21d4f1882cd7caf7a2eb3b5e97d129050ca43aa15f26a3139d6105e7bb7215090ea19a212364723fde64189923c6f62f7fc4460c397a6350c2c1b48294ff52
+DIST bash40-021 1547 SHA256 02472d6f8b104941a2b6d4c9ad823cb0e7cfe6e5c20f0b12ab1d7eb23c88114d SHA512 fb72106b26803aeb5afcba89ad3824943accca2c162d6ae533ee1d86b7f66d3d3d8ac8be4a682de9c8deae93c9667315d28320e5f9e2df58478c1c01cf9d43a3 WHIRLPOOL b418f561cf2af8876bc5378bff62b44a6cd2f2b3164b1ae4e0fc172b74f03f0f6719a5886ae91abfb44cf268dade2e97fe6b5b3579b022f1a45a7ef8a1fdd964
+DIST bash40-022 1592 SHA256 045a1dc71aa1863f73ad7be00ec4e18ee3c43c20fafe58d9e2c6c51592359012 SHA512 51ba81c6fe4f03e20f4d80a6fd5aa86848adabab8cd43cbf5120ad16358917904b7ad0989115a0220e7bc4b6be6f6d5a1175c49bd93b93096e9510eb67739b10 WHIRLPOOL 5b4445bfaa70cc1fd5672291ae1748f102c6099bb002aa8be4a38ef021fe5c9bfc3678a1a5543505b49219bb3ee0a571b8d71c0ba1db44d16e7ba7974c83f02d
+DIST bash40-023 2148 SHA256 580b522375f762ca5ddf9dedb6431ef4a9b6e887ea25fc0ce152d747ae5ddc86 SHA512 1ab80dda1164c1edce11c7ee31999be2ab6c6e7fa8e755c9c490164308e898d05a9d46a119e60e98c2bd6fa6715375c02d3569e7d68a0f713b80e7a7ce60c401 WHIRLPOOL 5ded44ffdcc0c659ce10ef34527579d2a0dce26ad3faadeeb6152ce133109d8d297fc2aeca55edfa918d1c131b79e5eb8b5e2f291522e4b10043edbb04cda15f
+DIST bash40-024 3049 SHA256 a59ebac47efe31b951e1732e4223cc725b2748c331bec98248355c5ac53717ab SHA512 6142ff4c0315397d84eb365382cfbbf2e0e14b5d180c8d59b437925ba3d683567ed2a8eb7838d41e9beb07b5500f345c60a9aa55dc5f5709aed7b8f568a1369a WHIRLPOOL 64e5a6c7b057b8fff529419232d6fce9bd46b2177fc6bed516902e5f9dd0fdd2da1d135e5c504ee92913a81607e1e189d012018e2ca6926e4f7aeccbe051818c
+DIST bash40-025 3435 SHA256 f77900d636033474bc15d39c4948515fdfe718164ea668edd64d8d4d5a8f6a08 SHA512 ac84f5d5f997f2bd10d5c0cd79a2dd1c2cf510eee0ebfc291597df95fba9f5851d0449f477f82bbf860652ce618ffa2f2b0108921b8c8e6e582da0f43d4ccbd4 WHIRLPOOL 480f3c5f510ff0744e48e8d1be8aa07d51f5a7a411e97a85892d0d272176ce22710a43ebee06a8f8605b046be3e135423b8e49536814b18d447f0b38e0f29c15
+DIST bash40-026 1433 SHA256 a9bdf4409c6625561884be58026a52ccb47600407f3d5b8d0889f0585040f6cb SHA512 92d65885d5989fdd243074ee4446e51a721bc501f39e3887530d6422c25fce1f2ede2ad567d5acc8d1e2754e2f73001b8c1db33d95032f68fa4211d5786c0d29 WHIRLPOOL ace91c92a48e03eb0d7ef8f300382f772f1744572f84d5c318da9caaf6273d6a59b83b181cca0486ddf9a9eb8288e70ca0fba8d7da8ddd0553802eecc843a43a
+DIST bash40-027 2010 SHA256 f65dc26bb1bacc8a66610cd5f6f2b8e70be8d8c4e397e7a5ad6f3306224b77f2 SHA512 89688509123ef15bda34528569d5e3c2bc6627bf669e8dcf979d81336875457e82b669b9ab50dccdad1ac40d5f07a4d5c6cae963d94ee2ac2b19b7677aa187fd WHIRLPOOL 5484470dfe6b28ad12c6d7143026c7a5012de79993a7fb24994fb0022bb3b4439d79d8be6c1835cdf0fa417b9b214317c8950c80702b14517c28f3e1c5025c98
+DIST bash40-028 5567 SHA256 5b222cbaf3ab1c1d9b4c5956a0e28cad49660f5746af08efe174e7b474022d1a SHA512 037ce07c6fd5872054f2d924ff81753af2a28a2e70b1da498b8278d08a5bcc49cb8f242f4960ab465f2db3b6d05f9606c7d6d362b028ef898d08a2ad08c9d682 WHIRLPOOL 57d810856daf96e752729f1d1e1f1a7fc1998ae08f2b80905e95670d14c93a8bfa24890122e65a44e8f8b8ac2dfdd5b7fa6b4a1743392f47fa4268825078e4e2
+DIST bash40-029 3119 SHA256 15f5a21f91fc19c20e2befa568364f11e72ba30e86e4c61eebb6d7544555fa66 SHA512 cdeec36c7d448c167fd3e8bdfe1234685dafb5c4010efa5ae605be228006b89f3ce68d143617ab62159f790b381067d57d0ac25dade3bdf55a2f0abb0dd852a3 WHIRLPOOL d1b9a956ca26235d91fdde4a03ed18c757356b85e3ed0de29b435aacb404f8662cf0e9b2ca58fff764de291ac555d5937cbdca5609e192b261fddbad351e87ef
+DIST bash40-030 1649 SHA256 7f85de6839a6180922c2fec86f4c150036fca096e43a046a117e97e50e958af3 SHA512 1c27708eada140d99155144b622e8202591ed3680bd8d099803a4072293d6576a850a42bee67c1968fb74e30847d36b81b2d84d6eddd657e3e962095c8e7f822 WHIRLPOOL cae87c4e268ffeaebc109565fbddae3b0610ec8086b025285109de8a22b26c125db43358c05e15c746c11e70710b528c467d5cbb79eaa5eaf2ca7bb6b52076b9
+DIST bash40-031 1633 SHA256 603f318906ee4cd5fdc6a32360b59a5b64bcb50e393fe77d6116269ba28ffb0c SHA512 e6b78291d4aba78cfbb4a3ea0ca14f94a0986f0cd9f1a286996745037ac79da87b70c3936c32bf9e69d99dbab0d782c8811ae6d3d821106d135a19fd07d681d5 WHIRLPOOL 4f97fbb83d54a421241821dcac01f36274553b8234cb23af5ce364990b55d9d1dc1db2e2c85e6b585a835f434805d6baaab4a242ff0d3eb029e56aea8d4a996a
+DIST bash40-032 1154 SHA256 ea6b4736bedcf73cbf2a2558a2c3a04e3b18064a9730ac7e0c03e15d103faade SHA512 9e6bf2123557d8b4b908fa3afc278c8d10b8f647dd7de426ffe2a88098a9932d9f2fcd5fff922d731a7330a0a5067306b9bb626f89980c6b6d66d7e77a73d69f WHIRLPOOL 3bd5510cdedf80fb83e7a256589c03e23373ad4e1c7e3740468ca893b6b3f7edbb73cce4c5578b3fefb770de6f74966f7ccaf40c8bee76ada2ffaefbf860d01e
+DIST bash40-033 1380 SHA256 c496f6e0329940925dbdfc002ec08b8b06dc7e6e3269ca490f99a3879d2d04f5 SHA512 ff7af4d5d2da49e60741749b1e3814704bcf867480cab33108bf23dc27358d0a1c6f79d98991f245f65e5bfc67fdcc4ab05dd84f8f90c7a2c922978f8d95cf1c WHIRLPOOL 30271463a7c704ce80511cb0209b19a6bcc04fa3aef5c98b719e91a56b4a4d12780b2af6768e1235bb3bb6df2b87f08a68e108438e4ef4b809635aa9ea794df2
+DIST bash40-034 2160 SHA256 37d2f304c5c283602bde8195a501c19ef5ade3fb5494d25ca22fe1f00cbb42f7 SHA512 90248b7bf39fc9592a14b67d4aa0367daa50afce230e406a31c8f2e6dce091fbaa80092bc3f98ce4e9b3c20b6c66c827882dc1eea669dccc5b87ded185d60eeb WHIRLPOOL 6eb58c9514beb153f542eab6f98ad9c34eb4896917004fe1e9d54616248e1cb65370d4375ea16a33f4b8010dd81d403a609d13a47716ed6fcdb64e7c12143e0c
+DIST bash40-035 1884 SHA256 1806e4efa9b7dc796cec0acc4062cd501b2646591699c14b4899c26438c8f673 SHA512 17a926fefb672991331ee278e94ccaf880054379f0c6e4cc2b847937f54153b8e304ac9d54b65961f3e24fe89a32b961ac219453aeb6e182bd657e103c6ff8d3 WHIRLPOOL c24d7fed7adda74a7bb76ac5365eaa3ee51b1d78e84afb91f6276837a2fe2c56c013057219f5dc99d7f026fcc65f472f0e46677febc0bf5d2458f4e2d66e6471
+DIST bash40-036 2618 SHA256 7a78204900f68668dabf7b30a6df2398b47e810c51929e1c2b3f69f5a917102f SHA512 5c3f84b70420ef1ce55cd1c9fd30420754f93d7ebac6b2191e1c879b2aa2a147f25e3f881dc845d9d6f21526f0a294275725d41428fe1e214665262d20743250 WHIRLPOOL 928e3af0120b2a19d82052e347944ff76b650d3ff18bbf11aa1d6df31225d6f09822b86cadc7ada741326ff583f958535c448aab51bd8f9f8c3876da17c69ac0
+DIST bash40-037 1626 SHA256 f02284ad64deccb232bfc6c12fe2bc365c731d7e3ada354dd9527164c98cdf0a SHA512 24f64f9457ef4dfb31cb81bf4e683d94a71b269c03c1189309d3bc6dfc3354594069960bfa704c76141b9dd9a1d7994bb17e803c341b94199752d44d18b57d8a WHIRLPOOL 82fd2fe6d5105f1ffa69cb0e86777f59e44b0d4970b03e1291ddd046123f0f5185fb74c3bce4f2522a1ff015738b13b82dedea8f025d2d786c6294b154c793d6
+DIST bash40-038 1620 SHA256 b31ea07d9ac47b261065265beb01a5420939447aa0932ff9f78b049117afc19f SHA512 8116da5e07a7aa8afbeea7f868227ab5d21f7893a43fb4754da9a4c6598de099e32cf47eb028289a257cef100a5e952ca9f87e7943674a713b63ae59b455346e WHIRLPOOL 06a6f29301ed0d60df149853178ad6a6465b669d2de7ba6f72a52bba0cf490040490d220fb7f99bcf1e86d652bfcc6ef337cb81fa0e5a3f3b75b920fd03d06bc
+DIST bash40-039 3272 SHA256 09de2a4309fdcdff470754357073b6e9b1e4662add5981888acba27a53954a1e SHA512 3db7ab0fd9ab1e2fc8a4b457112053a3a04fbc2857161f765937753f75eab15595f0454bcfbf895c31774a5b5d96152b95a3d9009f53f8caa4df4854bc260769 WHIRLPOOL b0d4483ef339a8cb17a9fc65b0978890b1f96f04cc8d119963bc16b5c7b0d6a0b7f9c97566855ebd160bf6601c258a273b08f38d6a8532233956767cce5b235e
+DIST bash40-040 1173 SHA256 d71810ce346bfa8c6b77e5070e80207de4b8362678516be8febf50a7ec748039 SHA512 adcd63fd74f0d9c17cae0595bb6e8a3d678e296d5ab37b3c601af47cc64bae2c2a63367f32a9b93033423f819e0aa0fc4cbca7051003c296cf108133cef0ed92 WHIRLPOOL 1ce87e303522a56b2f2910a038f839c4c270278a09477a6dab001732b66fbf43cb1a4cb879fc911539fcd716ea9786284d1d4870baee7bc5175c72920604e885
+DIST bash40-041 6639 SHA256 9adecc88b5b3f2d87b8469d00d1b37624d38d6ca13227e787b46df723fab1c60 SHA512 bb71f3a26d6f0d099c69e3f4c5b25a4644f7c1217082fba65c999317ec5611edb8733057f973e84eb0ddfd3149cdedc1e1430f062a361523bc04a053e125de6e WHIRLPOOL 327f47ec9fb3816df7eef3d07487601a01f38b0af0aeeefe65bd9c604d693d0985f23ebba154cee3711f42b2d340432f20070e2c3a48ea0a144b8936ebe70988
+DIST bash40-042 4056 SHA256 8eccf5a7a67368c32b145d30a75aebc4530b1676f1ec300fcafb9a61e217acc6 SHA512 98bd4d05af90454b26831af690760544f3074854acf6fbecfab30258bd8aa8a010d05395867b7bb3c1bea80b3baeb6cde643c4ce99bfeaef65021ea7a088503c WHIRLPOOL d97c2ae7ce64433d8429f27e69d718fdd623a754838340fab46ea8d1e8b82ea5eb2f00eaa7f1cdce5d6b23c9465744df38e9fd9ab3378b2bad0521309c275c7c
+DIST bash40-043 1824 SHA256 1e077dea323010fff5c625d506530d9f05b76e179f3bc8efb46e17cdd4a6ffec SHA512 bef809c83803d2c48de2e7181699b0a49c31990fdb7ed7a056312d1d20963b07c33e97bff746715381ac9114afd3338c3256dc79813d593880418bc6099bfa6f WHIRLPOOL 3b4e73a686a134e80e4d72401ef8a39010d47dc60a05127477f3d84b74b2cb6a0a4e978302cd1f46442532957fd7b2415103b4be09ed46840a7fa0d2261818a5
+DIST bash40-044 3882 SHA256 05eeb7818fd4409ef41b6308b9de7f47217a0e956067219c7300c009212a5c88 SHA512 89b36451b46efce43772663ee3c1cc6090f9c66fdf689b4a2cc0c56fc000df27deb304d85713d22f0d014cfb5fdbed5889b3463cee82614cfa8dd1a0effe8162 WHIRLPOOL 97b1a6f58ff0605accd335e5a58c12aacb7a61248a7582f7fd1b0b30c8ec797dfeaf21d9ede1e59405e5f193ce1e407cfc04852867caef2df5d44d8af4471284
+DIST bash41-001 1445 SHA256 a6e47fa108f853d0f0999520509c11680d37c8b7823b92b96d431766dd620278 SHA512 22ec94f2459a3bb966b16e8216a35cba0d58d532c553308191c2d9aabc2c38eedb0aa2fcf972f1f9ebd1681230a5a7d49764dd435991db69c0f025f6de9243f4 WHIRLPOOL 9ca873752e778c71aa300b51aaf0054af2b420a73060551b4709b648a4432f59399d67b2030d2132a87ed2eb39a4d9e3466f6aba51945f038139b525a954cdf3
+DIST bash41-002 1799 SHA256 322e229de186b3bd87dedabfbad8386716f103e87ff00cd1b2db844e0dff78f8 SHA512 0e0aa000db8bf56cd0948579cd96c3bc0aec4e4ec0bd129bedab57e9d7a4c54450f0e4739255c3be4bf4f4ff679eadb1ca6bff07d76a2951fb11cec20257751c WHIRLPOOL 402ab8fe47ed28f8219d0324d25d4bcd77f411c1574ca05c86b7680ee637e7471ee32d641810093099120c9a8d8030304eb9bea52dbf0aa3d4f524f0dfd87912
+DIST bash41-003 1407 SHA256 91763dddbbb98c3ff7deb3faea3b3ad6e861e7bfd2e46c045c0d1d85d1b3256d SHA512 3d8db77e8472c232cde67f6dd25409efc8ef3f40396d5bddd22b15622a55a664887d46b7bf9f4a7bcc573e8de9dccaa39575d0822b61bdae5c4e98553336aa65 WHIRLPOOL bd270f3de36ae1a39eaa61143560eece549b5b857674a889853f95d8ef495e561c97d3c32104b802116d027566f6bcdc0ee74c58320ba910def3d69250d48060
+DIST bash41-004 1705 SHA256 78c063ba34c1f390a5bf2e5727624ca2e253bbef49ce187cabb240eee7f4ff9e SHA512 e95f64cf4e59cf616072a46022f61e9289452bfdc625f410d7688e8a54e40ef738d8d6c78d567cc0a5aa7e5dbd4701d7dbe7a457f761ec1c9151f6b9adaae6e7 WHIRLPOOL 874b569fb97b112c74ae7ec2b48916b7416deb97044cbe7477a3a59be81d048025ace9cd53394aca7e710643de979781a1a840714c70b2e8993d64494aba0f8a
+DIST bash41-005 1626 SHA256 519639d8d1664be74d7ec15879d16337fe8c71af8d648b02f84ccdd4fb739c1a SHA512 48023385e399ff55fa8197503147c229c33ac29f986323677cd810c305c5b58d175f1c8156664dfa70f3d466b5d5b17fd71e5f26e800946e326454c16db58824 WHIRLPOOL 798955b7c8fd3a419a6e47e777f83b4ff6bf30a98bb2880a2254607405659d10d409f6b5c770e9d73da460d128c6c897a8dcb197acdc7c8d33bd4321200c8f19
+DIST bash41-006 2166 SHA256 5986abcf33c0b087bd5670f1ae6a6400a8ce6ab7e7c4de18b9826d0ee10f2c49 SHA512 bd5365314d3dbf27e23697be6218b54f2d547990a979e85beb97d49ca5e42b078a5b693bbab6b778bc67a7db022b1b0e0babd898023dc61951e431676a01bfd2 WHIRLPOOL 04b13d5f65f6840af3e841dda269aeb6d3bd55a7aa32102d403ef420575187d279a008d890b1714db556276a4d0dcd95a8a4e1eabf4c7687da58e67b875c6d0a
+DIST bash41-007 1610 SHA256 74012a2c28ba4fb532c3eb69155ac870aac8d53990fa4e1e52cdc173d4c205a7 SHA512 757e11b04562d016f7479ddede52d6ed7480c87c3cd6d675d2147a100cff8344015bbff55e486f2847f6500922d195a41ede14e21829554ccee549a2fd6542cb WHIRLPOOL c9c7bb081f53fcdf4317505310eaf65059032cbe58690171ae68d27dc07c384b4e1e7a41e69ae2642793b029ae61bcaf0cd4b26809c1e157a01159402f888f79
+DIST bash41-008 1610 SHA256 4e2c2c251432cdf6b84dd5b4fd06d698f4dbeabb56a6c247ca8bf18443481215 SHA512 e7bdfa2ff43ee48ea9941f7df53794fb00673554a67b8e6334204f9b66e05b20aa052766cbf27b495977d3f0812a1117bf1eb923f407bb7f4a0f8394ce9ad6cb WHIRLPOOL 0b9ea934fe270156c786b30260c70de103be26ec9a31de87318fcc5a02f3a9579234f61419c22c095a7aec585a4f94923f1d8e7b9a27077c34d8e01cfa5db0d2
+DIST bash41-009 1323 SHA256 bd4006964ae88a5ed8032c16208130084efd43866afe19bb88a167e0c0f156d1 SHA512 7bb1b8b6c36a4704cff39c25abc48c87129981d340e51c70e53e54f222867c62327211a9fd431f176bc40ba4bd345835aa7f5d5a38cac94d4525a898e9e0702d WHIRLPOOL f0645393d1065c35baf7f48e9a68d5988934d5148220f674fe6f6b9ab8f8d99f6690d844728b20c768cb19ad78ea8ca38c8f89dab4ef81f4707e850565543ac4
+DIST bash41-010 1801 SHA256 797758a867b6c93530be0217bf0f82edf747a3f5d7733186ff313d11f8d9d815 SHA512 bacd653d3d8adcd5bc3ea8e2da089a57158d5f5241fc1b2a94bba821a3275ec52df412202d2067015172027f9388ce6ceab6e50c22548752cfe6c9224cb98816 WHIRLPOOL 570218cd68f0db6388f1cfe06fc718c7cca17b2d40e1ad5b8111cbdc18faced81dad17ced0ffd853ee69418b522f2e19e25698539f0edba7ccde37b73130abed
+DIST bash41-011 2444 SHA256 1b2b81a20712cb56c10696a940d583ac2a01d07836f8139252e8fe023d291621 SHA512 9ce8249dad5646d6620188c3d844a1d66f0e5429bffedfe3f87816e801e29c74f18f21c6d1558ccb8fb7c7fbade12a08d532e6b844b285e57529b477a93de3ec WHIRLPOOL 02608ad64cb861d8976251ebe124f241159eac218caef6e4fb283edf3cb1282fff9228d0a97286a80154a3820e2af7b5c5ce6310e14f710b3608f0b7c4036058
+DIST bash41-012 3280 SHA256 272e24a9a2802e896b20dae7c88d6a34b8dc89692c9bc90542cd4bda77607b6d SHA512 8a269842db2bcfb37b94a15cf75f0d1c357f4a451e1d69cf3dbfd71ede9eabeedfdfbfab78e67a4fc07dfd47e52100c34f5cc1d71f7e6bd3d5b27f2b3e255c5a WHIRLPOOL 6eeffda0ad369f196bb719f19c2295c06f9e1c5c5c338199839c568b1a8da44f319c5770ec3adb5cdd702affc64cf3f2046b32573bd58b7eb05132cafde7f04d
+DIST bash41-013 1181 SHA256 cad722e20534882ed6177f7287eedf21dc966816757fd964ca930f0ca230fdf8 SHA512 ae1a0c2a7efd1fa9858801b68f47bd4a2d3eb0f7a37d24029cabb97b980d40b6e116a8559c358d67ce7f8fa290cbc3b88e5c07743a78a8939a41aabd474044dd WHIRLPOOL 86ec7a12959018a6491df9b184ce322af7a2422ce24ac2b2419e1eaac8b126c1b0da9d5d5567d347f87c5d7fd9ebd2aa1ca6ff9c15c13a7cbe49efc3623f2cba
+DIST bash41-014 6672 SHA256 595d1efedea8d63e2eb426e0a800b52a5fa8b62d3d8476b912e1f0d0d7fbf13e SHA512 762e7487e9ba079c18d35dcdf3a2453b7de3ddd176986c502286544e735325ae3b6d710dacb250bece0e8a1251ccb026ddcd0f881f8a95a94d02c1be241ec572 WHIRLPOOL b80fd4f95c5fa1d81bb8072efb4e085f96044f5bca46cb0c1bc842145136d45afebca0721742d37cc793e73578490915dc319b4549ee149372769ebf75acb397
+DIST bash41-015 5085 SHA256 ec580a8e31c04db9d5e7ca279740a0565c4e32b27e87f56db2bfc21df834ce9e SHA512 3044a1acdd380f21317da0bc3b8455f7deddf464c9a70bf35e30ea434278b9b0c04756644e6037a133442b52f673757e223157b3b3301d64bacb939b4cc721a9 WHIRLPOOL 04a6467de9d962f32f5dd63943bb14cdf55c421390a658eec9f6cf19a0fb23ce931be73dcd7a3ea7fe875f32848ac6f5c5b38021d749f2d3abb9b0375245dfc6
+DIST bash41-016 1832 SHA256 743088c7d6dfaeacac0986ba74a959f2beac4c758441b97280b9c3fea29d3089 SHA512 d2e76f9e63787d6c9ece914d75ad4292235d753f146858c9597137b148d56b1847a322a0f7e07092f3d717815b337d3eb369e4b9d661d10561a0857daac5bad8 WHIRLPOOL 05869cdf9c8f98de357655d547ca762f33a1eddcc19107d7c861a0716bd42ce80d780aaf1b9abffecc3b79d5d0f1b90f71181342d5e3dc134b8c3e7574ca92c3
+DIST bash41-017 3771 SHA256 e5bdeaebf7deac2514f3f100e5ff5bccde843377249f648d89a6ddea4c17c06f SHA512 38c90ebf7ffae6b7f93062232a467f789ff1a642f791c8270e47562ddcb6472f696a0ce9336c5f0046b724c495f90e8090bfc48a50ea556782353e00d2ef374a WHIRLPOOL 456cca01a2adcb767b32c1c17a84fb8dde6034567613de66f1e43c8568c07cc29595027cfc447e3e0fcb712da07dc6129c3d4f7e9c2c13afcb76188778fe1dbc
+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
+DIST bash43-001 1617 SHA256 ecb3dff2648667513e31554b3ad054ccd89fce38e33367c9459ac3a285153742 SHA512 a1011392652180a28f9837af4a341a80beb929c1458e2384e282f0007713c5fe8d0b315abf1340b3707748d3caed322135dee87b59eeb7612ee5130f87d79888 WHIRLPOOL 94d34b6ae2496b4007bf9b3af69847828179dfa90528d7fc2f9a91facc451535e2fa46120cc3ea22156974c92f2633f91423f2d43b4733f8960cde69dfff81b9
+DIST bash43-002 1594 SHA256 eee7cd7062ab29a9e4f02924d9c367264dcb8b162703f74ff6eb8f175a91502b SHA512 e3178c85f553522d5d1c5fd39e76f015b680a8ccc84836a5e10283b2aed6e5b7cc3d23af0e67a270b7622dce0abf35dd8a95afa9bb6f89b73a9439f7435175a4 WHIRLPOOL 2d1b6679a1263f7a4325b692c3edac9f5daaa72e3f06dfa88958e70ad64c1fc74b92d8325becfff2c21dd28c002470bdaad50f57037c2676352078291bf0b0bc
+DIST bash43-003 1465 SHA256 000e6eac50cd9053ce0630db01239dcdead04a2c2c351c47e2b51dac1ac1087d SHA512 dc2c5fad8d357d1301e419afd959dfaf015a63172857080c11f77ab1bb7d1d737f411eb0e70a861f98a36bed1b19edb7217a4fa9f4773e21706b62dc56ec3464 WHIRLPOOL 1ef78321cfe3ca6e9f690ae3dd6a7c06bc72d2e6590bfdaa8543b0ac3ff84eae998e4a2aa44531423cab1137c974b09ac30baf5fa2746e2e5a2006cde03a2b32
+DIST bash43-004 1534 SHA256 5ea0a42c6506720d26e6d3c5c358e9a0d49f6f189d69a8ed34d5935964821338 SHA512 6a5177d5f4205ca9d3824601052dc6d0cd768638cdfc125501c5643dd51d537f5d075cbd11a10356caf4205e47a0287c72636065789ecce264129fc92fbda420 WHIRLPOOL 90c2f4f7752cf84a67b1f648137b6c25b8a6f5212fc5dde26d6f0fb6f316e923bec916368ba9ebc6b608bfa0fd82f86b6ac7ec6db32d06b83c3d22730788cfa1
+DIST bash43-005 2636 SHA256 1ac83044032b9f5f11aeca8a344ae3c524ec2156185d3adbb8ad3e7a165aa3fa SHA512 e201aa8ef0ce0d74fa5ee42e8171bbb5ba633d831d863a8e8afc5d5157581bb055d16c52b316cc945979a852b0eae7921244a24b89818acfb7c96572ed04d1f8 WHIRLPOOL fd4c6b03fb8b4344cc3833beb0310738af9826c56d2b0cf7c5262f3d2a99e83f700485dafe0e726e84a2dffcb1b907efcc860a685160ff22c99e40c8a2b659b0
+DIST bash43-006 1445 SHA256 a0648ee72d15e4a90c8b77a5c6b19f8d89e28c1bc881657d22fe26825f040213 SHA512 d1da3c9d3781482d87cdcbfd69ab3958ed4950f2a00e9d15228ecb4ad5ca8ae253eff378010b4908d04df2ecf658e08f7c2efc97d6a0b8dd2317552c1895d7b2 WHIRLPOOL 55e3c5e7be01f5928247a7677482dde1f0c89a0344ca23c947e9f84bf93d43ce1d7f621b39d74e09f0dd2de85ef304c5d34e68eb0af35cdf61c611e649dcbf68
+DIST bash43-007 1331 SHA256 1113e321c59cf6a8648a36245bbe4217cf8acf948d71e67886dad7d486f8f3a3 SHA512 c445b5cdd486d06991c78d4c88e2e44e49f74d1fc07b8e4bc9492cccfc4ff4045587bed6b24d745974c6339340e45b9756c27723fdb79e7591e7d6c5d350a86e WHIRLPOOL 0537006403347466536de5843d62725be75b6f5b4e6d9228c9f5671201de6a473ba04d8fcfa29894584b51f3ee35718bb46c2acc5c014713e03ee24828f10d43
+DIST bash43-008 4575 SHA256 9941a98a4987192cc5ce3d45afe879983cad2f0bec96d441a4edd9033767f95e SHA512 53bae88cd3341a4ef8c60d6a294c09402103d1b20f485cf85775e6730a3d2eec8e6ebe15aa6dd95336e4a1f540f21db394823b9d04b416e5af071a7a6c618900 WHIRLPOOL 94a3e9f004729490f70cb3a33de0605fc11f498b6bde2dc37bc08578283e47a3b625619de9d823b2796ce6fbd4982871fa2d428e94c892c863fc448ef2711482
+DIST bash43-009 2413 SHA256 c0226d6728946b2f53cdebf090bcd1c01627f01fee03295768605caa80bb40a5 SHA512 8d06fe612cd32cb414fdcdc34d4420b8991b268dd3ddd2dd47b3d01679954debd78e21f697a7f495d2340f0dcc8acdc3ad6809b8870bf5fd300afb1439788776 WHIRLPOOL 66e13efba99362a361e9e7d317773d51862f4c474f5c213654eba875a86b6d83b531b246bbd22c53e8a81fa7b67cb564c2de264ce28063967426fcf586ddda4d
+DIST bash43-010 5357 SHA256 ce05799c0137314c70c7b6ea0477c90e1ac1d52e113344be8e32fa5a55c9f0b7 SHA512 e36e550d749f52bab01256ed5f8f1b48fe53190c1a0a0a15c545328261c1f50b85f574b44188855858de1f2d045945770c4940bdecadd8381ea2cf174bde2fee WHIRLPOOL 830e7c82afd2650cbb00818928d22be0e0518aec2752736ff7a5085c5628bc8852c6c409f21684beec0c675d79898917efafb3f8dc1bc6bfcea41e1a8521d4fb
+DIST bash43-011 1533 SHA256 7c63402cdbc004a210f6c1c527b63b13d8bb9ec9c5a43d5c464a9010ff6f7f3b SHA512 678bbcd92b927c86631cd42d6d3ab7596a3ffd20b640f471a9783a7972f05d2d4fb15970c12e7645e90d407c5a2d2aadcad698113211724b0ef8d89eccd2cd66 WHIRLPOOL 1d0b84ff75d19db1bfbd60b37551978825902be2187b6407471a8810ebeb9136b2846e6c76505fec0c828a3e83ba8d4dd0950c5e6020b649da7ae530f7d5bf05
+DIST bash43-012 1365 SHA256 3e1379030b35fbcf314e9e7954538cf4b43be1507142b29efae39eef997b8c12 SHA512 169453248edb55baf761b0c9c7b296ed2c24543b80fcf4756b8dd398054b6317da285c5e9cd68828f2620b05874f21a08773844ee32416daef76b88d0ef3ee6d WHIRLPOOL 52b6c6d6c374b307ac562c1dfda730dc3ba322d3d6e9c7acb3f2a40461bb61ad5cb54dd65e2e4b72e492b55b436c323cae95ed63948df3b06bcd64a3487b3374
+DIST bash43-013 2151 SHA256 bfa8ca5336ab1f5ef988434a4bdedf71604aa8a3659636afa2ce7c7446c42c79 SHA512 536bbf0c9b23eb824579955e7fce892cfc1e1d9fbcfc66810353ac4ff238e9e57361c0a46b3f3573ca8ca563331070ce55442ffea38e2a632840b6a318db1c88 WHIRLPOOL 15fe2e97ac2a07a1d4c0f9946adc63e64b9141a3837391206fd5c934853f7e9ad9ede3baeecdd7a0dbb73e2bf007db8a5b57f0f8e2d03d693de09502dff32636
+DIST bash43-014 3533 SHA256 5a4d6fa2365b6eb725a9d4966248b5edf7630a4aeb3fa8d526b877972658ac13 SHA512 79fb50f62dbdca5e45a1359570e6d2173d442b3d4ddd4eb44809ed45ac022de4fe3f0aadd7672b4c8d9739405d51762486ee0c677b56f9c7d60e6224be84b87a WHIRLPOOL 10b6a2b7a7e5e6dfb3dd730b9ccc2ce3152bda1983a78745aa7367e9f5671695577d45070ad800158a36ffeb7db176e29f6b48d139075770ec773a478adfa1b2
+DIST bash43-015 1894 SHA256 13293e8a24e003a44d7fe928c6b1e07b444511bed2d9406407e006df28355e8d SHA512 38a7af22f13f1f45705ceadf3abb52be75f3239959c2b1d57f333d137f25f14ed92c4d209b35417d449b1ec4291bbd984bb5fd11ad40375b22d2668b33fb8efb WHIRLPOOL c06aa4977f891ec606f107157a0295d5025fbd24a620644547ee3f3a79582aae1ea4cd4be4254f92c6d2aee9322934839f01cc118148cea85af700e6f83c21cc
+DIST bash43-016 3674 SHA256 92d60bcf49f61bd7f1ccb9602bead6f2c9946d79dea0e5ec0589bb3bfa5e0773 SHA512 52ab2966ccd42554c8bd76041e07921388220b46c93c34190197cdda38a085fd499d71e2e0a10daea130e6782ada556f35b1a37d06d023e83c4c4d665d07cd3f WHIRLPOOL 9b7eb252291680d5db2596700774fddcab7e5c6c14ed5b1da7f8e23e1eaae85a927cf69d7662807b99c63fa083d2267f7e70076d4d4927a8bd4cb9273c416b4c
+DIST bash43-017 1565 SHA256 1267c25c6b5ba57042a7bb6c569a6de02ffd0d29530489a16666c3b8a23e7780 SHA512 88b11f324a780823b459b1e8a0904348c56079b4103cb86025d34dbba02543b0b7fbc2397bf043c24c1363f30539a6fe9b9f9fc717be9798f466071d1d420bb9 WHIRLPOOL 1aa1160771b98d393a2fb341e9025c2169aa43123f682bbe7648038e555b4f70eb1dbdba90492edb514c9621468f5005c2cf5fff82921e941ad3ca42534e7b1d
+DIST bash43-018 1315 SHA256 7aa8b40a9e973931719d8cc72284a8fb3292b71b522db57a5a79052f021a3d58 SHA512 f83d8e1d6d8fa8adf1715b8d4130730a13f5cd626f75e9e4b8c63244645a45a3f1fbac03081bb9d1e46864919d1b3189a9bb6d7a5e7a8854e6270ab3269c771f WHIRLPOOL 14a216257c3d1d3501dfc23d72ad8c085a216cdac83d5d909922d51b502ce83fb454c7e64a8d44e91a87a1a09237d965272fb563ae945c5d81688e9f0686264e
+DIST bash43-019 2610 SHA256 a7a91475228015d676cafa86d2d7aa9c5d2139aa51485b6bbdebfdfbcf0d2d23 SHA512 77e6dac3079d9282f6f85940a762b0da2473ac0d35e9bad2ebc2862bf0f3c4376a6220c746c1c37de0b4d492251ec9531a62c8a042a1be5e485f8f5ae6fa0704 WHIRLPOOL 5acde269ea62e2074ca5eb30750dbd67512b69658908f532165a90873f54de7705b0d41515ac6278e942f8ea66e0abe67c13b842e404a41cd7684ec0683928ef
+DIST bash43-020 2777 SHA256 ca5e86d87f178128641fe91f2f094875b8c1eb2de9e0d2e9154f5d5cc0336c98 SHA512 fa06563eb46609115750ffa88098b07c608cc8b13fc31356f33e1428a4da4d2610e122e0241356afcfadfecc5ccee5db4b7cf07f74005e7f30240ada4a81b5f7 WHIRLPOOL 9f05ce5028f20e7cbc11c1995d99a47274f782f228faa752919e0444afe1df748adb7837c0a3affa20633c63ad0175780327b9a02a39f5ada494736f0fd694dd
+DIST bash43-021 1623 SHA256 41439f06883e6bd11c591d9d5e9ae08afbc2abd4b935e1d244b08100076520a9 SHA512 90dc85302d9bc60e68fa8cce472b7e022d8a6ccee361f97aad4cbe5f1585b4870ab9997a3e6fac420aaf84c3dce9757716eb08f4fa6b38e14bac4f2d5d503731 WHIRLPOOL e7930992f6e2a1f5a07458eee74ed118fe93152ceb78fbdb41a4a3d799c5f9aa71fac52bc3cd43c321b983c5a4309e9884d37cac1facb54a2f38383527c8e765
+DIST bash43-022 1782 SHA256 fd4d47bb95c65863f634c4706c65e1e3bae4ee8460c72045c0a0618689061a88 SHA512 721b772349f9e0cc65975e419fabe4acdb23c77796a5d8fde01f110687ea1cb7d23fb706fc0452fb3c2082958a81c95b82f277e1f8f722b1156913efd59afc30 WHIRLPOOL 7387429460d85bffb9f7ce9cbd524f4b2c21b116beff30424db2cb66d48ec81707c7cb9479d5d72bcf36879248963a405dcdf87515fc0f5b6642568d9d236df2
+DIST bash43-023 3414 SHA256 9ac250c7397a8f53dbc84dfe790d2a418fbf1fe090bcece39b4a5c84a2d300d4 SHA512 d45b5f5dc4682c7260c8b6ef6faa99c929d2159cc34534931790f71f76e7324376e4a5d4a2a3bc21c16c25a8206554580943e7a3f672ec5a4af16cbccd216819 WHIRLPOOL 4cee4cdbe8525aff748a42a19d1d7cbc659cc8fe99b0bca3b2875ddfe5b8325f504cfdf09fb6edc70b1040f00eae3a4ab5fcda64cfa93ce96ce1e8d8c902b78f
+DIST bash43-024 1909 SHA256 3b505882a0a6090667d75824fc919524cd44cc3bd89dd08b7c4e622d3f960f6c SHA512 eada2b4839b81f28f63a874e08c72dfee9708c0982d2447347c17770a29c8fbb3d3f8c58c8a22b0d46a9d10abbd79dec11b5815257fb39af06420ef3602f8499 WHIRLPOOL 06059921dccb590aa7847ff5212bcb3e6a177aa96749eb19012d633ebf86badb83aad3b75ba8b304c620380d08395c0e37da4e2934a833ef1c0e1daf0f42ca72
+DIST bash43-025 3940 SHA256 1e5186f5c4a619bb134a1177d9e9de879f3bb85d9c5726832b03a762a2499251 SHA512 b4ea28ea0a24c8609d5c3a10114c5fec87ab978ec60700c36992d093e7afd976dbaee4a0d62c6e41e8ed6674c356fc26589f4c5168642dec8df8d727d7127822 WHIRLPOOL b3385e49dfbbf156bea9ebbd10f18dcb88c1d489c61c5bd6c16d1caac8a2ebf1ce057ec350d661ebd0307330a61f8c1088bef1cb133368919ccd0b5e81c3e7e3
+DIST bash43-026 1575 SHA256 2ecc12201b3ba4273b63af4e9aad2305168cf9babf6d11152796db08724c214d SHA512 d55620c86ab4835eaf53c18033a939e00ebbef7045d1429bd6fb212be6da167c368b4c03aec6c00ba60a1363b9cf8a4828e85c8108c5476b4a342e6c57f03897 WHIRLPOOL 3c21e3b21f1967d85b49386c05945859ee0fab2bbe0062052319876bbe3283bf3a7b50a9e160e36e9ee96fbe79ac13c90d86ffb4157ef0cb0641acd9dafb917e
+DIST bash43-027 6889 SHA256 1eb76ad28561d27f7403ff3c76a36e932928a4b58a01b868d663c165f076dabe SHA512 6941156db9a6ab35b2d6ddc63eec064e03da779e29f47e33b467711e3405c9adb58ad33be3ad3c77aea1e84a314d5404c8e1a8475408991f5f719b93c5a276b3 WHIRLPOOL 241a77807f142765fac71490987bd62a93bbd57c6ad2f83fbc645bf0618286fbfc3cd269eadf99e7f973a9e88ac08c5065868f8ad38727c17bb6056cedc83888
+DIST bash43-028 69606 SHA256 e8b0dbed4724fa7b9bd8ff77d12c7f03da0fbfc5f8251ef5cb8511eb082b469d SHA512 4317380539e3a93167f195eddd0acf0c75a5d86d5ef243cb7f7dca43e745badc3ebbc081b099678ac17dc03d9a3ed4a3ff3c6636bb1887e73e94b8ff9ced7c88 WHIRLPOOL f01e8fe2c09a7bdefacd7114cc8377f7ccd65de6c3bafac05595f1400f330ba0ba63ce97fe7b9b49957639c75438bb5ceb853890094cb0c4e43fadc1795b89b6
+DIST bash43-029 1824 SHA256 4cc4a397fe6bc63ecb97d030a4e44258ef2d4e076d0e90c77782968cc43d6292 SHA512 e25783c7557c1cda8344ba779d59f83e26b90b0aca393b5f7ee389e0583ccf81eba394589e992b33eb6c969083a8a4ff7fc8ce52059cab3b71289d085d381f07 WHIRLPOOL 857275184a8a449461b5aebba12d8231e1e33a2119693fa2c865ead18d4c462dea8151cfc3e0d121c2e5569d9984856ba69820aaa54399ddc77bb849ea9de890
+DIST bash43-030 63206 SHA256 85434f8a2f379d0c49a3ff6d9ffa12c8b157188dd739e556d638217d2a58385b SHA512 ae41a9a5326ceb8e7105e359be097e14876160f6357bfa7c5cd3c4a495a629be762c3db671754c2cffc6abb34998aad91dde4a449ba16a0c6da844bac53feca4 WHIRLPOOL 2184fa715fb90de89f18ba2b27dca612b684a85e9228d58ccf2d62a96a2e575929b3e1a47fbb5809e4c231a6657084be4a076271cfdd5b8b7dde493f2cb40a01
+DIST bash43-031 3689 SHA256 cd529f59dd0f2fdd49d619fe34691da6f0affedf87cc37cd460a9f3fe812a61d SHA512 3178b4ab48860ed284bb64ac9b36b6d4d1681c0d4bc37ceeb93e73c9dd140bd0a71e86a86ae595aab43babedae79d75a4b11c57e6ad6800f43ab5f7647f6c4c9 WHIRLPOOL 1e21f10a8ade1317e6672fc76e7b0e988d7c02feed3b1e553c60e4717df0b6036ce0822e9f9bf603abaf5b9b248ffa63421601a7f5c2dfcc9c60a98fe77b23dc
+DIST bash43-032 1734 SHA256 889357d29a6005b2c3308ca5b6286cb223b5e9c083219e5db3156282dd554f4a SHA512 47afc6308bd4bed20661a87761330854508a745a1c2a7f2d661fbe0d95b00d2d5707cc04f510fcd027b3fdb065d9414697715bff33c707a56955e27341d1bfd0 WHIRLPOOL 4b7ef4ac84269a292fa4527d2796508f4da16f9579726d90664305bbd3c2a3fa9002db6c0d60b022a54e756590a196f5dfcb86492a6d776476189546edb488c7
+DIST bash43-033 7038 SHA256 fb2a7787a13fbe027a7335aca6eb3c21cdbd813e9edc221274b6a9d8692eaa16 SHA512 3eed328960d77317e1742a9b53ccf40b304657cd535d7f283bdc24219c65ebdcb7aca3019fc8fd9e7152f42dc411625acb1b529f80e4a6c5b750b8f7cbd2e4d0 WHIRLPOOL bdfa9cd681ff499daa14b2c28e294b929f4c8526f11d555046158f035cc2c7a9c48f49aa0837c3ea80cdbc6d960119f40260da4a664944d7e599e40d6227254e
+DIST bash43-034 2392 SHA256 f1694f04f110defe1330a851cc2768e7e57ddd2dfdb0e3e350ca0e3c214ff889 SHA512 95d09b843287dc18845b75ac6657a2bd7bd71c31a62f922e7177368678ddf13c0f20498bc17bdf4cd5c1c34d40838174791d1e464ceca168957c68e789e34d06 WHIRLPOOL b9919bf7aabb11e6cc4dd17dd9433775320bc025a22e23b40edbc649e54dfae3e86a3670e30af4863ff8612ade43c91906d15acdb652ac2c37f84f731fba3279
+DIST bash43-035 1800 SHA256 370d85e51780036f2386dc18c5efe996eba8e652fc1973f0f4f2ab55a993c1e3 SHA512 1ea68e7ffb15356fdcf5eed08dd7fe0e16aea2928a4510fcfafe79e926d7ac25f013641bf547bfff0401bbb7e1476a802208e4f1ccb8b02ed20c094f99e450d2 WHIRLPOOL a5818ea98353c191210e8d66af0ea998c0b831e6af73035112405c228e18afc8ff243bdc2f3263728fc1d8aa2e7be43ae559cb02662b277478081e127b4fc37a
+DIST bash43-036 1539 SHA256 ac5f82445b36efdb543dbfae64afed63f586d7574b833e9aa9cd5170bc5fd27c SHA512 089a05879b8b65c9f11c55127364a3281b651e71cbedfad6221e31dc88eca15d813986f999a22921726873db9590b7b50afcd6162027fe516c2a94e8734e3ee7 WHIRLPOOL 3468783b0c10ae74c548e0d0cca3694c21775e6ea83ea1a071ae27b24542b67ffc785e17d6bc849c8030c667c7f531ba1a2de8e808f7820b19e88576e12e098c
+DIST bash43-037 1284 SHA256 33f170dd7400ab3418d749c55c6391b1d161ef2de7aced1873451b3a3fca5813 SHA512 7977c0fb9142cdea259b06322092aab3231b9773cc397519bedb6f731aea02a46441c67615b31fd19c886678eb1985687d07357d15fc7f08e946404efc564966 WHIRLPOOL fc3e010f065aa3087ac4e22352459dc2cdd5a232653749250dfebf17023a405ed78e0b2dd8ad66727aaa2645173dc14be111e32e8fb71a13786f4fe6ac6875ac
+DIST bash43-038 2354 SHA256 adbeaa500ca7a82535f0e88d673661963f8a5fcdc7ad63445e68bf5b49786367 SHA512 2ef2557b17867b5820a9e5619daa1cddb3fadcff7470504c148828a3007217767da4bf540dc835cf263f9c943b2c1aa909c845f8410f69e2d04c8b3d659efee3 WHIRLPOOL 66a2878b850cce96e532625cdcd88d0402c775dc585419c946ddebb206fbf8bee91846cbdce7a88b9caef09e1b02c144e3e71734c918c1b2c09cec67c68fa8d0
+DIST bash43-039 1531 SHA256 ab94dced2215541097691f60c3eb323cc28ef2549463e6a5334bbcc1e61e74ec SHA512 f9745a05bfbbe39f8e5af3865de3a32391d7ff291289977e23340c79a3783b4fad15bdcf8ce62478916b43fe18501c4d7c65cd54d3c20e8bb889919df48a9a19 WHIRLPOOL 3ee69bc81a25afe4998f76d43c9c2f4f6aca61f545a7304156fceda0f8a99c86379b673967bc7f72c26f5bde01248f77d7aee6372164c2e3b94c7781c7f6bd08
diff --git a/app-shells/bash/bash-2.05b_p13.ebuild b/app-shells/bash/bash-2.05b_p13.ebuild
new file mode 100644
index 00000000000..7e69f0f1e75
--- /dev/null
+++ b/app-shells/bash/bash-2.05b_p13.ebuild
@@ -0,0 +1,147 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils flag-o-matic toolchain-funcs
+
+# Official patchlevel
+# See ftp://ftp.cwru.edu/pub/bash/bash-2.05b-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-2"
+SLOT="${MY_PV}"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd"
+IUSE="afs +net nls +readline"
+
+DEPEND=">=sys-libs/ncurses-5.2-r2
+ readline? ( >=sys-libs/readline-6.2 )
+ nls? ( virtual/libintl )"
+RDEPEND="${DEPEND}"
+
+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
+}
+
+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
+
+ epatch "${FILESDIR}"/${PN}-2.05b-destdir.patch
+ epatch "${FILESDIR}"/autoconf-mktime-2.53.patch #220040
+ epatch "${FILESDIR}"/${PN}-2.05b-protos.patch
+ epatch "${FILESDIR}"/${PN}-2.05b-empty-herestring.patch
+ epatch "${FILESDIR}"/${PN}-2.05b-rbash.patch #26854
+ epatch "${FILESDIR}"/${PN}-2.05b-parallel-build.patch #41002
+ epatch "${FILESDIR}"/${PN}-2.05b-jobs.patch
+ epatch "${FILESDIR}"/${PN}-2.05b-fix-job-warning.patch
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf=()
+
+ # Force pgrp synchronization
+ # https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=81653
+ export bash_cv_pgrp_pipe=yes
+
+ # For descriptions of these, see config-top.h
+ # bashrc/#26952 bash_logout/#90488 ssh/#24762
+ 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
+
+ # 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 :(.
+
+ tc-export AR #444070
+ # This old autoconf script does not re-exec itself properly and fails when
+ # /bin/sh is not bash. Rather than try to regen everything, just force the
+ # use of bash directly.
+ CONFIG_SHELL="/bin/bash" \
+ econf \
+ --with-installed-readline=. \
+ --with-curses \
+ $(use_with afs) \
+ $(use_enable net net-redirections) \
+ --disable-profiling \
+ --without-gnu-malloc \
+ $(use_enable readline) \
+ $(use_enable readline history) \
+ $(use_enable readline bang-history) \
+ "${myconf[@]}"
+}
+
+src_install() {
+ into /
+ newbin bash bash-${SLOT}
+
+ newman doc/bash.1 bash-${SLOT}.1
+ newman doc/builtins.1 builtins-${SLOT}.1
+
+ insinto /usr/share/info
+ newins doc/bashref.info bash-${SLOT}.info
+ dosym bash-${SLOT}.info /usr/share/info/bashref-${SLOT}.info
+
+ dodoc README NEWS AUTHORS CHANGES COMPAT Y2K doc/FAQ doc/INTRO
+}
diff --git a/app-shells/bash/bash-3.0_p22.ebuild b/app-shells/bash/bash-3.0_p22.ebuild
new file mode 100644
index 00000000000..b8d8fe7284c
--- /dev/null
+++ b/app-shells/bash/bash-3.0_p22.ebuild
@@ -0,0 +1,151 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils flag-o-matic toolchain-funcs
+
+# Official patchlevel
+# See ftp://ftp.cwru.edu/pub/bash/bash-3.0-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-2"
+SLOT="${MY_PV}"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd"
+IUSE="afs +net nls +readline"
+
+DEPEND=">=sys-libs/ncurses-5.2-r2
+ readline? ( >=sys-libs/readline-6.2 )
+ nls? ( virtual/libintl )"
+RDEPEND="${DEPEND}"
+
+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
+}
+
+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
+
+ epatch "${FILESDIR}"/autoconf-mktime-2.53.patch #220040
+ epatch "${FILESDIR}"/${PN}-3.0-protos.patch
+ epatch "${FILESDIR}"/${PN}-3.0-rbash.patch #26854
+ epatch "${FILESDIR}"/${PN}-2.05b-parallel-build.patch #41002
+ epatch "${FILESDIR}"/${PN}-3.0-darwin-conn.patch #79124
+ # read patch headers for more info ... many ripped from Fedora/Debian[17]/SuSe/upstream
+ for i in afs crash jobs manpage pwd ulimit histtimeformat \
+ locale multibyteifs subshell \
+ volatile-command
+ do
+ epatch "${FILESDIR}"/${PN}-3.0-${i}.patch
+ done
+ epatch "${FILESDIR}"/${PN}-3.0-read-builtin-pipe.patch #87093
+ epatch "${FILESDIR}"/${PN}-3.0-trap-fg-signals.patch
+ epatch "${FILESDIR}"/${PN}-3.0-pgrp-pipe-fix.patch #92349
+ epatch "${FILESDIR}"/${PN}-3.0-strnlen.patch
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf=()
+
+ # Force pgrp synchronization
+ # https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=81653
+ export bash_cv_pgrp_pipe=yes
+
+ # For descriptions of these, see config-top.h
+ # bashrc/#26952 bash_logout/#90488 ssh/#24762
+ 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
+
+ # 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 :(.
+
+ tc-export AR #444070
+ econf \
+ --with-installed-readline=. \
+ --with-curses \
+ $(use_with afs) \
+ $(use_enable net net-redirections) \
+ --disable-profiling \
+ --without-gnu-malloc \
+ $(use_enable readline) \
+ $(use_enable readline history) \
+ $(use_enable readline bang-history) \
+ "${myconf[@]}"
+}
+
+src_install() {
+ into /
+ newbin bash bash-${SLOT}
+
+ newman doc/bash.1 bash-${SLOT}.1
+ newman doc/builtins.1 builtins-${SLOT}.1
+
+ insinto /usr/share/info
+ newins doc/bashref.info bash-${SLOT}.info
+ dosym bash-${SLOT}.info /usr/share/info/bashref-${SLOT}.info
+
+ dodoc README NEWS AUTHORS CHANGES COMPAT Y2K doc/FAQ doc/INTRO
+}
diff --git a/app-shells/bash/bash-3.1_p23.ebuild b/app-shells/bash/bash-3.1_p23.ebuild
new file mode 100644
index 00000000000..95ef23b64f9
--- /dev/null
+++ b/app-shells/bash/bash-3.1_p23.ebuild
@@ -0,0 +1,143 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils flag-o-matic toolchain-funcs
+
+# Official patchlevel
+# See ftp://ftp.cwru.edu/pub/bash/bash-3.1-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-2"
+SLOT="${MY_PV}"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd"
+IUSE="afs +net nls +readline"
+
+DEPEND=">=sys-libs/ncurses-5.2-r2
+ readline? ( >=sys-libs/readline-6.2 )
+ nls? ( virtual/libintl )"
+RDEPEND="${DEPEND}"
+
+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
+}
+
+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
+
+ epatch "${FILESDIR}"/autoconf-mktime-2.53.patch #220040
+ epatch "${FILESDIR}"/${PN}-2.05b-parallel-build.patch #41002
+ epatch "${FILESDIR}"/${PN}-3.1-protos.patch
+ epatch "${FILESDIR}"/${PN}-3.1-ulimit.patch
+ epatch "${FILESDIR}"/${PN}-3.0-read-memleak.patch
+ epatch "${FILESDIR}"/${PN}-3.0-trap-fg-signals.patch
+ epatch "${FILESDIR}"/${PN}-3.1-fix-dash-login-shell.patch #118257
+ epatch "${FILESDIR}"/${PN}-3.1-dev-fd-test-as-user.patch #131875
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf=()
+
+ # Force pgrp synchronization
+ # https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=81653
+ export bash_cv_pgrp_pipe=yes
+
+ # For descriptions of these, see config-top.h
+ # bashrc/#26952 bash_logout/#90488 ssh/#24762
+ 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
+
+ # 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 :(.
+
+ tc-export AR #444070
+ econf \
+ --with-installed-readline=. \
+ --with-curses \
+ $(use_with afs) \
+ $(use_enable net net-redirections) \
+ --disable-profiling \
+ --without-gnu-malloc \
+ $(use_enable readline) \
+ $(use_enable readline history) \
+ $(use_enable readline bang-history) \
+ "${myconf[@]}"
+}
+
+src_install() {
+ into /
+ newbin bash bash-${SLOT}
+
+ newman doc/bash.1 bash-${SLOT}.1
+ newman doc/builtins.1 builtins-${SLOT}.1
+
+ insinto /usr/share/info
+ newins doc/bashref.info bash-${SLOT}.info
+ dosym bash-${SLOT}.info /usr/share/info/bashref-${SLOT}.info
+
+ dodoc README NEWS AUTHORS CHANGES COMPAT Y2K doc/FAQ doc/INTRO
+}
diff --git a/app-shells/bash/bash-3.2_p57.ebuild b/app-shells/bash/bash-3.2_p57.ebuild
new file mode 100644
index 00000000000..1d373c7d321
--- /dev/null
+++ b/app-shells/bash/bash-3.2_p57.ebuild
@@ -0,0 +1,145 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils flag-o-matic toolchain-funcs
+
+# Official patchlevel
+# See ftp://ftp.cwru.edu/pub/bash/bash-3.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-2"
+SLOT="${MY_PV}"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd"
+IUSE="afs +net nls +readline"
+
+DEPEND=">=sys-libs/ncurses-5.2-r2
+ readline? ( >=sys-libs/readline-6.2 )
+ nls? ( virtual/libintl )"
+RDEPEND="${DEPEND}"
+
+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
+}
+
+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
+
+ epatch "${FILESDIR}"/autoconf-mktime-2.59.patch #220040
+ epatch "${FILESDIR}"/${PN}-3.2-loadables.patch
+ epatch "${FILESDIR}"/${PN}-2.05b-parallel-build.patch #41002
+ epatch "${FILESDIR}"/${PN}-3.2-protos.patch
+ epatch "${FILESDIR}"/${PN}-3.2-session-leader.patch #231775
+ epatch "${FILESDIR}"/${PN}-3.2-ldflags-for-build.patch #211947
+ epatch "${FILESDIR}"/${PN}-3.2-process-subst.patch
+ epatch "${FILESDIR}"/${PN}-3.2-ulimit.patch
+ epatch "${FILESDIR}"/${PN}-3.0-trap-fg-signals.patch
+ epatch "${FILESDIR}"/${PN}-3.2-dev-fd-test-as-user.patch #131875
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf=()
+
+ # Force pgrp synchronization
+ # https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=81653
+ export bash_cv_pgrp_pipe=yes
+
+ # For descriptions of these, see config-top.h
+ # bashrc/#26952 bash_logout/#90488 ssh/#24762
+ 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
+
+ # 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 :(.
+
+ tc-export AR #444070
+ econf \
+ --with-installed-readline=. \
+ --with-curses \
+ $(use_with afs) \
+ $(use_enable net net-redirections) \
+ --disable-profiling \
+ --without-gnu-malloc \
+ $(use_enable readline) \
+ $(use_enable readline history) \
+ $(use_enable readline bang-history) \
+ "${myconf[@]}"
+}
+
+src_install() {
+ into /
+ newbin bash bash-${SLOT}
+
+ newman doc/bash.1 bash-${SLOT}.1
+ newman doc/builtins.1 builtins-${SLOT}.1
+
+ insinto /usr/share/info
+ newins doc/bashref.info bash-${SLOT}.info
+ dosym bash-${SLOT}.info /usr/share/info/bashref-${SLOT}.info
+
+ dodoc README NEWS AUTHORS CHANGES COMPAT Y2K doc/FAQ doc/INTRO
+}
diff --git a/app-shells/bash/bash-4.0_p44.ebuild b/app-shells/bash/bash-4.0_p44.ebuild
new file mode 100644
index 00000000000..543ea45b612
--- /dev/null
+++ b/app-shells/bash/bash-4.0_p44.ebuild
@@ -0,0 +1,140 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils flag-o-matic toolchain-funcs
+
+# Official patchlevel
+# See ftp://ftp.cwru.edu/pub/bash/bash-4.0-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="${MY_PV}"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd"
+IUSE="afs mem-scramble +net nls +readline"
+
+DEPEND=">=sys-libs/ncurses-5.2-r2
+ readline? ( >=sys-libs/readline-6.2 )
+ nls? ( virtual/libintl )"
+RDEPEND="${DEPEND}"
+
+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
+}
+
+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
+
+ epatch "${FILESDIR}"/${PN}-4.0-configure.patch #304901
+ epatch "${FILESDIR}"/${PN}-4.x-deferred-heredocs.patch
+ sed -i '1i#define NEED_FPURGE_DECL' execute_cmd.c # needs fpurge() decl
+ epatch "${FILESDIR}"/${PN}-2.05b-parallel-build.patch #41002
+ epatch "${FILESDIR}"/${PN}-4.0-ldflags-for-build.patch #211947
+ epatch "${FILESDIR}"/${PN}-4.0-negative-return.patch
+ epatch "${FILESDIR}"/${PN}-4.0-parallel-build.patch #267613
+ sed -i '/\.o: .*shell\.h/s:$: pathnames.h:' Makefile.in #267613
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf=()
+
+ # For descriptions of these, see config-top.h
+ # bashrc/#26952 bash_logout/#90488 ssh/#24762
+ 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
+
+ # 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 :(.
+
+ 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_install() {
+ into /
+ newbin bash bash-${SLOT}
+
+ newman doc/bash.1 bash-${SLOT}.1
+ newman doc/builtins.1 builtins-${SLOT}.1
+
+ insinto /usr/share/info
+ newins doc/bashref.info bash-${SLOT}.info
+ dosym bash-${SLOT}.info /usr/share/info/bashref-${SLOT}.info
+
+ dodoc README NEWS AUTHORS CHANGES COMPAT Y2K doc/FAQ doc/INTRO
+}
diff --git a/app-shells/bash/bash-4.1_p17.ebuild b/app-shells/bash/bash-4.1_p17.ebuild
new file mode 100644
index 00000000000..3bc12cbf36a
--- /dev/null
+++ b/app-shells/bash/bash-4.1_p17.ebuild
@@ -0,0 +1,137 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils flag-o-matic toolchain-funcs
+
+# Official patchlevel
+# See ftp://ftp.cwru.edu/pub/bash/bash-4.1-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="${MY_PV}"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd"
+IUSE="afs mem-scramble +net nls +readline"
+
+DEPEND=">=sys-libs/ncurses-5.2-r2
+ readline? ( >=sys-libs/readline-6.2 )
+ nls? ( virtual/libintl )"
+RDEPEND="${DEPEND}"
+
+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
+}
+
+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
+
+ epatch "${FILESDIR}"/${PN}-4.1-fbsd-eaccess.patch #303411
+ sed -i '1i#define NEED_FPURGE_DECL' execute_cmd.c # needs fpurge() decl
+ epatch "${FILESDIR}"/${PN}-4.1-parallel-build.patch
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf=()
+
+ myconf+=( --without-lispdir ) #335896
+
+ # For descriptions of these, see config-top.h
+ # bashrc/#26952 bash_logout/#90488 ssh/#24762
+ 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
+
+ # 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 :(.
+
+ 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_install() {
+ into /
+ newbin bash bash-${SLOT}
+
+ newman doc/bash.1 bash-${SLOT}.1
+ newman doc/builtins.1 builtins-${SLOT}.1
+
+ insinto /usr/share/info
+ newins doc/bashref.info bash-${SLOT}.info
+ dosym bash-${SLOT}.info /usr/share/info/bashref-${SLOT}.info
+
+ dodoc README NEWS AUTHORS CHANGES COMPAT Y2K doc/FAQ doc/INTRO
+}
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 00000000000..11abc797f17
--- /dev/null
+++ b/app-shells/bash/bash-4.2_p53.ebuild
@@ -0,0 +1,226 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils flag-o-matic toolchain-funcs multilib
+
+# 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="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
+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
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf=()
+
+ # For descriptions of these, see config-top.h
+ # bashrc/#26952 bash_logout/#90488 ssh/#24762
+ 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)
+
+ # 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 && append-ldflags -Wl,-rpath,/usr/$(get_libdir)/bash
+ 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 "${FILESDIR}"/{bashrc,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/bash-4.3_p33-r1.ebuild b/app-shells/bash/bash-4.3_p33-r1.ebuild
new file mode 100644
index 00000000000..da7f82798fb
--- /dev/null
+++ b/app-shells/bash/bash-4.3_p33-r1.ebuild
@@ -0,0 +1,249 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils flag-o-matic toolchain-funcs multilib
+
+# Official patchlevel
+# See ftp://ftp.cwru.edu/pub/bash/bash-4.3-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
+}
+
+# The version of readline this bash normally ships with.
+READLINE_VER="6.3"
+
+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)"
+[[ ${PV} == *_rc* ]] && SRC_URI+=" ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
+IUSE="afs bashlogger examples mem-scramble +net nls plugins +readline vanilla"
+
+DEPEND=">=sys-libs/ncurses-5.2-r2
+ readline? ( >=sys-libs/readline-${READLINE_VER} )
+ 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 w/releases.
+ if [[ ${PV} != *_rc* ]] ; then
+ 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
+ fi
+
+ # Avoid regenerating docs after patches #407985
+ sed -i -r '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in || die
+ touch -r . doc/*
+
+ epatch "${FILESDIR}"/${PN}-4.3-compat-lvl.patch
+ epatch "${FILESDIR}"/${PN}-4.3-parse-time-keyword.patch
+ epatch "${FILESDIR}"/${PN}-4.3-append-process-segfault.patch
+ epatch "${FILESDIR}"/${PN}-4.3-mapfile-improper-array-name-validation.patch
+ epatch "${FILESDIR}"/${PN}-4.3-arrayfunc.patch
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf=()
+
+ # For descriptions of these, see config-top.h
+ # bashrc/#26952 bash_logout/#90488 ssh/#24762
+ 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)
+
+ # 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=${READLINE_VER}
+
+ # 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 :(.
+
+ if [[ ${PV} != *_rc* ]] ; then
+ # Use system readline only with released versions.
+ myconf+=( --with-installed-readline=. )
+ fi
+
+ if use plugins; then
+ append-ldflags -Wl,-rpath,/usr/$(get_libdir)/bash
+ else
+ # Disable the plugins logic by hand since bash doesn't
+ # provide a way of doing it.
+ export ac_cv_func_dl{close,open,sym}=no \
+ ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no
+ sed -i \
+ -e '/LOCAL_LDFLAGS=/s:-rdynamic::' \
+ configure || die
+ fi
+ tc-export AR #444070
+ econf \
+ --docdir='$(datarootdir)'/doc/${PF} \
+ --htmldir='$(docdir)/html' \
+ --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() {
+ local d f
+
+ default
+
+ dodir /bin
+ mv "${ED}"/usr/bin/bash "${ED}"/bin/ || die
+ dosym bash /bin/rbash
+
+ insinto /etc/bash
+ doins "${FILESDIR}"/bash_logout
+ newins "${FILESDIR}"/bashrc-r1 bashrc
+ keepdir /etc/bash/bashrc.d
+ 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 include/*.h lib/{glob/glob.h,tilde/tilde.h}
+ fi
+
+ if use examples ; then
+ for d in examples/{functions,misc,scripts,startup-files} ; 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
+ newdoc CWRU/changelog ChangeLog
+ 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/bash-4.3_p33-r2.ebuild b/app-shells/bash/bash-4.3_p33-r2.ebuild
new file mode 100644
index 00000000000..7b89f44847d
--- /dev/null
+++ b/app-shells/bash/bash-4.3_p33-r2.ebuild
@@ -0,0 +1,250 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils flag-o-matic toolchain-funcs multilib
+
+# Official patchlevel
+# See ftp://ftp.cwru.edu/pub/bash/bash-4.3-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
+}
+
+# The version of readline this bash normally ships with.
+READLINE_VER="6.3"
+
+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)"
+[[ ${PV} == *_rc* ]] && SRC_URI+=" ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
+IUSE="afs bashlogger examples mem-scramble +net nls plugins +readline vanilla"
+
+DEPEND=">=sys-libs/ncurses-5.2-r2
+ readline? ( >=sys-libs/readline-${READLINE_VER} )
+ 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 w/releases.
+ if [[ ${PV} != *_rc* ]] ; then
+ 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
+ fi
+
+ # Avoid regenerating docs after patches #407985
+ sed -i -r '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in || die
+ touch -r . doc/*
+
+ epatch "${FILESDIR}"/${PN}-4.3-compat-lvl.patch
+ epatch "${FILESDIR}"/${PN}-4.3-parse-time-keyword.patch
+ epatch "${FILESDIR}"/${PN}-4.3-append-process-segfault.patch
+ epatch "${FILESDIR}"/${PN}-4.3-mapfile-improper-array-name-validation.patch
+ epatch "${FILESDIR}"/${PN}-4.3-arrayfunc.patch
+ epatch "${FILESDIR}"/${PN}-4.3-declare-visibility.patch
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf=()
+
+ # For descriptions of these, see config-top.h
+ # bashrc/#26952 bash_logout/#90488 ssh/#24762
+ 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)
+
+ # 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=${READLINE_VER}
+
+ # 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 :(.
+
+ if [[ ${PV} != *_rc* ]] ; then
+ # Use system readline only with released versions.
+ myconf+=( --with-installed-readline=. )
+ fi
+
+ if use plugins; then
+ append-ldflags -Wl,-rpath,/usr/$(get_libdir)/bash
+ else
+ # Disable the plugins logic by hand since bash doesn't
+ # provide a way of doing it.
+ export ac_cv_func_dl{close,open,sym}=no \
+ ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no
+ sed -i \
+ -e '/LOCAL_LDFLAGS=/s:-rdynamic::' \
+ configure || die
+ fi
+ tc-export AR #444070
+ econf \
+ --docdir='$(datarootdir)'/doc/${PF} \
+ --htmldir='$(docdir)/html' \
+ --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() {
+ local d f
+
+ default
+
+ dodir /bin
+ mv "${ED}"/usr/bin/bash "${ED}"/bin/ || die
+ dosym bash /bin/rbash
+
+ insinto /etc/bash
+ doins "${FILESDIR}"/bash_logout
+ newins "${FILESDIR}"/bashrc-r2 bashrc
+ keepdir /etc/bash/bashrc.d
+ 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 include/*.h lib/{glob/glob.h,tilde/tilde.h}
+ fi
+
+ if use examples ; then
+ for d in examples/{functions,misc,scripts,startup-files} ; 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
+ newdoc CWRU/changelog ChangeLog
+ 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/bash-4.3_p33.ebuild b/app-shells/bash/bash-4.3_p33.ebuild
new file mode 100644
index 00000000000..aa47a6a01ce
--- /dev/null
+++ b/app-shells/bash/bash-4.3_p33.ebuild
@@ -0,0 +1,247 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils flag-o-matic toolchain-funcs multilib
+
+# Official patchlevel
+# See ftp://ftp.cwru.edu/pub/bash/bash-4.3-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
+}
+
+# The version of readline this bash normally ships with.
+READLINE_VER="6.3"
+
+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)"
+[[ ${PV} == *_rc* ]] && SRC_URI+=" ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
+IUSE="afs bashlogger examples mem-scramble +net nls plugins +readline vanilla"
+
+DEPEND=">=sys-libs/ncurses-5.2-r2
+ readline? ( >=sys-libs/readline-${READLINE_VER} )
+ 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 w/releases.
+ if [[ ${PV} != *_rc* ]] ; then
+ 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
+ fi
+
+ # Avoid regenerating docs after patches #407985
+ sed -i -r '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in || die
+ touch -r . doc/*
+
+ epatch "${FILESDIR}"/${PN}-4.3-compat-lvl.patch
+ epatch "${FILESDIR}"/${PN}-4.3-parse-time-keyword.patch
+ epatch "${FILESDIR}"/${PN}-4.3-append-process-segfault.patch
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf=()
+
+ # For descriptions of these, see config-top.h
+ # bashrc/#26952 bash_logout/#90488 ssh/#24762
+ 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)
+
+ # 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=${READLINE_VER}
+
+ # 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 :(.
+
+ if [[ ${PV} != *_rc* ]] ; then
+ # Use system readline only with released versions.
+ myconf+=( --with-installed-readline=. )
+ fi
+
+ if use plugins; then
+ append-ldflags -Wl,-rpath,/usr/$(get_libdir)/bash
+ else
+ # Disable the plugins logic by hand since bash doesn't
+ # provide a way of doing it.
+ export ac_cv_func_dl{close,open,sym}=no \
+ ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no
+ sed -i \
+ -e '/LOCAL_LDFLAGS=/s:-rdynamic::' \
+ configure || die
+ fi
+ tc-export AR #444070
+ econf \
+ --docdir='$(datarootdir)'/doc/${PF} \
+ --htmldir='$(docdir)/html' \
+ --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() {
+ local d f
+
+ default
+
+ dodir /bin
+ mv "${ED}"/usr/bin/bash "${ED}"/bin/ || die
+ dosym bash /bin/rbash
+
+ insinto /etc/bash
+ doins "${FILESDIR}"/bash_logout
+ newins "${FILESDIR}"/bashrc-r1 bashrc
+ keepdir /etc/bash/bashrc.d
+ 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 include/*.h lib/{glob/glob.h,tilde/tilde.h}
+ fi
+
+ if use examples ; then
+ for d in examples/{functions,misc,scripts,startup-files} ; 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
+ newdoc CWRU/changelog ChangeLog
+ 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/bash-4.3_p39.ebuild b/app-shells/bash/bash-4.3_p39.ebuild
new file mode 100644
index 00000000000..9c19bc40abe
--- /dev/null
+++ b/app-shells/bash/bash-4.3_p39.ebuild
@@ -0,0 +1,248 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+inherit eutils flag-o-matic toolchain-funcs multilib
+
+# Official patchlevel
+# See ftp://ftp.cwru.edu/pub/bash/bash-4.3-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
+}
+
+# The version of readline this bash normally ships with.
+READLINE_VER="6.3"
+
+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)"
+[[ ${PV} == *_rc* ]] && SRC_URI+=" ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
+IUSE="afs bashlogger examples mem-scramble +net nls plugins +readline vanilla"
+
+DEPEND=">=sys-libs/ncurses-5.2-r2
+ readline? ( >=sys-libs/readline-${READLINE_VER} )
+ 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 w/releases.
+ if [[ ${PV} != *_rc* ]] ; then
+ 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
+ fi
+
+ # Avoid regenerating docs after patches #407985
+ sed -i -r '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in || die
+ touch -r . doc/*
+
+ epatch "${FILESDIR}"/${PN}-4.3-compat-lvl.patch
+ epatch "${FILESDIR}"/${PN}-4.3-append-process-segfault.patch
+ epatch "${FILESDIR}"/${PN}-4.3-mapfile-improper-array-name-validation.patch
+ epatch "${FILESDIR}"/${PN}-4.3-arrayfunc.patch
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf=()
+
+ # For descriptions of these, see config-top.h
+ # bashrc/#26952 bash_logout/#90488 ssh/#24762
+ 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)
+
+ # 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=${READLINE_VER}
+
+ # 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 :(.
+
+ if [[ ${PV} != *_rc* ]] ; then
+ # Use system readline only with released versions.
+ myconf+=( --with-installed-readline=. )
+ fi
+
+ if use plugins; then
+ append-ldflags -Wl,-rpath,/usr/$(get_libdir)/bash
+ else
+ # Disable the plugins logic by hand since bash doesn't
+ # provide a way of doing it.
+ export ac_cv_func_dl{close,open,sym}=no \
+ ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no
+ sed -i \
+ -e '/LOCAL_LDFLAGS=/s:-rdynamic::' \
+ configure || die
+ fi
+ tc-export AR #444070
+ econf \
+ --docdir='$(datarootdir)'/doc/${PF} \
+ --htmldir='$(docdir)/html' \
+ --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() {
+ local d f
+
+ default
+
+ dodir /bin
+ mv "${ED}"/usr/bin/bash "${ED}"/bin/ || die
+ dosym bash /bin/rbash
+
+ insinto /etc/bash
+ doins "${FILESDIR}"/bash_logout
+ newins "${FILESDIR}"/bashrc-r2 bashrc
+ keepdir /etc/bash/bashrc.d
+ 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 include/*.h lib/{glob/glob.h,tilde/tilde.h}
+ fi
+
+ if use examples ; then
+ for d in examples/{functions,misc,scripts,startup-files} ; 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
+ newdoc CWRU/changelog ChangeLog
+ 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/bash-4.4_alpha-r1.ebuild b/app-shells/bash/bash-4.4_alpha-r1.ebuild
new file mode 100644
index 00000000000..a77538fb597
--- /dev/null
+++ b/app-shells/bash/bash-4.4_alpha-r1.ebuild
@@ -0,0 +1,247 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit eutils flag-o-matic toolchain-funcs multilib
+
+# Official patchlevel
+# See ftp://ftp.cwru.edu/pub/bash/bash-4.3-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
+}
+
+# The version of readline this bash normally ships with.
+READLINE_VER="7.0"
+
+DESCRIPTION="The standard GNU Bourne again shell"
+HOMEPAGE="http://tiswww.case.edu/php/chet/bash/bashtop.html"
+case ${PV} in
+*_alpha*|*_rc*) SRC_URI+=" ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz" ;;
+*) SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz $(patches)" ;;
+esac
+
+LICENSE="GPL-3"
+SLOT="0"
+#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
+IUSE="afs bashlogger examples mem-scramble +net nls plugins +readline vanilla"
+
+DEPEND=">=sys-libs/ncurses-5.2-r2:=
+ readline? ( >=sys-libs/readline-${READLINE_VER}_alpha:0= )
+ 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 w/releases.
+ if [[ ${PV} != *_rc* ]] ; then
+ 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
+ fi
+
+ # Avoid regenerating docs after patches #407985
+ sed -i -r '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in || die
+ touch -r . doc/*
+
+ epatch "${FILESDIR}"/${PN}-4.4-optimize-fork.patch
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf=()
+
+ # For descriptions of these, see config-top.h
+ # bashrc/#26952 bash_logout/#90488 ssh/#24762
+ 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)
+
+ # 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=${READLINE_VER}
+
+ # 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 :(.
+
+ if [[ ${PV} != *_rc* ]] ; then
+ # Use system readline only with released versions.
+ myconf+=( --with-installed-readline=. )
+ fi
+
+ if use plugins; then
+ append-ldflags -Wl,-rpath,/usr/$(get_libdir)/bash
+ else
+ # Disable the plugins logic by hand since bash doesn't
+ # provide a way of doing it.
+ export ac_cv_func_dl{close,open,sym}=no \
+ ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no
+ sed -i \
+ -e '/LOCAL_LDFLAGS=/s:-rdynamic::' \
+ configure || die
+ fi
+ tc-export AR #444070
+ econf \
+ --docdir='$(datarootdir)'/doc/${PF} \
+ --htmldir='$(docdir)/html' \
+ --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() {
+ local d f
+
+ default
+
+ dodir /bin
+ mv "${ED}"/usr/bin/bash "${ED}"/bin/ || die
+ dosym bash /bin/rbash
+
+ insinto /etc/bash
+ doins "${FILESDIR}"/bash_logout
+ newins "${FILESDIR}"/bashrc-r2 bashrc
+ keepdir /etc/bash/bashrc.d
+ 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 include/*.h lib/{glob/glob.h,tilde/tilde.h}
+ fi
+
+ if use examples ; then
+ for d in examples/{functions,misc,scripts,startup-files} ; 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
+ newdoc CWRU/changelog ChangeLog
+ 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/autoconf-mktime-2.53.patch b/app-shells/bash/files/autoconf-mktime-2.53.patch
new file mode 100644
index 00000000000..7632b63f4f7
--- /dev/null
+++ b/app-shells/bash/files/autoconf-mktime-2.53.patch
@@ -0,0 +1,199 @@
+https://bugs.gentoo.org/220040
+
+--- a/configure
++++ b/configure
+@@ -12393,22 +12393,25 @@ else
+ #line $LINENO "configure"
+ #include "confdefs.h"
+ /* Test program from Paul Eggert and Tony Leneis. */
+-#if TIME_WITH_SYS_TIME
++#ifdef TIME_WITH_SYS_TIME
+ # include <sys/time.h>
+ # include <time.h>
+ #else
+-# if HAVE_SYS_TIME_H
++# ifdef HAVE_SYS_TIME_H
+ # include <sys/time.h>
+ # else
+ # include <time.h>
+ # endif
+ #endif
+
+-#if HAVE_UNISTD_H
++#include <limits.h>
++#include <stdlib.h>
++
++#ifdef HAVE_UNISTD_H
+ # include <unistd.h>
+ #endif
+
+-#if !HAVE_ALARM
++#ifndef HAVE_ALARM
+ # define alarm(X) /* empty */
+ #endif
+
+@@ -12416,6 +12419,7 @@ else
+ #undef putenv
+
+ static time_t time_t_max;
++static time_t time_t_min;
+
+ /* Values we'll use to set the TZ environment variable. */
+ static const char *const tz_strings[] = {
+@@ -12424,9 +12428,9 @@ static const char *const tz_strings[] = {
+ };
+ #define N_STRINGS (sizeof (tz_strings) / sizeof (tz_strings[0]))
+
+-/* Fail if mktime fails to convert a date in the spring-forward gap.
++/* Return 0 if mktime fails to convert a date in the spring-forward gap.
+ Based on a problem report from Andreas Jaeger. */
+-static void
++static int
+ spring_forward_gap ()
+ {
+ /* glibc (up to about 1998-10-07) failed this test. */
+@@ -12445,23 +12449,27 @@ spring_forward_gap ()
+ tm.tm_min = 0;
+ tm.tm_sec = 0;
+ tm.tm_isdst = -1;
+- if (mktime (&tm) == (time_t)-1)
+- exit (1);
++ return mktime (&tm) != (time_t) -1;
+ }
+
+-static void
+-mktime_test (now)
++static int
++mktime_test1 (now)
+ time_t now;
+ {
+ struct tm *lt;
+- if ((lt = localtime (&now)) && mktime (lt) != now)
+- exit (1);
+- now = time_t_max - now;
+- if ((lt = localtime (&now)) && mktime (lt) != now)
+- exit (1);
++ return ! (lt = localtime (&now)) || mktime (lt) == now;
+ }
+
+-static void
++static int
++mktime_test (now)
++ time_t now;
++{
++ return (mktime_test1 (now)
++ && mktime_test1 ((time_t) (time_t_max - now))
++ && mktime_test1 ((time_t) (time_t_min + now)));
++}
++
++static int
+ irix_6_4_bug ()
+ {
+ /* Based on code from Ariel Faigon. */
+@@ -12474,11 +12482,10 @@ irix_6_4_bug ()
+ tm.tm_sec = 0;
+ tm.tm_isdst = -1;
+ mktime (&tm);
+- if (tm.tm_mon != 2 || tm.tm_mday != 31)
+- exit (1);
++ return tm.tm_mon == 2 && tm.tm_mday == 31;
+ }
+
+-static void
++static int
+ bigtime_test (j)
+ int j;
+ {
+@@ -12500,8 +12507,39 @@ bigtime_test (j)
+ && lt->tm_wday == tm.tm_wday
+ && ((lt->tm_isdst < 0 ? -1 : 0 < lt->tm_isdst)
+ == (tm.tm_isdst < 0 ? -1 : 0 < tm.tm_isdst))))
+- exit (1);
++ return 0;
+ }
++ return 1;
++}
++
++static int
++year_2050_test ()
++{
++ /* The correct answer for 2050-02-01 00:00:00 in Pacific time,
++ ignoring leap seconds. */
++ unsigned long int answer = 2527315200UL;
++
++ struct tm tm;
++ time_t t;
++ tm.tm_year = 2050 - 1900;
++ tm.tm_mon = 2 - 1;
++ tm.tm_mday = 1;
++ tm.tm_hour = tm.tm_min = tm.tm_sec = 0;
++ tm.tm_isdst = -1;
++
++ /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0"
++ instead of "TZ=America/Vancouver" in order to detect the bug even
++ on systems that don't support the Olson extension, or don't have the
++ full zoneinfo tables installed. */
++ putenv ("TZ=PST8PDT,M4.1.0,M10.5.0");
++
++ t = mktime (&tm);
++
++ /* Check that the result is either a failure, or close enough
++ to the correct answer that we can assume the discrepancy is
++ due to leap seconds. */
++ return (t == (time_t) -1
++ || (0 < t && answer - 120 <= t && t <= answer + 120));
+ }
+
+ int
+@@ -12515,9 +12553,15 @@ main ()
+ isn't worth using anyway. */
+ alarm (60);
+
+- for (time_t_max = 1; 0 < time_t_max; time_t_max *= 2)
+- continue;
+- time_t_max--;
++ for (;;)
++ {
++ t = (time_t_max << 1) + 1;
++ if (t <= time_t_max)
++ break;
++ time_t_max = t;
++ }
++ time_t_min = - ((time_t) ~ (time_t) 0 == (time_t) -1) - time_t_max;
++
+ delta = time_t_max / 997; /* a suitable prime number */
+ for (i = 0; i < N_STRINGS; i++)
+ {
+@@ -12525,17 +12569,22 @@ main ()
+ putenv (tz_strings[i]);
+
+ for (t = 0; t <= time_t_max - delta; t += delta)
+- mktime_test (t);
+- mktime_test ((time_t) 60 * 60);
+- mktime_test ((time_t) 60 * 60 * 24);
+-
+- for (j = 1; 0 < j; j *= 2)
+- bigtime_test (j);
+- bigtime_test (j - 1);
++ if (! mktime_test (t))
++ return 1;
++ if (! (mktime_test ((time_t) 1)
++ && mktime_test ((time_t) (60 * 60))
++ && mktime_test ((time_t) (60 * 60 * 24))))
++ return 1;
++
++ for (j = 1; ; j <<= 1)
++ if (! bigtime_test (j))
++ return 1;
++ else if (INT_MAX / 2 < j)
++ break;
++ if (! bigtime_test (INT_MAX))
++ return 1;
+ }
+- irix_6_4_bug ();
+- spring_forward_gap ();
+- exit (0);
++ return ! (irix_6_4_bug () && spring_forward_gap () && year_2050_test ());
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
diff --git a/app-shells/bash/files/autoconf-mktime-2.59.patch b/app-shells/bash/files/autoconf-mktime-2.59.patch
new file mode 100644
index 00000000000..3ac3ad1da86
--- /dev/null
+++ b/app-shells/bash/files/autoconf-mktime-2.59.patch
@@ -0,0 +1,197 @@
+http://bugs.gentoo.org/220040
+--- configure
++++ configure
+@@ -5299,26 +6059,25 @@
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+ /* Test program from Paul Eggert and Tony Leneis. */
+-#if TIME_WITH_SYS_TIME
++#ifdef TIME_WITH_SYS_TIME
+ # include <sys/time.h>
+ # include <time.h>
+ #else
+-# if HAVE_SYS_TIME_H
++# ifdef HAVE_SYS_TIME_H
+ # include <sys/time.h>
+ # else
+ # include <time.h>
+ # endif
+ #endif
+
+-#if HAVE_STDLIB_H
+-# include <stdlib.h>
+-#endif
++#include <limits.h>
++#include <stdlib.h>
+
+-#if HAVE_UNISTD_H
++#ifdef HAVE_UNISTD_H
+ # include <unistd.h>
+ #endif
+
+-#if !HAVE_ALARM
++#ifndef HAVE_ALARM
+ # define alarm(X) /* empty */
+ #endif
+
+@@ -5335,9 +6094,9 @@
+ };
+ #define N_STRINGS (sizeof (tz_strings) / sizeof (tz_strings[0]))
+
+-/* Fail if mktime fails to convert a date in the spring-forward gap.
++/* Return 0 if mktime fails to convert a date in the spring-forward gap.
+ Based on a problem report from Andreas Jaeger. */
+-static void
++static int
+ spring_forward_gap ()
+ {
+ /* glibc (up to about 1998-10-07) failed this test. */
+@@ -5356,29 +6115,27 @@
+ tm.tm_min = 0;
+ tm.tm_sec = 0;
+ tm.tm_isdst = -1;
+- if (mktime (&tm) == (time_t)-1)
+- exit (1);
++ return mktime (&tm) != (time_t) -1;
+ }
+
+-static void
++static int
+ mktime_test1 (now)
+ time_t now;
+ {
+ struct tm *lt;
+- if ((lt = localtime (&now)) && mktime (lt) != now)
+- exit (1);
++ return ! (lt = localtime (&now)) || mktime (lt) == now;
+ }
+
+-static void
++static int
+ mktime_test (now)
+ time_t now;
+ {
+- mktime_test1 (now);
+- mktime_test1 ((time_t) (time_t_max - now));
+- mktime_test1 ((time_t) (time_t_min + now));
++ return (mktime_test1 (now)
++ && mktime_test1 ((time_t) (time_t_max - now))
++ && mktime_test1 ((time_t) (time_t_min + now)));
+ }
+
+-static void
++static int
+ irix_6_4_bug ()
+ {
+ /* Based on code from Ariel Faigon. */
+@@ -5391,11 +6148,10 @@
+ tm.tm_sec = 0;
+ tm.tm_isdst = -1;
+ mktime (&tm);
+- if (tm.tm_mon != 2 || tm.tm_mday != 31)
+- exit (1);
++ return tm.tm_mon == 2 && tm.tm_mday == 31;
+ }
+
+-static void
++static int
+ bigtime_test (j)
+ int j;
+ {
+@@ -5417,8 +6173,39 @@
+ && lt->tm_wday == tm.tm_wday
+ && ((lt->tm_isdst < 0 ? -1 : 0 < lt->tm_isdst)
+ == (tm.tm_isdst < 0 ? -1 : 0 < tm.tm_isdst))))
+- exit (1);
++ return 0;
+ }
++ return 1;
++}
++
++static int
++year_2050_test ()
++{
++ /* The correct answer for 2050-02-01 00:00:00 in Pacific time,
++ ignoring leap seconds. */
++ unsigned long int answer = 2527315200UL;
++
++ struct tm tm;
++ time_t t;
++ tm.tm_year = 2050 - 1900;
++ tm.tm_mon = 2 - 1;
++ tm.tm_mday = 1;
++ tm.tm_hour = tm.tm_min = tm.tm_sec = 0;
++ tm.tm_isdst = -1;
++
++ /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0"
++ instead of "TZ=America/Vancouver" in order to detect the bug even
++ on systems that don't support the Olson extension, or don't have the
++ full zoneinfo tables installed. */
++ putenv ("TZ=PST8PDT,M4.1.0,M10.5.0");
++
++ t = mktime (&tm);
++
++ /* Check that the result is either a failure, or close enough
++ to the correct answer that we can assume the discrepancy is
++ due to leap seconds. */
++ return (t == (time_t) -1
++ || (0 < t && answer - 120 <= t && t <= answer + 120));
+ }
+
+ int
+@@ -5432,12 +6219,15 @@
+ isn't worth using anyway. */
+ alarm (60);
+
+- for (time_t_max = 1; 0 < time_t_max; time_t_max *= 2)
+- continue;
+- time_t_max--;
+- if ((time_t) -1 < 0)
+- for (time_t_min = -1; (time_t) (time_t_min * 2) < 0; time_t_min *= 2)
+- continue;
++ for (;;)
++ {
++ t = (time_t_max << 1) + 1;
++ if (t <= time_t_max)
++ break;
++ time_t_max = t;
++ }
++ time_t_min = - ((time_t) ~ (time_t) 0 == (time_t) -1) - time_t_max;
++
+ delta = time_t_max / 997; /* a suitable prime number */
+ for (i = 0; i < N_STRINGS; i++)
+ {
+@@ -5445,18 +6235,22 @@
+ putenv (tz_strings[i]);
+
+ for (t = 0; t <= time_t_max - delta; t += delta)
+- mktime_test (t);
+- mktime_test ((time_t) 1);
+- mktime_test ((time_t) (60 * 60));
+- mktime_test ((time_t) (60 * 60 * 24));
+-
+- for (j = 1; 0 < j; j *= 2)
+- bigtime_test (j);
+- bigtime_test (j - 1);
++ if (! mktime_test (t))
++ return 1;
++ if (! (mktime_test ((time_t) 1)
++ && mktime_test ((time_t) (60 * 60))
++ && mktime_test ((time_t) (60 * 60 * 24))))
++ return 1;
++
++ for (j = 1; ; j <<= 1)
++ if (! bigtime_test (j))
++ return 1;
++ else if (INT_MAX / 2 < j)
++ break;
++ if (! bigtime_test (INT_MAX))
++ return 1;
+ }
+- irix_6_4_bug ();
+- spring_forward_gap ();
+- exit (0);
++ return ! (irix_6_4_bug () && spring_forward_gap () && year_2050_test ());
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
diff --git a/app-shells/bash/files/bash-2.05b-destdir.patch b/app-shells/bash/files/bash-2.05b-destdir.patch
new file mode 100644
index 00000000000..a1089d293c1
--- /dev/null
+++ b/app-shells/bash/files/bash-2.05b-destdir.patch
@@ -0,0 +1,28 @@
+support DESTDIR install
+
+--- bash-2.05b/Makefile.in
++++ bash-2.05b/Makefile.in
+@@ -20,16 +20,16 @@
+ all: .made
+
+ # Include some boilerplate Gnu makefile definitions.
+-prefix = @prefix@
++prefix = $(DESTDIR)@prefix@
+
+-exec_prefix = @exec_prefix@
+-bindir = @bindir@
+-libdir = @libdir@
+-infodir = @infodir@
+-includedir = @includedir@
++exec_prefix = $(DESTDIR)@exec_prefix@
++bindir = $(DESTDIR)@bindir@
++libdir = $(DESTDIR)@libdir@
++infodir = $(DESTDIR)@infodir@
++includedir = $(DESTDIR)@includedir@
+ datadir = @datadir@
+
+-mandir = @mandir@
++mandir = $(DESTDIR)@mandir@
+ manpfx = man
+
+ man1ext = .1
diff --git a/app-shells/bash/files/bash-2.05b-empty-herestring.patch b/app-shells/bash/files/bash-2.05b-empty-herestring.patch
new file mode 100644
index 00000000000..db868c49aea
--- /dev/null
+++ b/app-shells/bash/files/bash-2.05b-empty-herestring.patch
@@ -0,0 +1,25 @@
+###################################################################
+# Added by Tavis Ormandy <taviso@gentoo.org> 01/05/2003
+# Reproduce with
+#
+# $ xargs <<< ${EMTPY_VARIABLE}
+# Segmentation fault.
+#
+# note: bash will still give you a "\n" with this patch, but this is
+# standard behaviour, if you need proof:
+#
+# $ wc -l <<< ""
+###############################
+
+--- bash-2.05b/redir.c
++++ bash-2.05b/redir.c
+@@ -263,7 +263,7 @@
+ int herelen, n, e;
+
+ herestr = expand_string_to_string (redirectee->word, 0);
+- herelen = strlen (herestr);
++ herelen = (herestr == NULL) ? 0 : strlen (herestr);
+
+ n = write (fd, herestr, herelen);
+ if (n == herelen)
+ {
diff --git a/app-shells/bash/files/bash-2.05b-fix-job-warning.patch b/app-shells/bash/files/bash-2.05b-fix-job-warning.patch
new file mode 100644
index 00000000000..fcec078d3d0
--- /dev/null
+++ b/app-shells/bash/files/bash-2.05b-fix-job-warning.patch
@@ -0,0 +1,14 @@
+fix obvious error:
+common.c:247:5: warning: format '%s' expects a matching 'char *' argument [-Wformat=]
+
+--- a/builtins/common.c
++++ b/builtins/common.c
+@@ -244,7 +244,7 @@
+ char *s;
+ {
+ if (s)
+- builtin_error ("%s: no job control");
++ builtin_error ("%s: no job control", s);
+ else
+ builtin_error ("no job control");
+ }
diff --git a/app-shells/bash/files/bash-2.05b-jobs.patch b/app-shells/bash/files/bash-2.05b-jobs.patch
new file mode 100644
index 00000000000..4ed475eab79
--- /dev/null
+++ b/app-shells/bash/files/bash-2.05b-jobs.patch
@@ -0,0 +1,28 @@
+Fix using bash with post-20040808 glibc ebuilds (from fedora)
+
+--- bash-2.05b/jobs.c
++++ bash-2.05b/jobs.c
+@@ -2423,6 +2423,7 @@
+ PROCESS *child;
+ pid_t pid;
+ int call_set_current, last_stopped_job, job, children_exited, waitpid_flags;
++ static int wcontinued_not_supported = 0;
+
+ call_set_current = children_exited = 0;
+ last_stopped_job = NO_JOB;
+@@ -2436,7 +2437,15 @@
+ : 0;
+ if (sigchld || block == 0)
+ waitpid_flags |= WNOHANG;
++ retry:
++ if (wcontinued_not_supported)
++ waitpid_flags &= ~WCONTINUED;
+ pid = WAITPID (-1, &status, waitpid_flags);
++ if (pid == -1 && errno == EINVAL)
++ {
++ wcontinued_not_supported = 1;
++ goto retry;
++ }
+
+ /* The check for WNOHANG is to make sure we decrement sigchld only
+ if it was non-zero before we called waitpid. */
diff --git a/app-shells/bash/files/bash-2.05b-parallel-build.patch b/app-shells/bash/files/bash-2.05b-parallel-build.patch
new file mode 100644
index 00000000000..382ffd6dfd5
--- /dev/null
+++ b/app-shells/bash/files/bash-2.05b-parallel-build.patch
@@ -0,0 +1,15 @@
+Fix parallel make
+
+http://bugs.gentoo.org/41002
+
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -604,7 +604,7 @@
+
+ config.h: stamp-h
+
+-stamp-h: config.status $(srcdir)/config.h.in $(srcdir)/config-top.h $(srcdir)/config-bot.h
++stamp-h: version.h config.status $(srcdir)/config.h.in $(srcdir)/config-top.h $(srcdir)/config-bot.h
+ CONFIG_FILES= CONFIG_HEADERS=config.h $(SHELL) ./config.status
+
+ config.status: $(srcdir)/configure
diff --git a/app-shells/bash/files/bash-2.05b-protos.patch b/app-shells/bash/files/bash-2.05b-protos.patch
new file mode 100644
index 00000000000..2a42ced5471
--- /dev/null
+++ b/app-shells/bash/files/bash-2.05b-protos.patch
@@ -0,0 +1,25 @@
+move prototypes around so they show up when needed
+
+--- a/externs.h
++++ b/externs.h
+@@ -327,6 +327,9 @@
+ #undef xstrchr
+ extern char *xstrchr __P((const char *, int));
+
++/* declarations for functions defined in lib/sh/zcatfd.c */
++extern int zcatfd __P((int, int, char *));
++
+ /* declarations for functions defined in lib/sh/zread.c */
+ extern ssize_t zread __P((int, char *, size_t));
+ extern ssize_t zreadintr __P((int, char *, size_t));
+--- a/jobs.h
++++ b/jobs.h
+@@ -175,6 +175,8 @@
+ extern void ignore_tty_job_signals __P((void));
+ extern void default_tty_job_signals __P((void));
+
++extern void close_pgrp_pipe __P((void));
++
+ #if defined (JOB_CONTROL)
+ extern int job_control;
+ #endif
diff --git a/app-shells/bash/files/bash-2.05b-rbash.patch b/app-shells/bash/files/bash-2.05b-rbash.patch
new file mode 100644
index 00000000000..19b89ca35e2
--- /dev/null
+++ b/app-shells/bash/files/bash-2.05b-rbash.patch
@@ -0,0 +1,27 @@
+Fix broken rbash functionality when used as a login shell via /etc/passwd
+
+http://bugs.gentoo.org/26854
+http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=170298
+
+Backported from bash-3.1
+
+--- bash-2.05b/shell.c
++++ bash-2.05b/shell.c
+@@ -1065,6 +1099,8 @@
+ if (restricted)
+ return 1;
+ temp = base_pathname (name);
++ if (*temp == '-')
++ temp++;
+ return (STREQ (temp, RESTRICTED_SHELL_NAME));
+ }
+
+@@ -1082,6 +1118,8 @@
+ char *temp;
+
+ temp = base_pathname (name);
++ if (*temp == '-')
++ temp++;
+ if (restricted || (STREQ (temp, RESTRICTED_SHELL_NAME)))
+ {
+ set_var_read_only ("PATH");
diff --git a/app-shells/bash/files/bash-3.0-afs.patch b/app-shells/bash/files/bash-3.0-afs.patch
new file mode 100644
index 00000000000..f07371c39eb
--- /dev/null
+++ b/app-shells/bash/files/bash-3.0-afs.patch
@@ -0,0 +1,20 @@
+Ripped from Fedora
+
+- Fixed AFS support for output redirection, so that the correct errors
+ are reported for other filesystems (bug #155373).
+
+https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=155373
+
+--- bash-3.0/redir.c.afs 2005-04-20 09:16:15.000000000 +0100
++++ bash-3.0/redir.c 2005-04-20 09:16:58.000000000 +0100
+@@ -596,7 +596,9 @@
+ fd = open (filename, flags, mode);
+ #if defined (AFS)
+ if ((fd < 0) && (errno == EACCES))
+- fd = open (filename, flags & ~O_CREAT, mode);
++ if ((fd = open (filename, flags & ~O_CREAT, mode)) < 0)
++ /* Restore previous errno. */
++ errno = EACCES;
+ #endif /* AFS */
+ }
+
diff --git a/app-shells/bash/files/bash-3.0-crash.patch b/app-shells/bash/files/bash-3.0-crash.patch
new file mode 100644
index 00000000000..984e85d82ed
--- /dev/null
+++ b/app-shells/bash/files/bash-3.0-crash.patch
@@ -0,0 +1,46 @@
+> Machine Type: i686-pc-linux-gnu
+>
+> Bash Version: 3.0
+> Patch Level: 0
+> Release Status: release
+>
+> Description:
+> GNU bash, version 3.00.0(1)-release (i686-pc-linux-gnu)
+> (and
+> GNU bash, version 2.05b.0(1)-release (i386-redhat-linux-gnu)
+>
+> dumps a core because of a null pointer "in make_bare_word
+> at make_cmd.c:90" (see gdb output below)
+
+Thanks for the report. Here's a quick fix:
+
+*** arrayfunc.c~ Sat Nov 6 15:08:29 2004
+--- arrayfunc.c Mon Jan 31 11:56:21 2005
+***************
+*** 709,713 ****
+ return ((char *)NULL);
+ }
+! else if (var == 0)
+ return ((char *)NULL);
+ else if (array_p (var) == 0)
+--- 709,713 ----
+ return ((char *)NULL);
+ }
+! else if (var == 0 || value_cell (var) == 0)
+ return ((char *)NULL);
+ else if (array_p (var) == 0)
+
+
+Chet
+
+--
+``The lyf so short, the craft so long to lerne.'' - Chaucer
+( ``Discere est Dolere'' -- chet )
+ Live...Laugh...Love
+Chet Ramey, ITS, CWRU chet@po.cwru.edu http://tiswww.tis.cwru.edu/~chet/
+
+
+_______________________________________________
+Bug-bash mailing list
+Bug-bash@gnu.org
+http://lists.gnu.org/mailman/listinfo/bug-bash
diff --git a/app-shells/bash/files/bash-3.0-darwin-conn.patch b/app-shells/bash/files/bash-3.0-darwin-conn.patch
new file mode 100644
index 00000000000..f83e4c3f701
--- /dev/null
+++ b/app-shells/bash/files/bash-3.0-darwin-conn.patch
@@ -0,0 +1,20 @@
+Sune Foldager writes:
+On Darwin (Mac OS X), bash incorrectly assumed that it has been called over a
+network connection (such as ssh, rsh etc.), when stdin stems from the pipe()
+system call. This is because bash's heuristic code for determining if it's
+been started over a net connection is incorrect on Darwin kernels.
+
+http://bugs.gentoo.org/79124
+
+--- a/lib/sh/netconn.c
++++ b/lib/sh/netconn.c
+@@ -53,7 +53,8 @@
+ l = sizeof(sa);
+ rv = getpeername(fd, &sa, &l);
+ /* Solaris 2.5 getpeername() returns EINVAL if the fd is not a socket. */
+- return ((rv < 0 && (errno == ENOTSOCK || errno == EINVAL)) ? 0 : 1);
++ /* Darwin 7.7.0 getpeername() returns ENOTCONN if the fd was created with pipe(). */
++ return ((rv < 0 && (errno == ENOTSOCK || errno == ENOTCONN || errno == EINVAL)) ? 0 : 1);
+ #else /* !HAVE_GETPEERNAME || SVR4_2 || __BEOS__ */
+ # if defined (SVR4) || defined (SVR4_2)
+ /* Sockets on SVR4 and SVR4.2 are character special (streams) devices. */
diff --git a/app-shells/bash/files/bash-3.0-histtimeformat.patch b/app-shells/bash/files/bash-3.0-histtimeformat.patch
new file mode 100644
index 00000000000..b910600fd89
--- /dev/null
+++ b/app-shells/bash/files/bash-3.0-histtimeformat.patch
@@ -0,0 +1,56 @@
+Ripped from Debian
+
+http://lists.gnu.org/archive/html/bug-bash/2004-08/msg00008.html
+
+From: Enrique Perez-Terron <enrio@online.no>
+To: bug-bash@gnu.org
+Subject: When using HISTTIMEFORMAT, the date and the command are run
+ together.
+Date: Sun, 01 Aug 2004 18:36:45 +0200
+
+Configuration Information [Automatically generated, do not change]:
+Machine: i586
+OS: linux-gnu
+Compiler: gcc
+Compilation CFLAGS: -DPROGRAM='bash' -DCONF_HOSTTYPE='i586'
+-DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='i586-pc-linux-gnu'
+-DCONF_VENDOR='pc' -DLOCALEDIR='/usr/local/share/locale'
+-DPACKAGE='bash' -DSHELL -DHAVE_CONFIG_H -I. -I. -I./include -I./lib
+-g -O2
+uname output: Linux arabia.home.lan 2.6.6-1.435.2.3 #1 Thu Jul 1
+09:11:28 EDT 2004 i586 i586 i386 GNU/Linux
+Machine Type: i586-pc-linux-gnu
+
+# DP: Add space separating the time and the command in the
+# DP: output from the history builtin command.
+
+Bash Version: 3.0
+Patch Level: 0
+Release Status: release
+
+Description:
+ There is no space separating the time and the command in the
+ output from the history builtin command.
+
+Repeat-By:
+ $ export HISTTIMEFORMAT=_A_format_string_
+ $ history 3
+ 997 _A_format_string_echo $BASH_VERSION
+ 998 _A_format_string_export HISTTIMEFORMAT=_A_format_string_
+ 999 _A_format_string_history 3
+
+Fix:
+--- ./builtins/history.def.orig 2003-12-20 00:02:09.000000000 +0100
++++ ./builtins/history.def 2004-08-01 18:18:02.652720102 +0200
+@@ -287,9 +287,10 @@
+ QUIT;
+
+ timestr = (histtimefmt && *histtimefmt) ? histtime (hlist[i], histtimefmt) : (char *)NULL;
+- printf ("%5d%c %s%s\n", i + history_base,
++ printf ("%5d%c %s%s%s\n", i + history_base,
+ histdata(i) ? '*' : ' ',
+ ((timestr && *timestr) ? timestr : ""),
++ ((timestr && *timestr) ? " " : ""),
+ histline(i));
+ i++;
+ }
diff --git a/app-shells/bash/files/bash-3.0-jobs.patch b/app-shells/bash/files/bash-3.0-jobs.patch
new file mode 100644
index 00000000000..72c149c71cf
--- /dev/null
+++ b/app-shells/bash/files/bash-3.0-jobs.patch
@@ -0,0 +1,56 @@
+Ripped from Fedora
+
+* Wed Sep 8 2004 Tim Waugh <twaugh@redhat.com> 3.0-13
+- Check for EINVAL from waitpid() and avoid WCONTINUED in that case.
+- Fixed jobs4 test.
+
+From: Tim Waugh
+Subject: [patch] bash-3.0: avoid WCONTINUED if invalid
+Date: Wed, 8 Sep 2004 16:52:38 +0100
+User-agent: Mutt/1.4.1i
+
+Hi,
+
+GNU libc defines WCONTINUED, but (at least on Linux 2.4.x kernels)
+waitpid() returns -1 with errno set to EINVAL if WCONTINUED is
+supplied in options.
+
+Here is a patch to retry without WCONTINUED set in that case.
+
+Tim.
+
+--- bash-3.0/tests/jobs4.sub
++++ bash-3.0/tests/jobs4.sub
+@@ -18,5 +18,5 @@
+
+ wait
+
+-cat &
++sleep 100 &
+ kill -1 %% && echo i killed it || echo could not kill it
+--- bash-3.0/jobs.c
++++ bash-3.0/jobs.c
+@@ -2475,6 +2475,7 @@
+ PROCESS *child;
+ pid_t pid;
+ int call_set_current, last_stopped_job, job, children_exited, waitpid_flags;
++ static int wcontinued_not_supported = 0;
+
+ call_set_current = children_exited = 0;
+ last_stopped_job = NO_JOB;
+@@ -2488,7 +2489,15 @@
+ : 0;
+ if (sigchld || block == 0)
+ waitpid_flags |= WNOHANG;
++ retry:
++ if (wcontinued_not_supported)
++ waitpid_flags &= ~WCONTINUED;
+ pid = WAITPID (-1, &status, waitpid_flags);
++ if (pid == -1 && errno == EINVAL)
++ {
++ wcontinued_not_supported = 1;
++ goto retry;
++ }
+
+ /* The check for WNOHANG is to make sure we decrement sigchld only
+ if it was non-zero before we called waitpid. */
diff --git a/app-shells/bash/files/bash-3.0-locale.patch b/app-shells/bash/files/bash-3.0-locale.patch
new file mode 100644
index 00000000000..ea1ef3deae3
--- /dev/null
+++ b/app-shells/bash/files/bash-3.0-locale.patch
@@ -0,0 +1,112 @@
+Ripped from SuSe
+
+http://lists.gnu.org/archive/html/bug-bash/2004-08/msg00005.html
+
+From: schwab@suse.de
+To: bug-bash@gnu.org
+Subject: HISTTIMEFORMAT doesn't track locale changes
+Date: Sun, 1 Aug 2004 11:14:00 +0200 (CEST)
+
+Configuration Information [Automatically generated, do not change]:
+Machine: ia64
+OS: linux-gnu
+Compiler: gcc
+Compilation CFLAGS: -DPROGRAM='bash' -DCONF_HOSTTYPE='ia64' -DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='ia64-unknown-linux-gnu' -DCONF_VENDOR='unknown' -DLOCALEDIR='/usr/local/share/locale' -DPACKAGE='bash' -DSHELL -DHAVE_CONFIG_H -I. -I../bash-3.0 -I../bash-3.0/include -I../bash-3.0/lib -O2 -g
+uname output: Linux sykes 2.6.5-22-default #1 SMP Fri Jul 2 13:43:23 UTC 2004 ia64 ia64 ia64 GNU/Linux
+Machine Type: ia64-unknown-linux-gnu
+
+Bash Version: 3.0
+Patch Level: 0
+Release Status: release
+
+Description:
+Bash doesn't use the current locale when formatting HISTTIMEFORMAT.
+
+Repeat-By:
+sykes:/tmp/bash/Build/:[0]$ locale
+LANG=de_DE.UTF-8
+LC_CTYPE="de_DE.UTF-8"
+LC_NUMERIC=POSIX
+LC_TIME=POSIX
+LC_COLLATE=POSIX
+LC_MONETARY="de_DE.UTF-8"
+LC_MESSAGES=en_US.UTF-8
+LC_PAPER="de_DE.UTF-8"
+LC_NAME="de_DE.UTF-8"
+LC_ADDRESS="de_DE.UTF-8"
+LC_TELEPHONE="de_DE.UTF-8"
+LC_MEASUREMENT="de_DE.UTF-8"
+LC_IDENTIFICATION="de_DE.UTF-8"
+LC_ALL=
+sykes:/tmp/bash/Build/:[0]$ history 1
+ 1502 history 1
+sykes:/tmp/bash/Build/:[0]$ HISTTIMEFORMAT=%c
+sykes:/tmp/bash/Build/:[0]$ history 1
+ 1504 Sun Aug 1 10:56:59 2004history 1
+sykes:/tmp/bash/Build/:[0]$ export LC_TIME=$LANG
+sykes:/tmp/bash/Build/:[0]$ history 1
+ 1506 Sun Aug 1 10:57:24 2004history 1
+
+--- bash-3.0/locale.c
++++ bash-3.0/locale.c
+@@ -71,9 +71,10 @@ set_default_locale ()
+ textdomain (PACKAGE);
+ }
+
+-/* Set default values for LC_CTYPE, LC_COLLATE, LC_MESSAGES and LC_NUMERIC
+- if they are not specified in the environment, but LC_ALL is. This
+- should be called from main() after parsing the environment. */
++/* Set default values for LC_CTYPE, LC_COLLATE, LC_MESSAGES, LC_NUMERIC
++ and LC_TIME if they are not specified in the environment, but LC_ALL
++ is. This should be called from main() after parsing the
++ environment. */
+ void
+ set_default_locale_vars ()
+ {
+@@ -109,6 +110,12 @@ set_default_locale_vars ()
+ setlocale (LC_NUMERIC, lc_all);
+ # endif /* LC_NUMERIC */
+
++# if defined (LC_TIME)
++ val = get_string_value ("LC_TIME");
++ if (val == 0 && lc_all && *lc_all)
++ setlocale (LC_TIME, lc_all);
++# endif /* LC_TIME */
++
+ #endif /* HAVE_SETLOCALE */
+
+ val = get_string_value ("TEXTDOMAIN");
+@@ -213,6 +220,13 @@ set_locale_var (var, value)
+ return (setlocale (LC_NUMERIC, get_locale_var ("LC_NUMERIC")) != 0);
+ # endif /* LC_NUMERIC */
+ }
++ else if (var[3] == 'T' && var[4] == 'I') /* LC_TIME */
++ {
++# if defined (LC_TIME)
++ if (lc_all == 0 || *lc_all == '\0')
++ return (setlocale (LC_TIME, get_locale_var ("LC_TIME")) != 0);
++# endif /* LC_TIME */
++ }
+ #endif /* HAVE_SETLOCALE */
+
+ return (0);
+@@ -285,6 +299,9 @@ reset_locale_vars ()
+ # if defined (LC_NUMERIC)
+ setlocale (LC_NUMERIC, get_locale_var ("LC_NUMERIC"));
+ # endif
++# if defined (LC_TIME)
++ setlocale (LC_TIME, get_locale_var ("LC_TIME"));
++# endif
+
+ locale_setblanks ();
+
+--- bash-3.0/variables.c
++++ bash-3.0/variables.c
+@@ -3646,6 +3646,7 @@ static struct name_and_function special_
+ { "LC_CTYPE", sv_locale },
+ { "LC_MESSAGES", sv_locale },
+ { "LC_NUMERIC", sv_locale },
++ { "LC_TIME", sv_locale },
+
+ { "MAIL", sv_mail },
+ { "MAILCHECK", sv_mail },
diff --git a/app-shells/bash/files/bash-3.0-manpage.patch b/app-shells/bash/files/bash-3.0-manpage.patch
new file mode 100644
index 00000000000..08e3143e542
--- /dev/null
+++ b/app-shells/bash/files/bash-3.0-manpage.patch
@@ -0,0 +1,15 @@
+Ripped from Fedora
+
+fix obvious display bug
+
+--- bash-3.0/doc/bash.1
++++ bash-3.0/doc/bash.1
+@@ -3929,7 +3929,7 @@
+ .B SIGHUP
+ to all jobs when an interactive login shell exits.
+ .PP
+-If \Bbash\fP is waiting for a command to complete and receives a signal
++If \fBbash\fP is waiting for a command to complete and receives a signal
+ for which a trap has been set, the trap will not be executed until
+ the command completes.
+ When \fBbash\fP is waiting for an asynchronous command via the \fBwait\fP
diff --git a/app-shells/bash/files/bash-3.0-multibyteifs.patch b/app-shells/bash/files/bash-3.0-multibyteifs.patch
new file mode 100644
index 00000000000..1e74832b638
--- /dev/null
+++ b/app-shells/bash/files/bash-3.0-multibyteifs.patch
@@ -0,0 +1,281 @@
+From: Tim Waugh <twaugh@redhat.com>
+To: bug-bash@gnu.org
+Subject: [patch] multibyte IFS values
+Date: Tue, 24 Aug 2004 13:34:59 +0100
+
+Hi,
+
+Here is a patch to address these problems:
+
+http://lists.gnu.org/archive/html/bug-bash/2004-07/msg00294.html
+http://lists.gnu.org/archive/html/bug-bash/2004-07/msg00296.html
+
+It works well for me at least.
+
+Tim.
+
+--- bash-3.0/subst.c.multibyteifs 2004-08-20 15:22:48.366497771 +0100
++++ bash-3.0/subst.c 2004-08-20 18:13:30.833624616 +0100
+@@ -124,7 +124,12 @@
+ SHELL_VAR *ifs_var;
+ char *ifs_value;
+ unsigned char ifs_cmap[UCHAR_MAX + 1];
++#if defined (HANDLE_MULTIBYTE)
++unsigned char ifs_firstc[MB_LEN_MAX];
++size_t ifs_firstc_len;
++#else
+ unsigned char ifs_firstc;
++#endif
+
+ /* Extern functions and variables from different files. */
+ extern int last_command_exit_value, last_command_exit_signal;
+@@ -862,8 +867,14 @@
+ char *charlist;
+ {
+ register int i = *sindex;
++ size_t slen;
++#if defined (HANDLE_MULTIBYTE)
++ size_t clen;
++ wchar_t *wcharlist = NULL;
++#endif
+ int c;
+ char *temp;
++ DECLARE_MBSTATE;
+
+ if (charlist[0] == '\'' && charlist[1] == '\0')
+ {
+@@ -872,18 +883,65 @@
+ return temp;
+ }
+
+- for (i = *sindex; c = string[i]; i++)
++ slen = strlen (string + *sindex) + *sindex;
++ i = *sindex;
++#if defined (HANDLE_MULTIBYTE)
++ clen = strlen (charlist);
++#endif
++ while ((c = string[i]))
+ {
++#if defined (HANDLE_MULTIBYTE)
++ size_t mblength;
++#endif
++
+ if (c == CTLESC)
+ {
+- i++;
++ i += 2;
+ continue;
+ }
+
++#if defined (HANDLE_MULTIBYTE)
++ mblength = mblen (string + i, slen - i);
++ if (mblength > 1)
++ {
++ wchar_t wc;
++ size_t mblength = mbtowc (&wc, string + i, slen - i);
++ if (MB_INVALIDCH (mblength))
++ {
++ if (MEMBER (c, charlist))
++ break;
++ }
++ else
++ {
++ if (!wcharlist)
++ {
++ size_t len = mbstowcs (wcharlist, charlist, 0);
++ if (len == -1)
++ len = 0;
++ wcharlist = xmalloc (sizeof (wchar_t) * (len + 1));
++ mbstowcs (wcharlist, charlist, 1 + len);
++ }
++
++ if (wcschr (wcharlist, wc))
++ {
++ break;
++ }
++ }
++ }
++ else
++#endif
++
+ if (MEMBER (c, charlist))
+ break;
++
++ ADVANCE_CHAR (string, slen, i);
+ }
+
++#if defined (HANDLE_MULTIBYTE)
++ if (wcharlist)
++ free (wcharlist);
++#endif
++
+ temp = substring (string, *sindex, i);
+ *sindex = i;
+
+@@ -1456,11 +1514,36 @@
+ d2 = 0;
+ if (delims)
+ {
+- d2 = (char *)xmalloc (strlen (delims) + 1);
+- for (i = ts = 0; delims[i]; i++)
++ size_t slength = strlen (delims);
++#if defined (HANDLE_MULTIBYTE)
++ size_t mblength = 1;
++ DECLARE_MBSTATE;
++#endif
++
++ d2 = (char *)xmalloc (slength + 1);
++ i = ts = 0;
++ while (delims[i])
+ {
++#if defined (HANDLE_MULTIBYTE)
++ mbstate_t state_bak = state;
++ mblength = mbrlen (delims + i, slength, &state);
++
++ if (MB_INVALIDCH (mblength))
++ state = state_bak;
++ else if (mblength != 1)
++ {
++ memcpy (d2 + ts, delims + i, mblength);
++ ts += mblength;
++ i += mblength;
++ slength -= mblength;
++ continue;
++ }
++#endif
++
+ if (whitespace(delims[i]) == 0)
+ d2[ts++] = delims[i];
++ i++;
++ slength--;
+ }
+ d2[ts] = '\0';
+ }
+@@ -1654,10 +1737,19 @@
+ string_list_dollar_star (list)
+ WORD_LIST *list;
+ {
++#if defined (HANDLE_MULTIBYTE)
++ char sep[MB_CUR_MAX + 1];
++#else
+ char sep[2];
++#endif
+
++#if defined (HANDLE_MULTIBYTE)
++ memcpy (sep, ifs_firstc, ifs_firstc_len);
++ sep[ifs_firstc_len] = '\0';
++#else
+ sep[0] = ifs_firstc;
+ sep[1] = '\0';
++#endif
+
+ return (string_list_internal (list, sep));
+ }
+@@ -1676,14 +1768,41 @@
+ WORD_LIST *list;
+ int quoted;
+ {
+- char *ifs, sep[2];
++ char *ifs;
++#if defined (HANDLE_MULTIBYTE)
++ char sep[MB_CUR_MAX + 1];
++#else
++ char sep[2];
++#endif
+ WORD_LIST *tlist;
+
+ /* XXX this could just be ifs = ifs_value; */
+ ifs = ifs_var ? value_cell (ifs_var) : (char *)0;
+
++#if defined (HANDLE_MULTIBYTE)
++ if (ifs && *ifs)
++ {
++ size_t mblength = mblen (ifs, strnlen (ifs, MB_CUR_MAX));
++ if (MB_INVALIDCH (mblength))
++ {
++ sep[0] = *ifs;
++ sep[1] = '\0';
++ }
++ else
++ {
++ memcpy (sep, ifs, mblength);
++ sep[mblength] = '\0';
++ }
++ }
++ else
++ {
++ sep[0] = ' ';
++ sep[1] = '\0';
++ }
++#else
+ sep[0] = (ifs == 0 || *ifs == 0) ? ' ' : *ifs;
+ sep[1] = '\0';
++#endif
+
+ tlist = ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) || (ifs && *ifs == 0))
+ ? quote_list (list)
+@@ -1732,6 +1851,7 @@
+ WORD_DESC *t;
+ char *current_word, *s;
+ int sindex, sh_style_split, whitesep;
++ size_t slen = 0;
+
+ if (!string || !*string)
+ return ((WORD_LIST *)NULL);
+@@ -1805,7 +1925,12 @@
+
+ /* Move past the current separator character. */
+ if (string[sindex])
+- sindex++;
++ {
++ DECLARE_MBSTATE;
++ if (!slen)
++ slen = strlen (string);
++ ADVANCE_CHAR (string, slen, sindex);
++ }
+
+ /* Now skip sequences of space, tab, or newline characters if they are
+ in the list of separators. */
+@@ -6796,7 +6921,27 @@
+ ifs_cmap[uc] = 1;
+ }
+
++#if defined (HANDLE_MULTIBYTE)
++ if (!ifs_value)
++ {
++ ifs_firstc[0] = '\0';
++ ifs_firstc_len = 1;
++ }
++ else
++ {
++ size_t ifs_len = strnlen (ifs_value, MB_CUR_MAX);
++ ifs_firstc_len = mblen (ifs_value, ifs_len);
++ if (MB_INVALIDCH (ifs_firstc_len))
++ {
++ ifs_firstc[0] = '\0';
++ ifs_firstc_len = 1;
++ }
++ else
++ memcpy (ifs_firstc, ifs_value, ifs_firstc_len);
++ }
++#else
+ ifs_firstc = ifs_value ? *ifs_value : 0;
++#endif
+ }
+
+ char *
+--- bash-3.0/subst.h.multibyteifs 2004-08-20 15:51:08.301074583 +0100
++++ bash-3.0/subst.h 2004-08-20 15:51:39.070206473 +0100
+@@ -231,7 +231,12 @@
+ extern SHELL_VAR *ifs_var;
+ extern char *ifs_value;
+ extern unsigned char ifs_cmap[];
++#if defined (HANDLE_MULTIBYTE)
++extern unsigned char ifs_firstc[];
++extern size_t ifs_firstc_len;
++#else
+ extern unsigned char ifs_firstc;
++#endif
+
+ /* Evaluates to 1 if C is a character in $IFS. */
+ #define isifs(c) (ifs_cmap[(unsigned char)(c)] != 0)
diff --git a/app-shells/bash/files/bash-3.0-pgrp-pipe-fix.patch b/app-shells/bash/files/bash-3.0-pgrp-pipe-fix.patch
new file mode 100644
index 00000000000..35b0b7d0592
--- /dev/null
+++ b/app-shells/bash/files/bash-3.0-pgrp-pipe-fix.patch
@@ -0,0 +1,20 @@
+Fix an error when using pipes and PGRP_PIPE is enabled.
+( exec 3>&1; : `echo >&3` )
+bash: 3: Bad file descriptor
+
+http://bugs.gentoo.org/92349
+
+Patch from upstream
+
+*** jobs.c Wed Sep 8 11:08:16 2004
+--- jobs.c Thu Jun 30 17:21:26 2005
+***************
+*** 3456,3459 ****
+--- 3901,3907 ----
+ stop_making_children ();
+ start_pipeline ();
++ #if defined (PGRP_PIPE)
++ pipe_close (pgrp_pipe);
++ #endif
+ delete_all_jobs (0);
+ set_job_control (0);
diff --git a/app-shells/bash/files/bash-3.0-protos.patch b/app-shells/bash/files/bash-3.0-protos.patch
new file mode 100644
index 00000000000..b1337b20395
--- /dev/null
+++ b/app-shells/bash/files/bash-3.0-protos.patch
@@ -0,0 +1,68 @@
+move prototypes around so they show up when needed
+
+--- a/externs.h
++++ b/externs.h
+@@ -327,6 +327,9 @@
+ #undef xstrchr
+ extern char *xstrchr __P((const char *, int));
+
++/* declarations for functions defined in lib/sh/zcatfd.c */
++extern int zcatfd __P((int, int, char *));
++
+ /* declarations for functions defined in lib/sh/zread.c */
+ extern ssize_t zread __P((int, char *, size_t));
+ extern ssize_t zreadintr __P((int, char *, size_t));
+--- a/jobs.h
++++ b/jobs.h
+@@ -175,6 +175,8 @@
+ extern void ignore_tty_job_signals __P((void));
+ extern void default_tty_job_signals __P((void));
+
++extern void close_pgrp_pipe __P((void));
++
+ #if defined (JOB_CONTROL)
+ extern int job_control;
+ #endif
+--- a/general.c
++++ b/general.c
+@@ -39,6 +39,8 @@
+ #include "bashintl.h"
+
+ #include "shell.h"
++#include "test.h"
++
+ #include <tilde/tilde.h>
+
+ #if !defined (errno)
+--- a/builtins/evalfile.c
++++ b/builtins/evalfile.c
+@@ -39,6 +39,7 @@
+ #include "../flags.h"
+ #include "../input.h"
+ #include "../execute_cmd.h"
++#include "../trap.h"
+
+ #if defined (HISTORY)
+ # include "../bashhist.h"
+--- a/lib/glob/strmatch.c
++++ b/lib/glob/strmatch.c
+@@ -25,9 +25,6 @@
+ #include "strmatch.h"
+
+ extern int xstrmatch __P((char *, char *, int));
+-#if defined (HAVE_MULTIBYTE)
+-extern int internal_wstrmatch __P((wchar_t *, wchar_t *, int));
+-#endif
+
+ int
+ strmatch (pattern, string, flags)
+--- a/lib/glob/strmatch.h
++++ b/lib/glob/strmatch.h
+@@ -57,6 +57,7 @@
+
+ #if HANDLE_MULTIBYTE
+ extern int wcsmatch __P((wchar_t *, wchar_t *, int));
++extern int internal_wstrmatch __P((wchar_t *, wchar_t *, int));
+ #endif
+
+ #endif /* _STRMATCH_H */
diff --git a/app-shells/bash/files/bash-3.0-pwd.patch b/app-shells/bash/files/bash-3.0-pwd.patch
new file mode 100644
index 00000000000..77f0918fb4d
--- /dev/null
+++ b/app-shells/bash/files/bash-3.0-pwd.patch
@@ -0,0 +1,16 @@
+Ripped from Fedora
+
+* Tue Mar 15 2005 Tim Waugh <twaugh@redhat.com> 3.0-30
+- Fix PS1 expansion crash when PWD is unset (bg #151116).
+
+--- bash-3.0/parse.y.pwd 2005-03-15 14:22:36.000000000 +0000
++++ bash-3.0/parse.y 2005-03-15 14:22:37.000000000 +0000
+@@ -4103,7 +4103,7 @@
+ #define ROOT_PATH(x) ((x)[0] == '/' && (x)[1] == 0)
+ #define DOUBLE_SLASH_ROOT(x) ((x)[0] == '/' && (x)[1] == '/' && (x)[2] == 0)
+ /* Abbreviate \W as ~ if $PWD == $HOME */
+- if (c == 'W' && (((t = get_string_value ("HOME")) == 0) || STREQ (t, temp) == 0))
++ if (c == 'W' && (((t = get_string_value ("HOME")) == 0) || STREQ (t, t_string) == 0))
+ {
+ if (ROOT_PATH (t_string) == 0 && DOUBLE_SLASH_ROOT (t_string) == 0)
+ {
diff --git a/app-shells/bash/files/bash-3.0-rbash.patch b/app-shells/bash/files/bash-3.0-rbash.patch
new file mode 100644
index 00000000000..e804d20f06a
--- /dev/null
+++ b/app-shells/bash/files/bash-3.0-rbash.patch
@@ -0,0 +1,18 @@
+Fix broken rbash functionality when used as a login shell via /etc/passwd
+
+http://bugs.gentoo.org/26854
+http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=170298
+
+Backported from bash-3.1
+
+--- bash-3.0/shell.c
++++ bash-3.0/shell.c
+@@ -1089,6 +1099,8 @@
+ if (restricted)
+ return 1;
+ temp = base_pathname (name);
++ if (*temp == '-')
++ temp++;
+ return (STREQ (temp, RESTRICTED_SHELL_NAME));
+ }
+
diff --git a/app-shells/bash/files/bash-3.0-read-builtin-pipe.patch b/app-shells/bash/files/bash-3.0-read-builtin-pipe.patch
new file mode 100644
index 00000000000..466e45ae300
--- /dev/null
+++ b/app-shells/bash/files/bash-3.0-read-builtin-pipe.patch
@@ -0,0 +1,20 @@
+Description:
+When using 'read -u 3' or the like, and the pipe-buf already contains
+more than one line, the first line is returned, and bytes up to the next
+multiple of 128 are skipped.
+
+http://lists.gnu.org/archive/html/bug-bash/2005-03/msg00168.html
+http://lists.gnu.org/archive/html/bug-bash/2005-03/msg00173.html
+http://bugs.gentoo.org/show_bug.cgi?id=87093
+
+--- builtins/read.def
++++ builtins/read.def
+@@ -276,7 +276,7 @@
+ input_is_tty = isatty (fd);
+ if (input_is_tty == 0)
+ #ifndef __CYGWIN__
+- input_is_pipe = (lseek (0, 0L, SEEK_CUR) < 0) && (errno == ESPIPE);
++ input_is_pipe = (lseek (fd, 0L, SEEK_CUR) < 0) && (errno == ESPIPE);
+ #else
+ input_is_pipe = 1;
+ #endif
diff --git a/app-shells/bash/files/bash-3.0-read-e-segfault.patch b/app-shells/bash/files/bash-3.0-read-e-segfault.patch
new file mode 100644
index 00000000000..e578631c424
--- /dev/null
+++ b/app-shells/bash/files/bash-3.0-read-e-segfault.patch
@@ -0,0 +1,26 @@
+> Hmm, a better patch for this seems to be:
+
+I installed this patch a while back:
+
+*** ../bash-3.0-patched/lib/readline/display.c Wed Sep 8 11:07:51 2004
+--- lib/readline/display.c Fri Nov 12 13:31:42 2004
+***************
+*** 336,340 ****
+
+ local_prompt = local_prompt_prefix = (char *)0;
+! prompt_last_invisible = prompt_visible_length = 0;
+
+ if (prompt == 0 || *prompt == 0)
+--- 341,346 ----
+
+ local_prompt = local_prompt_prefix = (char *)0;
+! prompt_last_invisible = prompt_invis_chars_first_line = 0;
+! prompt_visible_length = prompt_physical_chars = 0;
+
+ if (prompt == 0 || *prompt == 0)
+
+--
+``The lyf so short, the craft so long to lerne.'' - Chaucer
+( ``Discere est Dolere'' -- chet )
+ Live...Laugh...Love
+Chet Ramey, ITS, CWRU chet@po.cwru.edu http://tiswww.tis.cwru.edu/~chet/
diff --git a/app-shells/bash/files/bash-3.0-read-memleak.patch b/app-shells/bash/files/bash-3.0-read-memleak.patch
new file mode 100644
index 00000000000..6cb769f3af3
--- /dev/null
+++ b/app-shells/bash/files/bash-3.0-read-memleak.patch
@@ -0,0 +1,15 @@
+Ripped from Fedora
+
+http://lists.gnu.org/archive/html/bug-bash/2005-12/msg00013.html
+https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=173283
+
+--- bash-3.0/builtins/read.def
++++ bash-3.0/builtins/read.def
+@@ -461,6 +461,7 @@
+ if (retval < 0)
+ {
+ builtin_error (_("read error: %d: %s"), fd, strerror (errno));
++ run_unwind_frame ("read_builtin");
+ return (EXECUTION_FAILURE);
+ }
+ #endif
diff --git a/app-shells/bash/files/bash-3.0-strnlen.patch b/app-shells/bash/files/bash-3.0-strnlen.patch
new file mode 100644
index 00000000000..056e00b3de5
--- /dev/null
+++ b/app-shells/bash/files/bash-3.0-strnlen.patch
@@ -0,0 +1,175 @@
+Add strnlen function for non-glibc systems, as one of Fedora's patches requires it.
+
+--- bash-3.0/configure.in
++++ bash-3.0/configure.in
+@@ -613,6 +613,9 @@
+ AC_LIBOBJ(vprint)
+ fi
+
++AC_CHECK_FUNCS([strnlen])
++AC_LIBOBJ(strnlen)
++
+ dnl signal stuff
+ AC_TYPE_SIGNAL
+
+--- /dev/null
++++ bash-3.0/lib/sh/strnlen.c
+@@ -0,0 +1,27 @@
++/*
++ Copyright (C) 2005 Gentoo Foundation
++
++ This program is free software; you can redistribute it and/or
++ modify it under the terms of the GNU General Public License
++ as published by the Free Software Foundation; either version 2
++ of the License, or (at your option) any later version.
++
++ This program is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ GNU General Public License for more details.
++
++ You should have received a copy of the GNU General Public License
++ along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, US
++*/
++
++#include <stdlib.h>
++
++size_t strnlen(const char *s, size_t n)
++{
++ int i;
++ for (i=0; s[i] && i<n; i++)
++ /* noop */ ;
++ return i;
++}
+--- bash-3.0/configure
++++ bash-3.0/configure
+@@ -10696,9 +10696,127 @@ _ACEOF
+ fi
+
+ if test "$ac_cv_func_vprintf" = no && test "$ac_cv_func__doprnt" = "yes"; then
+- LIBOBJS="$LIBOBJS vprint.$ac_objext"
++ case $LIBOBJS in
++ "vprint.$ac_objext" | \
++ *" vprint.$ac_objext" | \
++ "vprint.$ac_objext "* | \
++ *" vprint.$ac_objext "* ) ;;
++ *) LIBOBJS="$LIBOBJS vprint.$ac_objext" ;;
++esac
++
+ fi
+
++
++for ac_func in strnlen
++do
++as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
++echo "$as_me:$LINENO: checking for $ac_func" >&5
++echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
++if eval "test \"\${$as_ac_var+set}\" = set"; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define $ac_func innocuous_$ac_func
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef $ac_func
++
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++{
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char $ac_func ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
++choke me
++#else
++char (*f) () = $ac_func;
++#endif
++#ifdef __cplusplus
++}
++#endif
++
++int
++main ()
++{
++return f != $ac_func;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++ (eval $ac_link) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ eval "$as_ac_var=yes"
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++eval "$as_ac_var=no"
++fi
++rm -f conftest.err conftest.$ac_objext \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
++if test `eval echo '${'$as_ac_var'}'` = yes; then
++ cat >>confdefs.h <<_ACEOF
++#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++done
++
++case $LIBOBJS in
++ "strnlen.$ac_objext" | \
++ *" strnlen.$ac_objext" | \
++ "strnlen.$ac_objext "* | \
++ *" strnlen.$ac_objext "* ) ;;
++ *) LIBOBJS="$LIBOBJS strnlen.$ac_objext" ;;
++esac
++
++
+ echo "$as_me:$LINENO: checking return type of signal handlers" >&5
+ echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6
+ if test "${ac_cv_type_signal+set}" = set; then
diff --git a/app-shells/bash/files/bash-3.0-subshell.patch b/app-shells/bash/files/bash-3.0-subshell.patch
new file mode 100644
index 00000000000..a1d7dfe7d34
--- /dev/null
+++ b/app-shells/bash/files/bash-3.0-subshell.patch
@@ -0,0 +1,39 @@
+Ripped from Fedora which took this from upstream
+
+* Tue Nov 22 2005 Tim Waugh <twaugh@redhat.com> 3.0-37
+- Applied patch from upstream to fix parsing problem (bug #146638).
+
+http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=146638
+
+--- bash-3.0/parse.y.subshell 2005-11-22 13:19:11.000000000 +0000
++++ bash-3.0/parse.y 2005-11-22 13:19:24.000000000 +0000
+@@ -2055,14 +2055,6 @@
+ if (uc)
+ shell_input_line_index++;
+
+- if MBTEST(uc == '\\' && remove_quoted_newline && shell_input_line[shell_input_line_index] == '\n')
+- {
+- if (SHOULD_PROMPT ())
+- prompt_again ();
+- line_number++;
+- goto restart_read;
+- }
+-
+ #if defined (ALIAS) || defined (DPAREN_ARITHMETIC)
+ /* If UC is NULL, we have reached the end of the current input string. If
+ pushed_string_list is non-empty, it's time to pop to the previous string
+@@ -2078,6 +2070,14 @@
+ }
+ #endif /* ALIAS || DPAREN_ARITHMETIC */
+
++ if MBTEST(uc == '\\' && remove_quoted_newline && shell_input_line[shell_input_line_index] == '\n')
++ {
++ if (SHOULD_PROMPT ())
++ prompt_again ();
++ line_number++;
++ goto restart_read;
++ }
++
+ if (!uc && shell_input_line_terminator == EOF)
+ return ((shell_input_line_index != 0) ? '\n' : EOF);
+
diff --git a/app-shells/bash/files/bash-3.0-trap-fg-signals.patch b/app-shells/bash/files/bash-3.0-trap-fg-signals.patch
new file mode 100644
index 00000000000..cde18326ed2
--- /dev/null
+++ b/app-shells/bash/files/bash-3.0-trap-fg-signals.patch
@@ -0,0 +1,23 @@
+Don't barf on handled signals inside of scripts. Makes for nicer output.
+
+patch by Martin Schlemmer <azarah@gentoo.org>
+
+--- jobs.c
++++ jobs.c
+@@ -2893,11 +2893,11 @@
+ }
+ else if (IS_FOREGROUND (job))
+ {
+-#if !defined (DONT_REPORT_SIGPIPE)
+- if (termsig && WIFSIGNALED (s) && termsig != SIGINT)
+-#else
+- if (termsig && WIFSIGNALED (s) && termsig != SIGINT && termsig != SIGPIPE)
+-#endif
++ if (termsig && WIFSIGNALED (s) && termsig != SIGINT &&
++#if defined (DONT_REPORT_SIGPIPE)
++ termsig != SIGPIPE &&
++#endif
++ signal_is_trapped (termsig) == 0)
+ {
+ fprintf (stderr, "%s", j_strsignal (termsig));
+
diff --git a/app-shells/bash/files/bash-3.0-ulimit.patch b/app-shells/bash/files/bash-3.0-ulimit.patch
new file mode 100644
index 00000000000..8202b95d276
--- /dev/null
+++ b/app-shells/bash/files/bash-3.0-ulimit.patch
@@ -0,0 +1,186 @@
+Ripped from Fedora
+
+--- bash-3.0/builtins/ulimit.def
++++ bash-3.0/builtins/ulimit.def
+@@ -34,15 +34,20 @@
+ -a all current limits are reported
+ -c the maximum size of core files created
+ -d the maximum size of a process's data segment
++ -e the maximum scheduling priority (`nice')
+ -f the maximum size of files created by the shell
++ -i the maximum number of pending signals
+ -l the maximum size a process may lock into memory
+ -m the maximum resident set size
+ -n the maximum number of open file descriptors
+ -p the pipe buffer size
++ -q the maximum number of bytes in POSIX message queues
++ -r the maximum rt priority
+ -s the maximum stack size
+ -t the maximum amount of cpu time in seconds
+ -u the maximum number of user processes
+ -v the size of virtual memory
++ -x the maximum number of file locks
+
+ If LIMIT is given, it is the new value of the specified resource;
+ the special LIMIT values `soft', `hard', and `unlimited' stand for
+@@ -199,7 +204,13 @@
+ #ifdef RLIMIT_DATA
+ { 'd', RLIMIT_DATA, 1024, "data seg size", "kbytes" },
+ #endif
++#ifdef RLIMIT_NICE
++ { 'e', RLIMIT_NICE, 1, "max nice", (char *)NULL},
++#endif /* RLIMIT_NICE */
+ { 'f', RLIMIT_FILESIZE, 1024, "file size", "blocks" },
++#ifdef RLIMIT_SIGPENDING
++ { 'i', RLIMIT_SIGPENDING, 1, "pending signals", (char *)NULL},
++#endif
+ #ifdef RLIMIT_MEMLOCK
+ { 'l', RLIMIT_MEMLOCK, 1024, "max locked memory", "kbytes" },
+ #endif
+@@ -208,6 +219,12 @@
+ #endif /* RLIMIT_RSS */
+ { 'n', RLIMIT_OPENFILES, 1, "open files", (char *)NULL},
+ { 'p', RLIMIT_PIPESIZE, 512, "pipe size", "512 bytes" },
++#ifdef RLIMIT_MSGQUEUE
++ { 'q', RLIMIT_MSGQUEUE, 1, "POSIX message queues", "bytes" },
++#endif
++#ifdef RLIMIT_RTPRIO
++ { 'r', RLIMIT_RTPRIO, 1, "max rt priority", (char *)NULL},
++#endif /* RLIMIT_RTPRIO */
+ #ifdef RLIMIT_STACK
+ { 's', RLIMIT_STACK, 1024, "stack size", "kbytes" },
+ #endif
+@@ -221,6 +238,9 @@
+ #ifdef RLIMIT_SWAP
+ { 'w', RLIMIT_SWAP, 1024, "swap size", "kbytes" },
+ #endif
++#ifdef RLIMIT_LOCKS
++ { 'x', RLIMIT_LOCKS, 1, "file locks", (char *)NULL},
++#endif
+ { -1, -1, -1, (char *)NULL, (char *)NULL }
+ };
+ #define NCMDS (sizeof(limits) / sizeof(limits[0]))
+@@ -647,11 +667,11 @@
+
+ for (i = 0; limits[i].option > 0; i++)
+ {
+- if (get_limit (i, &softlim, &hardlim) < 0)
++ if (get_limit (i, &softlim, &hardlim) == 0)
++ printone (i, (mode & LIMIT_SOFT) ? softlim : hardlim, 1);
++ else if (errno != EINVAL)
+ builtin_error ("%s: cannot get limit: %s", limits[i].description,
+ strerror (errno));
+- else
+- printone (i, (mode & LIMIT_SOFT) ? softlim : hardlim, 1);
+ }
+ }
+
+@@ -670,7 +690,7 @@
+ else
+ sprintf (unitstr, "(-%c) ", limits[limind].option);
+
+- printf ("%-18s %16s", limits[limind].description, unitstr);
++ printf ("%-20s %16s", limits[limind].description, unitstr);
+ }
+ if (curlim == RLIM_INFINITY)
+ puts ("unlimited");
+--- bash-3.0/doc/bashref.texi
++++ bash-3.0/doc/bashref.texi
+@@ -3793,7 +3793,7 @@
+ @item ulimit
+ @btindex ulimit
+ @example
+-ulimit [-acdflmnpstuvSH] [@var{limit}]
++ulimit [-acdeflmnpqrstuvxSH] [@var{limit}]
+ @end example
+ @code{ulimit} provides control over the resources available to processes
+ started by the shell, on systems that allow such control. If an
+@@ -3814,9 +3814,15 @@
+ @item -d
+ The maximum size of a process's data segment.
+
++@item -e
++The maximum scheduling priority.
++
+ @item -f
+ The maximum size of files created by the shell.
+
++@item -i
++The maximum number of pending signals.
++
+ @item -l
+ The maximum size that may be locked into memory.
+
+@@ -3829,6 +3835,12 @@
+ @item -p
+ The pipe buffer size.
+
++@item -q
++The maximum number of bytes in POSIX message queues.
++
++@item -r
++The maximum RT priority.
++
+ @item -s
+ The maximum stack size.
+
+@@ -3841,6 +3853,9 @@
+ @item -v
+ The maximum amount of virtual memory available to the process.
+
++@item -x
++The maximum amount of file locks.
++
+ @end table
+
+ If @var{limit} is given, it is the new value of the specified resource;
+--- bash-3.0/doc/bash.1
++++ bash-3.0/doc/bash.1
+@@ -8362,7 +8362,7 @@
+ returns true if any of the arguments are found, false if
+ none are found.
+ .TP
+-\fBulimit\fP [\fB\-SHacdflmnpstuv\fP [\fIlimit\fP]]
++\fBulimit\fP [\fB\-SHacdefilmnpqrstuvx\fP [\fIlimit\fP]]
+ Provides control over the resources available to the shell and to
+ processes started by it, on systems that allow such control.
+ The \fB\-H\fP and \fB\-S\fP options specify that the hard or soft limit is
+@@ -8398,9 +8398,15 @@
+ .B \-d
+ The maximum size of a process's data segment
+ .TP
++.B \-e
++The maximum scheduling priority (`nice')
++.TP
+ .B \-f
+ The maximum size of files created by the shell
+ .TP
++.B \-i
++The maximum number of pending signals
++.TP
+ .B \-l
+ The maximum size that may be locked into memory
+ .TP
+@@ -8414,6 +8420,12 @@
+ .B \-p
+ The pipe size in 512-byte blocks (this may not be set)
+ .TP
++.B \-q
++The maximum number of bytes in POSIX message queues
++.TP
++.B \-r
++The maximum rt priority
++.TP
+ .B \-s
+ The maximum stack size
+ .TP
+@@ -8425,6 +8437,9 @@
+ .TP
+ .B \-v
+ The maximum amount of virtual memory available to the shell
++.TP
++.B \-x
++The maximum number of file locks
+ .PD
+ .PP
+ If
diff --git a/app-shells/bash/files/bash-3.0-volatile-command.patch b/app-shells/bash/files/bash-3.0-volatile-command.patch
new file mode 100644
index 00000000000..8b89b35914b
--- /dev/null
+++ b/app-shells/bash/files/bash-3.0-volatile-command.patch
@@ -0,0 +1,16 @@
+Ripped from Debian
+
+# DP: current_command must be declared volatile to prevent assignments from
+# being optimized away as dead code. In reality, the use of setjmp/longjmp
+# makes it not dead code at all.
+
+--- eval.old 2003-12-18 23:44:15.000000000 -0500
++++ eval.c 2005-10-03 01:59:31.000000000 -0400
+@@ -63,7 +63,7 @@
+ reader_loop ()
+ {
+ int our_indirection_level;
+- COMMAND *current_command = (COMMAND *)NULL;
++ COMMAND * volatile current_command = (COMMAND *)NULL;
+
+ USE_VAR(current_command);
diff --git a/app-shells/bash/files/bash-3.1-dev-fd-test-as-user.patch b/app-shells/bash/files/bash-3.1-dev-fd-test-as-user.patch
new file mode 100644
index 00000000000..80a4b0a1a03
--- /dev/null
+++ b/app-shells/bash/files/bash-3.1-dev-fd-test-as-user.patch
@@ -0,0 +1,14 @@
+Fix the /dev/fd test when running as a non root user
+after logging in as a root user #131875
+
+--- bash-3.1/configure
++++ bash-3.1/configure
+@@ -23098,7 +23098,7 @@
+ if test -d /dev/fd && test -r /dev/fd/0 < /dev/null; then
+ # check for systems like FreeBSD 5 that only provide /dev/fd/[012]
+ exec 3<&0
+- if test -r /dev/fd/3; then
++ if test -e /dev/fd/3; then
+ bash_cv_dev_fd=standard
+ else
+ bash_cv_dev_fd=absent
diff --git a/app-shells/bash/files/bash-3.1-fix-dash-login-shell.patch b/app-shells/bash/files/bash-3.1-fix-dash-login-shell.patch
new file mode 100644
index 00000000000..3ca7518fbb5
--- /dev/null
+++ b/app-shells/bash/files/bash-3.1-fix-dash-login-shell.patch
@@ -0,0 +1,52 @@
+http://lists.gnu.org/archive/html/bug-bash/2006-01/msg00054.html
+http://bugs.gentoo.org/118257
+
+Date: Fri, 13 Jan 2006 17:11:10 +0000
+From: Tim Waugh <twaugh@redhat.com>
+To: bug-bash@gnu.org
+Subject: [patch] fix 'exec -l /bin/bash'
+
+Configuration Information [Automatically generated, do not change]:
+Machine: i386
+OS: linux-gnu
+Compiler: i386-redhat-linux-gcc
+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
+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
+Machine Type: i386-redhat-linux-gnu
+
+Bash Version: 3.1
+Patch Level: 1
+Release Status: release
+
+Description:
+ If bash has argv[0] as '-/bin/bash' it does not become a login
+ shell.
+
+Repeat-By:
+ exec -l /bin/bash
+ shopt
+
+Fix:
+
+--- bash-3.1/shell.c.login 2006-01-13 16:52:14.000000000 +0000
++++ bash-3.1/shell.c 2006-01-13 16:52:15.000000000 +0000
+@@ -1543,9 +1543,10 @@
+ any startup files; just try to be more like /bin/sh. */
+ shell_name = argv0 ? base_pathname (argv0) : PROGRAM;
+
+- if (*shell_name == '-')
++ if (argv0 && *argv0 == '-')
+ {
+- shell_name++;
++ if (*shell_name == '-')
++ shell_name++;
+ login_shell++;
+ }
+
+
+
+_______________________________________________
+Bug-bash mailing list
+Bug-bash@gnu.org
+http://lists.gnu.org/mailman/listinfo/bug-bash
+
diff --git a/app-shells/bash/files/bash-3.1-protos.patch b/app-shells/bash/files/bash-3.1-protos.patch
new file mode 100644
index 00000000000..32ae8cfe91a
--- /dev/null
+++ b/app-shells/bash/files/bash-3.1-protos.patch
@@ -0,0 +1,67 @@
+move prototypes around so they show up when needed
+
+--- a/jobs.h
++++ b/jobs.h
+@@ -182,6 +182,7 @@
+
+ extern int count_all_jobs __P((void));
+
++extern void close_pgrp_pipe __P((void));
+ extern void terminate_current_pipeline __P((void));
+ extern void terminate_stopped_jobs __P((void));
+ extern void hangup_all_jobs __P((void));
+--- a/lib/glob/strmatch.c
++++ b/lib/glob/strmatch.c
+@@ -25,9 +25,6 @@
+ #include "strmatch.h"
+
+ extern int xstrmatch __P((char *, char *, int));
+-#if defined (HAVE_MULTIBYTE)
+-extern int internal_wstrmatch __P((wchar_t *, wchar_t *, int));
+-#endif
+
+ int
+ strmatch (pattern, string, flags)
+--- a/lib/glob/strmatch.h
++++ b/lib/glob/strmatch.h
+@@ -57,6 +57,7 @@
+
+ #if HANDLE_MULTIBYTE
+ extern int wcsmatch __P((wchar_t *, wchar_t *, int));
++extern int internal_wstrmatch __P((wchar_t *, wchar_t *, int));
+ #endif
+
+ #endif /* _STRMATCH_H */
+--- a/builtins/echo.def
++++ b/builtins/echo.def
+@@ -31,6 +31,8 @@
+ #include <stdio.h>
+ #include "../shell.h"
+
++#include "common.h"
++
+ $BUILTIN echo
+ $FUNCTION echo_builtin
+ $DEPENDS_ON V9_ECHO
+--- a/lib/sh/winsize.c
++++ b/lib/sh/winsize.c
+@@ -55,6 +55,7 @@
+ #if defined (READLINE)
+ extern void rl_set_screen_size __P((int, int));
+ #endif
++extern void sh_set_lines_and_columns __P((int, int));
+
+ void
+ get_new_window_size (from_sig, rp, cp)
+--- a/support/bashversion.c
++++ b/support/bashversion.c
+@@ -47,6 +47,9 @@
+ extern char *dist_version;
+ extern int patch_level;
+
++extern char *shell_version_string __P((void));
++extern void show_shell_version __P((int));
++
+ char *shell_name = "bash";
+ char *progname;
+
diff --git a/app-shells/bash/files/bash-3.1-ulimit.patch b/app-shells/bash/files/bash-3.1-ulimit.patch
new file mode 100644
index 00000000000..432fb54966b
--- /dev/null
+++ b/app-shells/bash/files/bash-3.1-ulimit.patch
@@ -0,0 +1,122 @@
+Ripped from Fedora
+
+Add support for RLIMIT_NICE/RLIMIT_RTPRIO and add missing documentation
+for many other options
+
+--- builtins/ulimit.def
++++ builtins/ulimit.def
+@@ -24,7 +24,7 @@
+ $BUILTIN ulimit
+ $FUNCTION ulimit_builtin
+ $DEPENDS_ON !_MINIX
+-$SHORT_DOC ulimit [-SHacdfilmnpqstuvx] [limit]
++$SHORT_DOC ulimit [-SHacdefilmnpqrstuvx] [limit]
+ Ulimit provides control over the resources available to processes
+ started by the shell, on systems that allow such control. If an
+ option is given, it is interpreted as follows:
+@@ -34,18 +34,20 @@
+ -a all current limits are reported
+ -c the maximum size of core files created
+ -d the maximum size of a process's data segment
++ -e the maximum scheduling priority (`nice')
+ -f the maximum size of files created by the shell
+- -i the maximum number of pending signals
++ -i the maximum number of pending signals
+ -l the maximum size a process may lock into memory
+ -m the maximum resident set size
+ -n the maximum number of open file descriptors
+ -p the pipe buffer size
+- -q the maximum number of bytes in POSIX message queues
++ -q the maximum number of bytes in POSIX message queues
++ -r the maximum rt priority
+ -s the maximum stack size
+ -t the maximum amount of cpu time in seconds
+ -u the maximum number of user processes
+ -v the size of virtual memory
+- -x the maximum number of file locks
++ -x the maximum number of file locks
+
+ If LIMIT is given, it is the new value of the specified resource;
+ the special LIMIT values `soft', `hard', and `unlimited' stand for
+@@ -202,6 +204,9 @@
+ #ifdef RLIMIT_DATA
+ { 'd', RLIMIT_DATA, 1024, "data seg size", "kbytes" },
+ #endif
++#ifdef RLIMIT_NICE
++ { 'e', RLIMIT_NICE, 1, "max nice", (char *)NULL},
++#endif
+ { 'f', RLIMIT_FILESIZE, 1024, "file size", "blocks" },
+ #ifdef RLIMIT_SIGPENDING
+ { 'i', RLIMIT_SIGPENDING, 1, "pending signals", (char *)NULL },
+@@ -217,6 +222,9 @@
+ #ifdef RLIMIT_MSGQUEUE
+ { 'q', RLIMIT_MSGQUEUE, 1, "POSIX message queues", "bytes" },
+ #endif
++#ifdef RLIMIT_RTPRIO
++ { 'r', RLIMIT_RTPRIO, 1, "max rt priority", (char *)NULL},
++#endif
+ #ifdef RLIMIT_STACK
+ { 's', RLIMIT_STACK, 1024, "stack size", "kbytes" },
+ #endif
+--- doc/bashref.texi
++++ doc/bashref.texi
+@@ -3833,7 +3833,7 @@
+ @item ulimit
+ @btindex ulimit
+ @example
+-ulimit [-acdfilmnpqstuvxSH] [@var{limit}]
++ulimit [-acdefilmnpqrstuvxSH] [@var{limit}]
+ @end example
+ @code{ulimit} provides control over the resources available to processes
+ started by the shell, on systems that allow such control. If an
+@@ -3854,6 +3854,9 @@
+ @item -d
+ The maximum size of a process's data segment.
+
++@item -e
++The maximum scheduling priority.
++
+ @item -f
+ The maximum size of files created by the shell.
+
+@@ -3875,6 +3878,9 @@
+ @item -q
+ The maximum number of bytes in POSIX message queues.
+
++@item -r
++The maximum RT priority.
++
+ @item -s
+ The maximum stack size.
+
+--- doc/bash.1
++++ doc/bash.1
+@@ -8490,7 +8490,7 @@
+ returns true if any of the arguments are found, false if
+ none are found.
+ .TP
+-\fBulimit\fP [\fB\-SHacdfilmnpqstuvx\fP [\fIlimit\fP]]
++\fBulimit\fP [\fB\-SHacdefilmnpqrstuvx\fP [\fIlimit\fP]]
+ Provides control over the resources available to the shell and to
+ processes started by it, on systems that allow such control.
+ The \fB\-H\fP and \fB\-S\fP options specify that the hard or soft limit is
+@@ -8526,6 +8526,9 @@
+ .B \-d
+ The maximum size of a process's data segment
+ .TP
++.B \-e
++The maximum scheduling priority (`nice')
++.TP
+ .B \-f
+ The maximum size of files created by the shell
+ .TP
+@@ -8548,6 +8551,9 @@
+ .B \-q
+ The maximum number of bytes in POSIX message queues
+ .TP
++.B \-r
++The maximum rt priority
++.TP
+ .B \-s
+ The maximum stack size
+ .TP
diff --git a/app-shells/bash/files/bash-3.2-dev-fd-test-as-user.patch b/app-shells/bash/files/bash-3.2-dev-fd-test-as-user.patch
new file mode 100644
index 00000000000..8aca7767161
--- /dev/null
+++ b/app-shells/bash/files/bash-3.2-dev-fd-test-as-user.patch
@@ -0,0 +1,26 @@
+diff -ur bash-3.2.orig/aclocal.m4 bash-3.2/aclocal.m4
+--- bash-3.2.orig/aclocal.m4 2006-12-30 20:00:31 +0000
++++ bash-3.2/aclocal.m4 2006-12-30 20:02:02 +0000
+@@ -1544,7 +1544,8 @@
+ if test -d /dev/fd && test -r /dev/fd/0 < /dev/null; then
+ # check for systems like FreeBSD 5 that only provide /dev/fd/[012]
+ exec 3</dev/null
+- if test -r /dev/fd/3; then
++ # bash test builtin always works here, so we use the test binary
++ if `which test || echo test` -e /dev/fd/3; then
+ bash_cv_dev_fd=standard
+ else
+ bash_cv_dev_fd=absent
+diff -ur bash-3.2.orig/configure bash-3.2/configure
+--- bash-3.2.orig/configure 2006-12-30 20:03:24 +0000
++++ bash-3.2/configure 2006-12-30 20:01:50 +0000
+@@ -27179,7 +27179,8 @@
+ if test -d /dev/fd && test -r /dev/fd/0 < /dev/null; then
+ # check for systems like FreeBSD 5 that only provide /dev/fd/[012]
+ exec 3</dev/null
+- if test -r /dev/fd/3; then
++ # bash test builtin always works here, so we use the test binary
++ if `which test || echo test` -e /dev/fd/3; then
+ bash_cv_dev_fd=standard
+ else
+ bash_cv_dev_fd=absent
diff --git a/app-shells/bash/files/bash-3.2-ldflags-for-build.patch b/app-shells/bash/files/bash-3.2-ldflags-for-build.patch
new file mode 100644
index 00000000000..2dc1dd6ef79
--- /dev/null
+++ b/app-shells/bash/files/bash-3.2-ldflags-for-build.patch
@@ -0,0 +1,37 @@
+http://bugs.gentoo.org/211947
+
+fix from Takashi YOSHII: dont use target ldflags for build apps
+
+--- bash/builtins/Makefile.in
++++ bash/builtins/Makefile.in
+@@ -63,7 +63,7 @@
+
+ LIBS = @LIBS@
+ LDFLAGS = @LDFLAGS@ $(LOCAL_LDFLAGS) $(CFLAGS)
+-LDFLAGS_FOR_BUILD = $(LDFLAGS)
++LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ $(LOCAL_LDFLAGS) $(CFLAGS_FOR_BUILD)
+ LOCAL_LDFLAGS = @LOCAL_LDFLAGS@
+ #LIBS_FOR_BUILD = @LIBS_FOR_BUILD@
+ LIBS_FOR_BUILD = $(LIBS)
+--- bash/support/Makefile.in
++++ bash/support/Makefile.in
+@@ -58,7 +58,7 @@
+
+ LOCAL_LDFLAGS = @LOCAL_LDFLAGS@
+ LDFLAGS = @LDFLAGS@ $(LOCAL_LDFLAGS) $(CFLAGS)
+-LDFLAGS_FOR_BUILD = $(LDFLAGS)
++LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ $(LOCAL_LDFLAGS) $(CFLAGS_FOR_BUILD)
+
+ INCLUDES = -I${BUILD_DIR} -I${topdir}
+
+--- bash/Makefile.in
++++ bash/Makefile.in
+@@ -143,7 +143,7 @@
+ CCFLAGS_FOR_BUILD = $(BASE_CCFLAGS) $(CPPFLAGS_FOR_BUILD) $(CFLAGS_FOR_BUILD)
+
+ LDFLAGS = @LDFLAGS@ $(STATIC_LD) $(LOCAL_LDFLAGS) $(PROFILE_FLAGS) $(CFLAGS)
+-LDFLAGS_FOR_BUILD = $(LDFLAGS)
++LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ $(LOCAL_LDFLAGS) $(CFLAGS_FOR_BUILD)
+
+ INCLUDES = -I. @RL_INCLUDE@ -I$(srcdir) -I$(BASHINCDIR) -I$(LIBSRC) $(INTL_INC)
+
diff --git a/app-shells/bash/files/bash-3.2-loadables.patch b/app-shells/bash/files/bash-3.2-loadables.patch
new file mode 100644
index 00000000000..cd0e1e1a8e9
--- /dev/null
+++ b/app-shells/bash/files/bash-3.2-loadables.patch
@@ -0,0 +1,239 @@
+--- bash-3.2/examples/loadables/basename.c
++++ bash-3.2/examples/loadables/basename.c
+@@ -11,6 +11,7 @@
+ #include <stdio.h>
+ #include "builtins.h"
+ #include "shell.h"
++#include "common.h"
+
+ basename_builtin (list)
+ WORD_LIST *list;
+--- bash-3.2/examples/loadables/cut.c
++++ bash-3.2/examples/loadables/cut.c
+@@ -63,6 +63,7 @@
+ #include "builtins.h"
+ #include "shell.h"
+ #include "bashgetopt.h"
++#include "common.h"
+
+ #if !defined (errno)
+ extern int errno;
+--- bash-3.2/examples/loadables/dirname.c
++++ bash-3.2/examples/loadables/dirname.c
+@@ -11,6 +11,7 @@
+ #include <stdio.h>
+ #include "builtins.h"
+ #include "shell.h"
++#include "common.h"
+
+ dirname_builtin (list)
+ WORD_LIST *list;
+--- bash-3.2/examples/loadables/finfo.c
++++ bash-3.2/examples/loadables/finfo.c
+@@ -12,6 +12,7 @@
+ #include <pwd.h>
+ #include <grp.h>
+ #include <errno.h>
++#include <time.h>
+
+ #include "bashansi.h"
+ #include "shell.h"
+--- bash-3.2/examples/loadables/head.c
++++ bash-3.2/examples/loadables/head.c
+@@ -21,6 +21,7 @@
+ #include "builtins.h"
+ #include "shell.h"
+ #include "bashgetopt.h"
++#include "common.h"
+
+ #if !defined (errno)
+ extern int errno;
+--- bash-3.2/examples/loadables/ln.c
++++ bash-3.2/examples/loadables/ln.c
+@@ -18,6 +18,7 @@
+ #include "builtins.h"
+ #include "shell.h"
+ #include "bashgetopt.h"
++#include "common.h"
+
+ #if !defined (errno)
+ extern int errno;
+--- bash-3.2/examples/loadables/logname.c
++++ bash-3.2/examples/loadables/logname.c
+@@ -11,6 +11,7 @@
+
+ #include "builtins.h"
+ #include "shell.h"
++#include "common.h"
+
+ #if !defined (errno)
+ extern int errno;
+--- bash-3.2/examples/loadables/mkdir.c
++++ bash-3.2/examples/loadables/mkdir.c
+@@ -16,6 +16,7 @@
+ #include "builtins.h"
+ #include "shell.h"
+ #include "bashgetopt.h"
++#include "common.h"
+
+ #if !defined (errno)
+ extern int errno;
+--- bash-3.2/examples/loadables/pathchk.c
++++ bash-3.2/examples/loadables/pathchk.c
+@@ -45,6 +45,7 @@
+ #include "stdc.h"
+ #include "bashgetopt.h"
+ #include "maxpath.h"
++#include "common.h"
+
+ #if !defined (errno)
+ extern int errno;
+--- bash-3.2/examples/loadables/print.c
++++ bash-3.2/examples/loadables/print.c
+@@ -17,6 +17,8 @@
+ #include "builtins.h"
+ #include "stdc.h"
+ #include "bashgetopt.h"
++#include "builtext.h"
++#include "common.h"
+
+ #if !defined (errno)
+ extern int errno;
+--- bash-3.2/examples/loadables/printenv.c
++++ bash-3.2/examples/loadables/printenv.c
+@@ -11,6 +11,7 @@
+ #include "builtins.h"
+ #include "shell.h"
+ #include "bashgetopt.h"
++#include "common.h"
+
+ extern char **export_env;
+
+--- bash-3.2/examples/loadables/push.c
++++ bash-3.2/examples/loadables/push.c
+@@ -11,6 +11,7 @@
+ #include "shell.h"
+ #include "jobs.h"
+ #include "bashgetopt.h"
++#include "common.h"
+
+ #ifndef errno
+ extern int errno;
+--- bash-3.2/examples/loadables/realpath.c
++++ bash-3.2/examples/loadables/realpath.c
+@@ -34,6 +34,7 @@
+ #include "builtins.h"
+ #include "shell.h"
+ #include "bashgetopt.h"
++#include "common.h"
+
+ #ifndef errno
+ extern int errno;
+@@ -67,14 +68,14 @@
+ vflag = 1;
+ break;
+ default:
+- usage();
++ builtin_usage();
+ }
+ }
+
+ list = loptend;
+
+ if (list == 0)
+- usage();
++ builtin_usage();
+
+ for (es = EXECUTION_SUCCESS; list; list = list->next) {
+ p = list->word->word;
+--- bash-3.2/examples/loadables/rmdir.c
++++ bash-3.2/examples/loadables/rmdir.c
+@@ -8,6 +8,7 @@
+ #include <errno.h>
+ #include "builtins.h"
+ #include "shell.h"
++#include "common.h"
+
+ #if !defined (errno)
+ extern int errno;
+--- bash-3.2/examples/loadables/sleep.c
++++ bash-3.2/examples/loadables/sleep.c
+@@ -27,6 +27,7 @@
+
+ #include "shell.h"
+ #include "builtins.h"
++#include "common.h"
+
+ #define RETURN(x) \
+ do { \
+--- bash-3.2/examples/loadables/tee.c
++++ bash-3.2/examples/loadables/tee.c
+@@ -22,6 +22,7 @@
+ #include "builtins.h"
+ #include "shell.h"
+ #include "bashgetopt.h"
++#include "common.h"
+
+ #if !defined (errno)
+ extern int errno;
+--- bash-3.2/examples/loadables/truefalse.c
++++ bash-3.2/examples/loadables/truefalse.c
+@@ -1,5 +1,7 @@
+ /* true and false builtins */
+
++#include <config.h>
++
+ #include "bashtypes.h"
+ #include "shell.h"
+ #include "builtins.h"
+--- bash-3.2/examples/loadables/tty.c
++++ bash-3.2/examples/loadables/tty.c
+@@ -8,6 +8,7 @@
+ #include "builtins.h"
+ #include "shell.h"
+ #include "bashgetopt.h"
++#include "common.h"
+
+ extern char *ttyname ();
+
+--- bash-3.2/examples/loadables/uname.c
++++ bash-3.2/examples/loadables/uname.c
+@@ -27,6 +27,7 @@
+ #include "builtins.h"
+ #include "shell.h"
+ #include "bashgetopt.h"
++#include "common.h"
+
+ #define FLAG_SYSNAME 0x01 /* -s */
+ #define FLAG_NODENAME 0x02 /* -n */
+--- bash-3.2/examples/loadables/unlink.c
++++ bash-3.2/examples/loadables/unlink.c
+@@ -14,6 +14,7 @@
+
+ #include "builtins.h"
+ #include "shell.h"
++#include "common.h"
+
+ #ifndef errno
+ extern int errno;
+--- bash-3.2/examples/loadables/whoami.c
++++ bash-3.2/examples/loadables/whoami.c
+@@ -8,6 +8,7 @@
+ #include "builtins.h"
+ #include "shell.h"
+ #include "bashgetopt.h"
++#include "common.h"
+
+ whoami_builtin (list)
+ WORD_LIST *list;
+--- bash-3.2/examples/loadables/Makefile.in
++++ bash-3.2/examples/loadables/Makefile.in
+@@ -68,7 +68,7 @@
+ SHOBJ_CC = @SHOBJ_CC@
+ SHOBJ_CFLAGS = @SHOBJ_CFLAGS@
+ SHOBJ_LD = @SHOBJ_LD@
+-SHOBJ_LDFLAGS = @SHOBJ_LDFLAGS@
++SHOBJ_LDFLAGS = @SHOBJ_LDFLAGS@ @LDFLAGS@
+ SHOBJ_XLDFLAGS = @SHOBJ_XLDFLAGS@
+ SHOBJ_LIBS = @SHOBJ_LIBS@
+ SHOBJ_STATUS = @SHOBJ_STATUS@
diff --git a/app-shells/bash/files/bash-3.2-process-subst.patch b/app-shells/bash/files/bash-3.2-process-subst.patch
new file mode 100644
index 00000000000..bd0b3f4e179
--- /dev/null
+++ b/app-shells/bash/files/bash-3.2-process-subst.patch
@@ -0,0 +1,12 @@
+Fix process substitution on BSD
+
+--- execute_cmd.c
++++ execute_cmd.c
+@@ -2672,6 +2672,7 @@
+
+ do_piping (pipe_in, pipe_out);
+
++ subshell_environment = 0;
+ if (async)
+ subshell_environment |= SUBSHELL_ASYNC;
+ if (pipe_in != NO_PIPE || pipe_out != NO_PIPE)
diff --git a/app-shells/bash/files/bash-3.2-protos.patch b/app-shells/bash/files/bash-3.2-protos.patch
new file mode 100644
index 00000000000..0a9ea74adfb
--- /dev/null
+++ b/app-shells/bash/files/bash-3.2-protos.patch
@@ -0,0 +1,57 @@
+move prototypes around so they show up when needed
+
+--- a/jobs.h
++++ b/jobs.h
+@@ -182,6 +182,7 @@
+
+ extern int count_all_jobs __P((void));
+
++extern void close_pgrp_pipe __P((void));
+ extern void terminate_current_pipeline __P((void));
+ extern void terminate_stopped_jobs __P((void));
+ extern void hangup_all_jobs __P((void));
+--- a/lib/glob/strmatch.c
++++ b/lib/glob/strmatch.c
+@@ -25,9 +25,6 @@
+ #include "strmatch.h"
+
+ extern int xstrmatch __P((char *, char *, int));
+-#if defined (HAVE_MULTIBYTE)
+-extern int internal_wstrmatch __P((wchar_t *, wchar_t *, int));
+-#endif
+
+ int
+ strmatch (pattern, string, flags)
+--- a/lib/glob/strmatch.h
++++ b/lib/glob/strmatch.h
+@@ -57,6 +57,7 @@
+
+ #if HANDLE_MULTIBYTE
+ extern int wcsmatch __P((wchar_t *, wchar_t *, int));
++extern int internal_wstrmatch __P((wchar_t *, wchar_t *, int));
+ #endif
+
+ #endif /* _STRMATCH_H */
+--- a/quit.h
++++ b/quit.h
+@@ -21,6 +21,8 @@
+ #if !defined (_QUIT_H_)
+ #define _QUIT_H_
+
++#include "sig.h"
++
+ /* Non-zero means SIGINT has already ocurred. */
+ extern volatile int interrupt_state;
+ extern volatile int terminating_signal;
+--- a/support/bashversion.c
++++ b/support/bashversion.c
+@@ -47,6 +47,9 @@
+ extern char *dist_version;
+ extern int patch_level;
+
++extern char *shell_version_string __P((void));
++extern void show_shell_version __P((int));
++
+ char *shell_name = "bash";
+ char *progname;
+
diff --git a/app-shells/bash/files/bash-3.2-session-leader.patch b/app-shells/bash/files/bash-3.2-session-leader.patch
new file mode 100644
index 00000000000..82f7d980633
--- /dev/null
+++ b/app-shells/bash/files/bash-3.2-session-leader.patch
@@ -0,0 +1,65 @@
+http://bugs.gentoo.org/231775
+http://lists.gnu.org/archive/html/bug-bash/2008-07/msg00010.html
+
+A parent bash shell sometimes will set the session leader tty (using tcsetpgrp)
+back to itself, taking control away from a child bash shell, due to a race
+condition. A result is that the child can then not then execute some commands
+(like stty) from its init script (e.g. .bashrc). The result I (and others)
+have seen is that the bash shell will hang while reading the init script.
+
+*** jobs.c.20080704 2008-07-10 15:14:13.000000000 -0400
+--- jobs.c 2008-07-10 15:17:59.000000000 -0400
+***************
+*** 266,269 ****
+--- 266,270 ----
+ static void set_job_running __P((int));
+ static void setjstatus __P((int));
++ static int maybe_give_terminal_to __P((pid_t, pid_t, int));
+ static void mark_all_jobs_as_dead __P((void));
+ static void mark_dead_jobs_as_notified __P((int));
+***************
+*** 637,641 ****
+ */
+ if (job_control && newjob->pgrp && (subshell_environment&SUBSHELL_ASYNC) == 0)
+! give_terminal_to (newjob->pgrp, 0);
+ }
+ }
+--- 638,642 ----
+ */
+ if (job_control && newjob->pgrp && (subshell_environment&SUBSHELL_ASYNC) == 0)
+! maybe_give_terminal_to (shell_pgrp, newjob->pgrp, 0);
+ }
+ }
+***************
+*** 3833,3836 ****
+--- 3834,3863 ----
+ }
+
++ /* Give terminal to NPGRP iff it's currently owned by OPGRP. FLAGS are the
++ flags to pass to give_terminal_to(). */
++ static int
++ maybe_give_terminal_to (opgrp, npgrp, flags)
++ pid_t opgrp, npgrp;
++ int flags;
++ {
++ int tpgrp;
++
++ tpgrp = tcgetpgrp (shell_tty);
++ if (tpgrp == npgrp)
++ {
++ terminal_pgrp = npgrp;
++ return 0;
++ }
++ else if (tpgrp != opgrp)
++ {
++ #if defined (DEBUG)
++ internal_warning ("maybe_give_terminal_to: terminal pgrp == %d shell pgrp = %d", tpgrp, opgrp);
++ #endif
++ return -1;
++ }
++ else
++ return (give_terminal_to (npgrp, flags));
++ }
++
+ /* Clear out any jobs in the job array. This is intended to be used by
+ children of the shell, who should not have any job structures as baggage
diff --git a/app-shells/bash/files/bash-3.2-ulimit.patch b/app-shells/bash/files/bash-3.2-ulimit.patch
new file mode 100644
index 00000000000..a0975cb6e9a
--- /dev/null
+++ b/app-shells/bash/files/bash-3.2-ulimit.patch
@@ -0,0 +1,13 @@
+add missing docs for -e and -r options
+
+--- builtins/ulimit.def
++++ builtins/ulimit.def
+@@ -24,7 +24,7 @@
+ $BUILTIN ulimit
+ $FUNCTION ulimit_builtin
+ $DEPENDS_ON !_MINIX
+-$SHORT_DOC ulimit [-SHacdfilmnpqstuvx] [limit]
++$SHORT_DOC ulimit [-SHacdefilmnpqrstuvx] [limit]
+ Ulimit provides control over the resources available to processes
+ started by the shell, on systems that allow such control. If an
+ option is given, it is interpreted as follows:
diff --git a/app-shells/bash/files/bash-4.0-configure.patch b/app-shells/bash/files/bash-4.0-configure.patch
new file mode 100644
index 00000000000..e57cb6b2402
--- /dev/null
+++ b/app-shells/bash/files/bash-4.0-configure.patch
@@ -0,0 +1,25 @@
+http://bugs.gentoo.org/304901
+
+newer patches touch configure ... we don't want autotool deps, so update
+the files ourselves
+
+--- bash-4.0/configure
++++ bash-4.0/configure
+@@ -5806,7 +5806,7 @@
+ # static version specified as -llibname to override the
+ # dynamic version
+ case "${host_os}" in
+- darwin[89]*) READLINE_LIB='${READLINE_LIBRARY}' ;;
++ darwin[89]*|darwin10*) READLINE_LIB='${READLINE_LIBRARY}' ;;
+ *) READLINE_LIB=-lreadline ;;
+ esac
+ fi
+@@ -5847,7 +5847,7 @@
+ # static version specified as -llibname to override the
+ # dynamic version
+ case "${host_os}" in
+- darwin[89]*) HISTORY_LIB='${HISTORY_LIBRARY}' ;;
++ darwin[89]*|darwin10*) HISTORY_LIB='${HISTORY_LIBRARY}' ;;
+ *) HISTORY_LIB=-lhistory ;;
+ esac
+ fi
diff --git a/app-shells/bash/files/bash-4.0-ldflags-for-build.patch b/app-shells/bash/files/bash-4.0-ldflags-for-build.patch
new file mode 100644
index 00000000000..089264f97e4
--- /dev/null
+++ b/app-shells/bash/files/bash-4.0-ldflags-for-build.patch
@@ -0,0 +1,15 @@
+http://bugs.gentoo.org/211947
+
+fix from Takashi YOSHII: dont use target ldflags for build apps
+
+--- bash/Makefile.in
++++ bash/Makefile.in
+@@ -143,7 +143,7 @@
+ CCFLAGS_FOR_BUILD = $(BASE_CCFLAGS) $(CPPFLAGS_FOR_BUILD) $(CFLAGS_FOR_BUILD)
+
+ LDFLAGS = @LDFLAGS@ $(STATIC_LD) $(LOCAL_LDFLAGS) $(PROFILE_FLAGS) $(CFLAGS)
+-LDFLAGS_FOR_BUILD = $(LDFLAGS)
++LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ $(LOCAL_LDFLAGS) $(CFLAGS_FOR_BUILD)
+
+ INCLUDES = -I. @RL_INCLUDE@ -I$(srcdir) -I$(BASHINCDIR) -I$(LIBSRC) $(INTL_INC)
+
diff --git a/app-shells/bash/files/bash-4.0-negative-return.patch b/app-shells/bash/files/bash-4.0-negative-return.patch
new file mode 100644
index 00000000000..32affa18c17
--- /dev/null
+++ b/app-shells/bash/files/bash-4.0-negative-return.patch
@@ -0,0 +1,33 @@
+http://lists.gnu.org/archive/html/bug-bash/2009-02/msg00158.html
+
+make `return` accept negative values again
+
+hack by me (vapier@gentoo.org) ... i'm not familiar with bash source code, so
+i imagine this isn't the best way to do it ...
+
+--- bash/builtins/return.def
++++ bash/builtins/return.def
+@@ -60,9 +60,23 @@
+ return_builtin (list)
+ WORD_LIST *list;
+ {
++ int neg = 0;
++ if (list && list->word && list->word->word) {
++ char *word = list->word->word;
++ if (*word == '-') {
++ while (*word++)
++ if (!isdigit(*word))
++ break;
++ if (!*word)
++ neg = 1;
++ }
++ }
++
++ if (!neg) {
+ if (no_options (list))
+ return (EX_USAGE);
+ list = loptend; /* skip over possible `--' */
++ }
+
+ return_catch_value = get_exitstat (list);
+
diff --git a/app-shells/bash/files/bash-4.0-parallel-build.patch b/app-shells/bash/files/bash-4.0-parallel-build.patch
new file mode 100644
index 00000000000..8384e2c9019
--- /dev/null
+++ b/app-shells/bash/files/bash-4.0-parallel-build.patch
@@ -0,0 +1,65 @@
+http://bugs.gentoo.org/267613
+
+add missing dep
+
+patch by Peter Alfredsen
+
+--- bash-4.0/Makefile.in
++++ bash-4.0/Makefile.in
+@@ -1022,10 +1022,11 @@
+ subst.o: flags.h jobs.h siglist.h execute_cmd.h ${BASHINCDIR}/filecntl.h trap.h pathexp.h
+ subst.o: mailcheck.h input.h $(DEFSRC)/getopt.h $(DEFSRC)/common.h
+ subst.o: bashline.h bashhist.h ${GLOB_LIBSRC}/strmatch.h
+ subst.o: ${BASHINCDIR}/chartypes.h
+ subst.o: ${BASHINCDIR}/shmbutil.h
++subst.o: ${DEFDIR}/builtext.h
+ test.o: bashtypes.h ${BASHINCDIR}/posixstat.h ${BASHINCDIR}/filecntl.h
+ test.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h
+ test.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h
+ test.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
+ test.o: make_cmd.h subst.h sig.h pathnames.h externs.h test.h
+
+http://bugs.gentoo.org/284633
+
+and another ...
+
+--- bash-4.0/lib/sh/Makefile.in
++++ bash-4.0/lib/sh/Makefile.in
+@@ -136,6 +136,9 @@
+ ${BUILD_DIR}/version.h: ${BUILD_DIR}/config.h ${BUILD_DIR}/Makefile Makefile
+ -( cd ${BUILD_DIR} && ${MAKE} ${MFLAGS} version.h )
+
++${BUILD_DIR}/pathnames.h: ${BUILD_DIR}/config.h ${BUILD_DIR}/Makefile Makefile
++ -( cd ${BUILD_DIR} && ${MAKE} ${MFLAGS} pathnames.h )
++
+ # rules for losing makes, like SunOS
+ casemod.o: casemod.c
+ clktck.o: clktck.c
+
+http://bugs.gentoo.org/300143
+
+and another ...
+
+--- bash-4.0/lib/glob/Makefile.in
++++ bash-4.0/lib/glob/Makefile.in
+@@ -119,6 +119,11 @@
+ mostlyclean: clean
+ -( cd doc && $(MAKE) $(MFLAGS) $@ )
+
++# Dependencies
++
++${BUILD_DIR}/pathnames.h: ${BUILD_DIR}/config.h ${BUILD_DIR}/Makefile Makefile
++ -( cd ${BUILD_DIR} && ${MAKE} ${MFLAGS} pathnames.h )
++
+ ######################################################################
+ # #
+ # Dependencies for the object files which make up this library. #
+@@ -136,7 +141,7 @@
+ strmatch.o: $(BUILD_DIR)/config.h
+ strmatch.o: $(BASHINCDIR)/stdc.h
+
+-glob.o: $(BUILD_DIR)/config.h
++glob.o: $(BUILD_DIR)/config.h $(topdir)/shell.h $(BUILD_DIR)/pathnames.h
+ glob.o: $(topdir)/bashtypes.h $(BASHINCDIR)/ansi_stdlib.h $(topdir)/bashansi.h
+ glob.o: $(BASHINCDIR)/posixstat.h $(BASHINCDIR)/memalloc.h
+ glob.o: strmatch.h glob.h
diff --git a/app-shells/bash/files/bash-4.1-fbsd-eaccess.patch b/app-shells/bash/files/bash-4.1-fbsd-eaccess.patch
new file mode 100644
index 00000000000..576a8a47a61
--- /dev/null
+++ b/app-shells/bash/files/bash-4.1-fbsd-eaccess.patch
@@ -0,0 +1,29 @@
+Bash built-in test fails to correctly report exeuctable status for non-
+executable files when run by root on FreeBSD.
+
+See http://bugs.gentoo.org/303411
+
+Patch from Johan Hattne <johan.hattne@utsuthwestern.edu>
+--- lib/sh/eaccess.c.orig
++++ lib/sh/eaccess.c
+@@ -198,11 +198,19 @@
+ char *path;
+ int mode;
+ {
++ struct stat s;
++ int ret;
++
+ if (path_is_devfd (path))
+ return (sh_stataccess (path, mode));
+
+ #if defined (HAVE_EACCESS) /* FreeBSD */
+- return (eaccess (path, mode));
++ if (stat (path, &s) != 0)
++ return (-1);
++ ret = eaccess (path, mode);
++ if (mode == X_OK && ret == 0 && !S_ISDIR(s.st_mode) && geteuid() == 0)
++ return ((s.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)) == 0 ? -1 : 0);
++ return (ret);
+ #elif defined (EFF_ONLY_OK) /* SVR4(?), SVR4.2 */
+ return access (path, mode|EFF_ONLY_OK);
+ #else
diff --git a/app-shells/bash/files/bash-4.1-parallel-build.patch b/app-shells/bash/files/bash-4.1-parallel-build.patch
new file mode 100644
index 00000000000..ae44bcc0cf6
--- /dev/null
+++ b/app-shells/bash/files/bash-4.1-parallel-build.patch
@@ -0,0 +1,23 @@
+--- bash-4.1/lib/glob/Makefile.in
++++ bash-4.1/lib/glob/Makefile.in
+@@ -119,6 +119,11 @@
+ mostlyclean: clean
+ -( cd doc && $(MAKE) $(MFLAGS) $@ )
+
++# Dependencies
++
++${BUILD_DIR}/pathnames.h: ${BUILD_DIR}/config.h ${BUILD_DIR}/Makefile Makefile
++ -( cd ${BUILD_DIR} && ${MAKE} ${MFLAGS} pathnames.h )
++
+ ######################################################################
+ # #
+ # Dependencies for the object files which make up this library. #
+@@ -136,7 +141,7 @@
+ strmatch.o: $(BUILD_DIR)/config.h
+ strmatch.o: $(BASHINCDIR)/stdc.h
+
+-glob.o: $(BUILD_DIR)/config.h
++glob.o: $(BUILD_DIR)/config.h $(topdir)/shell.h $(BUILD_DIR)/pathnames.h
+ glob.o: $(topdir)/bashtypes.h $(BASHINCDIR)/ansi_stdlib.h $(topdir)/bashansi.h
+ glob.o: $(BASHINCDIR)/posixstat.h $(BASHINCDIR)/memalloc.h
+ glob.o: strmatch.h glob.h
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 00000000000..82b73e5157c
--- /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 00000000000..14eb6bf421e
--- /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 00000000000..ab2de86206a
--- /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 00000000000..44903c68afe
--- /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-speed-up-read-N.patch b/app-shells/bash/files/bash-4.2-speed-up-read-N.patch
new file mode 100644
index 00000000000..b96ad0c887e
--- /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-4.3-append-process-segfault.patch b/app-shells/bash/files/bash-4.3-append-process-segfault.patch
new file mode 100644
index 00000000000..6c9b2e83067
--- /dev/null
+++ b/app-shells/bash/files/bash-4.3-append-process-segfault.patch
@@ -0,0 +1,18 @@
+https://lists.gnu.org/archive/html/bug-bash/2014-08/msg00048.html
+
+*** ../bash-4.3-patched/execute_cmd.c 2014-07-30 10:26:52.000000000 -0400
+--- execute_cmd.c 2014-08-11 16:55:57.000000000 -0400
+***************
+*** 2406,2410 ****
+ {
+ #if defined (JOB_CONTROL)
+! append_process (savestring (the_printed_command), dollar_dollar_pid, exec_result, lastpipe_jid);
+ #endif
+ lstdin = wait_for (lastpid);
+--- 2433,2438 ----
+ {
+ #if defined (JOB_CONTROL)
+! if (INVALID_JOB (lastpipe_jid) == 0)
+! append_process (savestring (the_printed_command_except_trap), dollar_dollar_pid, exec_result, lastpipe_jid);
+ #endif
+ lstdin = wait_for (lastpid);
diff --git a/app-shells/bash/files/bash-4.3-arrayfunc.patch b/app-shells/bash/files/bash-4.3-arrayfunc.patch
new file mode 100644
index 00000000000..f44d1847845
--- /dev/null
+++ b/app-shells/bash/files/bash-4.3-arrayfunc.patch
@@ -0,0 +1,15 @@
+http://lists.gnu.org/archive/html/bug-bash/2014-11/msg00178.html
+
+diff --git a/arrayfunc.c b/arrayfunc.c
+index 804e6da..0f900aa 100644
+--- a/arrayfunc.c
++++ b/arrayfunc.c
+@@ -498,7 +498,7 @@ assign_compound_array_list (var, nlist, flags)
+
+ for (list = nlist; list; list = list->next)
+ {
+- iflags = flags;
++ iflags = (flags & ~ASS_APPEND);
+ w = list->word->word;
+
+ /* We have a word of the form [ind]=value */
diff --git a/app-shells/bash/files/bash-4.3-compat-lvl.patch b/app-shells/bash/files/bash-4.3-compat-lvl.patch
new file mode 100644
index 00000000000..5734687ffeb
--- /dev/null
+++ b/app-shells/bash/files/bash-4.3-compat-lvl.patch
@@ -0,0 +1,13 @@
+https://lists.gnu.org/archive/html/bug-bash/2014-06/msg00046.html
+
+--- a/builtins/shopt.def
++++ b/builtins/shopt.def
+@@ -160,7 +160,7 @@ static struct {
+ { "compat32", &shopt_compat32, set_compatibility_level },
+ { "compat40", &shopt_compat40, set_compatibility_level },
+ { "compat41", &shopt_compat41, set_compatibility_level },
+- { "compat42", &shopt_compat41, set_compatibility_level },
++ { "compat42", &shopt_compat42, set_compatibility_level },
+ #if defined (READLINE)
+ { "complete_fullquote", &complete_fullquote, (shopt_set_func_t *)NULL},
+ { "direxpand", &dircomplete_expand, shopt_set_complete_direxpand },
diff --git a/app-shells/bash/files/bash-4.3-declare-visibility.patch b/app-shells/bash/files/bash-4.3-declare-visibility.patch
new file mode 100644
index 00000000000..03431557063
--- /dev/null
+++ b/app-shells/bash/files/bash-4.3-declare-visibility.patch
@@ -0,0 +1,60 @@
+http://lists.gnu.org/archive/html/bug-bash/2015-02/msg00075.html
+
+assign_array_var_from_word_list: after assignment, mark variable as no
+longer invisible
+
+assign_array_var_from_string: after assignment, mark variable as no
+longer invisible
+
+diff --git a/arrayfunc.c b/arrayfunc.c
+index c2ea0e5..6dab71c 100644
+--- a/arrayfunc.c
++++ b/arrayfunc.c
+@@ -407,6 +407,9 @@ assign_array_var_from_word_list (var, list, flags)
+ (*var->assign_func) (var, l->word->word, i, 0);
+ else
+ array_insert (a, i, l->word->word);
++
++ VUNSETATTR (var, att_invisible); /* no longer invisible */
++
+ return var;
+ }
+
+@@ -639,6 +642,10 @@ assign_array_var_from_string (var, value, flags)
+
+ if (nlist)
+ dispose_words (nlist);
++
++ if (var)
++ VUNSETATTR (var, att_invisible); /* no longer invisible */
++
+ return (var);
+ }
+
+
+bind_int_variable: make sure `v' is non-null before making it visible
+
+diff --git a/variables.c b/variables.c
+index 2f07ebb..cbe7806 100644
+--- a/variables.c
++++ b/variables.c
+@@ -2872,10 +2872,12 @@ bind_int_variable (lhs, rhs)
+ #endif
+ v = bind_variable (lhs, rhs, 0);
+
+- if (v && isint)
+- VSETATTR (v, att_integer);
+-
+- VUNSETATTR (v, att_invisible);
++ if (v)
++ {
++ if (isint)
++ VSETATTR (v, att_integer);
++ VUNSETATTR (v, att_invisible);
++ }
+
+ return (v);
+ }
+--
+2.3.0
+
diff --git a/app-shells/bash/files/bash-4.3-mapfile-improper-array-name-validation.patch b/app-shells/bash/files/bash-4.3-mapfile-improper-array-name-validation.patch
new file mode 100644
index 00000000000..20bf340fdbd
--- /dev/null
+++ b/app-shells/bash/files/bash-4.3-mapfile-improper-array-name-validation.patch
@@ -0,0 +1,13 @@
+http://lists.gnu.org/archive/html/bug-bash/2014-11/msg00097.html
+
+--- bash-4.3/builtins/mapfile.def
++++ bash-4.3/builtins/mapfile.def
+@@ -339,7 +339,7 @@
+ else
+ array_name = list->word->word;
+
+- if (legal_identifier (array_name) == 0 && valid_array_reference (array_name) == 0)
++ if (legal_identifier (array_name) == 0)
+ {
+ sh_invalidid (array_name);
+ return (EXECUTION_FAILURE);
diff --git a/app-shells/bash/files/bash-4.3-parse-time-keyword.patch b/app-shells/bash/files/bash-4.3-parse-time-keyword.patch
new file mode 100644
index 00000000000..cd516e5c66c
--- /dev/null
+++ b/app-shells/bash/files/bash-4.3-parse-time-keyword.patch
@@ -0,0 +1,30 @@
+https://lists.gnu.org/archive/html/bug-bash/2014-06/msg00034.html
+
+*** ../bash-4.3-patched/parse.y 2014-04-07 11:56:12.000000000 -0400
+--- parse.y 2014-06-11 10:25:53.000000000 -0400
+***************
+*** 2789,2797 ****
+ case OR_OR:
+ case '&':
+ case DO:
+ case THEN:
+ case ELSE:
+ case '{': /* } */
+! case '(': /* ) */
+ case BANG: /* ! time pipeline */
+ case TIME: /* time time pipeline */
+--- 2789,2802 ----
+ case OR_OR:
+ case '&':
++ case WHILE:
+ case DO:
++ case UNTIL:
++ case IF:
+ case THEN:
++ case ELIF:
+ case ELSE:
+ case '{': /* } */
+! case '(': /* )( */
+! case ')': /* only valid in case statement */
+ case BANG: /* ! time pipeline */
+ case TIME: /* time time pipeline */
diff --git a/app-shells/bash/files/bash-4.4-optimize-fork.patch b/app-shells/bash/files/bash-4.4-optimize-fork.patch
new file mode 100644
index 00000000000..98e83be12f8
--- /dev/null
+++ b/app-shells/bash/files/bash-4.4-optimize-fork.patch
@@ -0,0 +1,16 @@
+https://lists.gnu.org/archive/html/bug-bash/2015-07/msg00060.html
+
+*** ../bash-4.4-alpha/execute_cmd.c 2015-06-12 17:29:18.000000000 -0400
+--- execute_cmd.c 2015-07-14 08:59:22.000000000 -0400
+***************
+*** 2630,2638 ****
+ if (ignore_return && second)
+ second->flags |= CMD_IGNORE_RETURN;
+- if (should_suppress_fork (second))
+- {
+- second->flags |= CMD_NO_FORK;
+- second->value.Simple->flags |= CMD_NO_FORK;
+- }
+
+ exec_result = execute_command (second);
+--- 2630,2633 ----
diff --git a/app-shells/bash/files/bash-4.x-deferred-heredocs.patch b/app-shells/bash/files/bash-4.x-deferred-heredocs.patch
new file mode 100644
index 00000000000..698d277a3db
--- /dev/null
+++ b/app-shells/bash/files/bash-4.x-deferred-heredocs.patch
@@ -0,0 +1,47 @@
+http://bugs.gentoo.org/310197
+http://lists.gnu.org/archive/html/bug-bash/2010-03/msg00063.html
+
+fix heredocs handling in `set` output
+
+*** ../bash-4.1-patched/print_cmd.c 2009-09-16 15:32:26.000000000 -0400
+--- print_cmd.c 2010-03-22 21:15:30.000000000 -0400
+***************
+*** 114,117 ****
+--- 114,123 ----
+ #define CHECK_XTRACE_FP xtrace_fp = (xtrace_fp ? xtrace_fp : stderr)
+
++ #define PRINT_DEFERRED_HEREDOCS(x) \
++ do { \
++ if (deferred_heredocs) \
++ print_deferred_heredocs (x); \
++ } while (0)
++
+ /* Non-zero means the stuff being printed is inside of a function def. */
+ static int inside_function_def;
+***************
+*** 561,571 ****
+ {
+ print_for_command_head (for_command);
+-
+ cprintf (";");
+ newline ("do\n");
+ indentation += indentation_amount;
+ make_command_string_internal (for_command->action);
+ semicolon ();
+ indentation -= indentation_amount;
+ newline ("done");
+ }
+--- 566,578 ----
+ {
+ print_for_command_head (for_command);
+ cprintf (";");
+ newline ("do\n");
++
+ indentation += indentation_amount;
+ make_command_string_internal (for_command->action);
++ PRINT_DEFERRED_HEREDOCS ("");
+ semicolon ();
+ indentation -= indentation_amount;
++
+ newline ("done");
+ }
diff --git a/app-shells/bash/files/bash_logout b/app-shells/bash/files/bash_logout
new file mode 100644
index 00000000000..50a79331c08
--- /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 00000000000..a398eb1ed4a
--- /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-r1 b/app-shells/bash/files/bashrc-r1
new file mode 100644
index 00000000000..300070974f5
--- /dev/null
+++ b/app-shells/bash/files/bashrc-r1
@@ -0,0 +1,92 @@
+# /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
+
+for sh in /etc/bash/bashrc.d/* ; do
+ [[ -r ${sh} ]] && source "${sh}"
+done
+
+# Try to keep environment pollution down, EPA loves us.
+unset use_color safe_term match_lhs sh
diff --git a/app-shells/bash/files/bashrc-r2 b/app-shells/bash/files/bashrc-r2
new file mode 100644
index 00000000000..c9bd88e8586
--- /dev/null
+++ b/app-shells/bash/files/bashrc-r2
@@ -0,0 +1,108 @@
+# /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
+
+# Disable completion when the input buffer is empty. i.e. Hitting tab
+# and waiting a long time for bash to expand all of $PATH.
+shopt -s no_empty_cmd_completion
+
+# Enable history appending instead of overwriting when exiting. #139609
+shopt -s histappend
+
+# Save each command to the history file as it's executed. #517342
+# This does mean sessions get interleaved when reading later on, but this
+# way the history is always up to date. History is not synced across live
+# sessions though; that is what `history -n` does.
+# Disabled by default due to concerns related to system recovery when $HOME
+# is under duress, or lives somewhere flaky (like NFS). Constantly syncing
+# the history will halt the shell prompt until it's finished.
+#PROMPT_COMMAND='history -a'
+
+# Change the window title of X terminals
+case ${TERM} in
+ xterm*|rxvt*|Eterm*|aterm|kterm|gnome*|interix|konsole*)
+ PS1='\[\033]0;\u@\h:\w\007\]'
+ ;;
+ screen*)
+ PS1='\[\033k\u@\h:\w\033\\\]'
+ ;;
+ *)
+ unset PS1
+ ;;
+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
+
+for sh in /etc/bash/bashrc.d/* ; do
+ [[ -r ${sh} ]] && source "${sh}"
+done
+
+# Try to keep environment pollution down, EPA loves us.
+unset use_color safe_term match_lhs sh
diff --git a/app-shells/bash/files/dot-bash_logout b/app-shells/bash/files/dot-bash_logout
new file mode 100644
index 00000000000..44b6f79ca8e
--- /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 00000000000..94a6622b5c6
--- /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 00000000000..34dbd8c892f
--- /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.
diff --git a/app-shells/bash/metadata.xml b/app-shells/bash/metadata.xml
new file mode 100644
index 00000000000..8598dc9b880
--- /dev/null
+++ b/app-shells/bash/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>base-system</herd>
+<use>
+ <flag name='bashlogger'>Log ALL commands typed into bash; should ONLY be
+ used in restricted environments such as honeypots</flag>
+ <flag name='mem-scramble'>Build with custom malloc/free overwriting allocated/freed memory</flag>
+ <flag name='net'>Enable /dev/tcp/host/port redirection</flag>
+ <flag name='plugins'>Add support for loading builtins at runtime via
+ 'enable'</flag>
+</use>
+<upstream>
+ <remote-id type="cpe">cpe:/a:gnu:bash</remote-id>
+</upstream>
+</pkgmetadata>