Gentoo Archives: gentoo-commits

From: Benda XU <heroxbd@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] dev/heroxbd:master commit in: scripts/, net-proxy/squid/, net-libs/rb_libtorrent/
Date: Wed, 30 Oct 2013 03:18:07
Message-Id: 1382357480.aad9f07d5ffd862fd865697bba26572617764183.heroxbd@gentoo
1 commit: aad9f07d5ffd862fd865697bba26572617764183
2 Author: Benda Xu <heroxbd <AT> gentoo <DOT> org>
3 AuthorDate: Mon Oct 21 12:11:20 2013 +0000
4 Commit: Benda XU <heroxbd <AT> gentoo <DOT> org>
5 CommitDate: Mon Oct 21 12:11:20 2013 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=dev/heroxbd.git;a=commit;h=aad9f07d
7
8 track bootstrap script
9
10 ---
11 net-libs/rb_libtorrent/ChangeLog | 188 +-
12 net-libs/rb_libtorrent/Manifest | 48 +-
13 net-libs/rb_libtorrent/metadata.xml | 1 -
14 .../rb_libtorrent/rb_libtorrent-0.15.10.ebuild | 14 +-
15 net-proxy/squid/Manifest | 63 +-
16 scripts/bootstrap-rap.sh | 2038 ++++++++++++++++++++
17 6 files changed, 2291 insertions(+), 61 deletions(-)
18
19 diff --git a/net-libs/rb_libtorrent/ChangeLog b/net-libs/rb_libtorrent/ChangeLog
20 index 794512f..4ab8e2f 100644
21 --- a/net-libs/rb_libtorrent/ChangeLog
22 +++ b/net-libs/rb_libtorrent/ChangeLog
23 @@ -1,6 +1,189 @@
24 # ChangeLog for net-libs/rb_libtorrent
25 -# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
26 -# $Header: /var/cvsroot/gentoo-x86/net-libs/rb_libtorrent/ChangeLog,v 1.124 2012/04/19 14:40:00 ranger Exp $
27 +# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
28 +# $Header: /var/cvsroot/gentoo-x86/net-libs/rb_libtorrent/ChangeLog,v 1.167 2013/09/08 10:25:08 hwoarang Exp $
29 +
30 +*rb_libtorrent-0.16.11 (08 Sep 2013)
31 +
32 + 08 Sep 2013; Markos Chandras <hwoarang@g.o>
33 + +rb_libtorrent-0.16.11.ebuild:
34 + Version bump
35 +
36 + 07 Sep 2013; Agostino Sarubbo <ago@g.o> rb_libtorrent-0.16.10.ebuild:
37 + Stable for sparc, wrt bug #481440
38 +
39 + 05 Sep 2013; Agostino Sarubbo <ago@g.o> rb_libtorrent-0.16.10.ebuild:
40 + Stable for ppc64, wrt bug #481440
41 +
42 + 28 Aug 2013; Agostino Sarubbo <ago@g.o> rb_libtorrent-0.16.10.ebuild:
43 + Stable for x86, wrt bug #481440
44 +
45 + 26 Aug 2013; Agostino Sarubbo <ago@g.o> rb_libtorrent-0.16.10.ebuild:
46 + Stable for ppc, wrt bug #481440
47 +
48 + 24 Aug 2013; Agostino Sarubbo <ago@g.o> rb_libtorrent-0.16.10.ebuild:
49 + Stable for arm, wrt bug #481440
50 +
51 + 17 Aug 2013; Agostino Sarubbo <ago@g.o> rb_libtorrent-0.16.10.ebuild:
52 + Stable for amd64, wrt bug #481440
53 +
54 +*rb_libtorrent-0.16.10 (15 May 2013)
55 +
56 + 15 May 2013; Markos Chandras <hwoarang@g.o>
57 + +rb_libtorrent-0.16.10.ebuild:
58 + Version bump
59 +
60 +*rb_libtorrent-0.16.9 (13 Mar 2013)
61 +
62 + 13 Mar 2013; Markos Chandras <hwoarang@g.o>
63 + +rb_libtorrent-0.16.9.ebuild:
64 + Version bump
65 +
66 + 09 Mar 2013; Agostino Sarubbo <ago@g.o> rb_libtorrent-0.16.8.ebuild:
67 + Stable for sparc, wrt bug #460188
68 +
69 + 09 Mar 2013; Agostino Sarubbo <ago@g.o> rb_libtorrent-0.16.8.ebuild:
70 + Stable for x86, wrt bug #460188
71 +
72 + 09 Mar 2013; Agostino Sarubbo <ago@g.o> rb_libtorrent-0.16.8.ebuild:
73 + Stable for ppc, wrt bug #460188
74 +
75 + 09 Mar 2013; Agostino Sarubbo <ago@g.o> rb_libtorrent-0.16.8.ebuild:
76 + Stable for ppc64, wrt bug #460188
77 +
78 + 08 Mar 2013; Agostino Sarubbo <ago@g.o> rb_libtorrent-0.16.8.ebuild:
79 + Stable for arm, wrt bug #460188
80 +
81 + 05 Mar 2013; Agostino Sarubbo <ago@g.o> rb_libtorrent-0.16.8.ebuild:
82 + Stable for amd64, wrt bug #460188
83 +
84 + 03 Mar 2013; Markos Chandras <hwoarang@g.o>
85 + -rb_libtorrent-0.16.3.ebuild, -rb_libtorrent-0.16.6.ebuild,
86 + -rb_libtorrent-0.16.7.ebuild:
87 + remove old
88 +
89 +*rb_libtorrent-0.16.8 (10 Feb 2013)
90 +
91 + 10 Feb 2013; Markos Chandras <hwoarang@g.o>
92 + +rb_libtorrent-0.16.8.ebuild:
93 + Version bump
94 +
95 +*rb_libtorrent-0.16.7 (22 Jan 2013)
96 +
97 + 22 Jan 2013; Markos Chandras <hwoarang@g.o>
98 + +rb_libtorrent-0.16.7.ebuild:
99 + Version bump
100 +
101 + 01 Jan 2013; Agostino Sarubbo <ago@g.o> rb_libtorrent-0.16.5.ebuild:
102 + Stable for arm, wrt bug #442314
103 +
104 + 29 Dec 2012; Agostino Sarubbo <ago@g.o> rb_libtorrent-0.16.5.ebuild:
105 + Stable for sparc, wrt bug #442314
106 +
107 + 26 Dec 2012; Jeff Horelick <jdhore@g.o> rb_libtorrent-0.16.5.ebuild:
108 + marked x86 per bug 442314
109 +
110 + 22 Dec 2012; Agostino Sarubbo <ago@g.o> rb_libtorrent-0.16.5.ebuild:
111 + Stable for ppc, wrt bug #442314
112 +
113 + 18 Dec 2012; Agostino Sarubbo <ago@g.o> rb_libtorrent-0.16.5.ebuild:
114 + Stable for amd64, wrt bug #442314
115 +
116 +*rb_libtorrent-0.16.6 (17 Dec 2012)
117 +
118 + 17 Dec 2012; Markos Chandras <hwoarang@g.o>
119 + +rb_libtorrent-0.16.6.ebuild:
120 + Version bump
121 +
122 + 10 Dec 2012; Agostino Sarubbo <ago@g.o> rb_libtorrent-0.16.5.ebuild:
123 + Stable for ppc64, wrt bug #442314
124 +
125 + 22 Nov 2012; Diego E. Pettenò <flameeyes@g.o>
126 + -files/rb_libtorrent-0.14.12_boost-1.45.patch,
127 + -files/rb_libtorrent-0.14.8-boost-detect.patch,
128 + -files/rb_libtorrent-0.14.9-as-needed-fix.patch,
129 + -files/rb_libtorrent-0.15.1-ax_pthread_asneeded.patch,
130 + -rb_libtorrent-0.15.5.ebuild, -rb_libtorrent-0.15.9.ebuild:
131 + Remove old versions requiring boost that is no longer in tree. Cleanup old
132 + files.
133 +
134 + 21 Nov 2012; Markos Chandras <hwoarang@g.o>
135 + rb_libtorrent-0.16.5.ebuild:
136 + Enable verbose build. Bug #441842
137 +
138 + 08 Nov 2012; Diego E. Pettenò <flameeyes@g.o>
139 + rb_libtorrent-0.15.10.ebuild, rb_libtorrent-0.15.5.ebuild,
140 + rb_libtorrent-0.15.9.ebuild, rb_libtorrent-0.16.3.ebuild,
141 + rb_libtorrent-0.16.5.ebuild:
142 + Handle USE=threads for boost 1.52.0-r1 and later. Remove keywords from ebuilds
143 + that depends on older boost versions.
144 +
145 + 03 Nov 2012; Markos Chandras <hwoarang@g.o>
146 + rb_libtorrent-0.15.10.ebuild, rb_libtorrent-0.15.5.ebuild,
147 + rb_libtorrent-0.15.9.ebuild, rb_libtorrent-0.16.3.ebuild:
148 + Backport boost fix to 0.15.X releases. Bug #441582
149 +
150 + 02 Nov 2012; Markos Chandras <hwoarang@g.o>
151 + -rb_libtorrent-0.16.4.ebuild, rb_libtorrent-0.16.3.ebuild:
152 + Backport fix from 0.16.5. Bug #440976
153 +
154 + 31 Oct 2012; Diego E. Pettenò <flameeyes@g.o>
155 + rb_libtorrent-0.16.5.ebuild:
156 + Simplify finding boost library so that it works with all versions, now that
157 + it's unslotted.
158 +
159 +*rb_libtorrent-0.16.5 (23 Oct 2012)
160 +
161 + 23 Oct 2012; Markos Chandras <hwoarang@g.o>
162 + +rb_libtorrent-0.16.5.ebuild:
163 + Version bump
164 +
165 +*rb_libtorrent-0.16.4 (02 Oct 2012)
166 +
167 + 02 Oct 2012; Markos Chandras <hwoarang@g.o>
168 + +rb_libtorrent-0.16.4.ebuild:
169 + Version bump
170 +
171 + 23 Sep 2012; Markos Chandras <hwoarang@g.o> metadata.xml:
172 + Remove qt herd from metadata
173 +
174 + 31 Aug 2012; Markos Chandras <hwoarang@g.o>
175 + -rb_libtorrent-0.16.1.ebuild, -rb_libtorrent-0.16.2.ebuild:
176 + Remove old
177 +
178 +*rb_libtorrent-0.16.3 (24 Aug 2012)
179 +
180 + 24 Aug 2012; Markos Chandras <hwoarang@g.o>
181 + +rb_libtorrent-0.16.3.ebuild:
182 + Version bump
183 +
184 +*rb_libtorrent-0.16.2 (14 Jul 2012)
185 +
186 + 14 Jul 2012; Ben de Groot <yngwin@g.o> +rb_libtorrent-0.16.2.ebuild:
187 + Version bump
188 +
189 + 16 Jun 2012; Markos Chandras <hwoarang@g.o>
190 + -rb_libtorrent-0.15.6.ebuild, -rb_libtorrent-0.15.8.ebuild,
191 + -rb_libtorrent-0.15.9-r1.ebuild, -rb_libtorrent-0.16.0.ebuild:
192 + Remove old
193 +
194 +*rb_libtorrent-0.16.1 (15 Jun 2012)
195 +
196 + 15 Jun 2012; Markos Chandras <hwoarang@g.o>
197 + +rb_libtorrent-0.16.1.ebuild:
198 + Version bump
199 +
200 + 14 Jun 2012; Jeff Horelick <jdhore@g.o> rb_libtorrent-0.15.10.ebuild:
201 + marked x86 per bug 413815
202 +
203 + 08 Jun 2012; Michael Weber <xmw@g.o> rb_libtorrent-0.15.10.ebuild:
204 + ppc stable (bug 413815)
205 +
206 + 23 May 2012; Agostino Sarubbo <ago@g.o> rb_libtorrent-0.15.10.ebuild:
207 + Stable for amd64, wrt bug #413815
208 +
209 + 28 Apr 2012; <heroxbd@g.o> rb_libtorrent-0.15.10.ebuild,
210 + rb_libtorrent-0.16.0.ebuild:
211 + fix boost dirs with EPREFIX for Prefix
212
213 19 Apr 2012; Brent Baude <ranger@g.o> rb_libtorrent-0.15.9.ebuild:
214 Marking rb_libtorrent-0.15.9 ppc64 for bug 411871
215 @@ -646,4 +829,3 @@
216
217 08 Jan 2007; <armin@g.o> +metadata.xml, +rb_libtorrent-0.11.ebuild:
218 New ebuild, from bug 148667
219 -
220
221 diff --git a/net-libs/rb_libtorrent/Manifest b/net-libs/rb_libtorrent/Manifest
222 index 3160deb..545abe5 100644
223 --- a/net-libs/rb_libtorrent/Manifest
224 +++ b/net-libs/rb_libtorrent/Manifest
225 @@ -1,19 +1,29 @@
226 -AUX rb_libtorrent-0.14.12_boost-1.45.patch 507 RMD160 b3f3730cd1215c5ff08fb8d019b7e9f72cb68d74 SHA1 94ddc8a797ff7834b079686c2a9fb98f09187e90 SHA256 0030390334b95595fef64f0b7c647ef2457cbb628a4d27a6e62be495dbc0b237
227 -AUX rb_libtorrent-0.14.8-boost-detect.patch 1969 RMD160 8d2c4b412a72b69978bef1f8c659941473657a79 SHA1 2ec58b038e9c1b896b1eeb42e646afbf4f9af5ea SHA256 63d782c54b18ff1fccc08345c4b9afe112b146fa41021da3d717ee313c862ec0
228 -AUX rb_libtorrent-0.14.9-as-needed-fix.patch 520 RMD160 e75c51c39acd3df37274d465296406d24328a8cf SHA1 2a73ad7edc9b98bd16466dde1112542336b9fd1a SHA256 04d0b833d109523764bbb410cebc59196a047bd72a8c6267a32bdf458a48877c
229 -AUX rb_libtorrent-0.15.1-ax_pthread_asneeded.patch 4254 RMD160 57ecaa0aba6363cbac669f901529c1b157de9aa5 SHA1 af7171eadbe4e2dbcd9fbf5a0752579b9a6d3890 SHA256 aeba842df39d7149ef3722b6c62956f7c20ed1a81b778252ea7ed0514ab2ece3
230 -DIST libtorrent-rasterbar-0.15.10.tar.gz 2623718 RMD160 924e5ae80ebb8e5f94ec947159438eac289fb7ba SHA1 3e461d9ede5fab3fb59be6a9f0cbc52121d536c4 SHA256 36e79fa4e79d5b0911ade11bc41ee75375048acc06526a23fad8558612ac38c4
231 -DIST libtorrent-rasterbar-0.15.5.tar.gz 2606717 RMD160 ee5640c530e785cfd78d11db12d6d22d93c5c3c2 SHA1 da81d92bb00f51edcd7dcea1e00e3c54806a43b4 SHA256 150cbda406ac5ff57330446487961503c87d22bfb61a72d695ab4520b4c18a43
232 -DIST libtorrent-rasterbar-0.15.6.tar.gz 2608765 RMD160 946464cc0dd9a42eaf342021aa96badccd7311c1 SHA1 e6f33b139933ec245e8850558efe52e88081fc6d SHA256 dc84775911129942d21ed94569f7c06accffcf31dc909b26eca5f824efb63f13
233 -DIST libtorrent-rasterbar-0.15.8.tar.gz 2605456 RMD160 a6ddd211afe8499c66c5e56c1d3eee26be01c235 SHA1 9e21ebfa6fba19b237754a10ae9b8007781c48f0 SHA256 f5dfe715e4f49784d5cc2821983a5fbe454c5a53beedc1996ecae5178188c71c
234 -DIST libtorrent-rasterbar-0.15.9.tar.gz 2619950 RMD160 54461ff314af9602309a9a34a97cb481dc38179c SHA1 d86eb9d4452d07715a355d3a67312f162d6eff3a SHA256 a2ea68011e9933c7deb473268122f016171d24f0f35e744fbdadd14bf6bac23d
235 -DIST libtorrent-rasterbar-0.16.0.tar.gz 2880619 RMD160 8c4fe9e2ba75b87ba9a53ef155c216ad937ee361 SHA1 212d910f6c06f06ef1b54d7e2dd68de18f6d9c73 SHA256 c645f2507f97f80d8681fe44ece00d266c5cd14cfb1ef68fbd005c9a93dec620
236 -EBUILD rb_libtorrent-0.15.10.ebuild 2301 RMD160 74792927e2e6a47c661e012e14fbfb4465dba8da SHA1 41b73667ed0062c2f6f0231789e40478b3bce2a5 SHA256 9cfa006d63b817a84e53381e867d71d85d5165fd8a939c4ec9d344e06c530685
237 -EBUILD rb_libtorrent-0.15.5.ebuild 2099 RMD160 07e226d00abe689a09481fce2c8cdf9e9509af91 SHA1 293c475cacb8e11c15245b29324c25ceeabeb39f SHA256 62793b52847ed2bb992fdb01631ca50e77253b45537bd56118391648b197b36a
238 -EBUILD rb_libtorrent-0.15.6.ebuild 2226 RMD160 02d5408bd27bdc0900bef9a855906abf8d7919f9 SHA1 84dfafa366d16e2324932755ff9711f5e24802fa SHA256 3c0363b784ae23b3c105cbb50e768b6237785033c17beb5199988e997dac18ef
239 -EBUILD rb_libtorrent-0.15.8.ebuild 2339 RMD160 4ef336a98de3bf8b5df7134786ceb6e7f53e1bb4 SHA1 a129f27700b809ebce6e54b9be554e51b0ef348e SHA256 798fab4ca38ac58de2a149fc3f8f2d652c8b53b3f762b17fb0715aedf747a500
240 -EBUILD rb_libtorrent-0.15.9-r1.ebuild 2302 RMD160 36e3630f289c892bf64919a54d773edcdd9be358 SHA1 dea26a4706cbb546486b27afc0ecb42644b0baf8 SHA256 84b4f2a4f29eb845a8485487d3f4e3ea62da8040d386d36a96ab2c061e630b71
241 -EBUILD rb_libtorrent-0.15.9.ebuild 2335 RMD160 c7952865f0964d960d72bd8c8a99c5da0e2cd7dd SHA1 e2913486c633813863da4e53f0a6d6dd443dd57d SHA256 65b4cd3a8e89eba0a13c911e5b9f3b5bc85269eeceb08ebb3272fc623ef66659
242 -EBUILD rb_libtorrent-0.16.0.ebuild 2189 RMD160 3891a4c7603ed1800ee2d54513e64d5c6d3d424c SHA1 edf6273c9951888a4aabc6860634d2d7ba54ce68 SHA256 91cddce5218ee738317239f625a9a8db80131d4ace5b68f3f59a2ea7f8e5a123
243 -MISC ChangeLog 21184 RMD160 46c82b962e05b3cbaaaada05d3d7eb71b7748701 SHA1 6b4a47bb4b1032146bbc51e8da0b75c3b4797e5d SHA256 a19fa803ee27e6390dc3e2196fb437ab1672aa03a399b9e272831855424e8dd8
244 -MISC metadata.xml 355 RMD160 bc086bf78b19a22b3791b3403b3b6ded81d55f14 SHA1 c08dbe089cbabfc855e26630756b81dc5d6f8f55 SHA256 e9742c49b2324891c277eac0d1d50206f0dd01a90dc24ae5d55982a0cecfb5de
245 +AUX rb_libtorrent-0.14.12_boost-1.45.patch 507 SHA256 0030390334b95595fef64f0b7c647ef2457cbb628a4d27a6e62be495dbc0b237 SHA512 772c34d86ccfda9809b31ef1bdf9cfd7c02c5bf7861e05debdb7a82edfdc2cd8e55206928c0ef97c90a71fbd69144ac60a6452286f60b6d8814dfec8ed8814fa WHIRLPOOL 080cfe6d721378b97ed39805e0b77a176ed93bc00708d685fabeb5eea0aa51df8decdef22e6c3e35f4a2258c90fa563e3753e498266006dd7f9506983593eb97
246 +AUX rb_libtorrent-0.14.8-boost-detect.patch 1969 SHA256 63d782c54b18ff1fccc08345c4b9afe112b146fa41021da3d717ee313c862ec0 SHA512 1423837af191a0bf2fdb4f462c6e75d183aeb597ec1d44274c1f3c249817f0b5a34a7de0a5db9be6ed654ebbc8c1f94f2e8a20c4dbc59b5bba22bcc99d052c1f WHIRLPOOL e5c5d608d2302a93fbe0dfd043b78019a81aa7a8ba5aa515670348f06b71cd80eebb31b2b79ebd4316a923c3bcdc12543804b0c0e6bf89529e1132374baa67ea
247 +AUX rb_libtorrent-0.14.9-as-needed-fix.patch 520 SHA256 04d0b833d109523764bbb410cebc59196a047bd72a8c6267a32bdf458a48877c SHA512 9e5e74b239652f4997793beef1bbc9ed49a837513ab889d6c4db3dd442703da8a287addabd516204df982ddfc8635de97f5665c84a8fad9f67cc731769bd88c6 WHIRLPOOL 6c77a2a286f00bbdcc330c8e2f58600642df39dd85b00ca175f25dd75515bde65f1cc782c88ae886c0c00b4ab5dcdd20f45ee7f40bf2f8d1e7cd6302f4aa62ae
248 +AUX rb_libtorrent-0.15.1-ax_pthread_asneeded.patch 4254 SHA256 aeba842df39d7149ef3722b6c62956f7c20ed1a81b778252ea7ed0514ab2ece3 SHA512 7d6de4ff8d9feef140c15dc351b26d69f9ae91272b34bcf1ae808742f68423c9f086ce6a4c5116ff2fd136b3624b27c0bafed9382f96142981f598fd3f816b7f WHIRLPOOL 49a80071b6b30819c4289b95cfcbb3bb2b72e5b89c8f06ef10d3978ab7f916faec9a614e60a809cae6162fc0ff4df79732317a4455ba96ae8ff5ab8ba5264e82
249 +DIST libtorrent-rasterbar-0.15.10.tar.gz 2623718 SHA256 36e79fa4e79d5b0911ade11bc41ee75375048acc06526a23fad8558612ac38c4 SHA512 b66791a62dc3478dcfd8d7045891bccb660af51a313feb795140353c249b00794cc031d6ad6c47020c0e29601c5da5a2f0f2dc646148c7e616285af8ef44bc70 WHIRLPOOL dacd32e103c4ad9b563221e3bf18cc74b03cc415a155c15516b55bd345a31474362a12c26ccfc5eeb724498f5366704acae2dc68ee32e162a261a12abdb43c2f
250 +DIST libtorrent-rasterbar-0.15.5.tar.gz 2606717 SHA256 150cbda406ac5ff57330446487961503c87d22bfb61a72d695ab4520b4c18a43 SHA512 0d2572c6f1d6b99e1b668d1e2e999538d6083e9a788473fa1a663bf752e70f2a4908f8d7f9d268741bc54c1e201600d9c4b57e6ad1912f1387e109b9ba0b9926 WHIRLPOOL 27bfda4413227433978bb66884d4a8f974757e725873bc063ff5932ea039f134879481ac3d9120ce9d999a53a287f5487d6e04da5888429cd66fa7ed3d56724b
251 +DIST libtorrent-rasterbar-0.15.6.tar.gz 2608765 SHA256 dc84775911129942d21ed94569f7c06accffcf31dc909b26eca5f824efb63f13 SHA512 b62939fd8e067c536236bc5b96498c65de454eaeb76e23c360c848a523f6b306410164ef90ca2540324f4f6d6be88072903f6002075621e108c26550ad447e2d WHIRLPOOL c72ed103a0a618278e053c741a08f25f3725ba16f88bca469c7e191971455ef3868f2bd7c69468e2fec1bde275f17e3b2c20b9a7c34d382ea0d0ac98adfb139e
252 +DIST libtorrent-rasterbar-0.15.8.tar.gz 2605456 SHA256 f5dfe715e4f49784d5cc2821983a5fbe454c5a53beedc1996ecae5178188c71c SHA512 c33ef003823ba263e57068cd7c67179bfa69ffae6597eacc40ab154dbd2bc66507b1f91fc80f970d388423461f6eab8ed4e245980b7c0f6c10aa886b60155500 WHIRLPOOL 29fa50225e64a52823fc6d9fe800af2885e6be434b500a77adb2e98d2e41f1051d853342de580ed26008652bbe61eb46aa6c00e2446de08944589ff2e83f1567
253 +DIST libtorrent-rasterbar-0.15.9.tar.gz 2619950 SHA256 a2ea68011e9933c7deb473268122f016171d24f0f35e744fbdadd14bf6bac23d SHA512 abbf237b03c1ca5ff0022487caea6b533254467dbc3d74450cc000a3c9fca4c88c9589e17f88534fe49e87bd29a179fa964eea821873dcab62ac07cfc6246a40 WHIRLPOOL 7de400e51564273021ca7694335e58c6e8bbe12f2a65208d7ca002def4c32e1ca744d68fb4cf74de31a8cb09d7a914206dcbbc3305ee6b7a78741e94c99b04ea
254 +DIST libtorrent-rasterbar-0.16.0.tar.gz 2880619 SHA256 c645f2507f97f80d8681fe44ece00d266c5cd14cfb1ef68fbd005c9a93dec620 SHA512 1ad4ee0ce698a7ad8912031df18ef2d351424f171c8bdd584e2077595f05d001d9b19a7f3123ea7aade7ff1b582059d6ba504b821868f5dc87b9f2436985b048 WHIRLPOOL a10ba0979abdd67827bbc84a1e5a92182e885e581bd4bfdd39ff68175ab4f2b8f31f6b852f555e2c7e09f5ab4bfd4574413ee67b526def8d99d8e330320009a8
255 +DIST libtorrent-rasterbar-0.16.10.tar.gz 2985640 SHA256 4c0d78b28af8051ff8a19a3a3e10a5edfec50945b8f3c9a76612111c47d671bc SHA512 a8b5d762f2b50ded1f8589efeedf2d1e0b5cc39d71bcc1840658137c1058cd03fe249c6855c5c483304aafb74b616d241456fecf00dec50608aa82af9f795819 WHIRLPOOL 20cc12a8bfcafd079a0d8ab6132bb3a4aa289089ed12c895bc2b2047b5a10a15a3ba20d6f0f767ba0e01f19dc3e1baa05518d08454b502a8b125e513bf05ce51
256 +DIST libtorrent-rasterbar-0.16.11.tar.gz 2989445 SHA256 09dc00f8ab9c90327cdfa46c4a68b59ebd3a949c8bfb641b4a99e974d49ad2e5 SHA512 2e058e3eae7eeb6229c40428415313c52f5a85bc79a8ec7f6d495ee14c99f871792c7109c081638533dfdd7961ad78d9d8592eedb864fee9f311aff434737a8a WHIRLPOOL 255d5561302c2cab087ff0f9be1c28108a3964f669fcd304872f0fecba425bddb512012c45bdb901ce0bb9fa765c4edd25147bcd300d8e375cf18da759d50dec
257 +DIST libtorrent-rasterbar-0.16.5.tar.gz 2912302 SHA256 35884b450e49b7d62d327c9952241adfcfa534af8f7b1bdab1d3333cf9b0f3cb SHA512 eb6a2af19c185acda0a93c1adc87c8eedaa1323a01ba169414066fe6063e6ff8b78843adf38f2ade1246afdc7bebcaaa0533f45c92ecdb3b08f408dcb9773963 WHIRLPOOL 08153d61a9f5158dd1f4e387c390a3f840025c7673432d9d97eae6582a2d1d94c405a3c11f7b2b6445a792add2b7aa7c7790a58117ee638dee0831e291c3b40d
258 +DIST libtorrent-rasterbar-0.16.8.tar.gz 2941811 SHA256 80a510f8f1f39d21dd9948b145722697c261f406bc68219ec2804ddcac875d06 SHA512 9cdb0ec2a9e3e5f30f89437729480d2326590c6711567aa0ad08662263b9a1a97a918287cd6514aa7f11ed58e63d156304acf2f4ecaba02fbe297afa8747d1c1 WHIRLPOOL 0acbbd3975089ef31e1606ccb3de193bd9983d4f94f4e30fcf09d0c990e53677a49a192e9f9a4d2b0c8de2416100b30715e11ab4636d16482c04401a91e1946a
259 +DIST libtorrent-rasterbar-0.16.9.tar.gz 2945330 SHA256 7b7e1f68c75bd80c14a3b8ab937be0823363d60f32df1373fa6c76f9d7346f1d SHA512 753e6fa5a2321f7849c9caf6ef11bea12d6cb957a4314de425f671c6d7de8e0b2ba7240ebc4545647126bb5e3429d9616a1b6b3a728c2f456d7f136ab29c93d9 WHIRLPOOL 83800819beef2e278c36f689cd697d4169940c8567c51d4cc346d4f13fb2ccf3e320542bcbb44c4375183db1c011357e59a0089b94b54e5e9b39b0a0a02ac68e
260 +EBUILD rb_libtorrent-0.15.10.ebuild 1887 SHA256 5161e0553948276c8b87dcf135422ebb08426bada7d8c279a9157ebf1c6897e5 SHA512 0eaee600f482ec706195380a4f65506da73191fc416196a4e9724d754f3ce9a222adedae736fa25e53c4016b22f4a5c60ab281333766a45c4e30b13e01fc70a3 WHIRLPOOL 166a15af4c949298e3d15ca9fdf0c194c2bc988b0d2eac543b4ae04d11718e0f82a4fe740f420ea657a995643e433a5f9c15e929f6c50c57329e646f66629e1b
261 +EBUILD rb_libtorrent-0.15.5.ebuild 2099 SHA256 62793b52847ed2bb992fdb01631ca50e77253b45537bd56118391648b197b36a SHA512 238a7ee418c8e022278c25507402ec329bc15c79b10fa8518b0edae95e57c1e238ee20dfd6b5c3629b616ae355cb9028d7d797cb6023bbe3d366a3cb57602049 WHIRLPOOL 3c99e6c5eab5055f884b3c9e314775bef44b64adb71c41103ad013ca2846ae4a4c8d97262253cb4392826f227d4091f4d76e7f30653f023b5c7c478c994c3544
262 +EBUILD rb_libtorrent-0.15.6.ebuild 2226 SHA256 3c0363b784ae23b3c105cbb50e768b6237785033c17beb5199988e997dac18ef SHA512 364f2099b1d89da82104f2e206733a6ec66521bda0090d861c37533936962bcb55235d73f67325f5245b573abdbfbf9d33c2b9517033ef840ffc621f98e3f47a WHIRLPOOL 38dd65cba9a4eb1afb2d3a097cfc7ca7d97ee403354e1f83b08f4f0e5d5f8d261e73aee05b6a8b8fd1110c0dddfd6f05e7858a2e5416e0629e3610871bfc80e3
263 +EBUILD rb_libtorrent-0.15.8.ebuild 2339 SHA256 798fab4ca38ac58de2a149fc3f8f2d652c8b53b3f762b17fb0715aedf747a500 SHA512 b6318d78ba004728778ac958839de8595dab7df02c6128b51782d51d699cbce3951274fbf08108e19dc8d7194f2045102da02255e83280828a8dea6b9b12b5dd WHIRLPOOL 6bd129dfd7e6a557c5899cb2c6ef9ec7b93fc5dee9eeccc5ef8813e143208450365fcf533e629b9b3e50048cd490546ba46101c30488e332546f61b00a5cf6dd
264 +EBUILD rb_libtorrent-0.15.9-r1.ebuild 2302 SHA256 84b4f2a4f29eb845a8485487d3f4e3ea62da8040d386d36a96ab2c061e630b71 SHA512 b30ffb88d4e9dd8b67c92989654861b36996bfa0676bee3382dcd4db7c01de93a9b0f86f72dea0d865c9ef0d60e695c78808fe11dc7bf8b5cc8805eb6829b80a WHIRLPOOL f83ee7ca5684f28008f4644d366287a1079511c681039a7ecc6cb3e177bf3710bcc1c4f3111d48f49f6d94076185ac48d3b09b6edc3aaf1253da64c9fa0fe776
265 +EBUILD rb_libtorrent-0.15.9.ebuild 2335 SHA256 65b4cd3a8e89eba0a13c911e5b9f3b5bc85269eeceb08ebb3272fc623ef66659 SHA512 9413a278a70b5e15e7bcf61a86c7e6cc0b79a329a986df815216bbc8e3abe36027f7852f976bce63586360f098c7e845d7ba8accee70e793bcd55a861a4d9e40 WHIRLPOOL ad28a500ecf7e2b7ea1d25d417e886a6b01f59944bf595d9a192062f44e4d155e6f4528d0e151840cfbc9d8014b815c026f1ff45ea75cf25c0ffc66adb777b54
266 +EBUILD rb_libtorrent-0.16.0.ebuild 2189 SHA256 91cddce5218ee738317239f625a9a8db80131d4ace5b68f3f59a2ea7f8e5a123 SHA512 307f061fe0a25ca7cc1bb2d4c791db5bfa35d8b15b165beda932db0bdd7ee57fb31acf908f90b39bf0d67d7fd9023657c064a87d79348be672dfdb85c34c4789 WHIRLPOOL 08e71879152fb6e6dc050b1d30de57044e085a18a59bf2054c3b7fe9df9a55db5101e4cdb85d0fdc5d0bc6ef779d373696cbef5168279964c808566440a1b6f1
267 +EBUILD rb_libtorrent-0.16.10.ebuild 1926 SHA256 3eccbe9d904c43c58c7626842eae539895526db28941c0a9b2a159c8404ab64a SHA512 6ca665f1a6fbe6f27cb94ef586db66a36e9f72e416a890626793090a0bacc4694c53eb43b16ef6c0e655dd6cdda2d159d969aecb75191c076fbbaebbdf67d845 WHIRLPOOL 04cfc293b94a34898fc5a8837bbb1bc819dba65c3c5702a30162457f79d47dd508cab16519562ef220ed9b5aab07bb90943f8d5ce3437124147182e2dfdbb4bd
268 +EBUILD rb_libtorrent-0.16.11.ebuild 1975 SHA256 741f29f9c1191d4381bb08bb4b468d8752857bc2057306fa0a8b11c3f4f034e5 SHA512 2e053c92d22ede7a53b54c7808d1e95f5d327b496afe821129f1668b5dd90cfdee19d0eda9389e1281abd1cfec497fc3ec8cc7f27c5813d0d27d7b25e933e52b WHIRLPOOL dc7d8a12404f4900590a3eb7b848cfc3a1e6ffe715d7ded8a138cb4408a4da3a18366eff6727847a3af9a1882f8fc4d0faa8440d5a3996da255696decef92329
269 +EBUILD rb_libtorrent-0.16.5.ebuild 1926 SHA256 284159e96120e1b6fe74b68ff005e146eef9d4a8c3522612c56121c53c5e130f SHA512 bb4b3b2e5d7c65fe603e4e8b7af611e6f7ea36921774d898042686e232e53e8c0ab8bdec28ddb9a6e648d5f1dc9a772f9b2511c999cc7b3b29d139d59aa2af88 WHIRLPOOL 4a025c28e7b02258d50bdb7e270a5fc1bb3c1db34c39665514dba3c0c65ad3d422fb967dbb06b4813412be2c7507932b7880099457c03d2db58bb1307e4f65ab
270 +EBUILD rb_libtorrent-0.16.8.ebuild 1925 SHA256 3001ade1d123144b5982f3413182044c4b9e9381912c8aca936ee9e334f3e1bf SHA512 3b68e48cb781480ff3410aa50383c5511f6bc00f22852c98e85d72b082509a0dc4b84bb2560ca25096aa5e37e26243069bd221da2d40f5f4ce0dd685d9333081 WHIRLPOOL b102dd12b2f1c221efad850aea9be8f75608bf2e9abf1a90d562909e19f9ad038ae2c8276355c0ce8d17964d7855123111903806e84db9d1589ab7dab863122a
271 +EBUILD rb_libtorrent-0.16.9.ebuild 1936 SHA256 afceca6d2fdac06aff54c5942fe76efc1173eea05c73848a2fd723733d8dc294 SHA512 945c616f3755d5b98d2054e6e602c789f4777fd79b2d4203df10b130f7992f2fff72f90712d12897e0f59072908ac34b32e2fb0e4da271f609ac508aebd8e118 WHIRLPOOL 5a242fa0d34501d50c3433779c6051247ef4cecd3a83daf5c6ccfe80dd3306b696e5a943af7e570e7be1845f2d72f7794eb26d8e3a9ee627e76673f5b42975e9
272 +MISC ChangeLog 27232 SHA256 17d0700424fe33f8a8101f9b0b6011b829fd89a5ccc3d3b23953e6bc793ab4d4 SHA512 b03cd93085d21833403e5c646e0c21e46bcaefac861963a6c128c8bac9785f86bf20d59866fb67d850311d45c19ac4282e52f624a086a7bf13907d64bd7a3444 WHIRLPOOL 3a55f9da6e947f0e95c51c87ea098a051489a45a8fb33f7dfc44e2aceacfaf1a3ddbe388f6cfd2451667c5ea9c1a055bb569649b0cbe306a7323d1a91ef3f860
273 +MISC metadata.xml 338 SHA256 c3c6440b48a876a0f8126eaf17c31f5f77f2eaf2d84068c9d43bfba6cd5d187c SHA512 b9b57d5e8f907705b27f55f31bc4d7e68c8f076162d2ca2f6a34be64a0e17c80f20798f15df493d7a1ba29d88148b1ddb49ef757acda58f2b7e1b5d1126d9418 WHIRLPOOL 1ca916d0c644bd428c6f21cd7c126cf6b8783a5b84eb4468712f6843bb14bff6869d39440af9c482a0bb9d40fd037aace45524609476b7e83d92420a757892f5
274
275 diff --git a/net-libs/rb_libtorrent/metadata.xml b/net-libs/rb_libtorrent/metadata.xml
276 index a074ba5..08864fd 100644
277 --- a/net-libs/rb_libtorrent/metadata.xml
278 +++ b/net-libs/rb_libtorrent/metadata.xml
279 @@ -2,7 +2,6 @@
280 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
281 <pkgmetadata>
282 <herd>net-p2p</herd>
283 - <herd>qt</herd>
284 <maintainer>
285 <email>hwoarang@g.o</email>
286 <name>Markos Chandras</name>
287
288 diff --git a/net-libs/rb_libtorrent/rb_libtorrent-0.15.10.ebuild b/net-libs/rb_libtorrent/rb_libtorrent-0.15.10.ebuild
289 index 2198ed5..cb9eb4e 100644
290 --- a/net-libs/rb_libtorrent/rb_libtorrent-0.15.10.ebuild
291 +++ b/net-libs/rb_libtorrent/rb_libtorrent-0.15.10.ebuild
292 @@ -1,6 +1,6 @@
293 # Copyright 1999-2012 Gentoo Foundation
294 # Distributed under the terms of the GNU General Public License v2
295 -# $Header: /var/cvsroot/gentoo-x86/net-libs/rb_libtorrent/rb_libtorrent-0.15.10.ebuild,v 1.1 2012/02/25 16:18:06 hwoarang Exp $
296 +# $Header: /var/cvsroot/gentoo-x86/net-libs/rb_libtorrent/rb_libtorrent-0.15.10.ebuild,v 1.7 2012/11/08 06:24:13 flameeyes Exp $
297
298 EAPI="4"
299 PYTHON_DEPEND="python? 2:2.6"
300 @@ -19,11 +19,11 @@ SRC_URI="http://libtorrent.googlecode.com/files/${MY_P}.tar.gz"
301
302 LICENSE="BSD"
303 SLOT="0"
304 -KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
305 +KEYWORDS="amd64 ~arm ppc ~ppc64 ~sparc x86 ~x86-fbsd"
306 IUSE="debug doc examples python ssl static-libs"
307 RESTRICT="test"
308
309 -DEPEND=">=dev-libs/boost-1.48[python?]
310 +DEPEND=">=dev-libs/boost-1.48[python?,threads(+)]
311 >=sys-devel/libtool-2.2
312 sys-libs/zlib
313 examples? ( !net-p2p/mldonkey )
314 @@ -48,12 +48,6 @@ src_configure() {
315 --with-boost-filesystem=boost_filesystem-mt \
316 --with-boost-thread=boost_thread-mt \
317 --with-boost-python=boost_python-${PYTHON_ABI}-mt"
318 - # detect boost version and location, bug 295474
319 - BOOST_PKG="$(best_version ">=dev-libs/boost-1.34.1")"
320 - BOOST_VER="$(get_version_component_range 1-2 "${BOOST_PKG/*boost-/}")"
321 - BOOST_VER="$(replace_all_version_separators _ "${BOOST_VER}")"
322 - BOOST_INC="${EPREFIX}/usr/include/boost-${BOOST_VER}"
323 - BOOST_LIB="${EPREFIX}/usr/$(get_libdir)/boost-${BOOST_VER}"
324
325 local LOGGING
326 use debug && LOGGING="--enable-logging=verbose"
327 @@ -66,8 +60,6 @@ src_configure() {
328 $(use_enable static-libs static) \
329 --with-zlib=system \
330 ${LOGGING} \
331 - --with-boost=${BOOST_INC} \
332 - --with-boost-libdir=${BOOST_LIB} \
333 ${BOOST_LIBS}
334 }
335
336
337 diff --git a/net-proxy/squid/Manifest b/net-proxy/squid/Manifest
338 index 6b87caf..6801f53 100644
339 --- a/net-proxy/squid/Manifest
340 +++ b/net-proxy/squid/Manifest
341 @@ -1,27 +1,36 @@
342 -AUX squid-2-heimdal.patch 776 RMD160 2ced12e7682356ee2eb660d877437c3ddad6476e SHA1 3a693c2c975fe4c77ee729d8af8ef28097b11fb6 SHA256 bd0083836321c596db3fc8749152bc77d5a4bd03070d33541b7b489af59e4c25
343 -AUX squid-2.7.9-gentoo.patch 13118 RMD160 44d2482b9c998c1641ab3e2d5c5701a4f6fb6165 SHA1 b5007d3d2df28c35b88c814b41fd4e182ad34f2b SHA256 981588dc2d599a2b49f550a1ae111e96515b437a03c8d0dccc6f96f078009d11
344 -AUX squid-3.1.15-gentoo.patch 10538 RMD160 f4ac679e89bdd8d43a2cd00b1a63d555a25b9528 SHA1 63b2c8a1767019b35b75403dd9a7bf6b33c69edc SHA256 75549600815236932f549e1c4e0286b6cbb4dc26a7e545abb96b7d29f0128ab3
345 -AUX squid-3.1.18-ecap.patch 1798 RMD160 ab216b7317ba1c1544eca1525285ec68e2d3cd6b SHA1 965fcb17440d11620390b208e516b6824b7d0016 SHA256 576866c7fefa8c927ea029ecdcf90851ffa24fa528f2894d73667bd6a508ce63
346 -AUX squid-3.2.1-gentoo.patch 4418 RMD160 c9e75cfab348bc8b1e7811d7899a9158f09bf946 SHA1 d7fb8f4a3aa4822c538af993aca04377afbd5068 SHA256 41da185c1af04590525fc9144c14edd160522b878efc2e62e8a992a001ad38e0
347 -AUX squid.confd 540 RMD160 aa4ec5a6eebad1222667aff6b3180931cf566b13 SHA1 1c0c23b08bd0450eae14604c2b45ca67c7ac25c5 SHA256 aeef7060c50074b65c664fc106d7319ce380d25320ee2ee00f7d6021846b88ec
348 -AUX squid.cron 143 RMD160 0706a7ad04691b9a93a2897c319008440483ba11 SHA1 6138db0eccb7320e707b8d60c2970ef684e29336 SHA256 4c9e2afe5b0bba583ce896233ea1f9262beeb1b6cf51b4adb48d5f5c03933b2f
349 -AUX squid.initd 3331 RMD160 90579b249baaf727fad9f6ceaaf8b2a1e5f1e97f SHA1 0b6f4e10d758619101f0ea56b5146dc268b8b3e0 SHA256 7a81926479941054358bce650c8c9d3f070a7b40c886e5ed3a337668997bc0ab
350 -AUX squid.initd-logrotate 3179 RMD160 d93ce329a691858a88a0b615c4dd9b8909a18783 SHA1 b0529bcbb47607656ad07200caa17c5c340dc6cc SHA256 3edb51b43218b8bdf5eee0f58f03d8a0fe5c470db1e81992c036649b1b1d5f85
351 -AUX squid.logrotate 103 RMD160 e7e4a6bde48e2735632692a6e628955b270f30ad SHA1 6e8d42f6a1a3109f0a26ed30edc7d91c6816e23f SHA256 e5ddce1c9af851040affa15e1a59e89d8db0f2eea7c461320a1d3784578f4482
352 -AUX squid.pam 315 RMD160 afb3f1cc36ba5ef0015c40040b6d5c18485ec828 SHA1 40933fabaaa2a9cb38d57c3acb77857082c82ae5 SHA256 68ef4282f9fb8506df710d0ae16e84e991e9b138c7f1d0af922682219c7a971f
353 -DIST squid-2.7.STABLE9.tar.gz 1789462 RMD160 59c63348beed9a672612d48f9ef5e7ca81fa9840 SHA1 6d90fe06468b662b2eefd7ffeb47b9a78f0a871d SHA256 d54ca048313c4b64609fcdf9f1934a70fc1702032a5f04073056d7491d3dd781
354 -DIST squid-3.1.15.tar.gz 3397495 RMD160 cf5910e15ed594cde5f205206d4c1ec65aa445f3 SHA1 c0cfdf54db5ca6ffc23c3f328175ec19f6465d8c SHA256 c56207691ec6ce19f7d19805b290b8f58c63c81e2070d7cd3a824a0b49509b2b
355 -DIST squid-3.1.16.tar.gz 3399527 RMD160 1a0010354b9417f2f4f7f6ffb8302d59639fe567 SHA1 f77a31d9e4b6092ba43d7f581dbcb7e2a4ddf377 SHA256 87fb621b2dc51b753ecfedc3b2d537b6cbfa8f29b242aeb3c055c547ed80466d
356 -DIST squid-3.1.18.tar.gz 3401300 RMD160 27bc3f868aa9d08bad7d44d23bc9c156007bf161 SHA1 6ae3a7d75acea94e8af333a7086d6467416ff5ac SHA256 6a7122514d58c3077f2b43c928864be10753d8e2c8439133dacc9eba6c45e00d
357 -DIST squid-3.1.19.tar.gz 3403110 RMD160 2bb06f095aa7e1fd8bcab50ad42c01fe1f9dd589 SHA1 688e47e755c018397d279e30ca215a28e1b535ef SHA256 1a2ebfd832364ada4793532dcc59fb79588ee3819cb80b77d8f53858f0166e34
358 -DIST squid-3.2.1.tar.gz 4100448 RMD160 a44456cdda613e8c205a9df6ad42f4dd362348c9 SHA1 ca5d742d2d0fe210b16e929373099b2e78799458 SHA256 793ba5f04f3d3797b624fe061f8be9ededdc9f68cd39c1b58df78861ed4382f7
359 -DIST squid-3.2.2.tar.gz 4102323 RMD160 8957e047452132c51d2ecdeb06a50c3d61ea543c SHA1 3df827e5eb861df0b6ac7654ef738512cb3f9297 SHA256 36828bb92f5f7cb4343b5d4ceebb654c6a1a1479e75a3514fa1a509495987916
360 -EBUILD squid-2.7.9.ebuild 6175 RMD160 a235925ac773d7d569a958366923e5a03adcc17c SHA1 0dbb84b76302c265ef4ee193035f5882d46146ed SHA256 587b0f52d2fb973f2686d947893191acf3a1770d467cd8134091fa2c07f01f3d
361 -EBUILD squid-3.1.15.ebuild 6621 RMD160 c959b10a7905e000bcf49ea296cbb191555ddfa0 SHA1 dde6be2583ce96050a23f964ae1bed8b58170b5b SHA256 911d065d38544a59af7ce6f4299fc282fdf10aa4bd0869503b45b214fdf87bbc
362 -EBUILD squid-3.1.16.ebuild 6629 RMD160 d759605f7c281d2649ee95c16ee38c26e274f7a1 SHA1 e09b67d54d7889b8d72dcaada878054ab79a3514 SHA256 2bc745da81ed998762d82deaae18addd6fb8011b44425860b89e721b1d2e6b21
363 -EBUILD squid-3.1.18.ebuild 6676 RMD160 c6050c085705097d6cbc116067e0176461c55acd SHA1 5426ff28c92c3ec6965d56c41d55f62960aca699 SHA256 3ab64d19f8b4f3189673cacef1a4420c4181748da78baca505956f11a537ce60
364 -EBUILD squid-3.1.19.ebuild 6747 RMD160 f953b8938901f99d567290ab218cc7223729f20e SHA1 b255011be3e34733a4e14f67e2e301c502cfa4ac SHA256 23d265d76271b39edc321aab98a6b110943a29487d1e2de3cacee1da912ff241
365 -EBUILD squid-3.2.1.ebuild 7701 RMD160 9fc946c84fae1b34a285d35d70356d5053f3aee5 SHA1 e1fc9e5269febb4da4f9ffc05467ff15ae915191 SHA256 bdca64f4790e313aaea63cc5217d866171eb92bd53ce7bbecbf104a90e97fa88
366 -EBUILD squid-3.2.2.ebuild 7604 RMD160 a27b2bb6afd379a51b4b562f97593b54df5aaa36 SHA1 9244953aa3b2c4da3e6651ecb363b9877466fe47 SHA256 c1944d31f379e32e95ea954bbe6f3a9cef6096e35bc04b197f2156e881191b6a
367 -MISC ChangeLog 71409 RMD160 17dde1b3f4c8b5472560de826e06cc4633eb2abd SHA1 58338465e32504333c0a86f8bd0a44ad138ddfe6 SHA256 69acc9c137d52de40f32ca87ee526a8ee648eedc1810b514d0d67a86932fb95a
368 -MISC metadata.xml 1015 RMD160 03ac3fffc7b01e366b173a4c3bf1dc6be1bb9202 SHA1 3c1681981e2a143ee50d0ee5bc901ac81e7c5cc4 SHA256 06d8e8a7909b9140eb2e70193db754b84d864da260d6cdf9bde9fa58442ce34a
369 +AUX squid-2-heimdal.patch 776 SHA256 bd0083836321c596db3fc8749152bc77d5a4bd03070d33541b7b489af59e4c25 SHA512 78ac4e930dbf4296036fff9022572e455ed7999eddfcc0b13d34da74bc1c994665fbe30f2e3322f1efa31834a555ed1dce2b3327b4d97bfd03363ae03164d410 WHIRLPOOL f8a54ea5f52968958607df7ebd467b591fbc9189de5b03d1f871b534980858348929b25f3fc3a2fb2ec968655a73e9323f2fe79d2b0b43558669714edba7996b
370 +AUX squid-2.7.9-gentoo.patch 13118 SHA256 981588dc2d599a2b49f550a1ae111e96515b437a03c8d0dccc6f96f078009d11 SHA512 358fb2e28fc7eb9cee573c05e1becee9ad9ce0cacde106f0809ca2e12ec6ca0a1d68eab81a34879d2ca7b05adcacb33502369266b3c9eed249f2506e0c55492d WHIRLPOOL b8c62251f4d1e54d50b301ac807e9bf08d6c777432795820f993b2a4f29be7491b60c13b3200a16f79280b8e2e410c2ca34a0a5820da8493fdcceea0e3b82e59
371 +AUX squid-3.1.15-gentoo.patch 10538 SHA256 75549600815236932f549e1c4e0286b6cbb4dc26a7e545abb96b7d29f0128ab3 SHA512 6e2a26e7cb99664046619f3d4cb9e87998b462f7de09d6fbf4a269ccf2da758d5caad35c0ec43c5c9c5a9eb8943ecf14a0cdb67fa2a117bc3be4d9a41a920451 WHIRLPOOL 5dfce88287693fd75902b58c7d7759bd083173e8e69bf4f7c725a196a8d4d1f92e5e3e98dc7c727f01d62f5e049fe2599f6f9e02eb92c13a8bf09f8c4387dbd7
372 +AUX squid-3.1.18-ecap.patch 1798 SHA256 576866c7fefa8c927ea029ecdcf90851ffa24fa528f2894d73667bd6a508ce63 SHA512 d5957f1898a0cfb072b19f2bf2e3ca0c6fdf9d8421ce907df173ac2948dede62c1cd738614b79c004c36dd1b7c1f7ef4a74d2962f9ab52c497d1d73ca16284cc WHIRLPOOL f58a4fdee3af2921908fd17621977b311fc4d3a25e04857a79971811ccda337a21ff5aa8f6e9d80588120d103356c988deb8c71250be7752d1c6e930da76c609
373 +AUX squid-3.2.1-gentoo.patch 4418 SHA256 41da185c1af04590525fc9144c14edd160522b878efc2e62e8a992a001ad38e0 SHA512 08ba6aac7de61aaae9a96c42801dbb8e414a2b8ec7bccd80afb1973f7c9949dacee4011e54d050c7ae46a06d2914ca8a42629af5707c6810b1547e3b66ccd5c0 WHIRLPOOL 2f8ba78840e46a3b8e780b653d8084f9c0e8b4d0793f4b06cb7faf9c6ae32b193de923b411c394278747ad9574cbf317f72f97467fbca386db4c4f1bd0f1ba50
374 +AUX squid-3.3.4-gentoo.patch 4358 SHA256 d52c1c89c81540dfd6c464f7c4245857fdd6cc9e45568a03d4f028fe5feb8bb0 SHA512 b1bfb0a1298e30ce30681b8bcaed292a883f8153e3df61861d1dfd691c5f4d5bc4651531ac69932fcbdc74c5896ed4495d54810203d4c0674ceb49b33454f297 WHIRLPOOL 3b98a43c1cc98d20f28dd5eb096344ff80ec5de1e4e17c4a3b8fb5d89044b6090466bfd3a7e24dfb975d9e02009af900372ee8c791991921def12820a191da97
375 +AUX squid-3.3.9-xml2.patch 4067 SHA256 6a79556fb255ce71768e97c5493ac5de3f48bdacfabf1cabed57fe44bf27b119 SHA512 05440724d169c15bd3177af0ca4739665e3c0c0915fd51c84c06ff22a02b5a94f062ac0e56f4859cda11a5a94ad2341abe3f69de0781f26da14a8d803964707f WHIRLPOOL dc0fc9c13254788ce323474bc3d5f915a9704f2a15cc9c111fca40794c488e46e14c2645f0c060a39d7c5c1354096f340ff1394f5fe2c58fab4779b60511bf96
376 +AUX squid.confd 540 SHA256 aeef7060c50074b65c664fc106d7319ce380d25320ee2ee00f7d6021846b88ec SHA512 db9a9f2d476df279e1f2c9ec6bdec42d0c4cd9117c78e2ce5876855bd91add5c01bf06d34456e9146fe70374b118ae20a8e75bf07254aa335dd3190e11c72d23 WHIRLPOOL 55863f771bb4ffc39dd809e5233bbfce994a8e4345f84d264c427b7d5d571c998b0011b71f878df2ff4d7037da250e62296f9c962a8118532e25af9297471995
377 +AUX squid.confd-r1 493 SHA256 214a184495a3384eb452caef435256043bc51e35140a61b1f5fdff32603c8f7e SHA512 3f92645275e077bcf36e4cd2ccb56812540276d9456bc6f68268010aac57214f0d96b0aff74dc57cbc3446705a9fae8a5bb7a07304afeea45615ebf2cf2b7ab0 WHIRLPOOL 080cfb797ddb49f7c59463eaef0db8c3a6ec5e5da949884e9ccdf54d608b22fb81971aec21fab704c832c86a8c8e3d4795a7b09456c273d7c4bbb65692a68870
378 +AUX squid.cron 143 SHA256 4c9e2afe5b0bba583ce896233ea1f9262beeb1b6cf51b4adb48d5f5c03933b2f SHA512 cec563c20799ffea8b4fb418d5015d6dc437bd38c35e7150ed01bc298dab5214132e10f4e7b8176da1966e16a7f53f423c36e8419642cb16716f5c346c30d749 WHIRLPOOL 029c94d4e4826ee612c7dc12acc088e3100c9d1737baebb74b25b6e7ac2ba78d0bab9f744c12b5de4113c9727892c9a30dd17067409ac8da62afeee552de391e
379 +AUX squid.initd 3331 SHA256 7a81926479941054358bce650c8c9d3f070a7b40c886e5ed3a337668997bc0ab SHA512 6b5157ed3f4db52db9064a5cfcf5ce3429caf38cefbe61955154f2b6371ade5916b278b61ed01ced51cbd11e283553f7c4bde09e97c261a75a6a1da9bb1cfeb1 WHIRLPOOL bc549677659f88280e9f424deb6cd84de9d564707b949e59d425680f2f2565c7579c6a27fe09794887eef8498d5522efcb2035b81e3bfd48e2f34073438cadd4
380 +AUX squid.initd-logrotate 3179 SHA256 3edb51b43218b8bdf5eee0f58f03d8a0fe5c470db1e81992c036649b1b1d5f85 SHA512 a63eaa48fb41dfaa280eae7655eec3f12ab6f9f0ebd9575ac85b1d243a5b21da0df796076a6264b2a1818c700aa50d61478dfcde46302bd32ed8d9be1ccf8299 WHIRLPOOL 27968fd84b67442b24e98d774a6f4038267e614203d42705ae85866c777ed1c71361e287bf8e4cdf0ca6672601b5bdf6817cf68470fdd28de7fb7137a842e98e
381 +AUX squid.initd-logrotate-r1 3167 SHA256 cd245c5561a9ded59d71f1e73b3c97a56e4253325dec7054435b4d07d222e9a0 SHA512 818d875560f0b85920353af9ee2337c1109d14c34d623583708a44a53169889b864a281d03aa64ef1809b11852a619eca086b632aec8360750fa8ae8d7f22e99 WHIRLPOOL c15bf7f705f1c0f9d6a714ab97c73a2793d8a0e9a15cb2cc17e717f4729ea3cd892fd8969c5ba3afeff41586f424ded077aaef3958a64a2c14584a905061f4b7
382 +AUX squid.initd-logrotate-r3 3133 SHA256 02a7f23a30acce6a3090b324e8c70c0f966380364f839bb0e58935a9a6820b35 SHA512 7e96f4d523d10531b546fece23cb62f073de08181ff796e744190964d1d584400855fa4fb2ad43ed966d92de0c6826efdb19f24ab453ffd3b60e600543de34fa WHIRLPOOL a82b693268afec6149c2f61c4c2c28472f6190e0e6070805f23c380c20df1729e57e0a581fdbd657332f9bf772e27a2269f855d2240952b586cfcfe1476d1089
383 +AUX squid.initd-r1 3319 SHA256 f38e04ba1e295e9bbb537e353823c4bd738d206f4790d024e65aacfefbfe7abb SHA512 fc60c330dfebc2ff9f964b6475d8d00fcf69211384b605b68fef95daf5adc23c0d9fe1b72d858923449f7f024e8520bb7aa17d1ffa55e40f8de2726aa234125a WHIRLPOOL 27a43a425b67fb00a654b9bb71062aac63c7c4885bbd9493341043bb7147f8f7ac89ab79e015008f9da10b0a68f00b038d1ef932f7e0c350dfc9b3fc0fd9033e
384 +AUX squid.initd-r3 3285 SHA256 9b16b1ab2d3d3411dfcd8ac76b13a0889503ca78e3c6123814801af7577537f3 SHA512 3ec1a924922dcaf6634eda6f18e7010c722294e446aeb997fe77f539bdd1a45c7aa0551a356d9e4b90419e815cc0a2d1fa119575cdff4d0477f9bc3f8c6b8aff WHIRLPOOL 3f8c1070ffe5114de7a50f0eda2ff6d5c814eafb63942b8a80e6fab27be6ee2364676227aed18995a4151e38d7a1f51398ca31a771682ba811bc4a73831f38ed
385 +AUX squid.logrotate 103 SHA256 e5ddce1c9af851040affa15e1a59e89d8db0f2eea7c461320a1d3784578f4482 SHA512 d75a667c3ffa32fdd938ef40df8813a467d9f10b2363107bf915cb0c99834fbe8d0eb502a18a816875b67b0db1b27806ed3caf620c38516040cb644b225f5a55 WHIRLPOOL 1cbce1fb05d4661d26f80baeafad0d3a5de1108a21eb6519775b9be2c549d1ca1b85575b72941fd246e4e9fbdf466b302b767aa7ce002f990f6ca4a9844e1e41
386 +AUX squid.pam 315 SHA256 68ef4282f9fb8506df710d0ae16e84e991e9b138c7f1d0af922682219c7a971f SHA512 a73c98eef2d99bfd871c192195f3c815bff1cd4fa66b87ac185fde891e5cf5fb464fe0ce376c16ac68065c53726784229ad96c24835138244eee2ca2807887c3 WHIRLPOOL e8a6345c634694ce1e21fc4d69ea059d2da9f5d3b7ad34b4a49c570161cddab615fb4ed9e274397ddd4887e4b027aa90339bb8fbb5a71f3bdf506d70cefb99c1
387 +DIST squid-2.7.STABLE9.tar.gz 1789462 SHA256 d54ca048313c4b64609fcdf9f1934a70fc1702032a5f04073056d7491d3dd781
388 +DIST squid-3.1.15.tar.gz 3397495 SHA256 c56207691ec6ce19f7d19805b290b8f58c63c81e2070d7cd3a824a0b49509b2b
389 +DIST squid-3.1.16.tar.gz 3399527 SHA256 87fb621b2dc51b753ecfedc3b2d537b6cbfa8f29b242aeb3c055c547ed80466d
390 +DIST squid-3.1.18.tar.gz 3401300 SHA256 6a7122514d58c3077f2b43c928864be10753d8e2c8439133dacc9eba6c45e00d
391 +DIST squid-3.1.19.tar.gz 3403110 SHA256 1a2ebfd832364ada4793532dcc59fb79588ee3819cb80b77d8f53858f0166e34
392 +DIST squid-3.2.1.tar.gz 4100448 SHA256 793ba5f04f3d3797b624fe061f8be9ededdc9f68cd39c1b58df78861ed4382f7
393 +DIST squid-3.2.2.tar.gz 4102323 SHA256 36828bb92f5f7cb4343b5d4ceebb654c6a1a1479e75a3514fa1a509495987916
394 +DIST squid-3.3.9.tar.gz 4226863 SHA256 0bbb10739bcd8d3ede982246990445ff9b84348b9c5a38021c5afbfd28d9b413 SHA512 26c91d20804bf35fe36f4efdb790ef7b589383e75e6e4656d5fee6b05dc1a48b7491b4ce4d3bc8acf7f4caab8c395a43eaa84f88cd41a1d2efad529504f2ddd4 WHIRLPOOL 2f4eeee0c8376fe0bb422deda81a33470b84e871385d34129b9801fb4a5111687694c7947a4b36cdbb0dd831d69f9be966cc36bc7d60a1f52b2025c3ccd8bbeb
395 +EBUILD squid-2.7.9.ebuild 6175 SHA256 587b0f52d2fb973f2686d947893191acf3a1770d467cd8134091fa2c07f01f3d SHA512 7e372f23f286f76dc4d32a87c207fb63cc487b08184cb570eceb68c77c8228320b7d5106789848de0797aa0e36efa9f83429a9d01d7f2e2394a4826c25cc02c7 WHIRLPOOL c96d155cd38705e09f3515d73663da6617efe2857badd8d48b8ad402f1a4f61d4a261704ff5649746a2b1bd0f5aff25dde2de78eaa49576e759e0c3ca4f9c33a
396 +EBUILD squid-3.1.15.ebuild 6621 SHA256 911d065d38544a59af7ce6f4299fc282fdf10aa4bd0869503b45b214fdf87bbc SHA512 22cc52dfb272d500c3eb37ef73ec2d021d5ffda2166252ae2c84f7586b26ec1205cb2ba66748ae037d002764c4d820c3a9d748cf3eeecd677d4fd2e831091640 WHIRLPOOL fadf129cec7b7f49e302fe82ad2ad9461da90670feb4beab8f961f08f9ddb019218326ffd5e56cfe019441c52b52fb4d0df59b74869cce39667b4c0ebcd908de
397 +EBUILD squid-3.1.16.ebuild 6629 SHA256 2bc745da81ed998762d82deaae18addd6fb8011b44425860b89e721b1d2e6b21 SHA512 d6a7c8482f0e09dc154314281c24bbb8365c75c983f8b0d93ef65d8448c0a2fd664b1ac98ad467f05d77effbc3d9db2dc909b122d68ac561f6d45d9464db1b88 WHIRLPOOL daffd167ca401f42c03dee621bc8825a1d53b7f38e75ca2f16e59318b30b9b4dbdffa2b8b49d27a65b9cbb0302adfce592b0e049c0e9027897f17331f84d3900
398 +EBUILD squid-3.1.18.ebuild 6676 SHA256 3ab64d19f8b4f3189673cacef1a4420c4181748da78baca505956f11a537ce60 SHA512 de4067f10072d3f7f6e31a3a4d41e0050730bfeaf6414fca01af114535b04531aa293c5c7745783397d709a882be9062f0ac9407b0275d7ab2c360b3f5015cbd WHIRLPOOL 0425cd30cd74d43ec1ce2519fd85c5b073da0fb78189e6cec90bf8ad5f6493d795c991863217dbc7399848aad6ee2a1462fd989d1755462a187cfc6fa12c3f75
399 +EBUILD squid-3.1.19.ebuild 6747 SHA256 23d265d76271b39edc321aab98a6b110943a29487d1e2de3cacee1da912ff241 SHA512 536435a72117c5d5d643827b2cb3ace5b3ae84ede684a34c68b695fbb1938c1308b6e522dc99eb6fd0b0dd6c8c92e488d85838adf03f344fe36b9a90b9ae7998 WHIRLPOOL 50e78fecdbe8b1268ceec47d2d479845a425159abf8bc41413e74f11c3a867bc2af3b02f89980cc35be07b3fc3fad3f83a7a22617159309b1d23cf63de586fad
400 +EBUILD squid-3.2.1.ebuild 7701 SHA256 bdca64f4790e313aaea63cc5217d866171eb92bd53ce7bbecbf104a90e97fa88 SHA512 9fecf47ae6629234bce133b77a9f2ff01f0966fd5d44d3f35fbf5dbf20f3587982a6ec5c8563566eaf3bde4a5138fa6df25a5a3d467c22ad073cefe473047373 WHIRLPOOL 97f1ccae1a9dea2216d8a7e8883ece61e25d2df9b02a950785cf2dbf681ae69e7675559aa3f97064cc87341be9fb135ecda98926ad9688a8ef915859f78ca12a
401 +EBUILD squid-3.2.2.ebuild 7604 SHA256 c1944d31f379e32e95ea954bbe6f3a9cef6096e35bc04b197f2156e881191b6a SHA512 0b4b923b085ec87216394036e1758ea78f148361274e95a2ad142ca377f8c74288d507a66f27af62845c9aed90dec6b70cd7e1810389cc4636f2991827378f86 WHIRLPOOL 371442c26ebdb3ab06f5cfab7c4074c9718a235d033865ed74a4bc6f3159a94f3d85f397b2aac3bf4313890531ef1f32f4ac7b37be230c29e456e466c967e320
402 +EBUILD squid-3.3.9.ebuild 7991 SHA256 4692a7cd9d1b6ec9aab04be1296588bcc77618d0734a7e02d505428fadf612a1 SHA512 1122efcf1f0c507ec7f50f0d59e2c3bc882c28cce5bc2906fe850798f71b11a5c4e6e173013b62fe4e2d894190a67bce935e2fcd3e55dfbffd1cdacff35b064c WHIRLPOOL 767a7b4deccd4399ed6ca97f766530721d283cdae32779031cecbf8801ae46f4b874a37b0b6623ee5a7f48c8a7d8ffcac9e30f1c1638a54252f26a6704f70526
403 +MISC ChangeLog 71409 SHA256 69acc9c137d52de40f32ca87ee526a8ee648eedc1810b514d0d67a86932fb95a SHA512 77da22ad2f29f713fc77595e4fc61af82fb66d86c473711fffe03f0282106e8ae34c4a492a92cd5aad4bb6a9bdebf55a2c1595079a927914ae9d51bb81bb93b7 WHIRLPOOL aa9b7b6b57e690c8ea25d1ae366fcb72703032e5ba3bea5f2db8c3b633491856e17578ece1b7ed1a7f94cf6aedb35f0661fb57a0ec0af4eba6f987a3b8fb6c82
404 +MISC metadata.xml 1015 SHA256 06d8e8a7909b9140eb2e70193db754b84d864da260d6cdf9bde9fa58442ce34a SHA512 59474edefd493e948d94b7a20332d35028244d382fab9c3b9a2297f1fb7a1323af50d474f162554b39fc50230f04dabe8633fbeb6386e0a14d8e93623be5be1d WHIRLPOOL 5a5816a9789983a1cbcfa098e8d8bb37f5c723c7ec1ac3d4c146b85b4e963b0118aea4e3fa6781f197c9c4013ddc9263aa6266c489da323b0bb69f8c6c1f8bdf
405
406 diff --git a/scripts/bootstrap-rap.sh b/scripts/bootstrap-rap.sh
407 new file mode 100755
408 index 0000000..30823d8
409 --- /dev/null
410 +++ b/scripts/bootstrap-rap.sh
411 @@ -0,0 +1,2038 @@
412 +#!/usr/bin/env bash
413 +# Copyright 2006-2012 Gentoo Foundation; Distributed under the GPL v2
414 +# $Id: bootstrap-prefix.sh 61665 2013-08-01 07:31:22Z grobian $
415 +
416 +trap 'exit 1' TERM KILL INT QUIT ABRT
417 +
418 +# some basic output functions
419 +eerror() { echo "!!! $*" 1>&2; }
420 +einfo() { echo "* $*"; }
421 +
422 +# prefer gtar over tar
423 +[[ x$(type -t gtar) == "xfile" ]] \
424 + && TAR="gtar" \
425 + || TAR="tar"
426 +
427 +## Functions Start Here
428 +
429 +econf() {
430 + ${CONFIG_SHELL} ./configure \
431 + --host=${CHOST} \
432 + --prefix="${ROOT}"/usr \
433 + --mandir="${ROOT}"/usr/share/man \
434 + --infodir="${ROOT}"/usr/share/info \
435 + --datadir="${ROOT}"/usr/share \
436 + --sysconfdir="${ROOT}"/etc \
437 + --localstatedir="${ROOT}"/var/lib \
438 + --build=${CHOST} \
439 + "$@" || return 1
440 +}
441 +
442 +efetch() {
443 + if [[ ! -e ${DISTDIR}/${1##*/} ]] ; then
444 + if [[ -z ${FETCH_COMMAND} ]] ; then
445 + # Try to find a download manager, we only deal with wget,
446 + # curl, FreeBSD's fetch and ftp.
447 + if [[ x$(type -t wget) == "xfile" ]] ; then
448 + FETCH_COMMAND="wget"
449 + elif [[ x$(type -t ftp) == "xfile" ]] ; then
450 + FETCH_COMMAND="ftp"
451 + elif [[ x$(type -t curl) == "xfile" ]] ; then
452 + einfo "WARNING: curl doesn't fail when downloading fails, please check its output carefully!"
453 + FETCH_COMMAND="curl -L -O"
454 + elif [[ x$(type -t fetch) == "xfile" ]] ; then
455 + FETCH_COMMAND="fetch"
456 + else
457 + eerror "no suitable download manager found (need wget, curl, fetch or ftp)"
458 + eerror "could not download ${1##*/}"
459 + exit 1
460 + fi
461 + fi
462 +
463 + mkdir -p "${DISTDIR}" >& /dev/null
464 + einfo "Fetching ${1##*/}"
465 + pushd "${DISTDIR}" > /dev/null
466 + # try for mirrors first, then try given location
467 + ${FETCH_COMMAND} "${GENTOO_MIRRORS}/distfiles/${1##*/}"
468 + [[ ! -f ${1##*/} && ${1} != ${GENTOO_MIRRORS}/distfiles/${1##*/} ]] \
469 + && ${FETCH_COMMAND} "$1"
470 + if [[ ! -f ${1##*/} ]] ; then
471 + eerror "downloading ${1} failed!"
472 + return 1
473 + fi
474 + popd > /dev/null
475 + fi
476 + return 0
477 +}
478 +
479 +# template
480 +# bootstrap_() {
481 +# PV=
482 +# A=
483 +# einfo "Bootstrapping ${A%-*}"
484 +
485 +# efetch ${A} || return 1
486 +
487 +# einfo "Unpacking ${A%-*}"
488 +# export S="${PORTAGE_TMPDIR}/${PN}"
489 +# rm -rf ${S}
490 +# mkdir -p ${S}
491 +# cd ${S}
492 +# $TAR -zxf ${DISTDIR}/${A} || return 1
493 +# S=${S}/${PN}-${PV}
494 +# cd ${S}
495 +
496 +# einfo "Compiling ${A%-*}"
497 +# econf || return 1
498 +# $MAKE ${MAKEOPTS} || return 1
499 +
500 +# einfo "Installing ${A%-*}"
501 +# $MAKE install || return 1
502 +
503 +# einfo "${A%-*} successfully bootstrapped"
504 +# }
505 +
506 +set_profile() {
507 + # switch profiles in used for different phases of stage3
508 + # Phase 1: bootstrap base system on glibc
509 + # Phase 2: final
510 + local profile
511 + case $1 in
512 + 1) profile="${PORTDIR_RAP}"/profiles/bootstrap/glibc ;;
513 + 2) profile="${PORTDIR_RAP}"/profiles/$(sed 's,../,,' < "${PORTDIR_RAP}"/profiles/bootstrap/parent) ;;
514 + esac
515 +
516 + rm -f ${ROOT}/etc/portage/make.profile
517 + ln -s "${profile}" "${ROOT}"/etc/portage/make.profile
518 + local file=make.defaults
519 + [[ -e "${profile}"/${file}.in ]] && \
520 + sed "s,@GENTOO_PORTAGE_EPREFIX@,${ROOT},g" "${profile}"/${file}.in > "${profile}"/${file}
521 +
522 + einfo "Your profile is set to ${profile} at phase $1."
523 +}
524 +
525 +bootstrap_setup() {
526 + local profile=""
527 + local keywords=""
528 + local ldflags_make_defaults=""
529 + local extra_make_globals=""
530 + einfo "setting up some guessed defaults"
531 + case ${CHOST} in
532 + powerpc-apple-darwin7)
533 + profile="${PORTDIR}/profiles/prefix/darwin/macos/10.3"
534 + ldflags_make_defaults="LDFLAGS=\"-Wl,-search_paths_first -L${ROOT}/usr/lib -L${ROOT}/lib -L${ROOT}/tmp/usr/lib\""
535 + ;;
536 + powerpc-apple-darwin[89])
537 + rev=${CHOST##*darwin}
538 + profile="${PORTDIR}/profiles/prefix/darwin/macos/10.$((rev - 4))/ppc"
539 + ldflags_make_defaults="LDFLAGS=\"-Wl,-search_paths_first -L${ROOT}/usr/lib -L${ROOT}/lib -L${ROOT}/tmp/usr/lib\""
540 + ;;
541 + powerpc64-apple-darwin[89])
542 + rev=${CHOST##*darwin}
543 + profile="${PORTDIR}/profiles/prefix/darwin/macos/10.$((rev - 4))/ppc64"
544 + ldflags_make_defaults="LDFLAGS=\"-Wl,-search_paths_first -L${ROOT}/usr/lib -L${ROOT}/lib -L${ROOT}/tmp/usr/lib\""
545 + extra_make_globals="
546 +CC='gcc -m64'
547 +CXX='g++ -m64'
548 +HOSTCC='gcc -m64'
549 +"
550 + ;;
551 + i*86-apple-darwin[89])
552 + rev=${CHOST##*darwin}
553 + profile="${PORTDIR}/profiles/prefix/darwin/macos/10.$((rev - 4))/x86"
554 + ldflags_make_defaults="LDFLAGS=\"-Wl,-search_paths_first -L${ROOT}/usr/lib -L${ROOT}/lib -L${ROOT}/tmp/usr/lib\""
555 + ;;
556 + i*86-apple-darwin1[012])
557 + rev=${CHOST##*darwin}
558 + profile="${PORTDIR}/profiles/prefix/darwin/macos/10.$((rev - 4))/x86"
559 + ldflags_make_defaults="LDFLAGS=\"-Wl,-search_paths_first -L${ROOT}/usr/lib -L${ROOT}/lib -L${ROOT}/tmp/usr/lib\""
560 + extra_make_globals="
561 +CC='gcc -m32'
562 +CXX='g++ -m32'
563 +HOSTCC='gcc -m32'
564 +"
565 + ;;
566 + x86_64-apple-darwin9|x86_64-apple-darwin1[012])
567 + rev=${CHOST##*darwin}
568 + profile="${PORTDIR}/profiles/prefix/darwin/macos/10.$((rev - 4))/x64"
569 + ldflags_make_defaults="LDFLAGS=\"-Wl,-search_paths_first -L${ROOT}/usr/lib -L${ROOT}/lib -L${ROOT}/tmp/usr/lib\""
570 + extra_make_globals="
571 +CC='gcc -m64'
572 +CXX='g++ -m64'
573 +HOSTCC='gcc -m64'
574 +"
575 + ;;
576 + i*86-pc-linux-gnu)
577 + profile="../default/linux/x86/13.0/rap"
578 + ;;
579 + x86_64-pc-linux-gnu)
580 + profile="../default/linux/amd64/13.0/rap"
581 + ;;
582 + ia64-pc-linux-gnu)
583 + profile="${PORTDIR}/profiles/prefix/linux/ia64"
584 + ldflags_make_defaults="LDFLAGS=\"-L${ROOT}/usr/lib -Wl,-rpath=${ROOT}/usr/lib -L${ROOT}/lib -Wl,-rpath=${ROOT}/lib -L${ROOT}/tmp/usr/lib -Wl,-rpath=${ROOT}/tmp/usr/lib\""
585 + ;;
586 + powerpc-unknown-linux-gnu)
587 + profile="${PORTDIR}/profiles/prefix/linux/ppc"
588 + ldflags_make_defaults="LDFLAGS=\"-L${ROOT}/usr/lib -Wl,-rpath=${ROOT}/usr/lib -L${ROOT}/lib -Wl,-rpath=${ROOT}/lib -L${ROOT}/tmp/usr/lib -Wl,-rpath=${ROOT}/tmp/usr/lib\""
589 + ;;
590 + powerpc64-unknown-linux-gnu)
591 + profile="${PORTDIR}/profiles/prefix/linux/ppc64"
592 + ldflags_make_defaults="LDFLAGS=\"-L${ROOT}/usr/lib -Wl,-rpath=${ROOT}/usr/lib -L${ROOT}/lib -Wl,-rpath=${ROOT}/lib -L${ROOT}/tmp/usr/lib -Wl,-rpath=${ROOT}/tmp/usr/lib\""
593 + ;;
594 + armv7a-hardfloat-linux-gnueabi)
595 + profile="../default/linux/arm/13.0/armv7a/rap"
596 + ;;
597 + armv5tel-softfloat-linux-gnueabi)
598 + profile="../default/linux/arm/13.0/armv5te/rap"
599 + ;;
600 + sparc-sun-solaris2.9)
601 + profile="${PORTDIR}/profiles/prefix/sunos/solaris/5.9/sparc"
602 + ldflags_make_defaults="LDFLAGS=\"-L${ROOT}/usr/lib -R${ROOT}/usr/lib -L${ROOT}/lib -R${ROOT}/lib -L${ROOT}/tmp/usr/lib -R${ROOT}/tmp/usr/lib\""
603 + ;;
604 + sparcv9-sun-solaris2.9)
605 + profile="${PORTDIR}/profiles/prefix/sunos/solaris/5.9/sparc64"
606 + ldflags_make_defaults="LDFLAGS=\"-L${ROOT}/usr/lib -R${ROOT}/usr/lib -L${ROOT}/lib -R${ROOT}/lib -L${ROOT}/tmp/usr/lib -R${ROOT}/tmp/usr/lib\""
607 + extra_make_globals="
608 +CC='gcc -m64'
609 +CXX='g++ -m64'
610 +HOSTCC='gcc -m64'
611 +"
612 + # we need this, or binutils can't link, can't add it to -L,
613 + # since then binutils breaks on finding an old libiberty.a
614 + # from there instead of its own
615 + cp /usr/sfw/lib/64/libgcc_s.so.1 "${ROOT}"/tmp/usr/lib/
616 + ;;
617 + i386-pc-solaris2.10)
618 + profile="${PORTDIR}/profiles/prefix/sunos/solaris/5.10/x86"
619 + ldflags_make_defaults="LDFLAGS=\"-L${ROOT}/usr/lib -R${ROOT}/usr/lib -L${ROOT}/lib -R${ROOT}/lib -L${ROOT}/tmp/usr/lib -R${ROOT}/tmp/usr/lib\""
620 + ;;
621 + x86_64-pc-solaris2.10)
622 + profile="${PORTDIR}/profiles/prefix/sunos/solaris/5.10/x64"
623 + ldflags_make_defaults="LDFLAGS=\"-L${ROOT}/usr/lib -R${ROOT}/usr/lib -L${ROOT}/lib -R${ROOT}/lib -L${ROOT}/tmp/usr/lib -R${ROOT}/tmp/usr/lib\""
624 + extra_make_globals="
625 +CC='gcc -m64'
626 +CXX='g++ -m64'
627 +HOSTCC='gcc -m64'
628 +"
629 + # we need this, or binutils can't link, can't add it to -L,
630 + # since then binutils breaks on finding an old libiberty.a
631 + # from there instead of its own
632 + cp /usr/sfw/lib/64/libgcc_s.so.1 "${ROOT}"/tmp/usr/lib/
633 + ;;
634 + sparc-sun-solaris2.10)
635 + profile="${PORTDIR}/profiles/prefix/sunos/solaris/5.10/sparc"
636 + ldflags_make_defaults="LDFLAGS=\"-L${ROOT}/usr/lib -R${ROOT}/usr/lib -L${ROOT}/lib -R${ROOT}/lib -L${ROOT}/tmp/usr/lib -R${ROOT}/tmp/usr/lib\""
637 + ;;
638 + sparcv9-sun-solaris2.10)
639 + profile="${PORTDIR}/profiles/prefix/sunos/solaris/5.10/sparc64"
640 + ldflags_make_defaults="LDFLAGS=\"-L${ROOT}/usr/lib -R${ROOT}/usr/lib -L${ROOT}/lib -R${ROOT}/lib -L${ROOT}/tmp/usr/lib -R${ROOT}/tmp/usr/lib\""
641 + extra_make_globals="
642 +CC='gcc -m64'
643 +CXX='g++ -m64'
644 +HOSTCC='gcc -m64'
645 +"
646 + # we need this, or binutils can't link, can't add it to -L,
647 + # since then binutils breaks on finding an old libiberty.a
648 + # from there instead of its own
649 + cp /usr/sfw/lib/64/libgcc_s.so.1 "${ROOT}"/tmp/usr/lib/
650 + ;;
651 + i386-pc-solaris2.11)
652 + profile="${PORTDIR}/profiles/prefix/sunos/solaris/5.11/x86"
653 + ldflags_make_defaults="LDFLAGS=\"-L${ROOT}/usr/lib -R${ROOT}/usr/lib -L${ROOT}/lib -R${ROOT}/lib -L${ROOT}/tmp/usr/lib -R${ROOT}/tmp/usr/lib\""
654 + ;;
655 + x86_64-pc-solaris2.11)
656 + profile="${PORTDIR}/profiles/prefix/sunos/solaris/5.11/x64"
657 + ldflags_make_defaults="LDFLAGS=\"-L${ROOT}/usr/lib -R${ROOT}/usr/lib -L${ROOT}/lib -R${ROOT}/lib -L${ROOT}/tmp/usr/lib -R${ROOT}/tmp/usr/lib\""
658 + extra_make_globals="
659 +CC='gcc -m64'
660 +CXX='g++ -m64'
661 +HOSTCC='gcc -m64'
662 +"
663 + # we need this, or binutils can't link, can't add it to -L,
664 + # since then binutils breaks on finding an old libiberty.a
665 + # from there instead of its own
666 + cp /usr/sfw/lib/64/libgcc_s.so.1 "${ROOT}"/tmp/usr/lib/
667 + ;;
668 + sparc-sun-solaris2.11)
669 + profile="${PORTDIR}/profiles/prefix/sunos/solaris/5.11/sparc"
670 + ldflags_make_defaults="LDFLAGS=\"-L${ROOT}/usr/lib -R${ROOT}/usr/lib -L${ROOT}/lib -R${ROOT}/lib -L${ROOT}/tmp/usr/lib -R${ROOT}/tmp/usr/lib\""
671 + ;;
672 + sparcv9-sun-solaris2.11)
673 + profile="${PORTDIR}/profiles/prefix/sunos/solaris/5.11/sparc64"
674 + ldflags_make_defaults="LDFLAGS=\"-L${ROOT}/usr/lib -R${ROOT}/usr/lib -L${ROOT}/lib -R${ROOT}/lib -L${ROOT}/tmp/usr/lib -R${ROOT}/tmp/usr/lib\""
675 + extra_make_globals="
676 +CC='gcc -m64'
677 +CXX='g++ -m64'
678 +HOSTCC='gcc -m64'
679 +"
680 + # we need this, or binutils can't link, can't add it to -L,
681 + # since then binutils breaks on finding an old libiberty.a
682 + # from there instead of its own
683 + cp /usr/sfw/lib/64/libgcc_s.so.1 "${ROOT}"/tmp/usr/lib/
684 + ;;
685 + powerpc-ibm-aix*)
686 + profile="${PORTDIR}/profiles/prefix/aix/${CHOST#powerpc-ibm-aix}/ppc"
687 + ldflags_make_defaults="LDFLAGS=\"-L${ROOT}/usr/lib -L${ROOT}/lib -L${ROOT}/tmp/usr/lib\""
688 + ;;
689 + mips-sgi-irix*)
690 + profile="${PORTDIR}/profiles/prefix/irix/${CHOST#mips-sgi-irix}/mips"
691 + ldflags_make_defaults="LDFLAGS=\"-L${ROOT}/usr/lib -R${ROOT}/usr/lib -L${ROOT}/lib -R${ROOT}/lib -L${ROOT}/tmp/usr/lib -R${ROOT}/tmp/usr/lib\""
692 + ;;
693 + i586-pc-interix*)
694 + profile="${PORTDIR}/profiles/prefix/windows/interix/${CHOST#i586-pc-interix}/x86"
695 + ldflags_make_defaults="LDFLAGS=\"-L${ROOT}/usr/lib -L${ROOT}/lib -L${ROOT}/tmp/usr/lib\""
696 + ;;
697 + i586-pc-winnt*)
698 + profile="${PORTDIR}/profiles/prefix/windows/winnt/${CHOST#i586-pc-winnt}/x86"
699 + ldflags_make_defaults="LDFLAGS=\"-L${ROOT}/usr/lib -L${ROOT}/lib -L${ROOT}/tmp/usr/lib\""
700 + ;;
701 + i686-pc-cygwin*)
702 + profile="${PORTDIR}/profiles/prefix/windows/cygwin/${CHOST#i686-pc-cygwin}/x86"
703 + ldflags_make_defaults="LDFLAGS=\"-L${ROOT}/usr/lib -L${ROOT}/lib -L${ROOT}/tmp/usr/lib\""
704 + ;;
705 + hppa64*-hp-hpux11*)
706 + profile="${PORTDIR}/profiles/prefix/hpux/B.11${CHOST#hppa*-hpux11}/hppa64"
707 + ldflags_make_defaults="LDFLAGS=\"-L${ROOT}/usr/lib -R${ROOT}/usr/lib -L${ROOT}/tmp/usr/lib -R${ROOT}/tmp/usr/lib -L/usr/local/lib -R/usr/local/lib\""
708 + ;;
709 + hppa2.0*-hp-hpux11*)
710 + profile="${PORTDIR}/profiles/prefix/hpux/B.11${CHOST#hppa*-hpux11}/hppa2.0"
711 + ldflags_make_defaults="LDFLAGS=\"-L${ROOT}/usr/lib -R${ROOT}/usr/lib -L${ROOT}/tmp/usr/lib -R${ROOT}/tmp/usr/lib -L/usr/local/lib -R/usr/local/lib\""
712 + ;;
713 + ia64-hp-hpux11*)
714 + profile="${PORTDIR}/profiles/prefix/hpux/B.11${CHOST#ia64-hp-hpux11}/ia64"
715 + ldflags_make_defaults="LDFLAGS=\"-L${ROOT}/usr/lib -R${ROOT}/usr/lib -L${ROOT}/tmp/usr/lib -R${ROOT}/tmp/usr/lib -L/usr/local/lib -R/usr/local/lib\""
716 + ;;
717 + i386-pc-freebsd*)
718 + profile="${PORTDIR}/profiles/prefix/bsd/freebsd/${CHOST#i386-pc-freebsd}/x86"
719 + ldflags_make_defaults="LDFLAGS=\"-L${ROOT}/usr/lib -Wl,-rpath=${ROOT}/usr/lib -L${ROOT}/lib -Wl,-rpath=${ROOT}/lib -L${ROOT}/tmp/usr/lib -Wl,-rpath=${ROOT}/tmp/usr/lib\""
720 + ;;
721 + x86_64-pc-freebsd*)
722 + profile="${PORTDIR}/profiles/prefix/bsd/freebsd/${CHOST#x86_64-pc-freebsd}/x64"
723 + ldflags_make_defaults="LDFLAGS=\"-L${ROOT}/usr/lib -Wl,-rpath=${ROOT}/usr/lib -L${ROOT}/lib -Wl,-rpath=${ROOT}/lib -L${ROOT}/tmp/usr/lib -Wl,-rpath=${ROOT}/tmp/usr/lib\""
724 + ;;
725 + i386-pc-netbsd*)
726 + profile="${PORTDIR}/profiles/prefix/bsd/netbsd/${CHOST#i386-pc-netbsdelf}/x86"
727 + ldflags_make_defaults="LDFLAGS=\"-L${ROOT}/usr/lib -Wl,-rpath=${ROOT}/usr/lib -L${ROOT}/lib -Wl,-rpath=${ROOT}/lib -L${ROOT}/tmp/usr/lib -Wl,-rpath=${ROOT}/tmp/usr/lib\""
728 + ;;
729 + powerpc-unknown-openbsd*)
730 + profile="${PORTDIR}/profiles/prefix/bsd/openbsd/${CHOST#powerpc-unknown-openbsd}/ppc"
731 + ldflags_make_defaults="LDFLAGS=\"-L${ROOT}/usr/lib -Wl,-rpath=${ROOT}/usr/lib -L${ROOT}/lib -Wl,-rpath=${ROOT}/lib -L${ROOT}/tmp/usr/lib -Wl,-rpath=${ROOT}/tmp/usr/lib\""
732 + ;;
733 + i386-pc-openbsd*)
734 + profile="${PORTDIR}/profiles/prefix/bsd/openbsd/${CHOST#i386-pc-openbsd}/x86"
735 + ldflags_make_defaults="LDFLAGS=\"-L${ROOT}/usr/lib -Wl,-rpath=${ROOT}/usr/lib -L${ROOT}/lib -Wl,-rpath=${ROOT}/lib -L${ROOT}/tmp/usr/lib -Wl,-rpath=${ROOT}/tmp/usr/lib\""
736 + ;;
737 + x86_64-pc-openbsd*)
738 + profile="${PORTDIR}/profiles/prefix/bsd/openbsd/${CHOST#x86_64-pc-openbsd}/x64"
739 + ldflags_make_defaults="LDFLAGS=\"-L${ROOT}/usr/lib -Wl,-rpath=${ROOT}/usr/lib -L${ROOT}/lib -Wl,-rpath=${ROOT}/lib -L${ROOT}/tmp/usr/lib -Wl,-rpath=${ROOT}/tmp/usr/lib\""
740 + ;;
741 + *)
742 + einfo "UNKNOWN ARCH: You need to set up a make.profile symlink to a"
743 + einfo "profile in ${PORTDIR} for your CHOST ${CHOST}"
744 + ;;
745 + esac
746 +
747 + echo "${profile}" > "${PORTDIR_RAP}"/profiles/bootstrap/parent
748 +
749 + # REMOVE the following after migrating to gentoo-x86 base
750 + echo "PORTDIR_OVERLAY=\"${PORTDIR_RAP}\"" >> "${ROOT}"/etc/portage/make.conf
751 +
752 + # don't inject rpath at all.
753 + echo ">=sys-devel/binutils-config-3-r03.1" >> "${ROOT}"/etc/portage/package.mask
754 +}
755 +
756 +do_tree() {
757 + for x in etc{,/portage} {,usr/}{,s}bin usr/local var/tmp var/lib/portage var/log/portage var/db;
758 + do
759 + [[ -d ${ROOT}/${x} ]] || mkdir -p "${ROOT}/${x}"
760 + done
761 + if [[ ! -e ${PORTDIR}/.unpacked ]]; then
762 + efetch "$1/$2" || return 1
763 + [[ -e ${PORTDIR} ]] || mkdir -p ${PORTDIR}
764 + einfo "Unpacking, this may take a while"
765 + bzip2 -dc ${DISTDIR}/$2 | $TAR -xf - -C ${PORTDIR%portage} || return 1
766 + touch ${PORTDIR}/.unpacked
767 + fi
768 +}
769 +
770 +bootstrap_tree() {
771 + local PV="20130724"
772 + if [[ -n ${LATEST_TREE_YES} ]]; then
773 + do_tree "${SNAPSHOT_URL}" portage-latest.tar.bz2
774 + else
775 + do_tree http://prefix.gentooexperimental.org/distfiles prefix-overlay-${PV}.tar.bz2
776 + fi
777 +
778 + # this is ugly, we have to put the temperory rap overlay somewhere
779 + PORTDIR="${PORTDIR_RAP}" \
780 + do_tree http://dev.gentoo.org/~heroxbd rap-overlay.tar.bz2
781 +}
782 +
783 +bootstrap_latest_tree() {
784 + # kept here for compatibility reasons
785 + einfo "This function 'latest_tree' is deprecated and will be"
786 + einfo "removed in the future, please set LATEST_TREE_YES=1 in the env"
787 + LATEST_TREE_YES=1 bootstrap_tree
788 +}
789 +
790 +bootstrap_startscript() {
791 + local theshell=${SHELL##*/}
792 + if [[ ${theshell} == "sh" ]] ; then
793 + einfo "sh is a generic shell, using bash instead"
794 + theshell="bash"
795 + fi
796 + if [[ ${theshell} == "csh" ]] ; then
797 + einfo "csh is a prehistoric shell not available in Gentoo, switching to tcsh instead"
798 + theshell="tcsh"
799 + fi
800 + einfo "Trying to emerge the shell you use, if necessary by running:"
801 + einfo "emerge -u ${theshell}"
802 + if ! emerge -u ${theshell} ; then
803 + eerror "Your shell is not available in portage, hence we cannot" > /dev/stderr
804 + eerror "automate starting your prefix, set SHELL and rerun this script" > /dev/stderr
805 + return -1
806 + fi
807 + einfo "Creating the Prefix start script (startprefix)"
808 + # currently I think right into the prefix is the best location, as
809 + # putting it in /bin or /usr/bin just hides it some more for the
810 + # user
811 + sed \
812 + -e "s|@GENTOO_PORTAGE_EPREFIX@|${ROOT}|g" \
813 + "${ROOT}"/usr/portage/scripts/startprefix.in \
814 + > "${ROOT}"/startprefix
815 + chmod 755 "${ROOT}"/startprefix
816 + einfo "To start Gentoo Prefix, run the script ${ROOT}/startprefix"
817 + einfo "You can copy this file to a more convenient place if you like."
818 +
819 + # see if PATH is kept/respected
820 + local minPATH="preamble:${BASH%/*}:postlude"
821 + local theirPATH="$(echo 'echo "${PATH}"' | env LS_COLORS= PATH="${minPATH}" $SHELL -l 2>/dev/null | grep "preamble:.*:postlude")"
822 + if [[ ${theirPATH} != *"preamble:"*":postlude"* ]] ; then
823 + einfo "WARNING: your shell initialisation (.cshrc, .bashrc, .profile)"
824 + einfo " seems to overwrite your PATH, this effectively kills"
825 + einfo " your Prefix. Change this to only append to your PATH"
826 + elif [[ ${theirPATH} != "preamble:"* ]] ; then
827 + einfo "WARNING: your shell initialisation (.cshrc, .bashrc, .profile)"
828 + einfo " seems to prepend to your PATH, this might kill your"
829 + einfo " Prefix:"
830 + einfo " ${theirPATH%%preamble:*}"
831 + einfo " You better fix this, YOU HAVE BEEN WARNED!"
832 + fi
833 +}
834 +
835 +bootstrap_portage() {
836 + # Set TESTING_PV in env if you want to test a new portage before bumping the
837 + # STABLE_PV that is known to work. Intended for power users only.
838 + ## It is critical that STABLE_PV is the lastest (non-masked) version that is
839 + ## included in the snapshot for bootstrap_tree.
840 + STABLE_PV="2.2.01.22124"
841 + PV="${TESTING_PV:-${STABLE_PV}}"
842 + A=prefix-portage-${PV}.tar.bz2
843 + einfo "Bootstrapping ${A%-*}"
844 +
845 + efetch ${DISTFILES_URL}/${A} || return 1
846 +
847 + einfo "Unpacking ${A%-*}"
848 + export S="${PORTAGE_TMPDIR}"/portage-${PV}
849 + ptmp=${S}
850 + rm -rf "${S}" >& /dev/null
851 + mkdir -p "${S}" >& /dev/null
852 + cd "${S}"
853 + bzip2 -dc "${DISTDIR}/${A}" | $TAR -xf - || return 1
854 + S="${S}/prefix-portage-${PV}"
855 + cd "${S}"
856 +
857 + # disable ipc
858 + sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = False:" \
859 + -i pym/_emerge/AbstractEbuildProcess.py || \
860 + return 1
861 +
862 + # Portage checks for valid shebangs. These may (xz-utils) originate
863 + # in CONFIG_SHELL (AIX), which originates in PORTAGE_BASH then.
864 + # So we need to ensure portage's bash is valid as shebang too.
865 + mkdir -p ${ROOT}/bin || return 1
866 + [[ -x ${ROOT}/bin/bash ]] || [[ ! -x ${ROOT}/tmp/bin/bash ]] || ln -s ${ROOT}/tmp/bin/bash ${ROOT}/bin/bash || return 1
867 + [[ -x ${ROOT}/bin/bash ]] || ln -s ${BASH} ${ROOT}/bin/bash || return 1
868 + export PORTAGE_BASH=${ROOT}/bin/bash
869 +
870 + einfo "Compiling ${A%-*}"
871 + econf \
872 + --with-offset-prefix="${ROOT}" \
873 + --with-portage-user="`id -un`" \
874 + --with-portage-group="`id -gn`" \
875 + --mandir="${ROOT}/automatically-removed" \
876 + --with-extra-path="${ROOT}/tmp/bin:${ROOT}/tmp/usr/bin:/bin:/usr/bin:${PATH}" \
877 + || return 1
878 + $MAKE ${MAKEOPTS} || return 1
879 +
880 + einfo "Installing ${A%-*}"
881 + $MAKE install || return 1
882 +
883 + bootstrap_setup
884 +
885 + cd "${ROOT}"
886 + rm -Rf ${ptmp} >& /dev/null
887 +
888 + # Some people will skip the tree() step and hence var/log is not created
889 + # As such, portage complains..
890 + [[ ! -d $ROOT/var/log ]] && mkdir ${ROOT}/var/log
891 +
892 + # during bootstrap_portage(), man pages are not compressed. This is
893 + # problematic once you have a working prefix. So, remove them now.
894 + rm -rf "${ROOT}/automatically-removed"
895 +
896 + # in Prefix the sed wrapper is deadly, so kill it
897 + rm -f "${ROOT}"/usr/lib/portage/bin/ebuild-helpers/sed
898 +
899 + einfo "${A%-*} successfully bootstrapped"
900 +}
901 +
902 +prep_gcc-apple() {
903 +
904 + GCC_PV=5341
905 + GCC_A="gcc-${GCC_PV}.tar.gz"
906 + TAROPTS="-zxf"
907 +
908 + efetch ${GCC_APPLE_URL}/${GCC_A} || return 1
909 +
910 +}
911 +
912 +prep_gcc-fsf() {
913 +
914 + GCC_PV=4.1.2
915 + GCC_A=gcc-${GCC_PV}.tar.bz2
916 + TAROPTS="-jxf"
917 +
918 + efetch ${GENTOO_MIRRORS}/distfiles/${GCC_A} || return 1
919 +
920 +}
921 +
922 +bootstrap_gnu() {
923 + local PN PV A S
924 + PN=$1
925 + PV=$2
926 +
927 + einfo "Bootstrapping ${PN}"
928 +
929 + for t in tar.gz tar.xz tar.bz2 tar ; do
930 + A=${PN}-${PV}.${t}
931 +
932 + # save the user some useless downloading
933 + if [[ ${t} == tar.gz ]] ; then
934 + type -P gzip > /dev/null || continue
935 + fi
936 + if [[ ${t} == tar.xz ]] ; then
937 + type -P xz > /dev/null || continue
938 + fi
939 + if [[ ${t} == tar.bz2 ]] ; then
940 + type -P bzip2 > /dev/null || continue
941 + fi
942 +
943 + URL=${GNU_URL}/${PN}/${A}
944 + [[ ${PN} == gcc ]] && URL=${GNU_URL}/${PN}/${PN}-${PV}/${A}
945 + efetch ${URL} || continue
946 +
947 + einfo "Unpacking ${A%-*}"
948 + S="${PORTAGE_TMPDIR}/${PN}-${PV}"
949 + rm -rf "${S}"
950 + mkdir -p "${S}"
951 + cd "${S}"
952 + if [[ ${t} == "tar.gz" ]] ; then
953 + gzip -dc "${DISTDIR}"/${URL##*/} | $TAR -xf - || continue
954 + elif [[ ${t} == "tar.xz" ]] ; then
955 + xz -dc "${DISTDIR}"/${URL##*/} | $TAR -xf - || continue
956 + elif [[ ${t} == "tar.bz2" ]] ; then
957 + bzip2 -dc "${DISTDIR}"/${URL##*/} | $TAR -xf - || continue
958 + elif [[ ${t} == "tar" ]] ; then
959 + $TAR -xf "${DISTDIR}"/${A} || continue
960 + else
961 + einfo "unhandled extension: $t"
962 + return 1
963 + fi
964 + break
965 + done
966 + S="${S}"/${PN}-${PV}
967 + [[ -d ${S} ]] || return 1
968 + cd "${S}" || return 1
969 +
970 + local myconf=""
971 + if [[ ${PN} == "grep" ]] ; then
972 + # Solaris and OSX don't like it when --disable-nls is set,
973 + # so just don't set it at all.
974 + # Solaris 11 has a messed up prce installation. We don't need
975 + # it anyway, so just disable it
976 + myconf="${myconf} --disable-perl-regexp"
977 + # Except interix really needs it for grep.
978 + [[ $CHOST == *interix* ]] && myconf="${myconf} --disable-nls"
979 + fi
980 +
981 + # AIX doesn't like --enable-nls in general during bootstrap
982 + [[ $CHOST == *-aix* ]] && myconf="${myconf} --disable-nls"
983 + # AIX 7.1 has fstatat(), but broken without APAR IV23716:
984 + [[ $CHOST == *-aix7* ]] && export ac_cv_func_fstatat=no
985 +
986 + # NetBSD has strange openssl headers, which make wget fail.
987 + [[ $CHOST == *-netbsd* ]] && myconf="${myconf} --disable-ntlm"
988 +
989 + # Darwin9 in particular doesn't compile when using system readline,
990 + # but we don't need any groovy input at all, so just disable it
991 + [[ ${PN} == "bash" ]] && myconf="${myconf} --disable-readline"
992 +
993 + # Don't do ACL stuff on Darwin, especially Darwin9 will make
994 + # coreutils completely useless (install failing on everything)
995 + # Don't try using gmp either, it may be that just the library is
996 + # there, and if so, the buildsystem assumes the header exists too
997 + [[ ${PN} == "coreutils" ]] && \
998 + myconf="${myconf} --disable-acl --without-gmp"
999 +
1000 + [[ ${PN} == "gcc" ]] && myconf="${myconf} --disable-bootstrap --enable-languages=c\
1001 + --disable-multilib"
1002 +
1003 + if [[ ${PN} == "coreutils" && ${CHOST} == *-interix* ]] ; then
1004 + # Interix doesn't have filesystem listing stuff, but that means all
1005 + # other utilities but df aren't useless at all, so don't die
1006 + sed -i -e '/^if test -z "$ac_list_mounted_fs"; then$/c\if test 1 = 0; then' configure
1007 +
1008 + # try to make id() not poll the entire domain before returning
1009 + export CFLAGS="${CFLAGS} -Dgetgrgid=getgrgid_nomembers -Dgetgrent=getgrent_nomembers -Dgetgrnam=getgrnam_nomembers"
1010 +
1011 + # Fix a compilation error due to a missing definition
1012 + sed -i -e '/^#include "fcntl-safer.h"$/a\#define ESTALE -1' lib/savewd.c
1013 + fi
1014 +
1015 + if [[ ${PN} == "tar" && ${CHOST} == *-hpux* ]] ; then
1016 + # Fix a compilation error due to a missing definition
1017 + export CPPFLAGS="${CPPFLAGS} -DCHAR_BIT=8"
1018 + fi
1019 +
1020 + # Gentoo Bug 400831, fails on Ubuntu with libssl-dev installed
1021 + [[ ${PN} == "wget" ]] && myconf="${myconf} --without-ssl"
1022 +
1023 + einfo "Compiling ${PN}"
1024 + econf ${myconf} || return 1
1025 + if [[ ${PN} == "make" && $(type -t $MAKE) != "file" ]]; then
1026 + ./build.sh || return 1
1027 + else
1028 + $MAKE ${MAKEOPTS} || return 1
1029 + fi
1030 +
1031 + einfo "Installing ${PN}"
1032 + if [[ ${PN} == "make" && $(type -t $MAKE) != "file" ]]; then
1033 + ./make install MAKE="${S}/make" || return 1
1034 + else
1035 + $MAKE install || return 1
1036 + fi
1037 +
1038 + cd "${ROOT}"
1039 + rm -Rf "${S}"
1040 + einfo "${PN}-${PV} successfully bootstrapped"
1041 +}
1042 +
1043 +bootstrap_python() {
1044 + PV=2.7.3
1045 + A=python-${PV}-patched.tar.bz2
1046 +
1047 + [[ ${CHOST} == *-aix* ]] && A=Python-${PV}.tar.bz2 # patched one breaks
1048 +
1049 + einfo "Bootstrapping ${A%-*}"
1050 +
1051 + # don't really want to put this on the mirror, since they are
1052 + # non-vanilla sources, bit specific for us
1053 + efetch ${DISTFILES_URL}/${A} || return 1
1054 +
1055 + einfo "Unpacking ${A%%-*}"
1056 + export S="${PORTAGE_TMPDIR}/python-${PV}"
1057 + rm -rf "${S}"
1058 + mkdir -p "${S}"
1059 + cd "${S}"
1060 + bzip2 -dc "${DISTDIR}"/${A} | $TAR -xf - || return 1
1061 + S="${S}"/Python-${PV}
1062 + cd "${S}"
1063 +
1064 + local myconf=""
1065 +
1066 + case $CHOST in
1067 + *-*-aix*)
1068 + # Python stubbornly insists on using cc_r to compile. We
1069 + # know better, so force it to listen to us
1070 + myconf="${myconf} --with-gcc=yes"
1071 + ;;
1072 + *-openbsd*)
1073 + CFLAGS="${CFLAGS} -D_BSD_SOURCE=1"
1074 + ;;
1075 + *-linux*)
1076 + # Bug 382263: make sure Python will know about the libdir in use for
1077 + # the current arch
1078 + libdir="-L/usr/lib/$(gcc -print-multi-os-directory)"
1079 + ;;
1080 + x86_64-*-solaris*|sparcv9-*-solaris*)
1081 + # Like above, make Python know where GCC's 64-bits
1082 + # libgcc_s.so is on Solaris
1083 + libdir="-L/usr/sfw/lib/64"
1084 + ;;
1085 + esac
1086 +
1087 + # python refuses to find the zlib headers that are built in the
1088 + # offset
1089 + export CPPFLAGS="-I$EPREFIX/tmp/usr/include"
1090 + export LDFLAGS="-L$EPREFIX/tmp/usr/lib"
1091 + # set correct flags for runtime for ELF platforms
1092 + case $CHOST in
1093 + *-*bsd*|*-linux*)
1094 + # GNU ld
1095 + export LDFLAGS="${LDFLAGS} -Wl,-rpath,$EPREFIX/tmp/usr/lib ${libdir}"
1096 + ;;
1097 + *-solaris*)
1098 + # Sun ld
1099 + export LDFLAGS="${LDFLAGS} -R$EPREFIX/tmp/usr/lib ${libdir}"
1100 + ;;
1101 + esac
1102 +
1103 + # if the user has a $HOME/.pydistutils.cfg file, the python
1104 + # installation is going to be screwed up, as reported by users, so
1105 + # just make sure Python won't find it
1106 + export HOME="${S}"
1107 +
1108 + export PYTHON_DISABLE_MODULES="bsddb bsddb185 bz2 crypt _ctypes_test _curses _curses_panel dbm _elementtree gdbm _locale nis pyexpat readline _sqlite3 _tkinter"
1109 + export PYTHON_DISABLE_SSL=1
1110 + export OPT="${CFLAGS}"
1111 +
1112 + einfo "Compiling ${A%-*}"
1113 + econf \
1114 + --disable-toolbox-glue \
1115 + --disable-ipv6 \
1116 + --disable-shared \
1117 + ${myconf} || return 1
1118 + $MAKE ${MAKEOPTS} || return 1
1119 +
1120 + einfo "Installing ${A%-*}"
1121 + $MAKE -k install || echo "??? Python failed to install *sigh* continuing anyway"
1122 + cd "${ROOT}"/usr/bin
1123 + ln -sf python${PV%.*} python
1124 + cd "${ROOT}"/usr/lib
1125 + # messes up python emerges, and shouldn't be necessary for anything
1126 + # http://forums.gentoo.org/viewtopic-p-6890526.html
1127 + rm -f libpython${PV%.*}.a
1128 +
1129 + einfo "${A%-*} bootstrapped"
1130 +}
1131 +
1132 +bootstrap_zlib_core() {
1133 + # use 1.2.5 by default, current bootstrap guides
1134 + PV="${1:-1.2.5}"
1135 + A=zlib-${PV}.tar.gz
1136 +
1137 + einfo "Bootstrapping ${A%-*}"
1138 +
1139 + if ! efetch ${GENTOO_MIRRORS}/distfiles/${A} ; then
1140 + A=zlib-${PV}.tar.bz2
1141 + efetch ${GENTOO_MIRRORS}/distfiles/${A} || return 1
1142 + fi
1143 +
1144 + einfo "Unpacking ${A%%-*}"
1145 + export S="${PORTAGE_TMPDIR}/zlib-${PV}"
1146 + rm -rf "${S}"
1147 + mkdir -p "${S}"
1148 + cd "${S}"
1149 + if [[ ${A} == *.tar.gz ]] ; then
1150 + gzip -dc "${DISTDIR}"/${A} | $TAR -xf - || return 1
1151 + else
1152 + bzip2 -dc "${DISTDIR}"/${A} | $TAR -xf - || return 1
1153 + fi
1154 + S="${S}"/zlib-${PV}
1155 + cd "${S}"
1156 +
1157 + if [[ ${CHOST} == x86_64-*-* || ${CHOST} == sparcv9-*-* ]] ; then
1158 + # 64-bits targets need zlib as library (not just to unpack),
1159 + # hence we need to make sure that we really bootstrap this
1160 + # 64-bits (in contrast to the tools which we don't care if they
1161 + # are 32-bits)
1162 + export CC="gcc -m64"
1163 + elif [[ ${CHOST} == i?86-*-* ]] ; then
1164 + # This is important for bootstraps which are 64-native, but we
1165 + # want 32-bits, such as most Linuxes, and more recent OSX.
1166 + # OS X Lion and up default to a 64-bits userland, so force the
1167 + # compiler to 32-bits code generation if requested here
1168 + export CC="gcc -m32"
1169 + fi
1170 + # 1.2.5 suffers from a concurrency problem
1171 + [[ ${PV} == 1.2.5 ]] && MAKEOPTS=
1172 +
1173 + einfo "Compiling ${A%-*}"
1174 + CHOST= ${CONFIG_SHELL} ./configure --prefix="${ROOT}"/usr || return 1
1175 + $MAKE ${MAKEOPTS} || return 1
1176 +
1177 + einfo "Installing ${A%-*}"
1178 + $MAKE install || return 1
1179 +
1180 + # this lib causes issues when emerging python again on Solaris
1181 + # because the tmp lib path is in the library search path there
1182 + rm -Rf "${ROOT}"/usr/lib/libz*.a
1183 +
1184 + einfo "${A%-*} bootstrapped"
1185 +}
1186 +
1187 +bootstrap_zlib() {
1188 + bootstrap_zlib_core 1.2.8 || bootstrap_zlib_core 1.2.7 || \
1189 + bootstrap_zlib_core 1.2.6 || bootstrap_zlib_core 1.2.5
1190 +}
1191 +
1192 +bootstrap_gmp() {
1193 + bootstrap_gnu gmp 5.0.5
1194 +}
1195 +
1196 +bootstrap_mpfr() {
1197 + export CPPFLAGS="-I${ROOT}/usr/include"
1198 + export LDFLAGS="-L${ROOT}/usr/lib"
1199 + bootstrap_gnu mpfr 3.1.2
1200 +}
1201 +
1202 +bootstrap_mpc() {
1203 + export CPPFLAGS="-I${ROOT}/usr/include"
1204 + export LDFLAGS="-L${ROOT}/usr/lib"
1205 + bootstrap_gnu mpc 1.0.1
1206 +}
1207 +
1208 +bootstrap_gcc() {
1209 + export CPPFLAGS="-I${ROOT}/usr/include"
1210 + export LDFLAGS="-L${ROOT}/usr/lib -Wl,-rpath=${ROOT}/usr/lib"
1211 + bootstrap_gnu gcc 4.7.3
1212 +}
1213 +
1214 +bootstrap_sed() {
1215 + bootstrap_gnu sed 4.2.1
1216 +}
1217 +
1218 +bootstrap_findutils() {
1219 + bootstrap_gnu findutils 4.5.10 || bootstrap_gnu findutils 4.2.33
1220 +}
1221 +
1222 +bootstrap_wget() {
1223 + bootstrap_gnu wget 1.13.4
1224 +}
1225 +
1226 +bootstrap_grep() {
1227 + # don't use 2.13, it contains a bug that bites, bug #425668
1228 + # 2.9 is the last version provided as tar.gz (platforms without xz)
1229 + # 2.7 is necessary for Solaris/OpenIndiana (2.8, 2.9 fail to configure)
1230 + bootstrap_gnu grep 2.14 || bootstrap_gnu grep 2.12 || \
1231 + bootstrap_gnu grep 2.9 || bootstrap_gnu grep 2.7
1232 +}
1233 +
1234 +bootstrap_coreutils() {
1235 + # 8.12 for FreeBSD 9.1, bug #415439
1236 + # 8.16 is the last version released as tar.gz
1237 + bootstrap_gnu coreutils 8.17 || bootstrap_gnu coreutils 8.16 || \
1238 + bootstrap_gnu coreutils 8.12
1239 +}
1240 +
1241 +bootstrap_tar() {
1242 + bootstrap_gnu tar 1.26
1243 +}
1244 +
1245 +bootstrap_make() {
1246 + bootstrap_gnu make 3.82
1247 +}
1248 +
1249 +bootstrap_patch() {
1250 + # 2.5.9 needed for OSX 10.6.x
1251 + bootstrap_gnu patch 2.7.1 || bootstrap_gnu patch 2.6.1 || \
1252 + bootstrap_gnu patch 2.5.9 || bootstrap_gnu patch 2.5.4
1253 +}
1254 +
1255 +bootstrap_gawk() {
1256 + bootstrap_gnu gawk 4.0.1 || bootstrap_gnu gawk 4.0.0 || \
1257 + bootstrap_gnu gawk 3.1.8
1258 +}
1259 +
1260 +bootstrap_binutils() {
1261 + bootstrap_gnu binutils 2.23
1262 +}
1263 +
1264 +bootstrap_texinfo() {
1265 + bootstrap_gnu texinfo 4.8
1266 +}
1267 +
1268 +bootstrap_bash() {
1269 + bootstrap_gnu bash 4.2
1270 +}
1271 +
1272 +bootstrap_bison() {
1273 + bootstrap_gnu bison 2.6.2 || bootstrap_gnu bison 2.6.1 || \
1274 + bootstrap_gnu bison 2.6 || bootstrap_gnu bison 2.5.1 || \
1275 + bootstrap_gnu bison 2.4
1276 +}
1277 +
1278 +bootstrap_m4() {
1279 + bootstrap_gnu m4 1.4.16 || bootstrap_gnu m4 1.4.15
1280 +}
1281 +
1282 +bootstrap_gzip() {
1283 + bootstrap_gnu gzip 1.4
1284 +}
1285 +
1286 +bootstrap_bzip2() {
1287 + local PN PV A S
1288 + PN=bzip2
1289 + PV=1.0.6
1290 + A=${PN}-${PV}.tar.gz
1291 + einfo "Bootstrapping ${A%-*}"
1292 +
1293 + efetch ${GENTOO_MIRRORS}/distfiles/${A} || return 1
1294 +
1295 + einfo "Unpacking ${A%-*}"
1296 + S="${PORTAGE_TMPDIR}/${PN}-${PV}"
1297 + rm -rf "${S}"
1298 + mkdir -p "${S}"
1299 + cd "${S}"
1300 + gzip -dc "${DISTDIR}"/${A} | $TAR -xf - || return 1
1301 + S="${S}"/${PN}-${PV}
1302 + cd "${S}"
1303 +
1304 + einfo "Compiling ${A%-*}"
1305 + $MAKE || return 1
1306 +
1307 + einfo "Installing ${A%-*}"
1308 + $MAKE PREFIX="${ROOT}"/usr install || return 1
1309 +
1310 + cd "${ROOT}"
1311 + rm -Rf "${S}"
1312 + einfo "${A%-*} successfully bootstrapped"
1313 +}
1314 +
1315 +bootstrap_stage1() {
1316 + if [[ ${ROOT} != */tmp ]] ; then
1317 + eerror "stage1 can only be used for paths that end in '/tmp'"
1318 + return 1
1319 + fi
1320 +
1321 + # NOTE: stage1 compiles all tools (no libraries) in the native
1322 + # bits-size of the compiler, which needs not to match what we're
1323 + # bootstrapping for. This is no problem since they're just tools,
1324 + # for which it really doesn't matter how they run, as long AS they
1325 + # run. For libraries, this is different, since they are relied on
1326 + # by packages we emerge lateron.
1327 + # Changing this to compile the tools for the bits the bootstrap is
1328 + # for, is a BAD idea, since we're extremely fragile here, so
1329 + # whatever the native toolchain is here, is what in general works
1330 + # best.
1331 +
1332 + # run all bootstrap_* commands in a subshell since the targets
1333 + # frequently pollute the environment using exports which affect
1334 + # packages following (e.g. zlib builds 64-bits)
1335 +
1336 + # don't rely on $MAKE, if make == gmake packages that call 'make' fail
1337 + [[ $(make --version 2>&1) == *GNU* ]] || (bootstrap_make) || return 1
1338 + type -P wget > /dev/null || (bootstrap_wget) || return 1
1339 + [[ $(sed --version 2>&1) == *GNU* ]] || (bootstrap_sed) || return 1
1340 + [[ $(m4 --version 2>&1) == *GNU*1.4.1?* ]] || (bootstrap_m4) || return 1
1341 + [[ $(bison --version 2>&1) == *"(GNU Bison) 2."[345678]* ]] \
1342 + || (bootstrap_bison) || return 1
1343 + [[ $(uniq --version 2>&1) == *"(GNU coreutils) "[6789]* ]] \
1344 + || (bootstrap_coreutils) || return 1
1345 + [[ $(find --version 2>&1) == *GNU* ]] || (bootstrap_findutils) || return 1
1346 + [[ $(tar --version 2>&1) == *GNU* ]] || (bootstrap_tar) || return 1
1347 + [[ $(patch --version 2>&1) == *"GNU patch 2."7* ]] || (bootstrap_patch) || return 1
1348 + [[ $(grep --version 2>&1) == *GNU* ]] || (bootstrap_grep) || return 1
1349 + [[ $(awk --version < /dev/null 2>&1) == *GNU* ]] || bootstrap_gawk || return 1
1350 + [[ $(bash --version 2>&1) == "GNU bash, version 4."[123456789]* ]] \
1351 + || (bootstrap_bash) || return 1
1352 + if type -P pkg-config > /dev/null ; then
1353 + # it IS possible to get here without installing anything in
1354 + # tmp/usr/bin, which makes the below fail to happen
1355 + mkdir -p "${ROOT}"/usr/bin/
1356 + # hide an existing pkg-config for glib, which first checks
1357 + # pkg-config for libffi, and only then the LIBFFI_* vars
1358 + # this resolves nasty problems like bug #426302
1359 + # note that an existing pkg-config can be ancient, which glib
1360 + # doesn't grok (e.g. Solaris 10) => error
1361 + {
1362 + echo "#!/bin/sh"
1363 + echo "exit 1"
1364 + } > "${ROOT}"/usr/bin/pkg-config
1365 + chmod 755 "${ROOT}"/usr/bin/pkg-config
1366 + fi
1367 + type -P bzip2 > /dev/null || (bootstrap_bzip2) || return 1
1368 + # important to have our own (non-flawed one) since Python (from
1369 + # Portage) and binutils use it
1370 +
1371 + ls ${ROOT}/usr/lib/libz.* >/dev/null 2>&1 || (bootstrap_zlib) || return 1
1372 + ls ${ROOT}/usr/lib/libgmp.* >/dev/null 2>&1 || (bootstrap_gmp) || return 1
1373 + ls ${ROOT}/usr/lib/libmpfr.* >/dev/null 2>&1 || (bootstrap_mpfr) || return 1
1374 + ls ${ROOT}/usr/lib/libmpc.* >/dev/null 2>&1 || (bootstrap_mpc) || return 1
1375 +
1376 + # too vital to rely on a host-provided one
1377 + [[ -x ${ROOT}/usr/bin/python ]] || (bootstrap_python) || return 1
1378 +
1379 + # glibc requies >=gcc-4.6
1380 + [[ $(gcc --version 2>&1) == *'gcc ('*') 4.'[678]* ]] || (bootstrap_gcc) || return 1
1381 +
1382 + einfo "stage1 successfully finished"
1383 +}
1384 +
1385 +bootstrap_stage2() {
1386 + if [[ ${ROOT} == */tmp ]] ; then
1387 + eerror "stage2 cannot be used for paths that end in '/tmp'"
1388 + return 1
1389 + fi
1390 +
1391 + # checks itself if things need to be done still
1392 + bootstrap_tree || return 1
1393 + [[ -e ${ROOT}/etc/make.globals ]] || bootstrap_portage || return 1
1394 +
1395 + einfo "stage2 successfully finished"
1396 +}
1397 +
1398 +bootstrap_stage3() {
1399 + if [[ ${ROOT} == */tmp ]] ; then
1400 + eerror "stage3 cannot be used for paths that end in '/tmp'"
1401 + return 1
1402 + fi
1403 +
1404 + if ! type -P emerge > /dev/null ; then
1405 + eerror "emerge not found, did you bootstrap stage1 and stage2?"
1406 + return 1
1407 + fi
1408 +
1409 + # stage2 as set a profile, which defines CHOST, so unset any CHOST
1410 + # we've got here to avoid cross-compilation due to slight
1411 + # differences caused by our guessing vs. what the profile sets.
1412 + # This happens at least on 32-bits Darwin, with i386 and i686.
1413 + # https://bugs.gentoo.org/show_bug.cgi?id=433948
1414 + local bootstrapCHOST=${CHOST}
1415 + unset CHOST
1416 +
1417 + # No longer support gen_usr_ldscript stuff in new bootstraps, this
1418 + # must be in line with what eventually ends up in make.conf, see the
1419 + # end of this function. We don't do this in bootstrap_setup()
1420 + # because in that case we'd also have to cater for getting this
1421 + # right with manual bootstraps.
1422 + export PREFIX_DISABLE_GEN_USR_LDSCRIPT=yes
1423 +
1424 + emerge_pkgs() {
1425 + local opts=$1 ; shift
1426 + local pkg vdb pvdb evdb premerge
1427 + for pkg in "$@"; do
1428 + vdb=${pkg}
1429 + if [[ ${vdb} == "="* ]] ; then
1430 + vdb=${vdb#=}
1431 + elif [[ ${vdb} == "<"* ]] ; then
1432 + vdb=${vdb#<}
1433 + vdb=${vdb%-r*}
1434 + vdb=${vdb%-*}
1435 + vdb=${vdb}-\*
1436 + else
1437 + vdb=${vdb}-\*
1438 + fi
1439 + for pvdb in ${ROOT}/var/db/pkg/${vdb%-*}-* ; do
1440 + if [[ -d ${pvdb} ]] ; then
1441 + evdb=${pvdb##*/}
1442 + if [[ ${pkg} == "="* ]] ; then
1443 + # exact match required (* should work here)
1444 + [[ ${evdb} == ${vdb##*/} ]] && break
1445 + else
1446 + vdb=${vdb%-*}
1447 + evdb=${evdb%-r*}
1448 + evdb=${evdb%_p*}
1449 + evdb=${evdb%-*}
1450 + [[ ${evdb} == ${vdb#*/} ]] && break
1451 + fi
1452 + fi
1453 + pvdb=
1454 + done
1455 + [[ -n ${pvdb} ]] && continue
1456 + # for a valid shebang, we have symlinked bin/bash already
1457 + [[ ${pkg} == *"app-shells/bash"* ]] &&
1458 + premerge="FEATURES='${FEATURES} -collision-protect'"
1459 + eval ${premerge} 'emerge -v --oneshot ${opts} "${pkg}"'
1460 + [[ $? -eq 0 ]] || return 1
1461 + done
1462 + }
1463 +
1464 + set_profile 1
1465 + # --oneshot --nodeps
1466 + local pkgs=(
1467 + sys-apps/sed
1468 + "<app-shells/bash-4.2_p20" # higher versions require readline
1469 + app-arch/xz-utils
1470 + sys-apps/baselayout-prefix
1471 + sys-devel/m4
1472 + sys-devel/flex
1473 + sys-devel/bison
1474 + sys-libs/zlib
1475 + dev-libs/gmp
1476 + dev-libs/mpfr
1477 + dev-libs/mpc
1478 + sys-kernel/linux-headers
1479 + sys-devel/gcc-config
1480 + sys-devel/binutils-config
1481 + sys-devel/binutils
1482 + )
1483 +
1484 + emerge_pkgs --nodeps "${pkgs[@]}" || return 1
1485 +
1486 + echo 'int main() {}' > test-rpath.c
1487 + gcc -o test-rpath test-rpath.c
1488 + if readelf -d test-rpath | grep -q rpath; then
1489 + cat <<EOF
1490 +
1491 +Your present toolchain injects rpath into ELF, which causes glibc to
1492 +fail. Please disable this feature for the moment and try again.
1493 +
1494 +EOF
1495 + return 1;
1496 + fi
1497 +
1498 + if [[ ! -x "${ROOT}"/usr/bin/perl ]]; then
1499 + local perlLoc=$(type -P perl)
1500 + if [[ -n ${perlLoc} ]]; then
1501 + ln -sf "${perlLoc}" "${ROOT}"/usr/bin/perl
1502 + else
1503 + echo "We need perl at ${ROOT}/usr/bin/perl to compile glibc."
1504 + return 1
1505 + fi
1506 + fi
1507 +
1508 + pkgs=( sys-libs/glibc )
1509 + emerge_pkgs --nodeps "${pkgs[@]}" || return 1
1510 +
1511 + # in gcc bootstrap stage 1, xgcc/cc1 and friends may be linked against libgcc_s.so of
1512 + # the old gcc, which cannot be found on new RAP. Append that directory to ld.so.conf
1513 + # so that our RAP dynamic linker can find it. This will be overwritten by env-update
1514 + # afterwards.
1515 + local oldGCC
1516 + # in case CHOST-gcc is different from gcc in PATH
1517 + oldGCC=$(type -P $(portageq envvar CHOST)-gcc)
1518 + [[ -n ${oldGCC} ]] || oldGCC=$(type -P gcc)
1519 + dirname $(${oldGCC} -print-libgcc-file-name) >> ${ROOT}/etc/ld.so.conf
1520 + ${ROOT}/usr/sbin/ldconfig
1521 +
1522 + pkgs=( sys-devel/gcc )
1523 + emerge_pkgs --nodeps "${pkgs[@]}" || return 1
1524 +
1525 + # we need pax-utils this early for OSX (before libiconv - gen_usr_ldscript)
1526 + # but also for perl, which uses scanelf/scanmacho to find compatible
1527 + # lib-dirs
1528 + # --oneshot
1529 + local pkgs=(
1530 + app-misc/pax-utils # see note above
1531 + sys-apps/coreutils
1532 + sys-apps/findutils
1533 + "<app-arch/tar-1.26-r1" # bug 406131
1534 + sys-apps/grep
1535 + sys-apps/gawk
1536 + sys-devel/make
1537 + sys-libs/zlib
1538 + )
1539 + emerge_pkgs "" "${pkgs[@]}" || return 1
1540 +
1541 + # --oneshot --nodeps
1542 + local pkgs=(
1543 + sys-apps/file
1544 + app-admin/eselect
1545 + dev-util/pkgconf
1546 + )
1547 + emerge_pkgs --nodeps "${pkgs[@]}" || return 1
1548 +
1549 + # --oneshot
1550 + local pkgs=(
1551 + net-misc/wget
1552 + sys-apps/acl
1553 + )
1554 + emerge_pkgs "" "${pkgs[@]}" || return 1
1555 +
1556 + # for some yet unknown reason, libxml2 has a problem with zlib, but
1557 + # only during this stage, in the emerge -e system phase it is fine
1558 + # it boils down to zlib headers replacing gzopen with gzopen64, but
1559 + # no gzopen64 prototype being defined, due to libxml.h messing with
1560 + # FILE_OFFSET_BITS
1561 + # we can work around this by defining NO_LARGEFILE_SOURCE for libxml.h
1562 + # since we have the compiler emerged, it's no problem we wipe out
1563 + # the -I directions set by the profile
1564 + export CPPFLAGS="${CPPFLAGS} -DNO_LARGEFILE_SOURCE"
1565 +
1566 + # disable collision-protect to overwrite the bootstrapped portage
1567 + FEATURES="-collision-protect" emerge_pkgs "" "sys-apps/portage" || return 1
1568 +
1569 + unset CPPFLAGS
1570 +
1571 + if [[ -d ${ROOT}/tmp/var/tmp ]] ; then
1572 + rm -Rf "${ROOT}"/tmp || return 1
1573 + mkdir -p "${ROOT}"/tmp || return 1
1574 + fi
1575 +
1576 + set_profile 2
1577 +
1578 + # Portage should figure out itself what it needs to do, if anything
1579 + USE=-git emerge -u system || return 1
1580 +
1581 + if [[ ! -f ${EPREFIX}/etc/portage/make.conf ]] ; then
1582 + {
1583 + echo 'USE="unicode nls"'
1584 + echo 'CFLAGS="${CFLAGS} -O2 -pipe"'
1585 + echo 'CXXFLAGS="${CFLAGS}"'
1586 + echo "MAKEOPTS=\"${MAKEOPTS}\""
1587 + echo "# be careful with this one, don't just remove it!"
1588 + echo "PREFIX_DISABLE_GEN_USR_LDSCRIPT=yes"
1589 + } > "${EPREFIX}"/etc/portage/make.conf
1590 + fi
1591 +
1592 + einfo "stage3 successfully finished"
1593 +}
1594 +
1595 +bootstrap_interactive() {
1596 + cat <<"EOF"
1597 +
1598 +
1599 + .
1600 + .vir. d$b
1601 + .d$$$$$$b. .cd$$b. .d$$b. d$$$$$$$$$$$b .d$$b. .d$$b.
1602 + $$$$( )$$$b d$$$()$$$. d$$$$$$$b Q$$$$$$$P$$$P.$$$$$$$b. .$$$$$$$b.
1603 + Q$$$$$$$$$$B$$$$$$$$P" d$$$PQ$$$$b. $$$$. .$$$P' `$$$ .$$$P' `$$$
1604 + "$$$$$$$P Q$$$$$$$b d$$$P Q$$$$b $$$$b $$$$b..d$$$ $$$$b..d$$$
1605 + d$$$$$$P" "$$$$$$$$ Q$$$ Q$$$$ $$$$$ `Q$$$$$$$P `Q$$$$$$$P
1606 + $$$$$$$P `""""" "" "" Q$$$P "Q$$$P" "Q$$$P"
1607 + `Q$$P" """
1608 +
1609 + Welcome to the Gentoo Prefix interactive installer!
1610 +
1611 +
1612 + I will attempt to install Gentoo Prefix on your system. To do so, I'll
1613 + ask you some questions first. After that, you'll have to practise
1614 + patience as your computer and I try to figure out a way to get a lot of
1615 + software packages compiled. If everything goes according to plan,
1616 + you'll end up with what we call "a Prefix install", but by that time,
1617 + I'll tell you more.
1618 +
1619 +
1620 +EOF
1621 + [[ ${TODO} == 'noninteractive' ]] && ans=yes ||
1622 + read -p "Do you want me to start off now? [Yn] " ans
1623 + case "${ans}" in
1624 + [Yy][Ee][Ss]|[Yy]|"")
1625 + : ;;
1626 + *)
1627 + echo "Right. Aborting..."
1628 + exit 1
1629 + ;;
1630 + esac
1631 +
1632 + echo
1633 + echo "It seems to me you are '${USER:-$(whoami 2> /dev/null)}' (${UID}), that looks cool to me."
1634 +
1635 + echo
1636 + echo "I'm going to check for some variables in your environment now:"
1637 + local flag dvar badflags=
1638 + for flag in \
1639 + ASFLAGS \
1640 + CFLAGS \
1641 + CPPFLAGS \
1642 + CXXFLAGS \
1643 + DYLD_LIBRARY_PATH \
1644 + GREP_OPTIONS \
1645 + LDFLAGS \
1646 + LD_LIBRARY_PATH \
1647 + LIBPATH \
1648 + PERL_MM_OPT \
1649 + PKG_CONFIG_PATH \
1650 + PYTHONPATH \
1651 + ; do
1652 + # starting on purpose a shell here iso ${!flag} because I want
1653 + # to know if the shell initialisation files trigger this
1654 + # note that this code is so complex because it handles both
1655 + # C-shell as sh
1656 + dvar="echo \"((${flag}=\${${flag}}))\""
1657 + dvar="$(echo "${dvar}" | env -i HOME=$HOME $SHELL -l 2>/dev/null)"
1658 + if [[ ${dvar} == *"((${flag}="?*"))" ]] ; then
1659 + badflags="${badflags} ${flag}"
1660 + dvar=${dvar#*((${flag}=}
1661 + dvar=${dvar%%))*}
1662 + echo " uh oh, ${flag}=${dvar} :("
1663 + else
1664 + echo " it appears ${flag} is not set :)"
1665 + fi
1666 + # unset for the current environment
1667 + unset ${flag}
1668 + done
1669 + if [[ -n ${badflags} ]] ; then
1670 + cat << EOF
1671 +
1672 +Ahem, your shell environment contains some variables I'm allergic to:
1673 + ${badflags}
1674 +These flags can and will influence the way in which packages compile.
1675 +In fact, they have a long standing tradition to break things. I really
1676 +prefer to be on my own here. So please make sure you disable these
1677 +environment variables in your shell initialisation files. After you've
1678 +done that, you can run me again.
1679 +EOF
1680 + exit 1
1681 + fi
1682 + echo
1683 + echo "I'm excited! Seems we can finally do something productive now."
1684 +
1685 + cat << EOF
1686 +
1687 +Ok, I'm going to do a little bit of guesswork here. Thing is, your
1688 +machine appears to be identified by CHOST=${CHOST}.
1689 +EOF
1690 + case "${CHOST}" in
1691 + powerpc*|ppc*|sparc*)
1692 + cat << EOF
1693 +
1694 +To me, it seems to be a big-endian machine. I told you before you need
1695 +patience, but with your machine, regardless how many CPUs you have, you
1696 +need some more. Context switches are just expensive, and guess what
1697 +fork/execs result in all the time. I'm going to make it even worse for
1698 +you, configure and make typically are fork/exec bombs.
1699 +I'm going to assume you're actually used to having patience with this
1700 +machine, which is good, because I really love a box like yours!
1701 +EOF
1702 + ;;
1703 + esac
1704 +
1705 + # the standard path we want to start with, override anything from
1706 + # the user on purpose
1707 + PATH="/usr/bin:/bin"
1708 + # don't exclude the path to bash if it isn't in a standard location
1709 + type -P bash > /dev/null || PATH="${BASH%/bash}:${PATH}"
1710 + case "${CHOST}" in
1711 + *-solaris*)
1712 + cat << EOF
1713 +
1714 +Ok, this is Solaris, or a derivative like OpenSolaris or OpenIndiana.
1715 +Sometimes, useful tools necessary at this stage are hidden. I'm going
1716 +to check if that's the case for your system too, and if so, add those
1717 +locations to your PATH.
1718 +EOF
1719 + # could do more "smart" CHOST deductions here, but brute
1720 + # force is most likely as quick, but simpler
1721 + [[ -d /usr/sfw/bin ]] \
1722 + && PATH="${PATH}:/usr/sfw/bin"
1723 + [[ -d /usr/sfw/i386-sun-solaris${CHOST##*-solaris}/bin ]] \
1724 + && PATH="${PATH}:/usr/sfw/i386-sun-solaris${CHOST##*-solaris}/bin"
1725 + [[ -d /usr/sfw/sparc-sun-solaris${CHOST##*-solaris}/bin ]] \
1726 + && PATH="${PATH}:/usr/sfw/sparc-sun-solaris${CHOST##*-solaris}/bin"
1727 + # OpenIndiana 151a5
1728 + [[ -d /usr/gnu/bin ]] && PATH="${PATH}:/usr/gnu/bin"
1729 + # SmartOS
1730 + [[ -d /opt/local/gcc47/bin ]] && PATH="${PATH}:/opt/local/gcc47/bin"
1731 + ;;
1732 + esac
1733 +
1734 + # TODO: should we better use cc here? or check both?
1735 + if ! type -P gcc > /dev/null ; then
1736 + case "${CHOST}" in
1737 + *-darwin*)
1738 + cat << EOF
1739 +
1740 +Uh oh... a Mac OS X system, but without compiler. You must have
1741 +forgotten to install Xcode tools. If your Mac didn't come with an
1742 +install DVD (pre Lion) you can find it in the Mac App Store, or download
1743 +the Xcode command line tools from Apple Developer Connection. If you
1744 +did get a CD/DVD with your Mac, there is a big chance you can find Xcode
1745 +on it, and install it right away.
1746 +Please do so, and try me again!
1747 +EOF
1748 + exit 1
1749 + ;;
1750 + *-solaris2.[789]|*-solaris2.10)
1751 + cat << EOF
1752 +
1753 +Yikes! Your Solaris box doesn't come with gcc in /usr/sfw/blabla/bin?
1754 +What good is it to me then? I can't find a compiler! I'm afraid
1755 +you'll have to find a way to install the Sun FreeWare tools somehow, is
1756 +it on the Companion disc perhaps?
1757 +See me again when you figured it out.
1758 +EOF
1759 + exit 1
1760 + ;;
1761 + *-solaris*)
1762 + SOLARIS_RELEASE=$(head -n1 /etc/release)
1763 + if [[ ${SOLARIS_RELEASE} == *"Oracle Solaris"* ]] ; then
1764 + cat << EOF
1765 +Seems like you have installed Oracle Solaris ${SOLARIS_RELEASE}.
1766 +I suppose you have solaris publisher set. If not, use:
1767 + pkg set-publisher -p http://pkg.oracle.com/solaris/release
1768 +You need to install some necessary packages:
1769 + pkg install developer/gcc-45 system/header
1770 +In the meanwhile, I'll wait here until you run me again, with a compiler.
1771 +EOF
1772 + else
1773 + cat << EOF
1774 +
1775 +Sigh. This is OpenSolaris or OpenIndiana? I can't tell the difference
1776 +without looking more closely. What I DO know, is that there is no
1777 +compiler, at least not where I was just looking, so how do we continue
1778 +from here, eh? I just think you didn't install one. I know it can be
1779 +tricky on OpenIndiana, for instance, so won't blame you. In case you're
1780 +on OpenIndiana, I'll help you a bit. Perform the following as
1781 +super-user:
1782 + pkg install developer/gnu system/library/math/header-math
1783 +In the meanwhile, I'll wait here until you run me again, with a compiler.
1784 +EOF
1785 + fi
1786 + exit 1
1787 + ;;
1788 + *)
1789 + cat << EOF
1790 +
1791 +Well, well... let's make this painful situation as short as it can be:
1792 +you don't appear to have a compiler around for me to play with.
1793 +Since I like your PATH to be as minimal as possible, I threw away
1794 +everything you put in it, and started from scratch. Perhaps, the almost
1795 +impossible happened that I was wrong in doing so.
1796 +Ok, I'll give you a chance. You can now enter what you think is
1797 +necessary to add to PATH for me to find a compiler. I start off with
1798 +PATH=${PATH} and will add anything you give me here.
1799 +EOF
1800 + [[ ${TODO} == 'noninteractive' ]] && ans="" ||
1801 + read -p "Where can I find your compiler? [] " ans
1802 + case "${ans}" in
1803 + "")
1804 + : ;;
1805 + *)
1806 + PATH="${PATH}:${ans}"
1807 + ;;
1808 + esac
1809 + if ! type -P gcc > /dev/null ; then
1810 + cat << EOF
1811 +
1812 +Are you sure you have a compiler? I didn't find one. I think you
1813 +better first go get one, then run me again.
1814 +EOF
1815 + exit 1
1816 + else
1817 + echo
1818 + echo "Pfff, ok, it seems you were right. Can we move on now?"
1819 + fi
1820 + ;;
1821 + esac
1822 + else
1823 + echo
1824 + echo "Great! You appear to have a compiler in your PATH"
1825 + fi
1826 +
1827 + echo
1828 + local ncpu=
1829 + case "${CHOST}" in
1830 + *-darwin*) ncpu=$(/usr/sbin/sysctl -n hw.ncpu) ;;
1831 + *-freebsd*) ncpu=$(/sbin/sysctl -n hw.ncpu) ;;
1832 + *-solaris*) ncpu=$(/usr/sbin/psrinfo | wc -l) ;;
1833 + *-linux-gnu*) ncpu=$(cat /proc/cpuinfo | grep processor | wc -l) ;;
1834 + *-aix*) ncpu=$(/usr/sbin/bindprocessor -q | cut -d: -f2 | wc -w) ;;
1835 + *) ncpu=1 ;;
1836 + esac
1837 + # get rid of excess spaces (at least Solaris wc does)
1838 + ncpu=$((ncpu + 0))
1839 + # Suggest usage of 100% to 60% of the available CPUs in the range
1840 + # from 1 to 14. We limit to no more than 8, since we easily flood
1841 + # the bus on those heavy-core systems and only slow down in that
1842 + # case anyway.
1843 + local tcpu=$((ncpu / 2 + 1))
1844 + [[ ${tcpu} -gt 8 ]] && tcpu=8
1845 + cat << EOF
1846 +
1847 +I did my utmost best, and found that you have ${ncpu} cpu cores. If
1848 +this looks wrong to you, you can happily ignore me. Based on the number
1849 +of cores you have, I came up with the idea of parallelising compilation
1850 +work where possible with ${tcpu} parallel make threads. If you have no
1851 +clue what this means, you should go with my excellent default I've
1852 +chosen below, really!
1853 +EOF
1854 + [[ ${TODO} == 'noninteractive' ]] && ans="" ||
1855 + read -p "How many parallel make jobs do you want? [${tcpu}] " ans
1856 + case "${ans}" in
1857 + "")
1858 + MAKEOPTS="-j${tcpu}"
1859 + ;;
1860 + *)
1861 + if [[ ${ans} -le 0 ]] ; then
1862 + echo
1863 + echo "You should have entered a non-zero integer number, obviously..."
1864 + exit 1
1865 + elif [[ ${ans} -gt ${tcpu} && ${tcpu} -ne 1 ]] ; then
1866 + if [[ ${ans} -gt ${ncpu} ]] ; then
1867 + cat << EOF
1868 +
1869 +Want to push it very hard? I already feel sorry for your poor box with
1870 +its mere ${ncpu} cpu cores.
1871 +EOF
1872 + elif [[ $((ans - tcpu)) -gt 1 ]] ; then
1873 + cat << EOF
1874 +
1875 +So you think you can stress your system a bit more than my extremely
1876 +well thought out formula suggested you? Hmmpf, I'll take it you know
1877 +what you're doing then.
1878 +EOF
1879 + sleep 1
1880 + echo "(are you?)"
1881 + fi
1882 + MAKEOPTS="-j${ans}"
1883 + fi
1884 + ;;
1885 + esac
1886 + export MAKEOPTS
1887 +
1888 + #32/64 bits, multilib
1889 + local candomultilib=no
1890 + local t64 t32
1891 + case "${CHOST}" in
1892 + *86*-darwin9|*86*-darwin1[012])
1893 + # PPC/Darwin only works in 32-bits mode, so this is Intel
1894 + # only, and only starting from Leopard (10.5, darwin9)
1895 + candomultilib=yes
1896 + t64=x86_64-${CHOST#*-}
1897 + t32=i686-${CHOST#*-}
1898 + ;;
1899 + *-solaris*)
1900 + # Solaris is a true multilib system from as long as it does
1901 + # 64-bits, we only need to know if the CPU we use is capable
1902 + # of doing 64-bits mode
1903 + [[ $(/usr/bin/isainfo | tr ' ' '\n' | wc -l) -ge 2 ]] \
1904 + && candomultilib=yes
1905 + if [[ ${CHOST} == sparc* ]] ; then
1906 + t64=sparcv9-${CHOST#*-}
1907 + t32=sparc-${CHOST#*-}
1908 + else
1909 + t64=x86_64-${CHOST#*-}
1910 + t32=i386-${CHOST#*-}
1911 + fi
1912 + ;;
1913 + # Even though multilib on Linux is often supported in some way,
1914 + # it's hardly ever installed by default (it seems)
1915 + # Since it's non-trivial to figure out if such system (binary
1916 + # packages can report to be multilib, but lack all necessary
1917 + # libs) is truely multilib capable, we don't bother here. The
1918 + # user can override if he/she is really convinced the system can
1919 + # do it.
1920 + esac
1921 + if [[ ${candomultilib} == yes ]] ; then
1922 + cat << EOF
1923 +
1924 +Your system appears to be a multilib system, that is in fact also
1925 +capable of doing multilib right here, right now. Multilib means
1926 +something like "being able to run multiple kinds of binaries". The most
1927 +interesting kind for you now is 32-bits versus 64-bits binaries. I can
1928 +create both a 32-bits as well as a 64-bits Prefix for you, but do you
1929 +actually know what I'm talking about here? If not, just accept the
1930 +default here. Honestly, you don't want to change it if you can't name
1931 +one advantage of 64-bits over 32-bits other than that 64 is a higher
1932 +number and when you buy a car or washing machine, you also always choose
1933 +the one with the highest number.
1934 +EOF
1935 + [[ ${TODO} == 'noninteractive' ]] && ans="" ||
1936 + case "${CHOST}" in
1937 + x86_64-*|sparcv9-*) # others can't do multilib, so don't bother
1938 + # 64-bits native
1939 + read -p "How many bits do you want your Prefix to target? [64] " ans
1940 + ;;
1941 + *)
1942 + # 32-bits native
1943 + read -p "How many bits do you want your Prefix to target? [32] " ans
1944 + ;;
1945 + esac
1946 + case "${ans}" in
1947 + "")
1948 + : ;;
1949 + 32)
1950 + CHOST=${t32}
1951 + ;;
1952 + 64)
1953 + CHOST=${t64}
1954 + ;;
1955 + *)
1956 + cat << EOF
1957 +
1958 +${ans}? Yeah Right(tm)! You obviously don't know what you're talking
1959 +about, so I'll take the default instead.
1960 +EOF
1961 + ;;
1962 + esac
1963 + fi
1964 + export CHOST
1965 +
1966 + # choose EPREFIX, we do this last, since we have to actually write
1967 + # to the filesystem here to check that the EPREFIX is sane
1968 + cat << EOF
1969 +
1970 +Each and every Prefix has a home. That is, a place where everything is
1971 +supposed to be in. That place must be fully writable by you (duh), but
1972 +should also be able to hold some fair amount of data and preferably be
1973 +reasonably fast. In terms of space, I advise something around 2GiB
1974 +(it's less if you're lucky). I suggest a reasonably fast place because
1975 +we're going to compile a lot, and that generates a fair bit of IO. If
1976 +some networked filesystem like NFS is the only option for you, then
1977 +you're just going to have to wait a fair bit longer.
1978 +This place which is your Prefix' home, is often referred to by a
1979 +variable called EPREFIX.
1980 +EOF
1981 + while true ; do
1982 + if [[ -z ${EPREFIX} ]] ; then
1983 + # Make the default for Mac users a bit more "native feel"
1984 + [[ ${CHOST} == *-darwin* ]] \
1985 + && EPREFIX=$HOME/Gentoo \
1986 + || EPREFIX=$HOME/gentoo
1987 + fi
1988 + echo
1989 + [[ ${TODO} == 'noninteractive' ]] && ans=${ROOT} ||
1990 + read -p "What do you want EPREFIX to be? [$EPREFIX] " ans
1991 + case "${ans}" in
1992 + "")
1993 + : ;;
1994 + /*)
1995 + EPREFIX=${ans}
1996 + ;;
1997 + *)
1998 + echo
1999 + echo "EPREFIX must be an absolute path!"
2000 + [[ ${TODO} == 'noninteractive' ]] && exit 1
2001 + EPREFIX=
2002 + continue
2003 + ;;
2004 + esac
2005 + if [[ ! -d ${EPREFIX} ]] && ! mkdir -p "${EPREFIX}" ; then
2006 + echo
2007 + echo "It seems I cannot create ${EPREFIX}."
2008 + [[ ${TODO} == 'noninteractive' ]] && exit 1
2009 + echo "I'll forgive you this time, try again."
2010 + EPREFIX=
2011 + continue
2012 + fi
2013 + if ! touch "${EPREFIX}"/.canihaswrite >& /dev/null ; then
2014 + echo
2015 + echo "I cannot write to ${EPREFIX}!"
2016 + [[ ${TODO} == 'noninteractive' ]] && exit 1
2017 + echo "You want some fun, but without me? Try another location."
2018 + EPREFIX=
2019 + continue
2020 + fi
2021 + # don't really expect this one to fail
2022 + rm -f "${EPREFIX}"/.canihaswrite || exit 1
2023 + # location seems ok
2024 + break;
2025 + done
2026 + export EPREFIX
2027 + export PATH="$EPREFIX/usr/bin:$EPREFIX/bin:$EPREFIX/tmp/usr/bin:$EPREFIX/tmp/bin:$PATH"
2028 +
2029 + cat << EOF
2030 +
2031 +OK! I'm going to give it a try, this is what I have collected sofar:
2032 + EPREFIX=${EPREFIX}
2033 + CHOST=${CHOST}
2034 + PATH=${PATH}
2035 + MAKEOPTS=${MAKEOPTS}
2036 +
2037 +I'm now going to make an awful lot of noise going through a sequence of
2038 +stages to make your box as groovy as I am myself, setting up your
2039 +Prefix. In short, I'm going to run stage1, stage2, stage3, followed by
2040 +emerge -e system. If any of these stages fail, both you and me are in
2041 +deep trouble. So let's hope that doesn't happen.
2042 +EOF
2043 + echo
2044 + [[ ${TODO} == 'noninteractive' ]] && ans="" ||
2045 + read -p "Type here what you want to wish me [luck] " ans
2046 + if [[ -n ${ans} && ${ans} != "luck" ]] ; then
2047 + echo "Huh? You're not serious, are you?"
2048 + sleep 3
2049 + fi
2050 + echo
2051 +
2052 + if ! [[ -x ${EPREFIX}/usr/lib/portage/bin/emerge ]] && ! ${BASH} ${BASH_SOURCE[0]} "${EPREFIX}/tmp" stage1 ; then
2053 + # stage 1 fail
2054 + cat << EOF
2055 +
2056 +I tried running
2057 + ${BASH} ${BASH_SOURCE[0]} "${EPREFIX}/tmp" stage1
2058 +but that failed :( I have no clue, really. Please find friendly folks
2059 +in #gentoo-prefix on irc.gentoo.org, gentoo-alt@l.g.o mailing list,
2060 +or file a bug at bugs.gentoo.org under Gentoo/Alt, Prefix Support.
2061 +Sorry that I have failed you master. I shall now return to my humble cave.
2062 +EOF
2063 + exit 1
2064 + fi
2065 +
2066 + if ! [[ -x ${EPREFIX}/usr/lib/portage/bin/emerge ]] && ! ${BASH} ${BASH_SOURCE[0]} "${EPREFIX}" stage2 ; then
2067 + # stage 2 fail
2068 + cat << EOF
2069 +
2070 +Odd! Running
2071 + ${BASH} ${BASH_SOURCE[0]} "${EPREFIX}" stage2
2072 +failed! :( I have no clue, really. Please find friendly folks in
2073 +#gentoo-prefix on irc.gentoo.org, gentoo-alt@l.g.o mailing list, or
2074 +file a bug at bugs.gentoo.org under Gentoo/Alt, Prefix Support.
2075 +I am defeated. I am of no use here any more.
2076 +EOF
2077 + exit 1
2078 + fi
2079 +
2080 + # after stage1 and stage2 we should have a bash of our own, which
2081 + # is preferably over the host-provided one, because we know it can
2082 + # deal with the bash-constructs we use in stage3 and onwards
2083 + hash -r
2084 +
2085 + if ! bash ${BASH_SOURCE[0]} "${EPREFIX}" stage3 ; then
2086 + # stage 3 fail
2087 + hash -r # previous cat (tmp/usr/bin/cat) may have been removed
2088 + cat << EOF
2089 +
2090 +Hmmmm, I was already afraid of this to happen. Running
2091 + $(type -P bash) ${BASH_SOURCE[0]} "${EPREFIX}" stage3
2092 +somewhere failed :( Details might be found in the build log:
2093 +EOF
2094 + for log in "${EPREFIX}"/var/tmp/portage/*/*/temp/build.log ; do
2095 + [[ -e ${log} ]] || continue
2096 + echo " ${log}"
2097 + done
2098 + [[ -e ${log} ]] || echo " (no build logs found?!?)"
2099 + cat << EOF
2100 +I have no clue, really. Please find friendly folks in #gentoo-prefix on
2101 +irc.gentoo.org, gentoo-alt@l.g.o mailing list, or file a bug
2102 +at bugs.gentoo.org under Gentoo/Alt, Prefix Support. This is most
2103 +inconvenient, and it crushed my ego. Sorry, I give up.
2104 +EOF
2105 + exit 1
2106 + fi
2107 + hash -r # tmp/* stuff is removed in stage3
2108 +
2109 + # Don't confuse Portage with a possibly slightly differing CHOST
2110 + unset CHOST
2111 +
2112 + if ! emerge -e system ; then
2113 + # emerge -e system fail
2114 + cat << EOF
2115 +
2116 +Oh yeah, I thought I was almost there, and then this! I did
2117 + emerge -e system
2118 +and it failed at some point :( Details might be found in the build log:
2119 +EOF
2120 + for log in "${EPREFIX}"/var/tmp/portage/*/*/temp/build.log ; do
2121 + [[ -e ${log} ]] || continue
2122 + echo " ${log}"
2123 + done
2124 + [[ -e ${log} ]] || echo " (no build logs found?!?)"
2125 + cat << EOF
2126 +I have no clue, really. Please find friendly folks in #gentoo-prefix on
2127 +irc.gentoo.org, gentoo-alt@l.g.o mailing list, or file a bug
2128 +at bugs.gentoo.org under Gentoo/Alt, Prefix Support.
2129 +You know, I got the feeling you just started to like me, but I guess
2130 +that's all gone now. I'll bother you no longer.
2131 +EOF
2132 + exit 1
2133 + fi
2134 +
2135 + if ! bash ${BASH_SOURCE[0]} "${EPREFIX}" startscript ; then
2136 + # startscript fail?
2137 + cat << EOF
2138 +
2139 +Ok, let's be honest towards each other. If
2140 + $(type -P bash) ${BASH_SOURCE[0]} "${EPREFIX}" startscript
2141 +fails, then who cheated on who? Either you use an obscure shell, or
2142 +your PATH isn't really sane afterall. Despite, I can't really
2143 +congratulate you here, you basically made it to the end.
2144 +Please find friendly folks in #gentoo-prefix on irc.gentoo.org,
2145 +gentoo-alt@l.g.o mailing list, or file a bug at
2146 +bugs.gentoo.org under Gentoo/Alt, Prefix Support.
2147 +It's sad we have to leave each other this way. Just an inch away...
2148 +EOF
2149 + exit 1
2150 + fi
2151 +
2152 + echo
2153 + cat << EOF
2154 +
2155 +Woah! Everything just worked! Now YOU should run
2156 + ${EPREFIX}/startprefix
2157 +and enjoy! Thanks for using me, it was a pleasure to work with you.
2158 +EOF
2159 +}
2160 +
2161 +## End Functions
2162 +
2163 +## some vars
2164 +
2165 +# We do not want stray $TMP, $TMPDIR or $TEMP settings
2166 +unset TMP TMPDIR TEMP
2167 +
2168 +# Try to guess the CHOST if not set. We currently only support guessing
2169 +# on a very sloppy base.
2170 +if [[ -z ${CHOST} ]]; then
2171 + if [[ x$(type -t uname) == "xfile" ]]; then
2172 + case `uname -s` in
2173 + Linux)
2174 + case `uname -m` in
2175 + ppc*)
2176 + CHOST="`uname -m | sed -e 's/^ppc/powerpc/'`-unknown-linux-gnu"
2177 + ;;
2178 + powerpc*)
2179 + CHOST="`uname -m`-unknown-linux-gnu"
2180 + ;;
2181 + armv7l)
2182 + CHOST=armv7a-hardfloat-linux-gnueabi
2183 + ;;
2184 + armv5te*)
2185 + CHOST=armv5tel-softfloat-linux-gnueabi
2186 + ;;
2187 + *)
2188 + CHOST="`uname -m`-pc-linux-gnu"
2189 + ;;
2190 + esac
2191 + ;;
2192 + Darwin)
2193 + rev="`uname -r | cut -d'.' -f 1`"
2194 + if [[ ${rev} -ge 11 ]] ; then
2195 + # Lion and up are 64-bits default (and 64-bits CPUs)
2196 + CHOST="x86_64-apple-darwin$rev"
2197 + else
2198 + CHOST="`uname -p`-apple-darwin$rev"
2199 + fi
2200 + ;;
2201 + SunOS)
2202 + case `uname -p` in
2203 + i386)
2204 + CHOST="i386-pc-solaris`uname -r | sed 's|5|2|'`"
2205 + ;;
2206 + sparc)
2207 + CHOST="sparc-sun-solaris`uname -r | sed 's|5|2|'`"
2208 + ;;
2209 + esac
2210 + ;;
2211 + AIX)
2212 + # GNU coreutils uname sucks, it doesn't know what
2213 + # processor it is using on AIX. We mimick GNU CHOST
2214 + # guessing here, instead of what IBM uses itself.
2215 + CHOST="`/usr/bin/uname -p`-ibm-aix`oslevel`"
2216 + ;;
2217 + IRIX|IRIX64)
2218 + CHOST="mips-sgi-irix`uname -r`"
2219 + ;;
2220 + Interix)
2221 + case `uname -m` in
2222 + x86) CHOST="i586-pc-interix`uname -r`" ;;
2223 + *) eerror "Can't deal with interix `uname -m` (yet)"
2224 + exit 1
2225 + ;;
2226 + esac
2227 + ;;
2228 + CYGWIN*)
2229 + # http://www.cygwin.com/ml/cygwin/2009-02/msg00669.html
2230 + case `uname -r` in
2231 + 1.7*)
2232 + CHOST="`uname -m`-pc-cygwin1.7"
2233 + ;;
2234 + *)
2235 + CHOST="`uname -m`-pc-cygwin"
2236 + ;;
2237 + esac
2238 + ;;
2239 + HP-UX)
2240 + case `uname -m` in
2241 + ia64) HP_ARCH=ia64 ;;
2242 + 9000/[678][0-9][0-9])
2243 + if [ ! -x /usr/bin/getconf ]; then
2244 + eerror "Need /usr/bin/getconf to determine cpu"
2245 + exit 1
2246 + fi
2247 + # from config.guess
2248 + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
2249 + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
2250 + case "${sc_cpu_version}" in
2251 + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
2252 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
2253 + 532) # CPU_PA_RISC2_0
2254 + case "${sc_kernel_bits}" in
2255 + 32) HP_ARCH="hppa2.0n" ;;
2256 + 64) HP_ARCH="hppa2.0w" ;;
2257 + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
2258 + esac ;;
2259 + esac
2260 + ;;
2261 + esac
2262 + uname_r=`uname -r`
2263 + if [ -z "${HP_ARCH}" ]; then
2264 + error "Cannot determine cpu/kernel type"
2265 + exit ;
2266 + fi
2267 + CHOST="${HP_ARCH}-hp-hpux${uname_r#B.}"
2268 + unset HP_ARCH uname_r
2269 + ;;
2270 + FreeBSD)
2271 + case `uname -p` in
2272 + i386)
2273 + CHOST="i386-pc-freebsd`uname -r | sed 's|-.*$||'`"
2274 + ;;
2275 + amd64)
2276 + CHOST="x86_64-pc-freebsd`uname -r | sed 's|-.*$||'`"
2277 + ;;
2278 + sparc64)
2279 + CHOST="sparc64-unknown-freebsd`uname -r | sed 's|-.*$||'`"
2280 + ;;
2281 + *)
2282 + eerror "Sorry, don't know about FreeBSD on `uname -p` yet"
2283 + exit 1
2284 + ;;
2285 + esac
2286 + ;;
2287 + NetBSD)
2288 + case `uname -p` in
2289 + i386)
2290 + CHOST="`uname -p`-pc-netbsdelf`uname -r`"
2291 + ;;
2292 + *)
2293 + eerror "Sorry, don't know about NetBSD on `uname -p` yet"
2294 + exit 1
2295 + ;;
2296 + esac
2297 + ;;
2298 + OpenBSD)
2299 + case `uname -m` in
2300 + macppc)
2301 + CHOST="powerpc-unknown-openbsd`uname -r`"
2302 + ;;
2303 + i386)
2304 + CHOST="i386-pc-openbsd`uname -r`"
2305 + ;;
2306 + amd64)
2307 + CHOST="x86_64-pc-openbsd`uname -r`"
2308 + ;;
2309 + *)
2310 + eerror "Sorry, don't know about OpenBSD on `uname -m` yet"
2311 + exit 1
2312 + ;;
2313 + esac
2314 + ;;
2315 + *)
2316 + eerror "Nothing known about platform `uname -s`."
2317 + eerror "Please set CHOST appropriately for your system"
2318 + eerror "and rerun $0"
2319 + exit 1
2320 + ;;
2321 + esac
2322 + fi
2323 +fi
2324 +
2325 +# Now based on the CHOST set some required variables. Doing it here
2326 +# allows for user set CHOST still to result in the appropriate variables
2327 +# being set.
2328 +case ${CHOST} in
2329 + *-*-solaris*)
2330 + if type -P gmake > /dev/null ; then
2331 + MAKE=gmake
2332 + else
2333 + MAKE=make
2334 + fi
2335 + ;;
2336 + *-sgi-irix*)
2337 + MAKE=gmake
2338 + ;;
2339 + *-aix*)
2340 + MAKE=make
2341 + # We do run in bash here, no? It is ways faster than /bin/sh.
2342 + : ${CONFIG_SHELL:=${BASH}}
2343 + ;;
2344 + *)
2345 + MAKE=make
2346 + ;;
2347 +esac
2348 +
2349 +# deal with a problem on OSX with Python's locales
2350 +case ${CHOST}:${LC_ALL}:${LANG} in
2351 + *-darwin*:UTF-8:*|*-darwin*:*:UTF-8)
2352 + eerror "Your LC_ALL and/or LANG is set to 'UTF-8'."
2353 + eerror "This setting is known to cause trouble with Python. Please run"
2354 + case ${SHELL} in
2355 + */tcsh|*/csh)
2356 + eerror " setenv LC_ALL en_US.UTF-8"
2357 + eerror " setenv LANG en_US.UTF-8"
2358 + eerror "and make it permanent by adding it to your ~/.${SHELL##*/}rc"
2359 + exit 1
2360 + ;;
2361 + *)
2362 + eerror " export LC_ALL=en_US.UTF-8"
2363 + eerror " export LANG=en_US.UTF-8"
2364 + eerror "and make it permanent by adding it to your ~/.profile"
2365 + exit 1
2366 + ;;
2367 + esac
2368 + ;;
2369 +esac
2370 +
2371 +# Just guessing a prefix is kind of scary. Hence, to make it a bit less
2372 +# scary, we force the user to give the prefix location here. This also
2373 +# makes the script a bit less dangerous as it will die when just run to
2374 +# "see what happens".
2375 +if [[ -n $1 && -z $2 ]] ; then
2376 + echo "usage: $0 [<prefix-path> <action>]"
2377 + echo
2378 + echo "Either you give no argument and I'll ask you interactively, or"
2379 + echo "you need to give both the path offset for your Gentoo prefixed"
2380 + echo "portage installation, and the action I should do there, e.g."
2381 + echo " $0 $HOME/prefix <action>"
2382 + echo
2383 + echo "See the source of this script for which actions exist."
2384 + echo
2385 + echo "$0: insufficient number of arguments" 1>&2
2386 + exit 1
2387 +elif [[ -z $1 ]] ; then
2388 + bootstrap_interactive
2389 + exit 0
2390 +fi
2391 +
2392 +ROOT="$1"
2393 +
2394 +case $ROOT in
2395 + chost.guess)
2396 + # undocumented feature that sort of is our own config.guess, if
2397 + # CHOST was unset, it now contains the guessed CHOST
2398 + echo "$CHOST"
2399 + exit 0
2400 + ;;
2401 + /*) ;;
2402 + *)
2403 + echo "Your path offset needs to be absolute!" 1>&2
2404 + exit 1
2405 + ;;
2406 +esac
2407 +
2408 +CXXFLAGS="${CXXFLAGS:-${CFLAGS}}"
2409 +PORTDIR=${PORTDIR:-"${ROOT}/usr/portage"}
2410 +PORTDIR_RAP=${PORTDIR_RAP:-"${ROOT}/usr/local/portage"}
2411 +DISTDIR=${DISTDIR:-"${PORTDIR}/distfiles"}
2412 +PORTAGE_TMPDIR=${ROOT}/var/tmp
2413 +DISTFILES_URL="http://dev.gentoo.org/~grobian/distfiles"
2414 +SNAPSHOT_URL="http://prefix.gentooexperimental.org/snapshots"
2415 +GNU_URL=${GNU_URL:="http://ftp.gnu.org/gnu"}
2416 +GENTOO_MIRRORS=${GENTOO_MIRRORS:="http://distfiles.gentoo.org"}
2417 +GCC_APPLE_URL="http://www.opensource.apple.com/darwinsource/tarballs/other"
2418 +
2419 +export MAKE CONFIG_SHELL
2420 +
2421 +
2422 +einfo "Bootstrapping Gentoo prefixed portage installation using"
2423 +einfo "host: ${CHOST}"
2424 +einfo "prefix: ${ROOT}"
2425 +
2426 +TODO=${2}
2427 +if [[ ${TODO} != "noninteractive" && $(type -t bootstrap_${TODO}) != "function" ]];
2428 +then
2429 + eerror "bootstrap target ${TODO} unknown"
2430 + exit 1
2431 +fi
2432 +
2433 +if [[ -n ${LD_LIBARY_PATH} || -n ${DYLD_LIBRARY_PATH} ]] ; then
2434 + eerror "EEEEEK! You have LD_LIBRARY_PATH or DYLD_LIBRARY_PATH set"
2435 + eerror "in your environment. This is a guarantee for TROUBLE."
2436 + eerror "Cowardly refusing to operate any further this way!"
2437 + exit 1
2438 +fi
2439 +
2440 +if [[ -n ${PKG_CONFIG_PATH} ]] ; then
2441 + eerror "YUK! You have PKG_CONFIG_PATH set in your environment."
2442 + eerror "This is a guarantee for TROUBLE."
2443 + eerror "Cowardly refusing to operate any further this way!"
2444 + exit 1
2445 +fi
2446 +
2447 +einfo "ready to bootstrap ${TODO}"
2448 +# bootstrap_interactive proceeds with guessed defaults when TODO=noninteractive
2449 +bootstrap_${TODO#non} || exit 1