Gentoo Archives: gentoo-commits

From: "Anthony G. Basile" <blueness@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/hardened-dev:musl commit in: sys-fs/e2fsprogs/files/, sys-fs/e2fsprogs/
Date: Fri, 24 Jan 2014 15:38:40
Message-Id: 1390577912.0d9f4d769d5bab835bea09c36231c5cdd01ad150.blueness@gentoo
1 commit: 0d9f4d769d5bab835bea09c36231c5cdd01ad150
2 Author: layman <layman <AT> localhost>
3 AuthorDate: Thu Jan 23 19:45:25 2014 +0000
4 Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
5 CommitDate: Fri Jan 24 15:38:32 2014 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/hardened-dev.git;a=commit;h=0d9f4d76
7
8 sys-fs/e2fsprogs: use uint64_t instead of __uint64_t
9
10 Package-Manager: portage-2.2.7
11 RepoMan-Options: --force
12
13 ---
14 sys-fs/e2fsprogs/ChangeLog | 1179 ++++++++++++
15 sys-fs/e2fsprogs/e2fsprogs-1.42.7-r99.ebuild | 151 ++
16 sys-fs/e2fsprogs/files/e2fsck.conf | 6 +
17 sys-fs/e2fsprogs/files/e2fsprogs-1.40-fbsd.patch | 11 +
18 sys-fs/e2fsprogs/files/e2fsprogs-1.41-mint.patch | 1947 ++++++++++++++++++++
19 .../files/e2fsprogs-1.41.12-darwin-makefile.patch | 113 ++
20 .../files/e2fsprogs-1.41.12-mint-blkid.patch | 43 +
21 .../files/e2fsprogs-1.41.8-makefile.patch | 10 +
22 ...fsprogs-1.42.7-libext2fs-fix-return-value.patch | 32 +
23 .../files/e2fsprogs-1.42.7-use-uint64_t.patch | 17 +
24 sys-fs/e2fsprogs/files/fsck_ext2fs.8 | 96 +
25 sys-fs/e2fsprogs/files/fsck_ext2fs.c | 147 ++
26 sys-fs/e2fsprogs/metadata.xml | 8 +
27 13 files changed, 3760 insertions(+)
28
29 diff --git a/sys-fs/e2fsprogs/ChangeLog b/sys-fs/e2fsprogs/ChangeLog
30 new file mode 100644
31 index 0000000..26e7f66
32 --- /dev/null
33 +++ b/sys-fs/e2fsprogs/ChangeLog
34 @@ -0,0 +1,1179 @@
35 +# ChangeLog for sys-fs/e2fsprogs
36 +# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
37 +# $Header: /var/cvsroot/gentoo-x86/sys-fs/e2fsprogs/ChangeLog,v 1.274 2014/01/18 05:15:33 vapier Exp $
38 +
39 + 18 Jan 2014; Mike Frysinger <vapier@g.o> e2fsprogs-1.42.7.ebuild,
40 + e2fsprogs-1.42.8.ebuild, e2fsprogs-1.42.9.ebuild:
41 + Add arm64 love.
42 +
43 + 17 Jan 2014; Mike Frysinger <vapier@g.o> e2fsprogs-1.42.7.ebuild:
44 + Mark m68k stable.
45 +
46 + 04 Jan 2014; Lars Wendler <polynomial-c@g.o>
47 + -e2fsprogs-1.41.12.ebuild, -e2fsprogs-1.41.12-r1.ebuild,
48 + -e2fsprogs-1.41.14.ebuild, -e2fsprogs-1.42.ebuild, -e2fsprogs-1.42.1.ebuild,
49 + -e2fsprogs-1.42.3.ebuild, -e2fsprogs-1.42.4.ebuild, -e2fsprogs-1.42.5.ebuild,
50 + -e2fsprogs-1.42.6.ebuild, -files/e2fsprogs-1.41.7-mint-blkid.patch,
51 + -files/e2fsprogs-1.41.12-getpagesize.patch,
52 + -files/e2fsprogs-1.42.1-libext2fs-config.patch,
53 + -files/e2fsprogs-1.42.1-libext2fs-gettimeofday.patch,
54 + -files/e2fsprogs-1.42.3-quota-time.patch,
55 + -files/e2fsprogs-1.42.3-quotactl.patch,
56 + -files/e2fsprogs-1.42.5-ldflags.patch,
57 + -files/e2fsprogs-1.42-no-fallocate.patch,
58 + -files/e2fsprogs-1.42-no-quota.patch:
59 + Removed old versions and files.
60 +
61 +*e2fsprogs-1.42.9 (31 Dec 2013)
62 +
63 + 31 Dec 2013; Mike Frysinger <vapier@g.o> +e2fsprogs-1.42.9.ebuild,
64 + metadata.xml:
65 + Version bump #496594 by Ulenrich.
66 +
67 +*e2fsprogs-1.42.8 (08 Oct 2013)
68 +
69 + 08 Oct 2013; Tony Vroon <chainsaw@g.o> +e2fsprogs-1.42.8.ebuild:
70 + Version bump, as requested by Laurent Bachelier in bug #476670. Stability &
71 + safety fixes, including the patch for bug #467986 being applied upstream.
72 +
73 + 20 May 2013; Agostino Sarubbo <ago@g.o> e2fsprogs-1.42.7.ebuild:
74 + Stable for s390, wrt bug #467008
75 +
76 + 07 May 2013; Agostino Sarubbo <ago@g.o> e2fsprogs-1.42.7.ebuild:
77 + Stable for ppc64, wrt bug #467008
78 +
79 + 07 May 2013; Agostino Sarubbo <ago@g.o> e2fsprogs-1.42.7.ebuild:
80 + Stable for ia64, wrt bug #467008
81 +
82 + 05 May 2013; Agostino Sarubbo <ago@g.o> e2fsprogs-1.42.7.ebuild:
83 + Stable for alpha, wrt bug #467008
84 +
85 + 05 May 2013; Agostino Sarubbo <ago@g.o> e2fsprogs-1.42.7.ebuild:
86 + Stable for arm, wrt bug #467008
87 +
88 + 04 May 2013; Mike Frysinger <vapier@g.o>
89 + +files/e2fsprogs-1.42.7-libext2fs-fix-return-value.patch,
90 + e2fsprogs-1.42.7.ebuild:
91 + Fix return value in gen_bitmap64.c that breaks w/clang #467986 by Vicente
92 + Olivert Riera.
93 +
94 + 01 May 2013; Agostino Sarubbo <ago@g.o> e2fsprogs-1.42.7.ebuild:
95 + Stable for sh, wrt bug #467008
96 +
97 + 26 Apr 2013; Agostino Sarubbo <ago@g.o> e2fsprogs-1.42.7.ebuild:
98 + Stable for ppc, wrt bug #467008
99 +
100 + 26 Apr 2013; Agostino Sarubbo <ago@g.o> e2fsprogs-1.42.7.ebuild:
101 + Stable for sparc, wrt bug #467008
102 +
103 + 25 Apr 2013; Agostino Sarubbo <ago@g.o> e2fsprogs-1.42.7.ebuild:
104 + Stable for x86, wrt bug #467008
105 +
106 + 25 Apr 2013; Agostino Sarubbo <ago@g.o> e2fsprogs-1.42.7.ebuild:
107 + Stable for amd64, wrt bug #467008
108 +
109 + 25 Apr 2013; Jeroen Roovers <jer@g.o> e2fsprogs-1.42.7.ebuild:
110 + Stable for HPPA (bug #467008).
111 +
112 +*e2fsprogs-1.42.7 (07 Mar 2013)
113 +
114 + 07 Mar 2013; Lars Wendler <polynomial-c@g.o> +e2fsprogs-1.42.7.ebuild:
115 + Non-maintainer commit: Version bump with kind permission from Chainsaw (bug
116 + #454532).
117 +
118 + 22 Feb 2013; Zac Medico <zmedico@g.o> e2fsprogs-1.42.6.ebuild:
119 + Add ~arm-linux keyword.
120 +
121 +*e2fsprogs-1.42.6 (07 Oct 2012)
122 +
123 + 07 Oct 2012; Mike Frysinger <vapier@g.o> +e2fsprogs-1.42.6.ebuild:
124 + Version bump #437434 by Bernhard Hartleb.
125 +
126 + 04 Aug 2012; Mike Frysinger <vapier@g.o>
127 + +files/e2fsprogs-1.42.5-ldflags.patch, e2fsprogs-1.42.5.ebuild:
128 + Revert broken linking behavior from upstream #429756 by Lars Wendler.
129 +
130 +*e2fsprogs-1.42.5 (03 Aug 2012)
131 +
132 + 03 Aug 2012; Mike Frysinger <vapier@g.o> +e2fsprogs-1.42.5.ebuild:
133 + Version bump #429494 by Samuli Suominen.
134 +
135 +*e2fsprogs-1.42.4 (14 Jun 2012)
136 +
137 + 14 Jun 2012; Mike Frysinger <vapier@g.o> +e2fsprogs-1.42.4.ebuild:
138 + Version bump #420925 by Sergei Trofimovich.
139 +
140 +*e2fsprogs-1.42.3 (22 May 2012)
141 +
142 + 22 May 2012; Mike Frysinger <vapier@g.o> +e2fsprogs-1.42.3.ebuild,
143 + +files/e2fsprogs-1.42.3-quota-time.patch,
144 + +files/e2fsprogs-1.42.3-quotactl.patch:
145 + Version bump #416771 by Samuli Suominen.
146 +
147 + 04 May 2012; Jeff Horelick <jdhore@g.o> e2fsprogs-1.41.7-r1.ebuild,
148 + e2fsprogs-1.41.12.ebuild, e2fsprogs-1.41.12-r1.ebuild,
149 + e2fsprogs-1.41.14.ebuild, e2fsprogs-1.42.ebuild, e2fsprogs-1.42.1.ebuild:
150 + dev-util/pkgconfig -> virtual/pkgconfig
151 +
152 + 13 Apr 2012; Ulrich Müller <ulm@g.o> e2fsprogs-1.42.ebuild,
153 + e2fsprogs-1.42.1.ebuild:
154 + Move EAPI assignment to top of ebuild, bug 411875.
155 +
156 + 08 Apr 2012; Raúl Porcel <armin76@g.o> e2fsprogs-1.42.ebuild:
157 + alpha/ia64/m68k/s390/sh/sparc stable wrt #403405
158 +
159 + 05 Mar 2012; Mike Frysinger <vapier@g.o> e2fsprogs-1.42.ebuild,
160 + e2fsprogs-1.42.1.ebuild, +files/e2fsprogs-1.42-no-fallocate.patch:
161 + Fix building on older glibcs w/out fallocate #406609 by Ortwin Glueck.
162 +
163 + 03 Mar 2012; Markus Meier <maekke@g.o> e2fsprogs-1.42.ebuild:
164 + arm stable, bug #403405
165 +
166 + 02 Mar 2012; Brent Baude <ranger@g.o> e2fsprogs-1.42.ebuild:
167 + Marking e2fsprogs-1.42 ppc64 for bug 403405
168 +
169 + 27 Feb 2012; Mike Frysinger <vapier@g.o> e2fsprogs-1.42.ebuild,
170 + e2fsprogs-1.42.1.ebuild:
171 + Fix thinko in USE=static-libs handling #406079 by Andrew John Hughes.
172 +
173 +*e2fsprogs-1.42.1 (24 Feb 2012)
174 +
175 + 24 Feb 2012; Mike Frysinger <vapier@g.o> +e2fsprogs-1.42.1.ebuild,
176 + +files/e2fsprogs-1.42.1-libext2fs-config.patch,
177 + +files/e2fsprogs-1.42.1-libext2fs-gettimeofday.patch:
178 + Version bump #405331 by teidakankan.
179 +
180 + 22 Feb 2012; Brent Baude <ranger@g.o> e2fsprogs-1.42.ebuild:
181 + Marking e2fsprogs-1.42 ppc for bug 403405
182 +
183 + 21 Feb 2012; Jeff Horelick <jdhore@g.o> e2fsprogs-1.42.ebuild:
184 + marked x86 per bug 403405
185 +
186 + 21 Feb 2012; Agostino Sarubbo <ago@g.o> e2fsprogs-1.42.ebuild:
187 + Stable for amd64, wrt bug #403405
188 +
189 + 18 Feb 2012; Jeroen Roovers <jer@g.o> e2fsprogs-1.42.ebuild:
190 + Stable for HPPA (bug #403405).
191 +
192 + 28 Dec 2011; Mark Loeser <halcy0n@g.o> e2fsprogs-1.41.14.ebuild:
193 + Stable for ppc64; bug #378039
194 +
195 +*e2fsprogs-1.42 (07 Dec 2011)
196 +
197 + 07 Dec 2011; Mike Frysinger <vapier@g.o>
198 + -e2fsprogs-1.42_pre0702.ebuild, +e2fsprogs-1.42.ebuild,
199 + +files/e2fsprogs-1.42-no-quota.patch:
200 + Bump to final 1.42 release #392637 by Christian Inci. Add half-assed
201 + USE=static-libs support #377537 by Agostino Sarubbo.
202 +
203 + 06 Nov 2011; Brent Baude <ranger@g.o> e2fsprogs-1.41.14.ebuild:
204 + Marking e2fsprogs-1.41.14 ppc for bug 378039
205 +
206 + 31 Oct 2011; Raúl Porcel <armin76@g.o> e2fsprogs-1.41.14.ebuild:
207 + alpha/ia64/s390/sh/sparc stable wrt #378039
208 +
209 +*e2fsprogs-1.42_pre0702 (01 Sep 2011)
210 +
211 + 01 Sep 2011; Mike Frysinger <vapier@g.o>
212 + +e2fsprogs-1.42_pre0702.ebuild:
213 + Add WIP from upstream #379573 by Sebastian Pipping.
214 +
215 + 29 Aug 2011; Jeroen Roovers <jer@g.o> e2fsprogs-1.41.14.ebuild:
216 + Stable for HPPA (bug #378039).
217 +
218 + 14 Aug 2011; Markus Meier <maekke@g.o> e2fsprogs-1.41.14.ebuild:
219 + amd64/arm/x86 stable, bug #378039
220 +
221 + 03 Jan 2011; Fabian Groffen <grobian@g.o>
222 + e2fsprogs-1.41.12-r1.ebuild, +files/e2fsprogs-1.41.12-mint-blkid.patch,
223 + e2fsprogs-1.41.14.ebuild:
224 + Update mint blkid patch, bug #350342 by Alan Hourihane
225 +
226 +*e2fsprogs-1.41.14 (29 Dec 2010)
227 +
228 + 29 Dec 2010; Mike Frysinger <vapier@g.o> +e2fsprogs-1.41.14.ebuild:
229 + Version bump #350003 by Krzysztof Olędzki.
230 +
231 + 05 Dec 2010; Fabian Groffen <grobian@g.o>
232 + e2fsprogs-1.41.12-r1.ebuild,
233 + -files/e2fsprogs-1.41.12-darwin-no-mntent.patch:
234 + Fix up ebuild and building on Darwin, drop unnecessary stuff
235 +
236 + 05 Dec 2010; Fabian Groffen <grobian@g.o>
237 + files/e2fsprogs-1.41.12-darwin-makefile.patch,
238 + files/e2fsprogs-1.41.12-darwin-no-mntent.patch:
239 + Fix Darwin Makefile patch, it was obviously blindly ported to a newer
240 + version. Re-add removed docs to patches.
241 +
242 + 04 Dec 2010; Mike Frysinger <vapier@g.o> e2fsprogs-1.41.12-r1.ebuild,
243 + +files/e2fsprogs-1.41.12-getpagesize.patch:
244 + Undo some useless changes from the prefix merge, and fix implicit
245 + getpagesize() warnings.
246 +
247 +*e2fsprogs-1.41.12-r1 (19 Nov 2010)
248 +
249 + 19 Nov 2010; Justin Lecher <jlec@g.o> +e2fsprogs-1.41.12-r1.ebuild,
250 + +files/e2fsprogs-1.41.7-mint-blkid.patch, +files/e2fsprogs-1.41-mint.patch,
251 + +files/e2fsprogs-1.41.12-darwin-makefile.patch,
252 + +files/e2fsprogs-1.41.12-darwin-no-mntent.patch:
253 + Import Prefix Changes
254 +
255 + 09 Oct 2010; Raúl Porcel <armin76@g.o> e2fsprogs-1.41.12.ebuild:
256 + alpha/sparc stable wrt #337270
257 +
258 + 06 Oct 2010; Jeroen Roovers <jer@g.o> e2fsprogs-1.41.12.ebuild:
259 + Stable for HPPA (bug #337270).
260 +
261 + 01 Oct 2010; Michael Weber <xmw@g.o> e2fsprogs-1.41.12.ebuild:
262 + Stable on arm, bug 337270
263 +
264 + 01 Oct 2010; Brent Baude <ranger@g.o> e2fsprogs-1.41.12.ebuild:
265 + Marking e2fsprogs-1.41.12 ppc64 for bug 337270
266 +
267 + 30 Sep 2010; Markos Chandras <hwoarang@g.o>
268 + e2fsprogs-1.41.12.ebuild:
269 + Stable on amd64 wrt bug #337270
270 +
271 + 27 Sep 2010; Brent Baude <ranger@g.o> e2fsprogs-1.41.12.ebuild:
272 + Marking e2fsprogs-1.41.12 ppc for bug 337270
273 +
274 + 25 Sep 2010; Markus Meier <maekke@g.o> e2fsprogs-1.41.12.ebuild:
275 + x86 stable, bug #337270
276 +
277 + 08 Jul 2010; Brent Baude <ranger@g.o> e2fsprogs-1.41.11.ebuild:
278 + Marking e2fsprogs-1.41.11 for sec bug 323893
279 +
280 + 04 Jul 2010; Raúl Porcel <armin76@g.o> e2fsprogs-1.41.11.ebuild:
281 + sparc stable wrt #323893
282 +
283 +*e2fsprogs-1.41.12 (03 Jul 2010)
284 +
285 + 03 Jul 2010; Mike Frysinger <vapier@g.o> +e2fsprogs-1.41.12.ebuild:
286 + Version bump #326655 by Sebastian Koehler.
287 +
288 + 03 Jul 2010; Mike Frysinger <vapier@g.o> e2fsprogs-1.41.11.ebuild:
289 + Mark alpha/arm/ia64/s390/sh stable #323893.
290 +
291 + 27 Jun 2010; <nixnut@g.o> e2fsprogs-1.41.11.ebuild:
292 + ppc stable #323893
293 +
294 + 23 Jun 2010; Christoph Mende <angelos@g.o>
295 + e2fsprogs-1.41.11.ebuild:
296 + Stable on amd64 wrt bug #323893
297 +
298 + 21 Jun 2010; Jeroen Roovers <jer@g.o> e2fsprogs-1.41.11.ebuild:
299 + Stable for HPPA (bug #322709).
300 +
301 + 14 Jun 2010; Pawel Hajdan jr <phajdan.jr@g.o>
302 + e2fsprogs-1.41.11.ebuild:
303 + x86 stable wrt bug #323893
304 +
305 +*e2fsprogs-1.41.11 (20 Mar 2010)
306 +
307 + 20 Mar 2010; Mike Frysinger <vapier@g.o> +e2fsprogs-1.41.11.ebuild:
308 + Version bump.
309 +
310 +*e2fsprogs-1.41.10 (07 Mar 2010)
311 +
312 + 07 Mar 2010; Mike Frysinger <vapier@g.o> +e2fsprogs-1.41.10.ebuild,
313 + +files/e2fsprogs-1.41.10-e2fsck-corruption.patch:
314 + Version bump #306589 by Krzysztof Olędzki.
315 +
316 + 07 Dec 2009; Samuli Suominen <ssuominen@g.o>
317 + e2fsprogs-1.41.9.ebuild:
318 + amd64 stable wrt #284745
319 +
320 + 01 Dec 2009; Mike Frysinger <vapier@g.o> e2fsprogs-1.40.9.ebuild,
321 + e2fsprogs-1.41.3-r1.ebuild, e2fsprogs-1.41.6.ebuild,
322 + e2fsprogs-1.41.6-r1.ebuild, e2fsprogs-1.41.7.ebuild,
323 + e2fsprogs-1.41.7-r1.ebuild, e2fsprogs-1.41.8.ebuild,
324 + e2fsprogs-1.41.9.ebuild:
325 + Switch to new tc-has-tls function rather than USE=elibc_uclibc.
326 +
327 + 29 Nov 2009; Joseph Jezak <josejx@g.o> e2fsprogs-1.41.9.ebuild:
328 + Marked ppc stable for bug #284745.
329 +
330 + 28 Nov 2009; Raúl Porcel <armin76@g.o> e2fsprogs-1.41.9.ebuild:
331 + ia64/sparc stable wrt #284745
332 +
333 + 23 Nov 2009; Markus Meier <maekke@g.o> e2fsprogs-1.41.9.ebuild:
334 + arm stable, bug #284745
335 +
336 + 09 Nov 2009; Christian Faulhammer <fauli@g.o>
337 + e2fsprogs-1.41.9.ebuild:
338 + stable x86, bug 284745
339 +
340 + 31 Oct 2009; Brent Baude <ranger@g.o> e2fsprogs-1.41.9.ebuild:
341 + Marking e2fsprogs-1.41.9 ppc64 for bug 284745
342 +
343 + 21 Oct 2009; Jeroen Roovers <jer@g.o> e2fsprogs-1.41.9.ebuild:
344 + Stable for HPPA (bug #284745).
345 +
346 + 12 Oct 2009; Mike Frysinger <vapier@g.o> files/e2fsck.conf:
347 + Add [options] stanza #142850#36 by Steven Wilson.
348 +
349 + 03 Oct 2009; Tobias Klausmann <klausman@g.o>
350 + e2fsprogs-1.41.9.ebuild:
351 + Stable on alpha, bug #284745
352 +
353 + 24 Sep 2009; Mike Frysinger <vapier@g.o> +files/e2fsck.conf,
354 + e2fsprogs-1.41.9.ebuild:
355 + Install a default e2fsck.conf #142850.
356 +
357 +*e2fsprogs-1.41.9 (23 Aug 2009)
358 +
359 + 23 Aug 2009; Mike Frysinger <vapier@g.o> +e2fsprogs-1.41.9.ebuild:
360 + Version bump #282445 by Marcin Mirosław.
361 +
362 + 22 Jul 2009; Alexis Ballier <aballier@g.o> e2fsprogs-1.41.8.ebuild:
363 + Keyword -x86-fbsd due to bug #278667 and broken deps on util-linux
364 +
365 + 20 Jul 2009; Mike Frysinger <vapier@g.o> e2fsprogs-1.41.8.ebuild:
366 + Convert absolute lib symlinks to relative ones #278365 by Artjom Simon.
367 +
368 +*e2fsprogs-1.41.8 (16 Jul 2009)
369 +
370 + 16 Jul 2009; Mike Frysinger <vapier@g.o> +e2fsprogs-1.41.8.ebuild,
371 + +files/e2fsprogs-1.41.8-makefile.patch:
372 + Version bump #269378 by Matthias Schwarzott.
373 +
374 + 05 Jul 2009; Mike Frysinger <vapier@g.o>
375 + e2fsprogs-1.41.7-r1.ebuild:
376 + Switch from gen_usr_ldscript to the root_libdir that the package supports
377 + #276465 by Yury Vorobyov.
378 +
379 +*e2fsprogs-1.41.7-r1 (03 Jul 2009)
380 +
381 + 03 Jul 2009; Mike Frysinger <vapier@g.o>
382 + +files/0001-resize2fs-Fix-error-message-so-the-mountpoint-is-pri.patch,
383 + +e2fsprogs-1.41.7-r1.ebuild:
384 + Apply resize2fs fix from upstream #276352 by Matthias Schwarzott, fix
385 + findfs building #275923 by Bernhard Hartleb, and tweak tex font handling
386 + #261411.
387 +
388 +*e2fsprogs-1.41.7 (01 Jul 2009)
389 +
390 + 01 Jul 2009; Mike Frysinger <vapier@g.o> +e2fsprogs-1.41.7.ebuild:
391 + Version bump.
392 +
393 +*e2fsprogs-1.41.6-r1 (28 Jun 2009)
394 +
395 + 28 Jun 2009; Robin H. Johnson <robbat2@g.o>
396 + +e2fsprogs-1.41.6-r1.ebuild:
397 + The 1.41.6 release removed the blkid and findfs binaries as well, which
398 + are still needed.
399 +
400 + 20 Jun 2009; Mike Frysinger <vapier@g.o>
401 + e2fsprogs-1.41.3-r1.ebuild, e2fsprogs-1.41.6.ebuild:
402 + Pull in pkg-config #273042 by Zhang, Hongjiu.
403 +
404 +*e2fsprogs-1.41.6 (30 May 2009)
405 +
406 + 30 May 2009; Mike Frysinger <vapier@g.o> +e2fsprogs-1.41.6.ebuild:
407 + Version bump.
408 +
409 + 30 May 2009; Mike Frysinger <vapier@g.o>
410 + files/e2fsprogs-1.41.5-makefile.patch:
411 + Fix parallel build issue during install #266577 by Lars Wendler.
412 +
413 +*e2fsprogs-1.41.5 (29 May 2009)
414 +
415 + 29 May 2009; Mike Frysinger <vapier@g.o> +e2fsprogs-1.41.5.ebuild,
416 + +files/e2fsprogs-1.41.5-makefile.patch:
417 + Version bump #267402 by Paul Mulders.
418 +
419 + 05 Apr 2009; Mike Frysinger <vapier@g.o> e2fsprogs-1.41.4.ebuild:
420 + Move LDCONFIG/STRIP disabling to src_install #264469 by Nick Fortino.
421 +
422 + 17 Mar 2009; Raúl Porcel <armin76@g.o> e2fsprogs-1.41.3-r1.ebuild:
423 + alpha stable
424 +
425 + 14 Feb 2009; Raúl Porcel <armin76@g.o> e2fsprogs-1.41.3-r1.ebuild:
426 + arm/ia64/s390/sh/sparc/x86 stable wrt #258527
427 +
428 + 14 Feb 2009; Jeremy Olexa <darkside@g.o>
429 + e2fsprogs-1.41.3-r1.ebuild:
430 + amd64 stable, bug 258527
431 +
432 + 12 Feb 2009; Brent Baude <ranger@g.o> e2fsprogs-1.41.3-r1.ebuild:
433 + stable ppc64, bug 258527
434 +
435 + 12 Feb 2009; nixnut <nixnut@g.o> e2fsprogs-1.41.3-r1.ebuild:
436 + ppc stable #258527
437 +
438 + 11 Feb 2009; Tobias Klausmann <klausman@g.o> ChangeLog:
439 + Stable on alpha, bug #258527
440 +
441 + 11 Feb 2009; Jeroen Roovers <jer@g.o> e2fsprogs-1.41.3-r1.ebuild:
442 + Stable for HPPA (bug #258527).
443 +
444 +*e2fsprogs-1.41.4 (28 Jan 2009)
445 +
446 + 28 Jan 2009; Mike Frysinger <vapier@g.o> +e2fsprogs-1.41.4.ebuild:
447 + Version bump.
448 +
449 +*e2fsprogs-1.41.3-r1 (04 Jan 2009)
450 +
451 + 04 Jan 2009; Mike Frysinger <vapier@g.o>
452 + +files/e2fsprogs-1.41.3-tune2fs-opt.patch, +e2fsprogs-1.41.3-r1.ebuild:
453 + Add fix from upstream for slow tune2fs usage #253162 by candrews.
454 +
455 + 01 Jan 2009; Guy Martin <gmsoft@g.o> e2fsprogs-1.41.3.ebuild:
456 + hppa stable, #251808
457 +
458 + 30 Dec 2008; Mike Frysinger <vapier@g.o> e2fsprogs-1.41.3.ebuild:
459 + Create temp /etc/mtab for random test failures #217719.
460 +
461 + 29 Dec 2008; Tobias Scherbaum <dertobi123@g.o>
462 + e2fsprogs-1.41.3.ebuild:
463 + ppc stable, bug #251808
464 +
465 + 29 Dec 2008; Brent Baude <ranger@g.o> e2fsprogs-1.41.3.ebuild:
466 + Marking e2fsprogs-1.41.3 ppc64 for bug 251808
467 +
468 + 29 Dec 2008; Friedrich Oslage <bluebird@g.o>
469 + e2fsprogs-1.41.3.ebuild:
470 + Stable on sparc, bug #251808
471 +
472 + 27 Dec 2008; Jeremy Olexa <darkside@g.o> e2fsprogs-1.41.3.ebuild:
473 + amd64 stable, bug 251808
474 +
475 + 26 Dec 2008; Raúl Porcel <armin76@g.o> e2fsprogs-1.41.3.ebuild:
476 + ia64/x86 stable wrt #251808
477 +
478 + 26 Dec 2008; Tobias Klausmann <klausman@g.o>
479 + e2fsprogs-1.41.3.ebuild:
480 + Stable on alpha, bug #251808
481 +
482 + 08 Nov 2008; Raúl Porcel <armin76@g.o> e2fsprogs-1.41.2.ebuild:
483 + alpha/ia64 stable wrt #244511
484 +
485 + 08 Nov 2008; nixnut <nixnut@g.o> e2fsprogs-1.41.2.ebuild:
486 + Stable on ppc wrt bug 244511
487 +
488 + 28 Oct 2008; Brent Baude <ranger@g.o> e2fsprogs-1.41.2.ebuild:
489 + Marking e2fsprogs-1.41.2 ppc64 for bug 242740
490 +
491 + 27 Oct 2008; Markus Meier <maekke@g.o> e2fsprogs-1.41.2.ebuild:
492 + amd64/x86 stable, bug #244511
493 +
494 + 27 Oct 2008; Jeroen Roovers <jer@g.o> e2fsprogs-1.41.2.ebuild:
495 + Stable for HPPA (bug #244511).
496 +
497 +*e2fsprogs-1.41.3 (18 Oct 2008)
498 +
499 + 18 Oct 2008; Mike Frysinger <vapier@g.o> +e2fsprogs-1.41.3.ebuild:
500 + Version bump.
501 +
502 +*e2fsprogs-1.41.2 (02 Oct 2008)
503 +
504 + 02 Oct 2008; Mike Frysinger <vapier@g.o>
505 + +files/e2fsprogs-1.41.2-makefile.patch, +e2fsprogs-1.41.2.ebuild:
506 + Version bump.
507 +
508 +*e2fsprogs-1.41.1 (01 Sep 2008)
509 +
510 + 01 Sep 2008; Mike Frysinger <vapier@g.o> +e2fsprogs-1.41.1.ebuild:
511 + Version bump.
512 +
513 + 16 Aug 2008; Mike Frysinger <vapier@g.o> e2fsprogs-1.41.0.ebuild:
514 + Drop USE=static since it just confuses people #232115 #178718.
515 +
516 + 16 Aug 2008; Mike Frysinger <vapier@g.o> e2fsprogs-1.41.0.ebuild:
517 + Punt the doc dir since the info files are installed by e2fsprogs-libs
518 + #234885 by Lars Strojny.
519 +
520 +*e2fsprogs-1.41.0 (16 Aug 2008)
521 +
522 + 16 Aug 2008; Mike Frysinger <vapier@g.o>
523 + files/e2fsprogs-1.40-fbsd.patch, +files/e2fsprogs-1.41.0-makefile.patch,
524 + +e2fsprogs-1.41.0.ebuild:
525 + Version bump.
526 +
527 +*e2fsprogs-1.40.11 (18 Jun 2008)
528 +
529 + 18 Jun 2008; Mike Frysinger <vapier@g.o> +e2fsprogs-1.40.11.ebuild:
530 + Version bump.
531 +
532 + 14 Jun 2008; Samuli Suominen <drac@g.o> e2fsprogs-1.40.10.ebuild:
533 + Prevent sandbox violation. addwrite /var/cache/fonts; Font
534 + \circle=lcircle10 not loadable: Metric (TFM) file not found. kpathsea:
535 + Running mktextfm lcircle10. ACCESS DENIED mkdir: /var/cache/fonts/tfm.
536 + VARTEXFONTS doesn't seem to help.
537 +
538 + 14 Jun 2008; Christoph Mende <angelos@g.o> e2fsprogs-1.40.9.ebuild:
539 + Stable on amd64, bug #225239
540 +
541 + 12 Jun 2008; Tobias Klausmann <klausman@g.o>
542 + e2fsprogs-1.40.9.ebuild:
543 + Stable on alpha, bug #225239, thanks to Matt Turner for testing
544 +
545 + 09 Jun 2008; Brent Baude <ranger@g.o> e2fsprogs-1.40.9.ebuild:
546 + Marking e2fsprogs-1.40.9 ppc64 for bug 225239
547 +
548 + 09 Jun 2008; Raúl Porcel <armin76@g.o> e2fsprogs-1.40.9.ebuild:
549 + ia64/sparc/x86 stable wrt #225239
550 +
551 + 08 Jun 2008; nixnut <nixnut@g.o> e2fsprogs-1.40.9.ebuild:
552 + Stable on ppc wrt bug 225239
553 +
554 +*e2fsprogs-1.40.10 (07 Jun 2008)
555 +
556 + 07 Jun 2008; Mike Frysinger <vapier@g.o> +e2fsprogs-1.40.10.ebuild:
557 + Version bump #225161 by Krzysztof Olędzki and rework ldscripts.
558 +
559 + 07 Jun 2008; Jeroen Roovers <jer@g.o> e2fsprogs-1.40.9.ebuild:
560 + Stable for HPPA (bug #225239).
561 +
562 + 26 May 2008; Raúl Porcel <armin76@g.o> e2fsprogs-1.40.8.ebuild:
563 + ia64 stable wrt #213588
564 +
565 + 01 May 2008; Markus Meier <maekke@g.o> e2fsprogs-1.40.8.ebuild:
566 + amd64/x86 stable, bug #213588
567 +
568 + 30 Apr 2008; Tobias Klausmann <klausman@g.o>
569 + e2fsprogs-1.40.8.ebuild:
570 + Stable on alpha, bug #213588
571 +
572 + 27 Apr 2008; Jeroen Roovers <jer@g.o> e2fsprogs-1.40.8.ebuild:
573 + Stable for HPPA (bug #213588).
574 +
575 +*e2fsprogs-1.40.9 (27 Apr 2008)
576 +
577 + 27 Apr 2008; Mike Frysinger <vapier@g.o> +e2fsprogs-1.40.9.ebuild:
578 + Version bump.
579 +
580 + 28 Mar 2008; Jeroen Roovers <jer@g.o> e2fsprogs-1.40.6.ebuild:
581 + Stable for HPPA too.
582 +
583 + 17 Mar 2008; Christian Heim <phreak@g.o> e2fsprogs-1.40.4.ebuild:
584 + e2fsprogs-1.40.4 also needs tls disabled on uClibc.
585 +
586 + 16 Mar 2008; Samuli Suominen <drac@g.o> e2fsprogs-1.40.6.ebuild:
587 + amd64 stable
588 +
589 + 16 Mar 2008; Raúl Porcel <armin76@g.o> e2fsprogs-1.40.6.ebuild:
590 + alpha/ia64/sparc/x86 stable
591 +
592 +*e2fsprogs-1.40.8 (14 Mar 2008)
593 +
594 + 14 Mar 2008; Mike Frysinger <vapier@g.o> +e2fsprogs-1.40.8.ebuild:
595 + Version bump.
596 +
597 + 20 Feb 2008; <solar@g.o> e2fsprogs-1.40.5-r1.ebuild,
598 + e2fsprogs-1.40.6.ebuild:
599 + - disable tls with uclibc. bug 204102 Natanael Copa
600 +
601 +*e2fsprogs-1.40.6 (10 Feb 2008)
602 +
603 + 10 Feb 2008; Mike Frysinger <vapier@g.o> +e2fsprogs-1.40.6.ebuild:
604 + Version bump.
605 +
606 + 03 Feb 2008; Christoph Mende <angelos@g.o> e2fsprogs-1.40.4.ebuild:
607 + Stable on amd64, bug #207841
608 +
609 + 31 Jan 2008; nixnut <nixnut@g.o> e2fsprogs-1.40.4.ebuild:
610 + Stable on ppc wrt bug 207841
611 +
612 + 29 Jan 2008; Brent Baude <ranger@g.o> e2fsprogs-1.40.4.ebuild:
613 + Marking e2fsprogs-1.40.4 ppc64 for bug 207841
614 +
615 + 28 Jan 2008; Jeroen Roovers <jer@g.o> e2fsprogs-1.40.4.ebuild:
616 + Stable for HPPA (bug #207841).
617 +
618 +*e2fsprogs-1.40.5-r1 (28 Jan 2008)
619 +
620 + 28 Jan 2008; Mike Frysinger <vapier@g.o>
621 + +e2fsprogs-1.40.5-r1.ebuild:
622 + Make sure we dont install libss.a as well as pointed out by Jakub.
623 +
624 + 28 Jan 2008; Raúl Porcel <armin76@g.o> e2fsprogs-1.40.4.ebuild:
625 + alpha/ia64/sparc/x86 stable wrt #207841
626 +
627 +*e2fsprogs-1.40.5 (28 Jan 2008)
628 +
629 + 28 Jan 2008; Mike Frysinger <vapier@g.o>
630 + +files/e2fsprogs-1.40.5-libintl.patch, +e2fsprogs-1.40.5.ebuild:
631 + Version bump.
632 +
633 +*e2fsprogs-1.40.4 (01 Jan 2008)
634 +
635 + 01 Jan 2008; Mike Frysinger <vapier@g.o>
636 + +files/e2fsprogs-1.40.4-prototypes.patch, files/e2fsprogs-1.40-fbsd.patch,
637 + +e2fsprogs-1.40.4.ebuild:
638 + Version bump.
639 +
640 +*e2fsprogs-1.40.3-r1 (24 Dec 2007)
641 +
642 + 24 Dec 2007; Mike Frysinger <vapier@g.o>
643 + +files/e2fsprogs-1.40.3-fsck-fuse.patch, +e2fsprogs-1.40.3-r1.ebuild:
644 + Add patch from upstream for fuse syntax which has inline # characters
645 + #195405 by Thorsten Kampe.
646 +
647 + 12 Dec 2007; Brent Baude <ranger@g.o> e2fsprogs-1.40.3.ebuild:
648 + Marking e2fsprogs-1.40.3 ppc64 stable for 201546
649 +
650 + 10 Dec 2007; Tobias Scherbaum <dertobi123@g.o>
651 + e2fsprogs-1.40.3.ebuild:
652 + ppc stable, bug #201546
653 +
654 + 10 Dec 2007; Raúl Porcel <armin76@g.o> e2fsprogs-1.40.3.ebuild:
655 + alpha/ia64/sparc stable wrt security #201546
656 +
657 + 10 Dec 2007; Jeroen Roovers <jer@g.o> e2fsprogs-1.40.3.ebuild:
658 + Stable for HPPA (bug #201546).
659 +
660 + 10 Dec 2007; Andrej Kacian <ticho@g.o> e2fsprogs-1.40.3.ebuild:
661 + Stable on x86, bug #201546.
662 +
663 + 10 Dec 2007; Peter Weller <welp@g.o> e2fsprogs-1.40.3.ebuild:
664 + Stable on amd64; bug 201546
665 +
666 + 09 Dec 2007; Mike Frysinger <vapier@g.o> e2fsprogs-1.40.3.ebuild:
667 + Update dodoc lines #201776 by Arfrever Frehtes Taifersar Arahesis.
668 +
669 +*e2fsprogs-1.40.3 (08 Dec 2007)
670 +
671 + 08 Dec 2007; Mike Frysinger <vapier@g.o> +e2fsprogs-1.40.3.ebuild:
672 + Version bump.
673 +
674 + 26 Nov 2007; Jeroen Roovers <jer@g.o> e2fsprogs-1.40.2.ebuild:
675 + Stable for HPPA (bug #200192).
676 +
677 + 24 Nov 2007; Samuli Suominen <drac@g.o> e2fsprogs-1.40.2.ebuild:
678 + amd64 stable wrt #200192
679 +
680 + 19 Nov 2007; Joshua Kinard <kumba@g.o> e2fsprogs-1.40.2.ebuild:
681 + Stable on mips.
682 +
683 + 11 Oct 2007; Tom Gall <tgall@g.o> e2fsprogs-1.40.2.ebuild:
684 + stable on ppc64
685 +
686 + 01 Oct 2007; Christian Birchinger <joker@g.o>
687 + e2fsprogs-1.40.2.ebuild:
688 + Added sparc stable keyword
689 +
690 + 17 Sep 2007; Raúl Porcel <armin76@g.o> e2fsprogs-1.40.2.ebuild:
691 + alpha/ia64/x86 stable
692 +
693 + 15 Sep 2007; Roy Marples <uberlord@g.o> +files/fsck_ext2fs.8,
694 + +files/e2fsprogs-1.40-fbsd.patch, +files/fsck_ext2fs.c,
695 + e2fsprogs-1.40.2.ebuild:
696 + Add the fsck_ext2fs helper and man page for FreeBSD and add a patch for
697 + 1.40.2 to work on FreeBSD.
698 +
699 +*e2fsprogs-1.40.2 (14 Jul 2007)
700 +
701 + 14 Jul 2007; Mike Frysinger <vapier@g.o> +e2fsprogs-1.40.2.ebuild:
702 + Version bump.
703 +
704 +*e2fsprogs-1.40.1 (09 Jul 2007)
705 +
706 + 09 Jul 2007; Mike Frysinger <vapier@g.o> +e2fsprogs-1.40.1.ebuild:
707 + Version bump.
708 +
709 +*e2fsprogs-1.40 (30 Jun 2007)
710 +
711 + 30 Jun 2007; Mike Frysinger <vapier@g.o> +e2fsprogs-1.40.ebuild:
712 + Version bump.
713 +
714 + 23 Jun 2007; Daniel Drake <dsd@g.o> e2fsprogs-1.39.ebuild,
715 + e2fsprogs-1.39-r1.ebuild, e2fsprogs-1.39-r2.ebuild,
716 + e2fsprogs-1.40_pre20070411.ebuild:
717 + Add BSD to LICENSE due to libuuid licensing (bug #174477)
718 +
719 + 21 Jun 2007; Raúl Porcel <armin76@g.o> e2fsprogs-1.39-r2.ebuild:
720 + alpha stable wrt #176841
721 +
722 + 25 May 2007; Peter Weller <welp@g.o>
723 + e2fsprogs-1.40_pre20070411.ebuild:
724 + Removed ~x86-fbsd keyword as it fails to build
725 +
726 + 11 May 2007; Joshua Kinard <kumba@g.o> e2fsprogs-1.39-r2.ebuild:
727 + Stable on mips, per #176841.
728 +
729 + 06 May 2007; Tobias Scherbaum <dertobi123@g.o>
730 + e2fsprogs-1.39-r2.ebuild:
731 + ppc stable, bug #176841
732 +
733 +*e2fsprogs-1.40_pre20070411 (05 May 2007)
734 +
735 + 05 May 2007; Mike Frysinger <vapier@g.o>
736 + +files/e2fsprogs-1.40-libintl.patch, +e2fsprogs-1.40_pre20070411.ebuild:
737 + Version bump #175790 by Hanno Boeck.
738 +
739 + 03 May 2007; Jeroen Roovers <jer@g.o> e2fsprogs-1.39-r2.ebuild:
740 + Stable for HPPA (bug #176841).
741 +
742 + 02 May 2007; Andrej Kacian <ticho@g.o> e2fsprogs-1.39-r2.ebuild:
743 + Stable on x86, bug #176841.
744 +
745 + 02 May 2007; Markus Rothe <corsair@g.o> e2fsprogs-1.39-r2.ebuild:
746 + Stable on ppc64; bug #176841
747 +
748 + 02 May 2007; Gustavo Zacarias <gustavoz@g.o>
749 + e2fsprogs-1.39-r2.ebuild:
750 + Stable on sparc wrt #176841
751 +
752 + 02 May 2007; Steve Dibb <beandog@g.o> e2fsprogs-1.39-r2.ebuild:
753 + amd64 stable, bug 176841
754 +
755 +*e2fsprogs-1.39-r2 (24 Mar 2007)
756 +
757 + 24 Mar 2007; Mike Frysinger <vapier@g.o>
758 + +files/e2fsprogs-1.39-blkid-memleak.patch, +e2fsprogs-1.39-r2.ebuild:
759 + Grab fix from upstream for blkid memleak #171844 by Andrej Filipcic and drop
760 + ext4 support #167562 by Maurice Volaski.
761 +
762 + 26 Jan 2007; Mike Frysinger <vapier@g.o>
763 + files/e2fsprogs-1.39-makefile.patch:
764 + Dont compress info pages #163943 by Ian Abbott.
765 +
766 + 17 Jan 2007; Mike Frysinger <vapier@g.o>
767 + +files/e2fsprogs-1.39-ext4-prototypes.patch,
768 + +files/e2fsprogs-1.39-util-strptime.patch, e2fsprogs-1.39-r1.ebuild:
769 + Touchup source code.
770 +
771 +*e2fsprogs-1.39-r1 (30 Dec 2006)
772 +
773 + 30 Dec 2006; Mike Frysinger <vapier@g.o> +e2fsprogs-1.39-r1.ebuild:
774 + Add support for ext4 #156697.
775 +
776 + 10 Dec 2006; Timothy Redaelli <drizzt@g.o> e2fsprogs-1.39.ebuild:
777 + Add ~x86-fbsd keyword
778 +
779 + 11 Nov 2006; Mike Frysinger <vapier@g.o>
780 + +files/e2fsprogs-1.38-locale.patch, e2fsprogs-1.39.ebuild:
781 + Fix building in some locales #131462 by Andres Toomsalu.
782 +
783 + 09 Sep 2006; Mike Frysinger <vapier@g.o>
784 + +files/e2fsprogs-1.39-parse-types.patch, e2fsprogs-1.39.ebuild:
785 + Cleanup ugly build code #146903 by throw_away_2002.
786 +
787 +*e2fsprogs-1.39 (01 Aug 2006)
788 +
789 + 01 Aug 2006; Mike Frysinger <vapier@g.o>
790 + +files/e2fsprogs-1.39-libintl.patch, +files/e2fsprogs-1.39-makefile.patch,
791 + +e2fsprogs-1.39.ebuild:
792 + Version bump #141246 by David Brown.
793 +
794 + 27 Apr 2006; Alec Warner <antarus@g.o> Manifest:
795 + Fixing SHA256 digest, pass four
796 +
797 + 29 Apr 2006; Joshua Kinard <kumba@g.o> e2fsprogs-1.38-r1.ebuild:
798 + Marked stable on mips.
799 +
800 + 12 Apr 2006; Bryan Østergaard <kloeri@g.o
801 + e2fsprogs-1.38-r1.ebuild:
802 + Stable on alpha, bug 125158.
803 +
804 + 11 Mar 2006; <nixnut@g.o> e2fsprogs-1.38-r1.ebuild:
805 + Stable on ppc. Bug #125158
806 +
807 + 10 Mar 2006; Torsten Veller <tove@g.o> e2fsprogs-1.38-r1.ebuild:
808 + Stable on x86 (#125158)
809 +
810 + 09 Mar 2006; Patrick McLean <chutzpah@g.o>
811 + e2fsprogs-1.38-r1.ebuild:
812 + Stable on amd64 (bug #125158).
813 +
814 + 06 Mar 2006; Gustavo Zacarias <gustavoz@g.o>
815 + e2fsprogs-1.38-r1.ebuild:
816 + Stable on sparc wrt #125158
817 +
818 + 06 Mar 2006; Tom Gall <tgall@g.o>
819 + e2fsprogs-1.38-r1.ebuild:
820 + stable on ppc64, bug #125158
821 +
822 + 11 Feb 2006; Diego Pettenò <flameeyes@g.o>
823 + +files/e2fsprogs-1.38-libintl.patch, e2fsprogs-1.38-r1.ebuild:
824 + Add patch to fix libintl linkage on non-glibc systems. Bug #122368.
825 +
826 + 08 Feb 2006; Mike Frysinger <vapier@g.o>
827 + +files/e2fsprogs-1.38-tests-locale.patch, e2fsprogs-1.38-r1.ebuild:
828 + Fix running tests in different locales #99766 by Attila Stehr.
829 +
830 +*e2fsprogs-1.38-r1 (19 Dec 2005)
831 +
832 + 19 Dec 2005; Mike Frysinger <vapier@g.o>
833 + +files/e2fsprogs-1.38-blkid-ext23.patch,
834 + +files/e2fsprogs-1.38-blkid-swsuspend.patch,
835 + +files/e2fsprogs-1.38-vfat-labels.patch, +e2fsprogs-1.38-r1.ebuild:
836 + Add support for parsing of vfat labels #77692 by Evgeniy and some other
837 + upstream fixes.
838 +
839 + 08 Sep 2005; Aaron Walker <ka0ttic@g.o> e2fsprogs-1.38.ebuild:
840 + Stable on mips.
841 +
842 + 02 Sep 2005; Mike Frysinger <vapier@g.o> e2fsprogs-1.38.ebuild:
843 + Add support for FreeBSD #103388 by Diego Pettenò
844 +
845 + 28 Aug 2005; Mike Frysinger <vapier@g.o> e2fsprogs-1.35-r1.ebuild,
846 + e2fsprogs-1.36.ebuild, e2fsprogs-1.36-r2.ebuild, e2fsprogs-1.37.ebuild,
847 + e2fsprogs-1.37-r1.ebuild, e2fsprogs-1.38.ebuild:
848 + Punt USE=diet.
849 +
850 + 23 Aug 2005; Aron Griffis <agriffis@g.o> e2fsprogs-1.38.ebuild:
851 + stable on ia64
852 +
853 + 07 Aug 2005; Mike Frysinger <vapier@g.o>
854 + +files/e2fsprogs-1.38-disconnected-inodes.patch, e2fsprogs-1.38.ebuild:
855 + Add patch from upstream to fix segfault #91751 by Christopher Cowart / Ben
856 + Schwartz.
857 +
858 + 25 Jul 2005; Rene Nussbaumer <killerfox@g.o> e2fsprogs-1.38.ebuild:
859 + Stable on hppa.
860 +
861 + 20 Jul 2005; Markus Rothe <corsair@g.o> e2fsprogs-1.38.ebuild:
862 + Stable on ppc64
863 +
864 + 19 Jul 2005; Bryan Østergaard <kloeri@g.o> e2fsprogs-1.38.ebuild:
865 + Stable on alpha.
866 +
867 + 18 Jul 2005; Gustavo Zacarias <gustavoz@g.o> e2fsprogs-1.38.ebuild:
868 + Stable on sparc
869 +
870 + 18 Jul 2005; Joseph Jezak <josejx@g.o> e2fsprogs-1.38.ebuild:
871 + Marked ppc stable.
872 +
873 +*e2fsprogs-1.38 (09 Jul 2005)
874 +
875 + 09 Jul 2005; Mike Frysinger <vapier@g.o> +e2fsprogs-1.38.ebuild:
876 + Version bump #98332 by Joshua.
877 +
878 + 08 Jul 2005; Markus Rothe <corsair@g.o> e2fsprogs-1.37-r1.ebuild:
879 + Stable on ppc64
880 +
881 + 29 Jun 2005; Joshua Kinard <kumba@g.o> e2fsprogs-1.37-r1.ebuild:
882 + Marked stable on mips.
883 +
884 + 28 Jun 2005; Bryan Østergaard <kloeri@g.o>
885 + e2fsprogs-1.37-r1.ebuild:
886 + Stable on alpha.
887 +
888 + 27 Jun 2005; Michael Hanselmann <hansmi@g.o>
889 + e2fsprogs-1.37-r1.ebuild:
890 + Stable on hppa.
891 +
892 + 27 Jun 2005; Seemant Kulleen <seemant@g.o>
893 + e2fsprogs-1.37-r1.ebuild:
894 + stable on x86 and amd64
895 +
896 + 24 Jun 2005; Gustavo Zacarias <gustavoz@g.o>
897 + e2fsprogs-1.37-r1.ebuild:
898 + Stable on sparc wrt #96727
899 +
900 + 22 Jun 2005; Michael Hanselmann <hansmi@g.o>
901 + e2fsprogs-1.37-r1.ebuild:
902 + Stable on ppc (#96727).
903 +
904 + 29 May 2005; <solar@g.o> e2fsprogs-1.37.ebuild:
905 + - update sys-fs/e2fsprogs to use libc expanded variable elibc_uclibc vs uclibc
906 + so USE=-* works
907 +
908 + 23 May 2005; Herbie Hopkins <herbs@g.o> e2fsprogs-1.37-r1.ebuild:
909 + More get_libdir-ization, fixes compilation on amd64s no-lib32 profile.
910 +
911 + 30 Apr 2005; Mike Frysinger <vapier@g.o> e2fsprogs-1.37-r1.ebuild:
912 + Remove USE=diet since it causes stupid problems #81096.
913 +
914 + 27 Apr 2005; Mike Frysinger <vapier@g.o>
915 + +files/e2fsprogs-1.37-e2p-test.patch, e2fsprogs-1.37.ebuild,
916 + e2fsprogs-1.37-r1.ebuild:
917 + Fix make check in e2p on an empty install #88570.
918 +
919 +*e2fsprogs-1.37-r1 (24 Mar 2005)
920 +
921 + 24 Mar 2005; Mike Frysinger <vapier@g.o> +e2fsprogs-1.37-r1.ebuild:
922 + Add version with split com_err/ss.
923 +
924 +*e2fsprogs-1.37 (22 Mar 2005)
925 +
926 + 22 Mar 2005; Mike Frysinger <vapier@g.o> +e2fsprogs-1.37.ebuild:
927 + Version bump for security #86257.
928 +
929 + 22 Mar 2005; Aron Griffis <agriffis@g.o> e2fsprogs-1.36-r2.ebuild:
930 + Mark stable on ia64 to match version of fsck included in FC3. This is
931 + important since currently ia64 users use a chroot for installation, then run
932 + into bug 71159
933 +
934 +*e2fsprogs-1.36-r2 (10 Mar 2005)
935 +
936 + 10 Mar 2005; Mike Frysinger <vapier@g.o>
937 + +files/e2fsprogs-1.36-makefile.patch, +e2fsprogs-1.36-r2.ebuild:
938 + Fix header install and lib/bin symlinks.
939 +
940 +*e2fsprogs-1.36-r1 (08 Mar 2005)
941 +
942 + 08 Mar 2005; Mike Frysinger <vapier@g.o> +e2fsprogs-1.36-r1.ebuild:
943 + Version bump to clean crap up.
944 +
945 +*e2fsprogs-1.36 (06 Feb 2005)
946 +
947 + 06 Feb 2005; Tony Vroon <chainsaw@g.o> +e2fsprogs-1.36.ebuild:
948 + Version bump, resolves bug #80567. Compiles on GCC 4.
949 +
950 + 18 Jan 2005; Joshua Kinard <kumba@g.o> e2fsprogs-1.35-r1.ebuild:
951 + Marked stable on mips.
952 +
953 + 03 Jan 2005; Ciaran McCreesh <ciaranm@g.o> :
954 + Change encoding to UTF-8 for GLEP 31 compliance
955 +
956 + 07 Dec 2004; Joseph Jezak <josejx@g.o> e2fsprogs-1.35-r1.ebuild:
957 + Marked ppc stable for bug #73605.
958 +
959 + 06 Dec 2004; Mike Frysinger <vapier@g.o> e2fsprogs-1.35-r1.ebuild:
960 + Make sure kernel defines dont clash with internal defines #48829.
961 +
962 + 23 Nov 2004; Bryan Østergaard <kloeri@g.o>
963 + e2fsprogs-1.35-r1.ebuild:
964 + Stable on alpha.
965 +
966 + 18 Nov 2004; Markus Rothe <corsair@g.o> e2fsprogs-1.35-r1.ebuild:
967 + Stable on ppc64; bug #70911
968 +
969 + 12 Nov 2004; Gustavo Zacarias <gustavoz@g.o>
970 + e2fsprogs-1.35-r1.ebuild:
971 + Stable on sparc
972 +
973 + 11 Nov 2004; Mike Frysinger <vapier@g.o> e2fsprogs-1.35-r1.ebuild,
974 + e2fsprogs-1.35.ebuild:
975 + Set $LDCONFIG so stupid configure script doesnt try to run /sbin/ldconfig
976 + for us.
977 +
978 + 03 Oct 2004; Mike Frysinger <vapier@g.o> e2fsprogs-1.35-r1.ebuild:
979 + Support dietlibc #36306 by Adam.
980 +
981 + 22 Sep 2004; Travis Tilley <lv@g.o> e2fsprogs-1.35-r1.ebuild:
982 + $(get_libdir)-ized and fixed a sandbox violation when libdir is set. marked
983 + stable on amd64 for this fix.
984 +
985 +*e2fsprogs-1.35-r1 (13 Sep 2004)
986 +
987 + 13 Sep 2004; Guy Martin <gmsoft@g.o> +e2fsprogs-1.35-r1.ebuild:
988 + Use -fPIC compiled shared files in .a files. Fix kdelibs-3.3.0 compilation on
989 + hppa => Stable on hppa.
990 +
991 + 03 Sep 2004; Pieter Van den Abeele <pvdabeel@g.o>
992 + e2fsprogs-1.35.ebuild:
993 + Masked e2fsprogs-1.35.ebuild stable for ppc
994 +
995 + 30 Jun 2004; Guy Martin <gmsoft@g.o> e2fsprogs-1.35.ebuild:
996 + Marked stable on hppa.
997 +
998 + 30 Jun 2004; Aron Griffis <agriffis@g.o> e2fsprogs-1.35.ebuild:
999 + stable on alpha
1000 +
1001 + 29 Jun 2004; Joshua Kinard <kumba@g.o> e2fsprogs-1.35.ebuild:
1002 + Marked stable on sparc and mips.
1003 +
1004 + 24 Jun 2004; Martin Holzer <mholzer@g.o> e2fsprogs-1.35.ebuild:
1005 + x86 stable
1006 +
1007 + 17 Jun 2004; Alexander Gabert <pappy@g.o> e2fsprogs-1.35.ebuild:
1008 + building e2fsprogs on sparc results in silo failing because libext2 is linked
1009 + into a nostdlib executable
1010 +
1011 + 02 Jun 2004; Travis Tilley <lv@g.o> e2fsprogs-1.35.ebuild:
1012 + stable on amd64
1013 +
1014 + 17 May 2004; Bryan Østergaard <kloeri@g.o> e2fsprogs-1.35.ebuild:
1015 + Add ~alpha.
1016 +
1017 + 27 Apr 2004; Michael McCabe <randy@g.o> e2fsprogs-1.35.ebuild:
1018 + Marked stable on s390
1019 +
1020 + 23 Apr 2004; Aron Griffis <agriffis@g.o> e2fsprogs-1.34-r1.ebuild,
1021 + e2fsprogs-1.35.ebuild:
1022 + Mark 1.34-r1 stable on ia64, and simultaneously mark 1.35 -ia64 until bug
1023 + 48829 (e2fsprogs-1.35 doesn't build on ia64) is resolved
1024 +
1025 + 09 Apr 2004; Travis Tilley <lv@g.o> e2fsprogs-1.34.ebuild:
1026 + stable on amd64
1027 +
1028 +*e2fsprogs-1.35 (28 Mar 2004)
1029 +
1030 + 28 Mar 2004; Mike Frysinger <vapier@g.o> :
1031 + Version bump #40624 by Nicolas Boichat.
1032 +
1033 + 03 Feb 2004; Bartosch Pixa <darkspecter@g.o>
1034 + e2fsprogs-1.34-r1.ebuild:
1035 + set ppc in keywords
1036 +
1037 + 28 Jan 2004; Aron Griffis <agriffis@g.o> e2fsprogs-1.34.ebuild:
1038 + stable on alpha and ia64
1039 +
1040 + 15 Jan 2004; <gustavoz@g.o> e2fsprogs-1.32-r2.ebuild,
1041 + e2fsprogs-1.33.ebuild, e2fsprogs-1.34-r1.ebuild, e2fsprogs-1.34.ebuild:
1042 + backed out restrict=nomirror since it's hardly justified in logs or bugs
1043 +
1044 +*e2fsprogs-1.34-r1 (14 Jan 2004)
1045 +
1046 + 14 Jan 2004; Chris PeBenito <pebenito@g.o> e2fsprogs-1.34-r1.ebuild,
1047 + files/e2fsprogs-1.34-swap-symlink.diff:
1048 + Add fix to handle symlinks with extended attributes correctly on big endian
1049 + systems.
1050 +
1051 + 09 Jan 2004; <gustavoz@g.o> e2fsprogs-1.34.ebuild:
1052 + marked stable for hppa
1053 +
1054 + 09 Jan 2004; Jason Wever <weeve@g.o> e2fsprogs-1.34.ebuild:
1055 + Marked stable on sparc.
1056 +
1057 + 30 Dec 2003; Seemant Kulleen <seemant@g.o> e2fsprogs-1.34.ebuild,
1058 + files/e2fsprogs-sed-locale.patch:
1059 + Added patch to make the sed expressions used in the configure script and other
1060 + sed scripts friendly to locales like ee_ET (estonian)
1061 +
1062 + 28 Dec 2003; Joshua Kinard <kumba@g.o> e2fsprogs-1.34.ebuild:
1063 + Move to mips stable (~mips -> mips)
1064 +
1065 + 24 Dec 2003; <plasmaroo@g.o> e2fsprogs-1.34.ebuild,
1066 + files/e2fsprogs-1.34-kernel-2.6-fix.patch:
1067 + Added a patch to get e2fsprogs to compile with 2.6 headers; closing bug #31419.
1068 +
1069 + 21 Dec 2003; Martin Holzer <mholzer@g.o> e2fsprogs-1.34.ebuild:
1070 + x86 stable
1071 +
1072 + 21 Dec 2003; Martin Holzer <mholzer@g.o> e2fsprogs-1.34.ebuild:
1073 + fixing userpriv. closes 27348
1074 +
1075 + 21 Nov 2003; Martin Holzer <mholzer@g.o> e2fsprogs-1.32-r2.ebuild,
1076 + e2fsprogs-1.33.ebuild, e2fsprogs-1.34.ebuild:
1077 + adding RESTRICT="nomirror"
1078 +
1079 + 22 Oct 2003; Bartosch Pixa <darkspecter@g.o> e2fsprogs-1.34.ebuild:
1080 + set ppc in keywords
1081 +
1082 +*e2fsprogs-1.34 (30 Jul 2003)
1083 +
1084 + 30 Sep 2003; Joshua Kinard <kumba@g.o> e2fsprogs-1.34.ebuild:
1085 + Added ~sparc & ~mips to KEYWORDS
1086 +
1087 + 30 Jul 2003; Brandon Low <lostlogic@g.o> e2fsprogs-1.34.ebuild:
1088 + Bump
1089 +
1090 + 31 May 2003; Daniel Robbins <drobbins@g.o>: moving to x86 (stable.)
1091 +
1092 +*e2fsprogs-1.33 (21 Apr 2003)
1093 +
1094 + 23 Sep 2003; Bartosch Pixa <darkspecter@g.o> e2fsprogs-1.33.ebuild:
1095 + set ppc in keywords
1096 +
1097 + 19 Sep 2003; Seemant Kulleen <seemant@g.o> e2fsprogs-1.33.ebuild,
1098 + e2fsprogs-1.34.ebuild:
1099 + add static support, thanks to: Sascha Silbe <sascha-gentoo-bugzilla@×××××.org>
1100 + in bug #29166
1101 +
1102 + 15 Sep 2003; Seemant Kulleen <seemant@g.o> e2fsprogs-1.32-r2.ebuild,
1103 + e2fsprogs-1.33.ebuild, e2fsprogs-1.34.ebuild,
1104 + files/e2fsprogs-1.27ea-0.8.21.diff,
1105 + files/e2fsprogs-1.32-mk_cmds-cosmetic.patch:
1106 + moved to sys-fs
1107 +
1108 + 21 Apr 2003; Daniel Robbins <drobbins@g.o>: New upstream release.
1109 + Creation of locale stuff fails so commented out its creation in the ebuild.
1110 + Marked ~x86 only.
1111 +
1112 +*e2fsprogs-1.32-r2 (31 Dec 2002)
1113 +
1114 + 15 Mar 2003; Jan Seidel <tuxus@g.o> :
1115 + Added mips to KEYWORDS
1116 +
1117 + 23 Feb 2003; Aron Griffis <agriffis@g.o> e2fsprogs-1.32-r2.ebuild :
1118 + Fix minor error in the ebuild where "die" could be called from within
1119 + a subshell.
1120 +
1121 + 20 Feb 2003; Zach Welch <zwelch@g.o> e2fsprogs-1.32-r2.ebuild :
1122 + Added arm to keywords.
1123 +
1124 + 09 Feb 2003; Guy Martin <gmsoft@g.o> e2fsprogs-1.32-r2.ebuild :
1125 + Added hppa to keywords.
1126 +
1127 + 31 Dec 2002; Brandon Low <lostlogic@g.o> e2fsprogs-1.32-r2.ebuild :
1128 +
1129 + Symlink the mkfs.ext3 to mke2fs as it should be. Marked stable.
1130 +
1131 +*e2fsprogs-1.32-r1 (26 Dec 2002)
1132 +
1133 + 26 Dec 2002; Martin Schlemmer <azarah@g.o> e2fsprogs-1.32-r1.ebuild :
1134 +
1135 + Fix trying to move lsattr, chattr and uuidgen to non existing directory
1136 + in src_install(). Move compile_et and mk_cmds to /usr/bin. Fix a cosmetic
1137 + error in mk_cmds help output.
1138 +
1139 + 10 Dec 2002; Martin Schlemmer <azarah@g.o> e2fsprogs-1.32.ebuild :
1140 +
1141 + Mark stable.
1142 +
1143 + 06 Dec 2002; Rodney Rees <manson@g.o> :
1144 +
1145 + Changed sparc ~sparc keywords
1146 +
1147 +*e2fsprogs-1.32 (11 Nov 2002)
1148 +
1149 + 25 Feb 2003; Brandon Low <lostlogic@g.o> e2fsprogs-1.27-r1.ebuild e2fsprogs-1.27.ebuild e2fsprogs-1.29-r1.ebuild e2fsprogs-1.29.ebuild e2fsprogs-1.32-r1.ebuild e2fsprogs-1.32.ebuild :
1150 + Fix nesteddies
1151 +
1152 + 18 Jan 2003; Jan Seidel <tuxus@g.o> :
1153 + Added mips to keywords
1154 +
1155 + 11 Nov 2002; Brandon Low <lostlogic@g.o> e2fsprogs-1.32.ebuild :
1156 +
1157 + New version from upstream.
1158 +
1159 +*e2fsprogs-1.30 (01 Nov 2002)
1160 +
1161 + 01 Nov 2002; Brandon Low <lostlogic@g.o> :
1162 +
1163 + New version, also updated the ebuild to use econf and einstall.
1164 +
1165 +*e2fsprogs-1.29-r1 (26 Oct 2002)
1166 +
1167 + 26 Oct 2002; Martin Schlemmer <azarah@g.o> :
1168 + Install linker scripts to fix bug #4411.
1169 +
1170 +*e2fsprogs-1.29 (25 Sep 2002)
1171 +
1172 + 25 Sep 2002; Martin Schlemmer <azarah@g.o> :
1173 + Version update. Major bugfix release (curruption among things).
1174 +
1175 +*e2fsprogs-1.25-r1.ebuild (14 July 2002)
1176 +
1177 + 14 Jul 2002; phoen][x <phoenix@g.o> e2fsprogs-1.25-r1.ebuild :
1178 + Added KEYWORDS, SLOT.
1179 +
1180 +*e2fsprogs-1.27-r1 (21 Jun 2002)
1181 +
1182 + 14 Jul 2002; phoen][x <phoenix@g.o> e2fsprogs-1.27.ebuild :
1183 + Added KEYWORDS, SLOT.
1184 +
1185 + 14 Jul 2002; phoen][x <phoenix@g.o> e2fsprogs-1.27-r1.ebuild :
1186 + Added KEYWORDS, SLOT.
1187 +
1188 + 21 Jun 2002; Joachim Blaabejrg <styx@g.o> e2fsprogs-1.27-r1.ebuild :
1189 + Added ACL support.
1190 +
1191 + 03 Aug 2002; Nick Hadaway <raker@g.o> e2fsprogs-1.27-r1.ebuild :
1192 + Updated ebuild to install /bin/compile_et's template files. Fixes a
1193 + cyrus-imapd compile problem.
1194 +
1195 +*e2fsprogs-1.27 (21 March 2002)
1196 +
1197 + 03 Aug 2002; Nick Hadaway <raker@g.o> e2fsprogs-1.27.ebuild :
1198 + Updated ebuild to install /bin/compile_et's template files. Fixes a
1199 + cyrus-imapd compile problem.
1200 +
1201 +
1202 +*e2fsprogs-1.25-r3 (1 Feb 2002)
1203 +
1204 + 14 Jul 2002; phoen][x <phoenix@g.o> e2fsprogs-1.25-r3.ebuild :
1205 + Added KEYWORDS, SLOT.
1206 +
1207 + 1 Feb 2002; G.Bevin <gbevin@g.o> ChangeLog :
1208 +
1209 + Added initial ChangeLog which should be updated whenever the package is
1210 + updated in any way. This changelog is targetted to users. This means that the
1211 + comments should well explained and written in clean English. The details about
1212 + writing correct changelogs are explained in the skel.ChangeLog file which you
1213 + can find in the root directory of the portage repository.
1214
1215 diff --git a/sys-fs/e2fsprogs/e2fsprogs-1.42.7-r99.ebuild b/sys-fs/e2fsprogs/e2fsprogs-1.42.7-r99.ebuild
1216 new file mode 100644
1217 index 0000000..702cbbf
1218 --- /dev/null
1219 +++ b/sys-fs/e2fsprogs/e2fsprogs-1.42.7-r99.ebuild
1220 @@ -0,0 +1,151 @@
1221 +# Copyright 1999-2014 Gentoo Foundation
1222 +# Distributed under the terms of the GNU General Public License v2
1223 +# $Header: /var/cvsroot/gentoo-x86/sys-fs/e2fsprogs/e2fsprogs-1.42.7.ebuild,v 1.15 2014/01/18 05:15:33 vapier Exp $
1224 +
1225 +EAPI=3
1226 +
1227 +case ${PV} in
1228 +*_pre*) UP_PV="${PV%_pre*}-WIP-${PV#*_pre}" ;;
1229 +*) UP_PV=${PV} ;;
1230 +esac
1231 +
1232 +inherit eutils flag-o-matic multilib toolchain-funcs
1233 +
1234 +DESCRIPTION="Standard EXT2/EXT3/EXT4 filesystem utilities"
1235 +HOMEPAGE="http://e2fsprogs.sourceforge.net/"
1236 +SRC_URI="mirror://sourceforge/e2fsprogs/${PN}-${UP_PV}.tar.gz"
1237 +
1238 +LICENSE="GPL-2 BSD"
1239 +SLOT="0"
1240 +KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 -x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x86-macos ~m68k-mint"
1241 +IUSE="nls static-libs elibc_FreeBSD"
1242 +
1243 +RDEPEND="~sys-libs/${PN}-libs-${PV}
1244 + >=sys-apps/util-linux-2.16
1245 + nls? ( virtual/libintl )"
1246 +DEPEND="${RDEPEND}
1247 + nls? ( sys-devel/gettext )
1248 + virtual/pkgconfig
1249 + sys-apps/texinfo"
1250 +
1251 +S=${WORKDIR}/${P%_pre*}
1252 +
1253 +pkg_setup() {
1254 + if [[ ! -e ${EROOT}/etc/mtab ]] ; then
1255 + # add some crap to deal with missing /etc/mtab #217719
1256 + ewarn "No /etc/mtab file, creating one temporarily"
1257 + echo "${PN} crap for src_test" > "${EROOT}"/etc/mtab
1258 + fi
1259 +}
1260 +
1261 +src_prepare() {
1262 + epatch "${FILESDIR}"/${PN}-1.41.8-makefile.patch
1263 + epatch "${FILESDIR}"/${PN}-1.40-fbsd.patch
1264 + epatch "${FILESDIR}"/${PN}-1.41.12-darwin-makefile.patch
1265 + epatch "${FILESDIR}"/${PN}-1.42.7-libext2fs-fix-return-value.patch #467986
1266 + epatch "${FILESDIR}"/${PN}-1.42.7-use-uint64_t.patch
1267 + if [[ ${CHOST} == *-mint* ]] ; then
1268 + epatch "${FILESDIR}"/${PN}-1.41-mint.patch
1269 + epatch "${FILESDIR}"/${PN}-1.41.12-mint-blkid.patch
1270 + fi
1271 + # blargh ... trick e2fsprogs into using e2fsprogs-libs
1272 + rm -rf doc
1273 + sed -i -r \
1274 + -e 's:@LIBINTL@:@LTLIBINTL@:' \
1275 + -e '/^LIB(COM_ERR|SS)/s:[$][(]LIB[)]/lib([^@]*)@LIB_EXT@:-l\1:' \
1276 + -e '/^DEPLIB(COM_ERR|SS)/s:=.*:=:' \
1277 + MCONFIG.in || die "muck libs" #122368
1278 + sed -i -r \
1279 + -e '/^LIB_SUBDIRS/s:lib/(et|ss)::g' \
1280 + Makefile.in || die "remove subdirs"
1281 +
1282 + # Avoid rebuild
1283 + touch lib/ss/ss_err.h
1284 +}
1285 +
1286 +src_configure() {
1287 + # Keep the package from doing silly things #261411
1288 + export VARTEXFONTS=${T}/fonts
1289 +
1290 + # needs open64() prototypes and friends
1291 + append-cppflags -D_GNU_SOURCE
1292 +
1293 + # We want to use the "bsd" libraries while building on Darwin, but while
1294 + # building on other Gentoo/*BSD we prefer elf-naming scheme.
1295 + local libtype
1296 + case ${CHOST} in
1297 + *-darwin*) libtype=--enable-bsd-shlibs ;;
1298 + *-mint*) libtype= ;;
1299 + *) libtype=--enable-elf-shlibs ;;
1300 + esac
1301 +
1302 + ac_cv_path_LDCONFIG=: \
1303 + econf \
1304 + --with-root-prefix="${EPREFIX}/" \
1305 + --enable-symlink-install \
1306 + ${libtype} \
1307 + $(tc-has-tls || echo --disable-tls) \
1308 + --without-included-gettext \
1309 + $(use_enable nls) \
1310 + --disable-libblkid \
1311 + --disable-libuuid \
1312 + --disable-quota \
1313 + --disable-fsck \
1314 + --disable-uuidd
1315 + if [[ ${CHOST} != *-uclibc ]] && grep -qs 'USE_INCLUDED_LIBINTL.*yes' config.{log,status} ; then
1316 + eerror "INTL sanity check failed, aborting build."
1317 + eerror "Please post your ${S}/config.log file as an"
1318 + eerror "attachment to http://bugs.gentoo.org/show_bug.cgi?id=81096"
1319 + die "Preventing included intl cruft from building"
1320 + fi
1321 +}
1322 +
1323 +src_compile() {
1324 + emake COMPILE_ET=compile_et MK_CMDS=mk_cmds || die
1325 +
1326 + # Build the FreeBSD helper
1327 + if use elibc_FreeBSD ; then
1328 + cp "${FILESDIR}"/fsck_ext2fs.c .
1329 + emake fsck_ext2fs || die
1330 + fi
1331 +}
1332 +
1333 +pkg_preinst() {
1334 + if [[ -r ${EROOT}/etc/mtab ]] ; then
1335 + if [[ $(<"${EROOT}"/etc/mtab) == "${PN} crap for src_test" ]] ; then
1336 + rm -f "${EROOT}"/etc/mtab
1337 + fi
1338 + fi
1339 +}
1340 +
1341 +src_install() {
1342 + # need to set root_libdir= manually as any --libdir options in the
1343 + # econf above (i.e. multilib) will screw up the default #276465
1344 + emake \
1345 + STRIP=: \
1346 + root_libdir="${EPREFIX}/usr/$(get_libdir)" \
1347 + DESTDIR="${D}" \
1348 + install install-libs || die
1349 + dodoc README RELEASE-NOTES
1350 +
1351 + insinto /etc
1352 + doins "${FILESDIR}"/e2fsck.conf || die
1353 +
1354 + # Move shared libraries to /lib/, install static libraries to
1355 + # /usr/lib/, and install linker scripts to /usr/lib/.
1356 + gen_usr_ldscript -a e2p ext2fs
1357 + # configure doesn't have an option to disable static libs :/
1358 + use static-libs || find "${D}" -name '*.a' -delete
1359 +
1360 + if use elibc_FreeBSD ; then
1361 + # Install helpers for us
1362 + into /
1363 + dosbin "${S}"/fsck_ext2fs || die
1364 + doman "${FILESDIR}"/fsck_ext2fs.8 || die
1365 +
1366 + # filefrag is linux only
1367 + rm \
1368 + "${ED}"/usr/sbin/filefrag \
1369 + "${ED}"/usr/share/man/man8/filefrag.8 || die
1370 + fi
1371 +}
1372
1373 diff --git a/sys-fs/e2fsprogs/files/e2fsck.conf b/sys-fs/e2fsprogs/files/e2fsck.conf
1374 new file mode 100644
1375 index 0000000..401cec4
1376 --- /dev/null
1377 +++ b/sys-fs/e2fsprogs/files/e2fsck.conf
1378 @@ -0,0 +1,6 @@
1379 +# See the e2fsck.conf man page for more info
1380 +
1381 +[options]
1382 +
1383 +# allow fsck to run sanely at any point in time #142850
1384 +buggy_init_scripts = yes
1385
1386 diff --git a/sys-fs/e2fsprogs/files/e2fsprogs-1.40-fbsd.patch b/sys-fs/e2fsprogs/files/e2fsprogs-1.40-fbsd.patch
1387 new file mode 100644
1388 index 0000000..7d09196
1389 --- /dev/null
1390 +++ b/sys-fs/e2fsprogs/files/e2fsprogs-1.40-fbsd.patch
1391 @@ -0,0 +1,11 @@
1392 +--- a/lib/ext2fs/ext2_fs.h
1393 ++++ b/lib/ext2fs/ext2_fs.h
1394 +@@ -414,7 +414,7 @@
1395 +
1396 + #define i_size_high i_dir_acl
1397 +
1398 +-#if defined(__KERNEL__) || defined(__linux__)
1399 ++#if defined(__KERNEL__) || defined(__linux__) || defined(__FreeBSD__)
1400 + #define i_reserved1 osd1.linux1.l_i_reserved1
1401 + #define i_frag osd2.linux2.l_i_frag
1402 + #define i_fsize osd2.linux2.l_i_fsize
1403
1404 diff --git a/sys-fs/e2fsprogs/files/e2fsprogs-1.41-mint.patch b/sys-fs/e2fsprogs/files/e2fsprogs-1.41-mint.patch
1405 new file mode 100644
1406 index 0000000..43ed92d
1407 --- /dev/null
1408 +++ b/sys-fs/e2fsprogs/files/e2fsprogs-1.41-mint.patch
1409 @@ -0,0 +1,1947 @@
1410 +http://bugs.gentoo.org/show_bug.cgi?id=256234
1411 +http://sourceforge.net/tracker/?func=detail&aid=2550325&group_id=2406&atid=302406
1412 +
1413 +diff -ur --new-file e2fsprogs-1.41.3/lib/ext2fs/Makefile.in e2fsprogs-1.41.3-mint/lib/ext2fs/Makefile.in
1414 +--- e2fsprogs-1.41.3/lib/ext2fs/Makefile.in 2008-10-07 14:22:39.000000000 +0000
1415 ++++ e2fsprogs-1.41.3-mint/lib/ext2fs/Makefile.in 2009-01-23 10:48:50.000000000 +0000
1416 +@@ -74,7 +74,9 @@
1417 + unix_io.o \
1418 + unlink.o \
1419 + valid_blk.o \
1420 +- version.o
1421 ++ version.o \
1422 ++ mint_io.o \
1423 ++ xhdi.o
1424 +
1425 + SRCS= ext2_err.c \
1426 + $(srcdir)/alloc.c \
1427 +@@ -146,6 +148,8 @@
1428 + $(srcdir)/unlink.c \
1429 + $(srcdir)/valid_blk.c \
1430 + $(srcdir)/version.c \
1431 ++ $(srcdir)/mint_io.c \
1432 ++ $(srcdir)/xhdi.c \
1433 + $(srcdir)/write_bb_file.c
1434 +
1435 + HFILES= bitops.h ext2fs.h ext2_io.h ext2_fs.h ext2_ext_attr.h ext3_extents.h \
1436 +diff -ur --new-file e2fsprogs-1.41.3/lib/ext2fs/bitops.h e2fsprogs-1.41.3-mint/lib/ext2fs/bitops.h
1437 +--- e2fsprogs-1.41.3/lib/ext2fs/bitops.h 2008-10-07 14:22:39.000000000 +0000
1438 ++++ e2fsprogs-1.41.3-mint/lib/ext2fs/bitops.h 2009-01-23 10:47:35.000000000 +0000
1439 +@@ -125,7 +125,7 @@
1440 + */
1441 + #ifdef NO_INLINE_FUNCS
1442 + #if (defined(__GNUC__) && (defined(__i386__) || defined(__i486__) || \
1443 +- defined(__i586__) || defined(__mc68000__)))
1444 ++ defined(__i586__) || defined(__mc68020__)))
1445 + /* This prevents bitops.c from trying to include the C */
1446 + /* function version of these functions */
1447 + #define _EXT2_HAVE_ASM_BITOPS_
1448 +@@ -246,7 +246,7 @@
1449 + #endif /* i386 */
1450 +
1451 + #if ((defined __GNUC__) && !defined(_EXT2_USE_C_VERSIONS_) && \
1452 +- (defined(__mc68000__)))
1453 ++ (defined(__mc68020__)))
1454 +
1455 + #define _EXT2_HAVE_ASM_BITOPS_
1456 +
1457 +@@ -280,6 +280,50 @@
1458 + return retval;
1459 + }
1460 +
1461 ++#elif defined(__mc68000__)
1462 ++
1463 ++#define _EXT2_HAVE_ASM_BITOPS_
1464 ++
1465 ++_INLINE_ int
1466 ++ext2fs_set_bit (unsigned int nr, void *addr)
1467 ++{
1468 ++ int mask, retval;
1469 ++ unsigned char *ADDR = (unsigned char *) addr;
1470 ++
1471 ++ ADDR += nr >> 3;
1472 ++ mask = 1UL << (nr & 0x07);
1473 ++ retval = (mask & *ADDR) != 0;
1474 ++ *ADDR |= mask;
1475 ++
1476 ++ return retval;
1477 ++}
1478 ++
1479 ++_INLINE_ int
1480 ++ext2fs_clear_bit (unsigned int nr, void *addr)
1481 ++{
1482 ++ int mask, retval;
1483 ++ unsigned char *ADDR = (unsigned char *) addr;
1484 ++
1485 ++ ADDR += nr >> 3;
1486 ++ mask = 1UL << (nr & 0x07);
1487 ++ retval = (mask & *ADDR) != 0;
1488 ++ *ADDR &= ~mask;
1489 ++
1490 ++ return retval;
1491 ++}
1492 ++
1493 ++_INLINE_ int
1494 ++ext2fs_test_bit (unsigned int nr, const void *addr)
1495 ++{
1496 ++ int mask;
1497 ++ const unsigned char *ADDR = (const unsigned char *) addr;
1498 ++
1499 ++ ADDR += nr >> 3;
1500 ++ mask = 1UL << (nr & 0x07);
1501 ++
1502 ++ return ((mask & *ADDR) != 0);
1503 ++}
1504 ++
1505 + #endif /* __mc68000__ */
1506 +
1507 +
1508 +diff -ur --new-file e2fsprogs-1.41.3/lib/ext2fs/ext2_fs.h e2fsprogs-1.41.3-mint/lib/ext2fs/ext2_fs.h
1509 +--- e2fsprogs-1.41.3/lib/ext2fs/ext2_fs.h 2009-01-23 10:01:34.000000000 +0000
1510 ++++ e2fsprogs-1.41.3-mint/lib/ext2fs/ext2_fs.h 2009-01-23 10:49:44.000000000 +0000
1511 +@@ -307,6 +307,7 @@
1512 + #define _IOT_ext2_new_group_input _IOT (_IOTS(__u32), 5, _IOTS(__u16), 2, 0, 0)
1513 + #endif
1514 +
1515 ++#ifndef __MINT__
1516 + #define EXT2_IOC_GETFLAGS _IOR('f', 1, long)
1517 + #define EXT2_IOC_SETFLAGS _IOW('f', 2, long)
1518 + #define EXT2_IOC_GETVERSION _IOR('v', 1, long)
1519 +@@ -316,6 +317,9 @@
1520 + #define EXT2_IOC_GROUP_EXTEND _IOW('f', 7, unsigned long)
1521 + #define EXT2_IOC_GROUP_ADD _IOW('f', 8,struct ext2_new_group_input)
1522 + #define EXT4_IOC_GROUP_ADD _IOW('f', 8,struct ext4_new_group_input)
1523 ++#else
1524 ++#include <mint/dcntl.h>
1525 ++#endif
1526 +
1527 + /*
1528 + * Structure of an inode on the disk
1529 +diff -ur --new-file e2fsprogs-1.41.3/lib/ext2fs/getsize.c e2fsprogs-1.41.3-mint/lib/ext2fs/getsize.c
1530 +--- e2fsprogs-1.41.3/lib/ext2fs/getsize.c 2008-10-07 14:22:39.000000000 +0000
1531 ++++ e2fsprogs-1.41.3-mint/lib/ext2fs/getsize.c 2009-01-23 10:47:35.000000000 +0000
1532 +@@ -58,6 +58,11 @@
1533 + #define BLKGETSIZE DKIOCGETBLOCKCOUNT32
1534 + #endif /* APPLE_DARWIN */
1535 +
1536 ++#ifdef __MINT__
1537 ++#include <sys/ioctl.h>
1538 ++#include "mint_io.h"
1539 ++#endif
1540 ++
1541 + #include "ext2_fs.h"
1542 + #include "ext2fs.h"
1543 +
1544 +diff -ur --new-file e2fsprogs-1.41.3/lib/ext2fs/llseek.c e2fsprogs-1.41.3-mint/lib/ext2fs/llseek.c
1545 +--- e2fsprogs-1.41.3/lib/ext2fs/llseek.c 2008-10-07 14:22:39.000000000 +0000
1546 ++++ e2fsprogs-1.41.3-mint/lib/ext2fs/llseek.c 2009-01-23 10:47:35.000000000 +0000
1547 +@@ -115,6 +115,8 @@
1548 +
1549 + #else /* !linux */
1550 +
1551 ++#ifndef __MINT__
1552 ++
1553 + #ifndef EINVAL
1554 + #define EINVAL EXT2_ET_INVALID_ARGUMENT
1555 + #endif
1556 +@@ -133,6 +135,8 @@
1557 + #endif
1558 + }
1559 +
1560 ++#endif /* __MINT__ */
1561 ++
1562 + #endif /* linux */
1563 +
1564 +
1565 +diff -ur --new-file e2fsprogs-1.41.3/lib/ext2fs/mint_io.c e2fsprogs-1.41.3-mint/lib/ext2fs/mint_io.c
1566 +--- e2fsprogs-1.41.3/lib/ext2fs/mint_io.c 1970-01-01 00:00:00.000000000 +0000
1567 ++++ e2fsprogs-1.41.3-mint/lib/ext2fs/mint_io.c 2009-01-23 10:49:51.000000000 +0000
1568 +@@ -0,0 +1,858 @@
1569 ++/*
1570 ++ * $Id: e2fsprogs-1.41-mint.patch,v 1.1 2010/11/19 18:49:02 jlec Exp $
1571 ++ *
1572 ++ * This file belongs to FreeMiNT. It's not in the original MiNT 1.12
1573 ++ * distribution. See the file CHANGES for a detailed log of changes.
1574 ++ *
1575 ++ *
1576 ++ * Copyright 2000 Frank Naumann <fnaumann@××××××××.de>
1577 ++ * All rights reserved.
1578 ++ *
1579 ++ * This program is free software; you can redistribute it and/or modify
1580 ++ * it under the terms of the GNU General Public License as published by
1581 ++ * the Free Software Foundation; either version 2, or (at your option)
1582 ++ * any later version.
1583 ++ *
1584 ++ * This file is distributed in the hope that it will be useful,
1585 ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
1586 ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1587 ++ * GNU General Public License for more details.
1588 ++ *
1589 ++ * You should have received a copy of the GNU General Public License
1590 ++ * along with this program; if not, write to the Free Software
1591 ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
1592 ++ *
1593 ++ *
1594 ++ * Author: Frank Naumann <fnaumann@××××××××.de>
1595 ++ * Started: 200-06-14
1596 ++ *
1597 ++ * Please send suggestions, patches or bug reports to me or
1598 ++ * the MiNT mailing list.
1599 ++ *
1600 ++ */
1601 ++
1602 ++# ifdef __MINT__
1603 ++
1604 ++# include <assert.h>
1605 ++# include <ctype.h>
1606 ++# include <errno.h>
1607 ++# include <fcntl.h>
1608 ++# include <limits.h>
1609 ++# include <stdarg.h>
1610 ++# include <stdlib.h>
1611 ++# include <stdio.h>
1612 ++# include <string.h>
1613 ++# include <time.h>
1614 ++# include <unistd.h>
1615 ++
1616 ++# include "et/com_err.h"
1617 ++# include "ext2fs/ext2_io.h"
1618 ++# include <sys/ioctl.h>
1619 ++# include <sys/stat.h>
1620 ++# define loff_t ext2_loff_t
1621 ++# define llseek ext2fs_llseek
1622 ++
1623 ++# include <mintbind.h>
1624 ++# include "mint_io.h"
1625 ++# include "xhdi.h"
1626 ++
1627 ++
1628 ++# if 0
1629 ++# define DEBUG(x) printf x
1630 ++# else
1631 ++# define DEBUG(x)
1632 ++# endif
1633 ++
1634 ++
1635 ++/* prototypes */
1636 ++
1637 ++int __open_v(const char *_filename, int iomode, va_list argp);
1638 ++
1639 ++int open(__const char *__file, int __oflag, ...) __THROW;
1640 ++int __open(__const char *__file, int __oflag, ...) __THROW;
1641 ++
1642 ++int ioctl(int fd, int cmd, void *arg);
1643 ++int __ioctl(int fd, int cmd, void *arg);
1644 ++
1645 ++int fsync(int __fd) __THROW;
1646 ++int __fsync(int __fd) __THROW;
1647 ++
1648 ++__off_t lseek(int __fd, __off_t __offset, int __whence) __THROW;
1649 ++__off_t __lseek(int __fd, __off_t __offset, int __whence) __THROW;
1650 ++
1651 ++int close(int __fd) __THROW;
1652 ++int __close(int __fd) __THROW;
1653 ++
1654 ++ssize_t read(int __fd, void *__buf, size_t __nbytes) __THROW;
1655 ++ssize_t __read(int __fd, void *__buf, size_t __nbytes) __THROW;
1656 ++
1657 ++ssize_t write(int __fd, __const void *__buf, size_t __n) __THROW;
1658 ++ssize_t __write(int __fd, __const void *__buf, size_t __n) __THROW;
1659 ++
1660 ++int fstat(int __fd, struct stat *__buf) __THROW;
1661 ++int __fstat(int __fd, struct stat *__buf) __THROW;
1662 ++
1663 ++int stat(const char *filename, struct stat *st) __THROW;
1664 ++
1665 ++
1666 ++struct device
1667 ++{
1668 ++ int used;
1669 ++
1670 ++ int drv;
1671 ++ int open_flags;
1672 ++
1673 ++ ushort xhdi_maj;
1674 ++ ushort xhdi_min;
1675 ++ ulong xhdi_start;
1676 ++ ulong xhdi_blocks;
1677 ++ ulong xhdi_blocksize;
1678 ++ char xhdi_id[4];
1679 ++
1680 ++ loff_t pos;
1681 ++};
1682 ++
1683 ++# define DEVS 16
1684 ++static struct device devs[DEVS];
1685 ++
1686 ++static void
1687 ++init_device(struct device *dev)
1688 ++{
1689 ++ dev->used = 0;
1690 ++
1691 ++ dev->drv = -1;
1692 ++ dev->open_flags = 0;
1693 ++ dev->xhdi_maj = 0;
1694 ++ dev->xhdi_min = 0;
1695 ++ dev->xhdi_start = 0;
1696 ++ dev->xhdi_blocks = 0;
1697 ++ dev->xhdi_blocksize = 0;
1698 ++
1699 ++ dev->pos = 0;
1700 ++}
1701 ++
1702 ++static inline void
1703 ++init(void)
1704 ++{
1705 ++ static int done = 0;
1706 ++ int i;
1707 ++
1708 ++ if (done)
1709 ++ return;
1710 ++
1711 ++ assert(sizeof(loff_t) == sizeof(long long));
1712 ++
1713 ++ for (i = 0; i < DEVS; i++)
1714 ++ init_device (&devs[i]);
1715 ++
1716 ++ init_XHDI();
1717 ++
1718 ++ /* we are now initialized */
1719 ++ done = 1;
1720 ++}
1721 ++
1722 ++static struct device *
1723 ++get_device(int fd)
1724 ++{
1725 ++ struct device *dev;
1726 ++
1727 ++ if ((fd < 1024) || (fd >= (1024 + DEVS)))
1728 ++ return NULL;
1729 ++
1730 ++ fd -= 1024;
1731 ++ dev = &devs[fd];
1732 ++
1733 ++ assert(dev->used);
1734 ++
1735 ++ return dev;
1736 ++}
1737 ++
1738 ++static int
1739 ++alloc_device(void)
1740 ++{
1741 ++ int i;
1742 ++
1743 ++ for (i = 0; i < DEVS; i++)
1744 ++ {
1745 ++ struct device *dev = &devs[i];
1746 ++
1747 ++ if (!dev->used)
1748 ++ {
1749 ++ dev->used = 1;
1750 ++ return (i + 1024);
1751 ++ }
1752 ++ }
1753 ++
1754 ++ __set_errno(ENOMEM);
1755 ++ return -1;
1756 ++}
1757 ++
1758 ++static void
1759 ++free_device(struct device *dev)
1760 ++{
1761 ++ assert(dev->used);
1762 ++
1763 ++ init_device (dev);
1764 ++}
1765 ++
1766 ++
1767 ++int
1768 ++open(const char *filename, int iomode, ...)
1769 ++{
1770 ++ const char *f = filename;
1771 ++ struct device *mydev = NULL;
1772 ++ int dev = -1;
1773 ++ long ret;
1774 ++
1775 ++ init();
1776 ++
1777 ++ if (!filename)
1778 ++ {
1779 ++ __set_errno(EINVAL);
1780 ++ return -1;
1781 ++ }
1782 ++
1783 ++ if ((f[1] == ':') && (f[2] == '\0'))
1784 ++ {
1785 ++ int c = tolower(f[0]);
1786 ++
1787 ++ if (c >= 'a' && c <= 'z')
1788 ++ c = c - 'a';
1789 ++ else if (c >= '1' && c <= '6')
1790 ++ c = 26 + (c - '1');
1791 ++
1792 ++ if ((c >= 0) && (c < 32))
1793 ++ {
1794 ++ dev = alloc_device();
1795 ++ if (dev != -1)
1796 ++ {
1797 ++ mydev = get_device(dev);
1798 ++ assert(mydev);
1799 ++
1800 ++ mydev->drv = c;
1801 ++ mydev->open_flags = iomode;
1802 ++ }
1803 ++ }
1804 ++ }
1805 ++
1806 ++ if (dev == -1)
1807 ++ {
1808 ++ /* fall through */
1809 ++
1810 ++ va_list args;
1811 ++ int retval;
1812 ++
1813 ++ va_start(args, iomode);
1814 ++ retval = __open_v(filename, iomode, args);
1815 ++ va_end(args);
1816 ++
1817 ++ return retval;
1818 ++ }
1819 ++
1820 ++ if (mydev->open_flags == O_RDONLY)
1821 ++ {
1822 ++ DEBUG(("readonly mode!\n"));
1823 ++ sync();
1824 ++ }
1825 ++ else if (Dlock(1, mydev->drv))
1826 ++ {
1827 ++ printf("Can't lock partition %c:!\n", mydev->drv+'A');
1828 ++
1829 ++ if (mydev)
1830 ++ free_device(mydev);
1831 ++
1832 ++ __set_errno(EACCES);
1833 ++ return -1;
1834 ++ }
1835 ++
1836 ++ __set_errno(EERROR);
1837 ++
1838 ++ ret = XHGetVersion ();
1839 ++ DEBUG(("XHDI version: %lx\n", ret));
1840 ++
1841 ++ ret = XHInqDev2(mydev->drv,
1842 ++ &mydev->xhdi_maj, &mydev->xhdi_min,
1843 ++ &mydev->xhdi_start, NULL,
1844 ++ &mydev->xhdi_blocks, mydev->xhdi_id);
1845 ++ if (ret)
1846 ++ {
1847 ++ printf("XHInqDev2 [%c] fail (ret = %li, errno = %i)\n",
1848 ++ mydev->drv+'A', ret, errno);
1849 ++ ret = -1;
1850 ++ }
1851 ++ else
1852 ++ {
1853 ++ ret = XHInqTarget(mydev->xhdi_maj, mydev->xhdi_min,
1854 ++ &mydev->xhdi_blocksize, NULL, NULL);
1855 ++ if (ret)
1856 ++ {
1857 ++ printf("XHInqTarget [%i:%i] fail (ret = %li, errno = %i)\n",
1858 ++ mydev->xhdi_maj, mydev->xhdi_min, ret, errno);
1859 ++ ret = -1;
1860 ++ }
1861 ++ else
1862 ++ {
1863 ++ char *xhdi_id = mydev->xhdi_id;
1864 ++
1865 ++ if ( 0
1866 ++ || ((xhdi_id[0] == 'G') && (xhdi_id[1] == 'E') && (xhdi_id[2] == 'M')) /* GEM */
1867 ++ || ((xhdi_id[0] == 'B') && (xhdi_id[1] == 'G') && (xhdi_id[2] == 'M')) /* BGM */
1868 ++ || ((xhdi_id[0] == 'F') && (xhdi_id[1] == '3') && (xhdi_id[2] == '2')) /* F32 */
1869 ++ || ((xhdi_id[0] == 'M') && (xhdi_id[1] == 'I') && (xhdi_id[2] == 'X')) /* MIX */
1870 ++ || ((xhdi_id[0] == 'R') && (xhdi_id[1] == 'A') && (xhdi_id[2] == 'W')) /* RAW */
1871 ++ || ((xhdi_id[0] == 'L') && (xhdi_id[1] == 'N') && (xhdi_id[2] == 'X')) /* LNX */
1872 ++ || ((xhdi_id[0] == '\0') && (xhdi_id[1] == 'D'))) /* any DOS */
1873 ++ {
1874 ++ DEBUG(("Partition ok and accepted!\n"));
1875 ++ DEBUG(("start = %lu, blocks = %lu, blocksize = %lu\n",
1876 ++ mydev->xhdi_start, mydev->xhdi_blocks,
1877 ++ mydev->xhdi_blocksize));
1878 ++ }
1879 ++ else
1880 ++ {
1881 ++ xhdi_id [3] = '\0';
1882 ++ printf("Wrong partition ID [%s]!\n", xhdi_id);
1883 ++ printf("Only 'RAW', 'LNX' and DOS partitions are supported.\n");
1884 ++
1885 ++ __set_errno(EPERM);
1886 ++ ret = -1;
1887 ++ }
1888 ++ }
1889 ++ }
1890 ++
1891 ++ if (ret)
1892 ++ {
1893 ++ if (mydev)
1894 ++ free_device(mydev);
1895 ++
1896 ++ dev = -1;
1897 ++ }
1898 ++
1899 ++ return dev;
1900 ++}
1901 ++
1902 ++int
1903 ++close(int fd)
1904 ++{
1905 ++ struct device *mydev = get_device(fd);
1906 ++ int ret = 0;
1907 ++
1908 ++ if (!mydev)
1909 ++ /* fall through */
1910 ++ return __close(fd);
1911 ++
1912 ++ if (mydev->open_flags == O_RDONLY)
1913 ++ {
1914 ++ ;
1915 ++ }
1916 ++ else if (Dlock(0, mydev->drv))
1917 ++ {
1918 ++ printf("Can't unlock partition %c:!\n", 'A'+mydev->drv);
1919 ++
1920 ++ __set_errno(EACCES);
1921 ++ ret = -1;
1922 ++ }
1923 ++
1924 ++ free_device(mydev);
1925 ++ return ret;
1926 ++}
1927 ++
1928 ++/* simple buffer */
1929 ++static char buffer[1024L * 128];
1930 ++static ulong buf_recno = 0;
1931 ++static long buf_n = 0;
1932 ++
1933 ++static long
1934 ++rwabs_xhdi(struct device *mydev, ushort rw, void *buf, ulong size, ulong recno)
1935 ++{
1936 ++ ulong n = size / mydev->xhdi_blocksize;
1937 ++ long r;
1938 ++
1939 ++ assert((size % mydev->xhdi_blocksize) == 0);
1940 ++
1941 ++ if (!n || (recno + n) > mydev->xhdi_blocks)
1942 ++ {
1943 ++ printf("rwabs_xhdi: access outside partition (drv = %c:)\n", 'A'+mydev->drv);
1944 ++ exit(2);
1945 ++ }
1946 ++
1947 ++ if (n > 65535UL)
1948 ++ {
1949 ++ printf("rwabs_xhdi: n to large (drv = %c)\n", 'A'+mydev->drv);
1950 ++ exit(2);
1951 ++ }
1952 ++
1953 ++ if (!rw && (buf_recno == recno) && (buf_n == n))
1954 ++ {
1955 ++ bcopy(buffer, buf, buf_n * mydev->xhdi_blocksize);
1956 ++ return 0;
1957 ++ }
1958 ++
1959 ++ r = XHReadWrite (mydev->xhdi_maj, mydev->xhdi_min, rw, mydev->xhdi_start + recno, n, buf);
1960 ++
1961 ++ if (!r && (n * mydev->xhdi_blocksize) <= sizeof(buffer))
1962 ++ {
1963 ++ bcopy(buf, buffer, n * mydev->xhdi_blocksize);
1964 ++
1965 ++ buf_recno = recno;
1966 ++ buf_n = n;
1967 ++ }
1968 ++ else
1969 ++ buf_n = 0;
1970 ++
1971 ++ return r;
1972 ++}
1973 ++
1974 ++# define max(a,b) (a > b ? a : b)
1975 ++# define min(a,b) (a > b ? b : a)
1976 ++
1977 ++int
1978 ++read(int fd, void *_buf, size_t size)
1979 ++{
1980 ++ struct device *mydev = get_device(fd);
1981 ++
1982 ++ if (!mydev)
1983 ++ /* fall through */
1984 ++ return __read(fd, _buf, size);
1985 ++
1986 ++{
1987 ++ char *buf = _buf;
1988 ++ long todo; /* characters remaining */
1989 ++ long done; /* characters processed */
1990 ++
1991 ++ todo = size;
1992 ++ done = 0;
1993 ++
1994 ++ if (todo == 0)
1995 ++ return 0;
1996 ++
1997 ++ /* partial block copy
1998 ++ */
1999 ++ if (mydev->pos % mydev->xhdi_blocksize)
2000 ++ {
2001 ++ char tmp[mydev->xhdi_blocksize];
2002 ++
2003 ++ ulong recno = mydev->pos / mydev->xhdi_blocksize;
2004 ++ ulong offset = mydev->pos % mydev->xhdi_blocksize;
2005 ++ ulong data;
2006 ++ long ret;
2007 ++
2008 ++ ret = rwabs_xhdi(mydev, 0, tmp, mydev->xhdi_blocksize, recno);
2009 ++ if (ret)
2010 ++ {
2011 ++ DEBUG(("read: partial part: read failure (r = %li, errno = %i)\n", ret, errno));
2012 ++ goto out;
2013 ++ }
2014 ++
2015 ++ data = mydev->xhdi_blocksize - offset;
2016 ++ data = min (todo, data);
2017 ++
2018 ++ memcpy(buf, tmp + offset, data);
2019 ++
2020 ++ buf += data;
2021 ++ todo -= data;
2022 ++ done += data;
2023 ++ mydev->pos += data;
2024 ++ }
2025 ++
2026 ++ if (todo)
2027 ++ {
2028 ++ assert((todo > 0));
2029 ++ assert((mydev->pos % mydev->xhdi_blocksize) == 0);
2030 ++ }
2031 ++
2032 ++
2033 ++ /* full blocks
2034 ++ */
2035 ++ if (todo / mydev->xhdi_blocksize)
2036 ++ {
2037 ++ ulong recno = mydev->pos / mydev->xhdi_blocksize;
2038 ++ ulong data = (todo / mydev->xhdi_blocksize) * mydev->xhdi_blocksize;
2039 ++ long ret;
2040 ++
2041 ++ ret = rwabs_xhdi (mydev, 0, buf, data, recno);
2042 ++ if (ret)
2043 ++ {
2044 ++ DEBUG(("read: full blocks: read failure (r = %li, errno = %i)\n", ret, errno));
2045 ++ goto out;
2046 ++ }
2047 ++
2048 ++ buf += data;
2049 ++ todo -= data;
2050 ++ done += data;
2051 ++ mydev->pos += data;
2052 ++ }
2053 ++
2054 ++ if (todo)
2055 ++ {
2056 ++ assert((todo > 0) && (todo < mydev->xhdi_blocksize));
2057 ++ assert((mydev->pos % mydev->xhdi_blocksize) == 0);
2058 ++ }
2059 ++
2060 ++ /* anything left?
2061 ++ */
2062 ++ if (todo)
2063 ++ {
2064 ++ char tmp[mydev->xhdi_blocksize];
2065 ++
2066 ++ ulong recno = mydev->pos / mydev->xhdi_blocksize;
2067 ++ long ret;
2068 ++
2069 ++ ret = rwabs_xhdi (mydev, 0, tmp, mydev->xhdi_blocksize, recno);
2070 ++ if (ret)
2071 ++ {
2072 ++ DEBUG(("read: left part: read failure (r = %li, errno = %i)]\n", ret, errno));
2073 ++ goto out;
2074 ++ }
2075 ++
2076 ++ memcpy(buf, tmp, todo);
2077 ++
2078 ++ done += todo;
2079 ++ mydev->pos += todo;
2080 ++ }
2081 ++
2082 ++ assert(done == size);
2083 ++
2084 ++out:
2085 ++ return done;
2086 ++}
2087 ++}
2088 ++
2089 ++int
2090 ++write(int fd, const void *_buf, size_t size)
2091 ++{
2092 ++ struct device *mydev = get_device(fd);
2093 ++
2094 ++ if (!mydev)
2095 ++ /* fall through */
2096 ++ return __write(fd, _buf, size);
2097 ++
2098 ++ if (mydev->open_flags == O_RDONLY)
2099 ++ {
2100 ++ __set_errno(EPERM);
2101 ++ return -1;
2102 ++ }
2103 ++{
2104 ++ const char *buf = _buf;
2105 ++ long todo; /* characters remaining */
2106 ++ long done; /* characters processed */
2107 ++
2108 ++ todo = size;
2109 ++ done = 0;
2110 ++
2111 ++ if (todo == 0)
2112 ++ return 0;
2113 ++
2114 ++ /* partial block copy
2115 ++ */
2116 ++ if (mydev->pos % mydev->xhdi_blocksize)
2117 ++ {
2118 ++ char tmp[mydev->xhdi_blocksize];
2119 ++
2120 ++ ulong recno = mydev->pos / mydev->xhdi_blocksize;
2121 ++ ulong offset = mydev->pos % mydev->xhdi_blocksize;
2122 ++ ulong data;
2123 ++ long ret;
2124 ++
2125 ++ ret = rwabs_xhdi(mydev, 0, tmp, mydev->xhdi_blocksize, recno);
2126 ++ if (ret)
2127 ++ {
2128 ++ DEBUG(("write: partial part: read failure (r = %li, errno = %i)\n", ret, errno));
2129 ++ goto out;
2130 ++ }
2131 ++
2132 ++ data = mydev->xhdi_blocksize - offset;
2133 ++ data = min (todo, data);
2134 ++
2135 ++ memcpy(tmp + offset, buf, data);
2136 ++
2137 ++ ret = rwabs_xhdi(mydev, 1, tmp, mydev->xhdi_blocksize, recno);
2138 ++ if (ret)
2139 ++ {
2140 ++ DEBUG(("write: partial part: write failure (r = %li, errno = %i)\n", ret, errno));
2141 ++ goto out;
2142 ++ }
2143 ++
2144 ++ buf += data;
2145 ++ todo -= data;
2146 ++ done += data;
2147 ++ mydev->pos += data;
2148 ++ }
2149 ++
2150 ++ if (todo)
2151 ++ {
2152 ++ assert((todo > 0));
2153 ++ assert((mydev->pos % mydev->xhdi_blocksize) == 0);
2154 ++ }
2155 ++
2156 ++ /* full blocks
2157 ++ */
2158 ++ if (todo / mydev->xhdi_blocksize)
2159 ++ {
2160 ++ ulong recno = mydev->pos / mydev->xhdi_blocksize;
2161 ++ ulong data = (todo / mydev->xhdi_blocksize) * mydev->xhdi_blocksize;
2162 ++ long ret;
2163 ++
2164 ++ ret = rwabs_xhdi(mydev, 1, (void *)buf, data, recno);
2165 ++ if (ret)
2166 ++ {
2167 ++ DEBUG(("write: full blocks: write failure (r = %li, errno = %i)\n", ret, errno));
2168 ++ goto out;
2169 ++ }
2170 ++
2171 ++ buf += data;
2172 ++ todo -= data;
2173 ++ done += data;
2174 ++ mydev->pos += data;
2175 ++ }
2176 ++
2177 ++ if (todo)
2178 ++ {
2179 ++ assert((todo > 0) && (todo < mydev->xhdi_blocksize));
2180 ++ assert((mydev->pos % mydev->xhdi_blocksize) == 0);
2181 ++ }
2182 ++
2183 ++ /* anything left?
2184 ++ */
2185 ++ if (todo)
2186 ++ {
2187 ++ char tmp[mydev->xhdi_blocksize];
2188 ++
2189 ++ ulong recno = mydev->pos / mydev->xhdi_blocksize;
2190 ++ long ret;
2191 ++
2192 ++ ret = rwabs_xhdi(mydev, 0, tmp, mydev->xhdi_blocksize, recno);
2193 ++ if (ret)
2194 ++ {
2195 ++ DEBUG(("write: left part: read failure (r = %li, errno = %i)]\n", ret, errno));
2196 ++ goto out;
2197 ++ }
2198 ++
2199 ++ memcpy(tmp, buf, todo);
2200 ++
2201 ++ ret = rwabs_xhdi(mydev, 1, tmp, mydev->xhdi_blocksize, recno);
2202 ++ if (ret)
2203 ++ {
2204 ++ DEBUG(("write: partial part: write failure (r = %li, errno = %i)\n", ret, errno));
2205 ++ goto out;
2206 ++ }
2207 ++
2208 ++ done += todo;
2209 ++ mydev->pos += todo;
2210 ++ }
2211 ++
2212 ++ assert(done == size);
2213 ++
2214 ++out:
2215 ++ return done;
2216 ++}
2217 ++}
2218 ++
2219 ++int
2220 ++ioctl(int fd, int cmd, void *arg)
2221 ++{
2222 ++ struct device *mydev = get_device(fd);
2223 ++
2224 ++ if (!mydev)
2225 ++ /* fall through */
2226 ++ return __ioctl(fd, cmd, arg);
2227 ++
2228 ++ DEBUG(("ioctl: cmd = %i\n", cmd));
2229 ++
2230 ++ switch (cmd)
2231 ++ {
2232 ++ case BLKGETSIZE:
2233 ++ {
2234 ++ ulong *size = arg;
2235 ++ *size = mydev->xhdi_blocks * (mydev->xhdi_blocksize / 512);
2236 ++ break;
2237 ++ }
2238 ++ case BLOCKSIZE:
2239 ++ {
2240 ++ ulong *block_size = arg;
2241 ++ *block_size = mydev->xhdi_blocksize;
2242 ++ break;
2243 ++ }
2244 ++ default:
2245 ++ __set_errno(EINVAL);
2246 ++ return -1;
2247 ++ }
2248 ++
2249 ++ return 0;
2250 ++}
2251 ++
2252 ++int
2253 ++fstat(int fd, struct stat *st)
2254 ++{
2255 ++ struct device *mydev = get_device(fd);
2256 ++
2257 ++ if (!mydev)
2258 ++ /* fall through */
2259 ++ return __fstat(fd, st);
2260 ++
2261 ++ bzero(st, sizeof(*st));
2262 ++
2263 ++ st->st_dev = mydev->xhdi_maj;
2264 ++ st->st_ino = mydev->drv;
2265 ++ st->st_mode = S_IFBLK | S_IRUSR | S_IWUSR;
2266 ++ st->st_nlink = 1;
2267 ++ st->st_uid = 0;
2268 ++ st->st_gid = 0;
2269 ++ st->st_rdev = mydev->xhdi_min;
2270 ++ st->st_atime = time (NULL);
2271 ++ st->st_mtime = time (NULL);
2272 ++ st->st_ctime = time (NULL);
2273 ++ st->st_size = (int64_t) mydev->xhdi_blocks * mydev->xhdi_blocksize;
2274 ++ st->st_blocks = (int64_t) mydev->xhdi_blocks * mydev->xhdi_blocksize / 512;
2275 ++ st->st_blksize = mydev->xhdi_blocksize;
2276 ++ st->st_flags = 0;
2277 ++ st->st_gen = 0;
2278 ++
2279 ++ return 0;
2280 ++}
2281 ++
2282 ++int
2283 ++stat(const char *filename, struct stat *st)
2284 ++{
2285 ++ struct device *mydev;
2286 ++ int fd, res;
2287 ++
2288 ++ fd = open(filename, O_RDONLY);
2289 ++ if (fd == -1)
2290 ++ return -1;
2291 ++
2292 ++ mydev = get_device(fd);
2293 ++ if (!mydev)
2294 ++ {
2295 ++ close(fd);
2296 ++
2297 ++ /* fall through */
2298 ++ return __stat(filename, st);
2299 ++ }
2300 ++
2301 ++ res = fstat(fd, st);
2302 ++ close(fd);
2303 ++
2304 ++ return res;
2305 ++}
2306 ++
2307 ++int
2308 ++fsync(int fd)
2309 ++{
2310 ++ struct device *mydev = get_device(fd);
2311 ++
2312 ++ if (!mydev)
2313 ++ /* fall through */
2314 ++ return __fsync(fd);
2315 ++
2316 ++ /* nothing todo */
2317 ++ return 0;
2318 ++}
2319 ++
2320 ++loff_t llseek(int fd, loff_t offset, int origin);
2321 ++
2322 ++loff_t
2323 ++llseek(int fd, loff_t offset, int origin)
2324 ++{
2325 ++ struct device *mydev = get_device(fd);
2326 ++
2327 ++ if (!mydev)
2328 ++ /* fall through */
2329 ++ return __lseek(fd, (off_t) offset, origin);
2330 ++
2331 ++
2332 ++ switch (origin)
2333 ++ {
2334 ++ case SEEK_SET:
2335 ++ break;
2336 ++ case SEEK_CUR:
2337 ++ offset += mydev->pos;
2338 ++ break;
2339 ++ case SEEK_END:
2340 ++ offset += (int64_t) mydev->xhdi_blocks * mydev->xhdi_blocksize;
2341 ++ break;
2342 ++ default:
2343 ++ return -1;
2344 ++ }
2345 ++
2346 ++ if (offset > (loff_t) mydev->xhdi_blocks * mydev->xhdi_blocksize)
2347 ++ {
2348 ++ __set_errno(EINVAL);
2349 ++ return -1;
2350 ++ }
2351 ++
2352 ++ mydev->pos = offset;
2353 ++ return mydev->pos;
2354 ++}
2355 ++
2356 ++loff_t lseek64(int fd, loff_t offset, int origin);
2357 ++
2358 ++loff_t
2359 ++lseek64(int fd, loff_t offset, int origin)
2360 ++{
2361 ++ return llseek(fd, offset, origin);
2362 ++}
2363 ++
2364 ++__off_t
2365 ++lseek(int fd, __off_t offset, int mode)
2366 ++{
2367 ++ struct device *mydev = get_device(fd);
2368 ++
2369 ++ if (!mydev)
2370 ++ /* fall through */
2371 ++ return __lseek(fd, offset, mode);
2372 ++
2373 ++{
2374 ++ loff_t _offset = offset;
2375 ++
2376 ++ switch (mode)
2377 ++ {
2378 ++ case SEEK_SET:
2379 ++ break;
2380 ++ case SEEK_CUR:
2381 ++ _offset += mydev->pos;
2382 ++ break;
2383 ++ case SEEK_END:
2384 ++ _offset += (loff_t) mydev->xhdi_blocks * mydev->xhdi_blocksize;
2385 ++ break;
2386 ++ default:
2387 ++ return -1;
2388 ++ }
2389 ++
2390 ++ if (_offset > LONG_MAX)
2391 ++ {
2392 ++ __set_errno(EINVAL);
2393 ++ return -1;
2394 ++ }
2395 ++
2396 ++ if (_offset > (loff_t) mydev->xhdi_blocks * mydev->xhdi_blocksize)
2397 ++ {
2398 ++ __set_errno(EINVAL);
2399 ++ return -1;
2400 ++ }
2401 ++
2402 ++ mydev->pos = _offset;
2403 ++ return (off_t) mydev->pos;
2404 ++}
2405 ++}
2406 ++
2407 ++int gettype(int fd);
2408 ++
2409 ++int
2410 ++gettype(int fd)
2411 ++{
2412 ++ struct device *mydev = get_device(fd);
2413 ++ char *xhdi_id;
2414 ++
2415 ++ if (!mydev)
2416 ++ return -1;
2417 ++
2418 ++ /* Get filesystem type by XHDI ID */
2419 ++ xhdi_id = mydev->xhdi_id;
2420 ++ if ((xhdi_id[0] == '\0') && (xhdi_id[1] == 'D'))
2421 ++ return 0; /* DOS (\0D*) */
2422 ++ else
2423 ++ return 1; /* Atari (GEM/GBM) */
2424 ++}
2425 ++
2426 ++# endif /* __MINT__ */
2427 +diff -ur --new-file e2fsprogs-1.41.3/lib/ext2fs/mint_io.h e2fsprogs-1.41.3-mint/lib/ext2fs/mint_io.h
2428 +--- e2fsprogs-1.41.3/lib/ext2fs/mint_io.h 1970-01-01 00:00:00.000000000 +0000
2429 ++++ e2fsprogs-1.41.3-mint/lib/ext2fs/mint_io.h 2009-01-23 10:49:53.000000000 +0000
2430 +@@ -0,0 +1,22 @@
2431 ++/*
2432 ++ * mint_io.h
2433 ++ *
2434 ++ * Copyright (C) 2000 Frank Naumann <fnaumann@××××××××.de>.
2435 ++ *
2436 ++ * %Begin-Header%
2437 ++ * This file may be redistributed under the terms of the GNU Public
2438 ++ * License.
2439 ++ * %End-Header%
2440 ++ */
2441 ++
2442 ++# ifdef __MINT__
2443 ++
2444 ++# ifndef _mint_io_h
2445 ++# define _mint_io_h
2446 ++
2447 ++# define BLKGETSIZE (('b'<< 8) | 1)
2448 ++# define BLOCKSIZE (('b'<< 8) | 2)
2449 ++
2450 ++# endif /* _mint_io_h */
2451 ++
2452 ++# endif /* __MINT__ */
2453 +diff -ur --new-file e2fsprogs-1.41.3/lib/ext2fs/unix_io.c e2fsprogs-1.41.3-mint/lib/ext2fs/unix_io.c
2454 +--- e2fsprogs-1.41.3/lib/ext2fs/unix_io.c 2008-10-13 03:12:22.000000000 +0000
2455 ++++ e2fsprogs-1.41.3-mint/lib/ext2fs/unix_io.c 2009-01-23 10:47:35.000000000 +0000
2456 +@@ -51,9 +51,15 @@
2457 + #define BLKROGET _IO(0x12, 94) /* Get read-only status (0 = read_write). */
2458 + #endif
2459 +
2460 ++#ifdef __MINT__
2461 ++#include <sys/ioctl.h>
2462 ++#include "mint_io.h"
2463 ++#endif
2464 ++
2465 + #include "ext2_fs.h"
2466 + #include "ext2fs.h"
2467 +
2468 ++
2469 + /*
2470 + * For checking structure magic numbers...
2471 + */
2472 +@@ -512,6 +518,16 @@
2473 + }
2474 + }
2475 + #endif
2476 ++
2477 ++#ifdef __MINT__
2478 ++ {
2479 ++ unsigned long block_size;
2480 ++ retval = ioctl(data->dev, BLOCKSIZE, &block_size);
2481 ++ if (retval == 0)
2482 ++ io->block_size = block_size;
2483 ++ }
2484 ++#endif
2485 ++
2486 + *channel = io;
2487 + return 0;
2488 +
2489 +diff -ur --new-file e2fsprogs-1.41.3/lib/ext2fs/xhdi.c e2fsprogs-1.41.3-mint/lib/ext2fs/xhdi.c
2490 +--- e2fsprogs-1.41.3/lib/ext2fs/xhdi.c 1970-01-01 00:00:00.000000000 +0000
2491 ++++ e2fsprogs-1.41.3-mint/lib/ext2fs/xhdi.c 2009-01-23 10:49:55.000000000 +0000
2492 +@@ -0,0 +1,577 @@
2493 ++/*
2494 ++ * Copyright 2000 Frank Naumann <fnaumann@××××××××.de>
2495 ++ * All rights reserved.
2496 ++ *
2497 ++ * This program is free software; you can redistribute it and/or modify
2498 ++ * it under the terms of the GNU General Public License as published by
2499 ++ * the Free Software Foundation; either version 2, or (at your option)
2500 ++ * any later version.
2501 ++ *
2502 ++ * This file is distributed in the hope that it will be useful,
2503 ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
2504 ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2505 ++ * GNU General Public License for more details.
2506 ++ *
2507 ++ * You should have received a copy of the GNU General Public License
2508 ++ * along with this program; if not, write to the Free Software
2509 ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
2510 ++ *
2511 ++ *
2512 ++ * Started: 2000-05-02
2513 ++ *
2514 ++ * Changes:
2515 ++ *
2516 ++ * 0.1:
2517 ++ *
2518 ++ * fix: Cookie handling stuff; use Getcookie from MiNT-Lib now
2519 ++ * requires an actual MiNT-Lib (>= PL49)
2520 ++ *
2521 ++ * 0.0:
2522 ++ *
2523 ++ * - inital version
2524 ++ *
2525 ++ */
2526 ++
2527 ++# include "xhdi.h"
2528 ++
2529 ++# include <stdio.h>
2530 ++# include <stdlib.h>
2531 ++# include <errno.h>
2532 ++# include <mintbind.h>
2533 ++# include <mint/cookie.h>
2534 ++
2535 ++
2536 ++/*
2537 ++ * internal usage
2538 ++ */
2539 ++
2540 ++/* dummy routine */
2541 ++static long
2542 ++XHDIfail (void)
2543 ++{
2544 ++ return -ENOSYS;
2545 ++}
2546 ++
2547 ++/* XHDI handler function */
2548 ++static long (*XHDI)() = XHDIfail;
2549 ++
2550 ++ushort XHDI_installed = 0;
2551 ++
2552 ++
2553 ++# define C_XHDI 0x58484449L
2554 ++# define XHDIMAGIC 0x27011992L
2555 ++
2556 ++/* initalize flag */
2557 ++static ushort init = 1;
2558 ++
2559 ++long
2560 ++init_XHDI (void)
2561 ++{
2562 ++ long *val;
2563 ++ long r;
2564 ++
2565 ++ init = 0;
2566 ++
2567 ++ r = Getcookie (C_XHDI, (long *) &val);
2568 ++ if (r == C_FOUND)
2569 ++ {
2570 ++ long *magic_test = val;
2571 ++
2572 ++ /* check magic */
2573 ++ if (magic_test)
2574 ++ {
2575 ++ magic_test--;
2576 ++ if (*magic_test == XHDIMAGIC)
2577 ++ {
2578 ++ XHDI = val;
2579 ++ }
2580 ++ }
2581 ++ }
2582 ++
2583 ++ r = XHGetVersion ();
2584 ++ if (r < 0)
2585 ++ {
2586 ++ perror ("XHGetVersion");
2587 ++
2588 ++ XHDI = XHDIfail;
2589 ++ return r;
2590 ++ }
2591 ++
2592 ++ /* we need at least XHDI 1.10 */
2593 ++ if (r >= 0x110)
2594 ++ {
2595 ++ XHDI_installed = r;
2596 ++ return 0;
2597 ++ }
2598 ++
2599 ++ XHDI = XHDIfail;
2600 ++ return -1;
2601 ++}
2602 ++
2603 ++
2604 ++/*
2605 ++ * XHDI wrapper routines
2606 ++ */
2607 ++
2608 ++# define CALL \
2609 ++ long oldstack = 0; \
2610 ++ long r; \
2611 ++ \
2612 ++ if (init) init_XHDI (); \
2613 ++ \
2614 ++ if (!Super (1L)) \
2615 ++ oldstack = Super (0L); \
2616 ++ \
2617 ++ r = XHDI (args); \
2618 ++ if (r < 0) \
2619 ++ { \
2620 ++ __set_errno (-r); \
2621 ++ r = -1; \
2622 ++ } \
2623 ++ \
2624 ++ if (oldstack) \
2625 ++ Super (oldstack); \
2626 ++ \
2627 ++ return r
2628 ++
2629 ++long
2630 ++XHGetVersion (void)
2631 ++{
2632 ++ struct args_XHGetVersion
2633 ++ {
2634 ++ ushort opcode;
2635 ++ }
2636 ++ args =
2637 ++ {
2638 ++ 0
2639 ++ };
2640 ++
2641 ++ CALL;
2642 ++}
2643 ++
2644 ++long
2645 ++XHInqTarget (ushort major, ushort minor, ulong *block_size, ulong *device_flags, char *product_name)
2646 ++{
2647 ++ struct args_XHInqTarget
2648 ++ {
2649 ++ ushort opcode;
2650 ++ ushort major;
2651 ++ ushort minor;
2652 ++ ulong *block_size;
2653 ++ ulong *device_flags;
2654 ++ char *product_name;
2655 ++ }
2656 ++ args =
2657 ++ {
2658 ++ 1,
2659 ++ major,
2660 ++ minor,
2661 ++ block_size,
2662 ++ device_flags,
2663 ++ product_name
2664 ++ };
2665 ++
2666 ++ CALL;
2667 ++}
2668 ++
2669 ++long
2670 ++XHReserve (ushort major, ushort minor, ushort do_reserve, ushort key)
2671 ++{
2672 ++ struct args_XHReserve
2673 ++ {
2674 ++ ushort opcode;
2675 ++ ushort major;
2676 ++ ushort minor;
2677 ++ ushort do_reserve;
2678 ++ ushort key;
2679 ++ }
2680 ++ args =
2681 ++ {
2682 ++ 2,
2683 ++ major,
2684 ++ minor,
2685 ++ do_reserve,
2686 ++ key
2687 ++ };
2688 ++
2689 ++ CALL;
2690 ++}
2691 ++
2692 ++long
2693 ++XHLock (ushort major, ushort minor, ushort do_lock, ushort key)
2694 ++{
2695 ++ struct args_XHLock
2696 ++ {
2697 ++ ushort opcode;
2698 ++ ushort major;
2699 ++ ushort minor;
2700 ++ ushort do_lock;
2701 ++ ushort key;
2702 ++ }
2703 ++ args =
2704 ++ {
2705 ++ 3,
2706 ++ major,
2707 ++ minor,
2708 ++ do_lock,
2709 ++ key
2710 ++ };
2711 ++
2712 ++ CALL;
2713 ++}
2714 ++
2715 ++long
2716 ++XHStop (ushort major, ushort minor, ushort do_stop, ushort key)
2717 ++{
2718 ++ struct args_XHStop
2719 ++ {
2720 ++ ushort opcode;
2721 ++ ushort major;
2722 ++ ushort minor;
2723 ++ ushort do_stop;
2724 ++ ushort key;
2725 ++ }
2726 ++ args =
2727 ++ {
2728 ++ 4,
2729 ++ major,
2730 ++ minor,
2731 ++ do_stop,
2732 ++ key
2733 ++ };
2734 ++
2735 ++ CALL;
2736 ++}
2737 ++
2738 ++long
2739 ++XHEject (ushort major, ushort minor, ushort do_eject, ushort key)
2740 ++{
2741 ++ struct args_XHEject
2742 ++ {
2743 ++ ushort opcode;
2744 ++ ushort major;
2745 ++ ushort minor;
2746 ++ ushort do_eject;
2747 ++ ushort key;
2748 ++ }
2749 ++ args =
2750 ++ {
2751 ++ 5,
2752 ++ major,
2753 ++ minor,
2754 ++ do_eject,
2755 ++ key
2756 ++ };
2757 ++
2758 ++ CALL;
2759 ++}
2760 ++
2761 ++long
2762 ++XHDrvMap (void)
2763 ++{
2764 ++ struct args_XHDrvMap
2765 ++ {
2766 ++ ushort opcode;
2767 ++ }
2768 ++ args =
2769 ++ {
2770 ++ 6
2771 ++ };
2772 ++
2773 ++ CALL;
2774 ++}
2775 ++
2776 ++long
2777 ++XHInqDev (ushort bios, ushort *major, ushort *minor, ulong *start, __BPB *bpb)
2778 ++{
2779 ++ struct args_XHInqDev
2780 ++ {
2781 ++ ushort opcode;
2782 ++ ushort bios;
2783 ++ ushort *major;
2784 ++ ushort *minor;
2785 ++ ulong *start;
2786 ++ __BPB *bpb;
2787 ++ }
2788 ++ args =
2789 ++ {
2790 ++ 7,
2791 ++ bios,
2792 ++ major,
2793 ++ minor,
2794 ++ start,
2795 ++ bpb
2796 ++ };
2797 ++
2798 ++ CALL;
2799 ++}
2800 ++
2801 ++long
2802 ++XHInqDriver (ushort bios, char *name, char *version, char *company, ushort *ahdi_version, ushort *maxIPL)
2803 ++{
2804 ++ struct args_XHInqDriver
2805 ++ {
2806 ++ ushort opcode;
2807 ++ ushort bios;
2808 ++ char *name;
2809 ++ char *version;
2810 ++ char *company;
2811 ++ ushort *ahdi_version;
2812 ++ ushort *maxIPL;
2813 ++ }
2814 ++ args =
2815 ++ {
2816 ++ 8,
2817 ++ bios,
2818 ++ name,
2819 ++ version,
2820 ++ company,
2821 ++ ahdi_version,
2822 ++ maxIPL
2823 ++ };
2824 ++
2825 ++ CALL;
2826 ++}
2827 ++
2828 ++long
2829 ++XHNewCookie (void *newcookie)
2830 ++{
2831 ++ struct args_XHNewCookie
2832 ++ {
2833 ++ ushort opcode;
2834 ++ void *newcookie;
2835 ++ }
2836 ++ args =
2837 ++ {
2838 ++ 9,
2839 ++ newcookie
2840 ++ };
2841 ++
2842 ++ CALL;
2843 ++}
2844 ++
2845 ++long
2846 ++XHReadWrite (ushort major, ushort minor, ushort rwflag, ulong recno, ushort count, void *buf)
2847 ++{
2848 ++ struct args_XHReadWrite
2849 ++ {
2850 ++ ushort opcode;
2851 ++ ushort major;
2852 ++ ushort minor;
2853 ++ ushort rwflag;
2854 ++ ulong recno;
2855 ++ ushort count;
2856 ++ void *buf;
2857 ++ }
2858 ++ args =
2859 ++ {
2860 ++ 10,
2861 ++ major,
2862 ++ minor,
2863 ++ rwflag,
2864 ++ recno,
2865 ++ count,
2866 ++ buf
2867 ++ };
2868 ++
2869 ++ CALL;
2870 ++}
2871 ++
2872 ++long
2873 ++XHInqTarget2 (ushort major, ushort minor, ulong *block_size, ulong *device_flags, char *product_name, ushort stringlen)
2874 ++{
2875 ++ struct args_XHInqTarget2
2876 ++ {
2877 ++ ushort opcode;
2878 ++ ushort major;
2879 ++ ushort minor;
2880 ++ ulong *block_size;
2881 ++ ulong *device_flags;
2882 ++ char *product_name;
2883 ++ ushort stringlen;
2884 ++ }
2885 ++ args =
2886 ++ {
2887 ++ 11,
2888 ++ major,
2889 ++ minor,
2890 ++ block_size,
2891 ++ device_flags,
2892 ++ product_name,
2893 ++ stringlen
2894 ++ };
2895 ++
2896 ++ CALL;
2897 ++}
2898 ++
2899 ++long
2900 ++XHInqDev2 (ushort bios, ushort *major, ushort *minor, ulong *start, __BPB *bpb, ulong *blocks, char *partid)
2901 ++{
2902 ++ struct args_XHInqDev2
2903 ++ {
2904 ++ ushort opcode;
2905 ++ ushort bios;
2906 ++ ushort *major;
2907 ++ ushort *minor;
2908 ++ ulong *start;
2909 ++ __BPB *bpb;
2910 ++ ulong *blocks;
2911 ++ char *partid;
2912 ++ }
2913 ++ args =
2914 ++ {
2915 ++ 12,
2916 ++ bios,
2917 ++ major,
2918 ++ minor,
2919 ++ start,
2920 ++ bpb,
2921 ++ blocks,
2922 ++ partid
2923 ++ };
2924 ++
2925 ++ CALL;
2926 ++}
2927 ++
2928 ++long
2929 ++XHDriverSpecial (ulong key1, ulong key2, ushort subopcode, void *data)
2930 ++{
2931 ++ struct args_XHDriverSpecial
2932 ++ {
2933 ++ ushort opcode;
2934 ++ ulong key1;
2935 ++ ulong key2;
2936 ++ ushort subopcode;
2937 ++ void *data;
2938 ++ }
2939 ++ args =
2940 ++ {
2941 ++ 13,
2942 ++ key1,
2943 ++ key2,
2944 ++ subopcode,
2945 ++ data
2946 ++ };
2947 ++
2948 ++ CALL;
2949 ++}
2950 ++
2951 ++long
2952 ++XHGetCapacity (ushort major, ushort minor, ulong *blocks, ulong *bs)
2953 ++{
2954 ++ struct args_XHGetCapacity
2955 ++ {
2956 ++ ushort opcode;
2957 ++ ushort major;
2958 ++ ushort minor;
2959 ++ ulong *blocks;
2960 ++ ulong *bs;
2961 ++ }
2962 ++ args =
2963 ++ {
2964 ++ 14,
2965 ++ major,
2966 ++ minor,
2967 ++ blocks,
2968 ++ bs
2969 ++ };
2970 ++
2971 ++ CALL;
2972 ++}
2973 ++
2974 ++long
2975 ++XHMediumChanged (ushort major, ushort minor)
2976 ++{
2977 ++ struct args_XHMediumChanged
2978 ++ {
2979 ++ ushort opcode;
2980 ++ ushort major;
2981 ++ ushort minor;
2982 ++ }
2983 ++ args =
2984 ++ {
2985 ++ 15,
2986 ++ major,
2987 ++ minor
2988 ++ };
2989 ++
2990 ++ CALL;
2991 ++}
2992 ++
2993 ++long
2994 ++XHMiNTInfo (ushort op, void *data)
2995 ++{
2996 ++ struct args_XHMiNTInfo
2997 ++ {
2998 ++ ushort opcode;
2999 ++ ushort op;
3000 ++ void *data;
3001 ++ }
3002 ++ args =
3003 ++ {
3004 ++ 16,
3005 ++ op,
3006 ++ data
3007 ++ };
3008 ++
3009 ++ CALL;
3010 ++}
3011 ++
3012 ++long
3013 ++XHDOSLimits (ushort which, ulong limit)
3014 ++{
3015 ++ struct args_XHDOSLimits
3016 ++ {
3017 ++ ushort opcode;
3018 ++ ushort which;
3019 ++ ulong limit;
3020 ++ }
3021 ++ args =
3022 ++ {
3023 ++ 17,
3024 ++ which,
3025 ++ limit
3026 ++ };
3027 ++
3028 ++ CALL;
3029 ++}
3030 ++
3031 ++long
3032 ++XHLastAccess (ushort major, ushort minor, ulong *ms)
3033 ++{
3034 ++ struct args_XHLastAccess
3035 ++ {
3036 ++ ushort opcode;
3037 ++ ushort major;
3038 ++ ushort minor;
3039 ++ ulong *ms;
3040 ++ }
3041 ++ args =
3042 ++ {
3043 ++ 18,
3044 ++ major,
3045 ++ minor,
3046 ++ ms
3047 ++ };
3048 ++
3049 ++ CALL;
3050 ++}
3051 ++
3052 ++long
3053 ++XHReaccess (ushort major, ushort minor)
3054 ++{
3055 ++ struct args_XHReaccess
3056 ++ {
3057 ++ ushort opcode;
3058 ++ ushort major;
3059 ++ ushort minor;
3060 ++ }
3061 ++ args =
3062 ++ {
3063 ++ 19,
3064 ++ major,
3065 ++ minor
3066 ++ };
3067 ++
3068 ++ CALL;
3069 ++}
3070 +diff -ur --new-file e2fsprogs-1.41.3/lib/ext2fs/xhdi.h e2fsprogs-1.41.3-mint/lib/ext2fs/xhdi.h
3071 +--- e2fsprogs-1.41.3/lib/ext2fs/xhdi.h 1970-01-01 00:00:00.000000000 +0000
3072 ++++ e2fsprogs-1.41.3-mint/lib/ext2fs/xhdi.h 2009-01-23 10:49:56.000000000 +0000
3073 +@@ -0,0 +1,144 @@
3074 ++/*
3075 ++ * Copyright 2000 Frank Naumann <fnaumann@××××××××.de>
3076 ++ * All rights reserved.
3077 ++ *
3078 ++ * This program is free software; you can redistribute it and/or modify
3079 ++ * it under the terms of the GNU General Public License as published by
3080 ++ * the Free Software Foundation; either version 2, or (at your option)
3081 ++ * any later version.
3082 ++ *
3083 ++ * This file is distributed in the hope that it will be useful,
3084 ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
3085 ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3086 ++ * GNU General Public License for more details.
3087 ++ *
3088 ++ * You should have received a copy of the GNU General Public License
3089 ++ * along with this program; if not, write to the Free Software
3090 ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
3091 ++ *
3092 ++ */
3093 ++
3094 ++# ifndef _xhdi_h
3095 ++# define _xhdi_h
3096 ++
3097 ++# include <sys/types.h>
3098 ++
3099 ++typedef unsigned char uchar;
3100 ++
3101 ++
3102 ++/*
3103 ++ * BIOS parameter block (osbind.h is buggy)
3104 ++ */
3105 ++
3106 ++typedef struct
3107 ++{
3108 ++ ushort recsiz; /* bytes per sector */
3109 ++ short clsiz; /* sectors per cluster */
3110 ++ ushort clsizb; /* bytes per cluster */
3111 ++ short rdlen; /* root directory size */
3112 ++ short fsiz; /* size of FAT */
3113 ++ short fatrec; /* startsector of second FAT */
3114 ++ short datrec; /* first data sector */
3115 ++ ushort numcl; /* total number of clusters */
3116 ++ short bflags; /* some flags */
3117 ++
3118 ++} __BPB;
3119 ++
3120 ++
3121 ++/*
3122 ++ * Extended BIOS Parameter Block (XHDI)
3123 ++ */
3124 ++
3125 ++typedef struct
3126 ++{
3127 ++ ushort recsiz; /* bytes per sector */
3128 ++ short clsiz; /* sectors per cluster */
3129 ++ ushort clsizb; /* bytes per cluster */
3130 ++ short rdlen; /* root directory size or 0 if FAT32 */
3131 ++ short fsiz; /* size of FAT or 0 if FAT32 */
3132 ++ short fatrec; /* startsector of second FAT or 0 if FAT32 */
3133 ++ short datrec; /* first data sector or 0 if FAT32 */
3134 ++ ushort numcl; /* total number of clusters or 0 if FAT32 */
3135 ++ short bflags; /* bit 0: 0 = FAT12, 1 = FAT16
3136 ++ * bit 1: 0 = 2 FATs, 1 = 1 FAT
3137 ++ * bit 2: 0 = BPB, 1 = EXTENDED_BPB
3138 ++ */
3139 ++
3140 ++ /* Ab hier undokumentiert, nur A: und B:! */
3141 ++ short ntracks; /* Anzahl Spuren */
3142 ++ short nsides; /* Anzahl Seiten */
3143 ++ short spc; /* Sektoren pro Zylinder */
3144 ++ short spt; /* Sektoren pro Spur */
3145 ++ ushort nhid; /* Anzahl versteckte Sektoren */
3146 ++ uchar ser[3]; /* Seriennummer */
3147 ++ uchar serms[4]; /* ab TOS 2.06: MS-DOS-4.0-Seriennummer */
3148 ++ char unused;
3149 ++
3150 ++ /* if bit 2 of bflags are set */
3151 ++ long l_recsiz; /* bytes per sector */
3152 ++ long l_clsiz; /* sectors per cluster */
3153 ++ long l_clsizb; /* bytes per cluster */
3154 ++ long l_rdlen; /* root directory size */
3155 ++ long l_fsiz; /* size of FAT */
3156 ++ long l_fatrec; /* startsector of second FAT */
3157 ++ long l_datrec; /* first data sector */
3158 ++ long l_numcl; /* total number of clusters */
3159 ++ long l_rdstcl; /* if FAT32: startcluster of root directory
3160 ++ * otherwise 0
3161 ++ */
3162 ++} __xhdi_BPB;
3163 ++
3164 ++
3165 ++# define XH_TARGET_STOPPABLE 0x00000001L
3166 ++# define XH_TARGET_REMOVABLE 0x00000002L
3167 ++# define XH_TARGET_LOCKABLE 0x00000004L
3168 ++# define XH_TARGET_EJECTABLE 0x00000008L
3169 ++# define XH_TARGET_LOCKED 0x20000000L
3170 ++# define XH_TARGET_STOPPED 0x40000000L
3171 ++# define XH_TARGET_RESERVED 0x80000000L
3172 ++
3173 ++# define XH_MI_SETKERINFO 0
3174 ++# define XH_MI_GETKERINFO 1
3175 ++
3176 ++# define XH_DL_SECSIZ 0
3177 ++# define XH_DL_MINFAT 1
3178 ++# define XH_DL_MAXFAT 2
3179 ++# define XH_DL_MINSPC 3
3180 ++# define XH_DL_MAXSPC 4
3181 ++# define XH_DL_CLUSTS 5
3182 ++# define XH_DL_MAXSEC 6
3183 ++# define XH_DL_DRIVES 7
3184 ++# define XH_DL_CLSIZB 8
3185 ++# define XH_DL_RDLEN 9
3186 ++# define XH_DL_CLUSTS12 12
3187 ++# define XH_DL_CLUSTS32 13
3188 ++# define XH_DL_BFLAGS 14
3189 ++
3190 ++
3191 ++extern ushort XHDI_installed;
3192 ++
3193 ++long init_XHDI (void);
3194 ++
3195 ++long XHGetVersion (void);
3196 ++long XHInqTarget (ushort major, ushort minor, ulong *block_size, ulong *device_flags, char *product_name);
3197 ++long XHReserve (ushort major, ushort minor, ushort do_reserve, ushort key);
3198 ++long XHLock (ushort major, ushort minor, ushort do_lock, ushort key);
3199 ++long XHStop (ushort major, ushort minor, ushort do_stop, ushort key);
3200 ++long XHEject (ushort major, ushort minor, ushort do_eject, ushort key);
3201 ++long XHDrvMap (void);
3202 ++long XHInqDev (ushort bios, ushort *major, ushort *minor, ulong *start, __BPB *bpb);
3203 ++long XHInqDriver (ushort bios, char *name, char *version, char *company, ushort *ahdi_version, ushort *maxIPL);
3204 ++long XHNewCookie (void *newcookie);
3205 ++long XHReadWrite (ushort major, ushort minor, ushort rwflag, ulong recno, ushort count, void *buf);
3206 ++long XHInqTarget2 (ushort major, ushort minor, ulong *block_size, ulong *device_flags, char *product_name, ushort stringlen);
3207 ++long XHInqDev2 (ushort bios, ushort *major, ushort *minor, ulong *start, __BPB *bpb, ulong *blocks, char *partid);
3208 ++long XHDriverSpecial (ulong key1, ulong key2, ushort subopcode, void *data);
3209 ++long XHGetCapacity (ushort major, ushort minor, ulong *blocks, ulong *bs);
3210 ++long XHMediumChanged (ushort major, ushort minor);
3211 ++long XHMiNTInfo (ushort op, void *data);
3212 ++long XHDOSLimits (ushort which, ulong limit);
3213 ++long XHLastAccess (ushort major, ushort minor, ulong *ms);
3214 ++long XHReaccess (ushort major, ushort minor);
3215 ++
3216 ++
3217 ++# endif /* _xhdi_h */
3218 +diff -ur --new-file e2fsprogs-1.41.3/misc/e2undo.c e2fsprogs-1.41.3-mint/misc/e2undo.c
3219 +--- e2fsprogs-1.41.3/misc/e2undo.c 2009-01-23 12:59:44.000000000 +0000
3220 ++++ e2fsprogs-1.41.3-mint/misc/e2undo.c 2009-01-23 12:56:40.000000000 +0000
3221 +@@ -19,6 +19,7 @@
3222 + #if HAVE_ERRNO_H
3223 + #include <errno.h>
3224 + #endif
3225 ++#include <sys/types.h>
3226 + #include "ext2fs/tdb.h"
3227 + #include "ext2fs/ext2fs.h"
3228 + #include "nls-enable.h"
3229 +diff -ur --new-file e2fsprogs-1.41.3/misc/e2initrd_helper.c e2fsprogs-1.41.3-mint/misc/e2initrd_helper.c
3230 +--- e2fsprogs-1.41.3/misc/e2initrd_helper.c 2009-01-23 12:58:29.000000000 +0000
3231 ++++ e2fsprogs-1.41.3-mint/misc/e2initrd_helper.c 2009-01-23 12:59:11.000000000 +0000
3232 +@@ -50,7 +50,7 @@
3233 + int ptr;
3234 + };
3235 +
3236 +-struct fs_info {
3237 ++struct _fs_info {
3238 + char *device;
3239 + char *mountpt;
3240 + char *type;
3241 +@@ -58,7 +58,7 @@
3242 + int freq;
3243 + int passno;
3244 + int flags;
3245 +- struct fs_info *next;
3246 ++ struct _fs_info *next;
3247 + };
3248 +
3249 + static void usage(void)
3250 +@@ -230,7 +230,7 @@
3251 + *q = 0;
3252 + }
3253 +
3254 +-static int parse_fstab_line(char *line, struct fs_info *fs)
3255 ++static int parse_fstab_line(char *line, struct _fs_info *fs)
3256 + {
3257 + char *dev, *device, *mntpnt, *type, *opts, *freq, *passno, *cp;
3258 +
3259 +@@ -280,7 +280,7 @@
3260 + return 0;
3261 + }
3262 +
3263 +-static void free_fstab_line(struct fs_info *fs)
3264 ++static void free_fstab_line(struct _fs_info *fs)
3265 + {
3266 + if (fs->device)
3267 + fs->device = 0;
3268 +@@ -290,7 +290,7 @@
3269 + fs->type = 0;
3270 + if (fs->opts)
3271 + fs->opts = 0;
3272 +- memset(fs, 0, sizeof(struct fs_info));
3273 ++ memset(fs, 0, sizeof(struct _fs_info));
3274 + }
3275 +
3276 +
3277 +@@ -334,7 +334,7 @@
3278 + errcode_t retval;
3279 + struct mem_file file;
3280 + char *buf;
3281 +- struct fs_info fs_info;
3282 ++ struct _fs_info _fs_info;
3283 + int ret;
3284 +
3285 + retval = get_file(fs, "/etc/fstab", &file);
3286 +@@ -344,14 +344,14 @@
3287 + if (!buf)
3288 + continue;
3289 +
3290 +- ret = parse_fstab_line(buf, &fs_info);
3291 ++ ret = parse_fstab_line(buf, &_fs_info);
3292 + if (ret < 0)
3293 + goto next_line;
3294 +
3295 +- if (!strcmp(fs_info.mountpt, "/"))
3296 +- printf("%s\n", fs_info.type);
3297 ++ if (!strcmp(_fs_info.mountpt, "/"))
3298 ++ printf("%s\n", _fs_info.type);
3299 +
3300 +- free_fstab_line(&fs_info);
3301 ++ free_fstab_line(&_fs_info);
3302 +
3303 + next_line:
3304 + free(buf);
3305 +diff -ur --new-file e2fsprogs-1.41.3/misc/mke2fs.c e2fsprogs-1.41.3-mint/misc/mke2fs.c
3306 +--- e2fsprogs-1.41.3/misc/mke2fs.c 2008-10-07 14:22:39.000000000 +0000
3307 ++++ e2fsprogs-1.41.3-mint/misc/mke2fs.c 2009-01-23 10:47:35.000000000 +0000
3308 +@@ -1819,6 +1819,36 @@
3309 + return retval;
3310 + }
3311 +
3312 ++#ifdef __MINT__
3313 ++void
3314 ++warn (const char *drv)
3315 ++{
3316 ++ char c;
3317 ++ int check;
3318 ++
3319 ++ check = open (drv, O_RDONLY);
3320 ++ if (check == -1)
3321 ++ return;
3322 ++
3323 ++ close (check);
3324 ++
3325 ++ if (check < 1024)
3326 ++ return;
3327 ++
3328 ++ fprintf (stderr, "\n");
3329 ++ fprintf (stderr, "WARNING: THIS WILL TOTALLY DESTROY ANY DATA ON %s:\n", drv);
3330 ++ fprintf (stderr, "Are you ABSOLUTELY SURE you want to do this? (y/n) ");
3331 ++ scanf ("%c", &c);
3332 ++ fprintf (stderr, "\n");
3333 ++
3334 ++ if (c == 'y' || c == 'Y')
3335 ++ return;
3336 ++
3337 ++ fprintf (stderr, "Aborted\n");
3338 ++ exit (1);
3339 ++}
3340 ++#endif
3341 ++
3342 + int main (int argc, char *argv[])
3343 + {
3344 + errcode_t retval = 0;
3345 +@@ -1839,6 +1869,11 @@
3346 + #endif
3347 + PRS(argc, argv);
3348 +
3349 ++#ifdef __MINT__
3350 ++ if (!quiet)
3351 ++ warn (device_name);
3352 ++#endif
3353 ++
3354 + #ifdef CONFIG_TESTIO_DEBUG
3355 + if (getenv("TEST_IO_FLAGS") || getenv("TEST_IO_BLOCK")) {
3356 + io_ptr = test_io_manager;
3357
3358 diff --git a/sys-fs/e2fsprogs/files/e2fsprogs-1.41.12-darwin-makefile.patch b/sys-fs/e2fsprogs/files/e2fsprogs-1.41.12-darwin-makefile.patch
3359 new file mode 100644
3360 index 0000000..8444067
3361 --- /dev/null
3362 +++ b/sys-fs/e2fsprogs/files/e2fsprogs-1.41.12-darwin-makefile.patch
3363 @@ -0,0 +1,113 @@
3364 +On Darwin, create dylibs with a versioning scheme like Linux/ELF, not
3365 +like BSD/ELF.
3366 +This patch uses intentionally ELF_* vars to make it easier to diff
3367 +against the ELF Makefile.
3368 +
3369 +http://sourceforge.net/tracker/index.php?func=detail&aid=2555389&group_id=2406&atid=302406
3370 +
3371 +--- lib/Makefile.darwin-lib
3372 ++++ lib/Makefile.darwin-lib
3373 +@@ -1,14 +1,15 @@
3374 + #
3375 +-# This is a Makefile stub which handles the creation of Darwin BSD shared
3376 +-# libraries.
3377 ++# This is a Makefile stub which handles the creation of Darwin shared
3378 ++# libraries based on the ELF scheme.
3379 + #
3380 + # In order to use this stub, the following makefile variables must be defined.
3381 +-#
3382 +-# BSDLIB_VERSION = 1.0
3383 +-# BSDLIB_IMAGE = libce
3384 +-# BSDLIB_MYDIR = et
3385 +-# BSDLIB_INSTALL_DIR = $(SHLIBDIR)
3386 +-#
3387 ++#
3388 ++# ELF_VERSION = 1.0
3389 ++# ELF_SO_VERSION = 1
3390 ++# ELF_IMAGE = libce
3391 ++# ELF_MYDIR = et
3392 ++# ELF_INSTALL_DIR = $(SHLIBDIR)
3393 ++# ELF_OTHER_LIBS = -lc
3394 +
3395 + all:: image
3396 +
3397 +@@ -16,36 +17,58 @@
3398 + $(E) " MKDIR pic"
3399 + $(Q) mkdir -p pic
3400 +
3401 +-BSD_LIB = $(BSDLIB_IMAGE).$(BSDLIB_VERSION).dylib
3402 +-BSDLIB_PIC_FLAG = -fPIC
3403 ++ELF_LIB = $(ELF_IMAGE).$(ELF_VERSION).dylib
3404 ++ELF_SONAME = $(ELF_IMAGE).$(ELF_SO_VERSION).dylib
3405 +
3406 +-image: $(BSD_LIB)
3407 ++image: $(ELF_LIB)
3408 +
3409 +-$(BSD_LIB): $(OBJS)
3410 +- $(E) " GEN_BSD_SOLIB $(BSD_LIB)"
3411 +- $(Q) (cd pic; $(CC) -dynamiclib -compatibility_version 1.0 -current_version $(BSDLIB_VERSION) \
3412 +- -flat_namespace -undefined warning -o $(BSD_LIB) $(OBJS))
3413 +- $(Q) $(MV) pic/$(BSD_LIB) .
3414 +- $(Q) $(RM) -f ../$(BSD_LIB)
3415 ++$(ELF_LIB): $(OBJS)
3416 ++ $(E) " GEN_ELF_SOLIB $(ELF_LIB)"
3417 ++ $(Q) (cd pic; $(CC) -dynamiclib -o $(ELF_LIB) $(LDFLAGS) \
3418 ++ -Wl,-install_name,$(libdir)/$(ELF_SONAME) $(OBJS) $(ELF_OTHER_LIBS))
3419 ++ $(Q) $(MV) pic/$(ELF_LIB) .
3420 ++ $(Q) $(RM) -f ../$(ELF_LIB) ../$(ELF_IMAGE).dylib ../$(ELF_SONAME)
3421 + $(Q) (cd ..; $(LN) $(LINK_BUILD_FLAGS) \
3422 +- `echo $(my_dir) | sed -e 's;lib/;;'`/$(BSD_LIB) $(BSD_LIB))
3423 +- $(Q) (cd ..; $(LN) $(LINK_BUILD_FLAGS) $(BSD_LIB) $(BSDLIB_IMAGE).dylib)
3424 +-
3425 +-install-shlibs install:: $(BSD_LIB)
3426 +- $(E) " INSTALL_PROGRAM $(BSDLIB_INSTALL_DIR)/$(BSD_LIB)"
3427 +- $(Q) $(INSTALL_PROGRAM) $(BSD_LIB) \
3428 +- $(DESTDIR)$(BSDLIB_INSTALL_DIR)/$(BSD_LIB)
3429 +- -$(Q) $(LDCONFIG)
3430 ++ `echo $(my_dir) | sed -e 's;lib/;;'`/$(ELF_LIB) $(ELF_LIB))
3431 ++ $(Q) (cd ..; $(LN) $(LINK_BUILD_FLAGS) $(ELF_LIB) $(ELF_IMAGE).dylib)
3432 ++ $(Q) (cd ..; $(LN) $(LINK_BUILD_FLAGS) $(ELF_LIB) $(ELF_SONAME))
3433 ++
3434 ++installdirs-elf-lib::
3435 ++ $(E) " MKINSTALLDIRS $(ELF_INSTALL_DIR) $(libdir)"
3436 ++ $(Q) $(MKINSTALLDIRS) $(DESTDIR)$(ELF_INSTALL_DIR) \
3437 ++ $(DESTDIR)$(libdir)
3438 ++
3439 ++installdirs:: installdirs-elf-lib
3440 ++
3441 ++install-shlibs install:: $(ELF_LIB) installdirs-elf-lib
3442 ++ $(E) " INSTALL-ELF-LIB $(ELF_INSTALL_DIR)/$(ELF_LIB)"
3443 ++ $(Q) $(INSTALL_PROGRAM) $(ELF_LIB) $(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_LIB)
3444 ++ $(E) " SYMLINK $(ELF_INSTALL_DIR)/$(ELF_SONAME)"
3445 ++ $(Q) $(LN_S) -f $(ELF_LIB) $(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_SONAME)
3446 ++ $(E) " SYMLINK $(libdir)/$(ELF_IMAGE).dylib"
3447 ++ $(Q) if test "$(ELF_INSTALL_DIR)" = "$(libdir)"; then \
3448 ++ $(LN_S) -f $(ELF_SONAME) $(DESTDIR)$(libdir)/$(ELF_IMAGE).dylib ; \
3449 ++ else \
3450 ++ $(LN_S) -f $(ELF_INSTALL_DIR)/$(ELF_SONAME) \
3451 ++ $(DESTDIR)$(libdir)/$(ELF_IMAGE).dylib; \
3452 ++ fi
3453 +
3454 + install-strip: install
3455 ++ $(E) " STRIP-LIB $(ELF_INSTALL_DIR)/$(ELF_LIB)"
3456 ++ $(Q) $(STRIP) --strip-unneeded --remove-section=.comment \
3457 ++ --remove-section=.note $(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_LIB)
3458 +
3459 + install-shlibs-strip: install-shlibs
3460 ++ $(E) " STRIP-LIB $(ELF_INSTALL_DIR)/$(ELF_LIB)"
3461 ++ $(Q) $(STRIP) --strip-unneeded --remove-section=.comment \
3462 ++ --remove-section=.note $(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_LIB)
3463 +
3464 + uninstall-shlibs uninstall::
3465 +- $(RM) -f $(DESTDIR)$(BSDLIB_INSTALL_DIR)/$(BSD_LIB)
3466 ++ $(RM) -f $(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_LIB) \
3467 ++ $(DESTDIR)$(ELF_INSTALL_DIR)/$(ELF_SONAME) \
3468 ++ $(DESTDIR)$(libdir)/$(ELF_IMAGE).dylib
3469 +
3470 + clean::
3471 + $(RM) -rf pic
3472 +- $(RM) -f $(BSD_LIB)
3473 +- $(RM) -f ../$(BSD_LIB)
3474 +- $(RM) -f ../$(BSDLIB_IMAGE).dylib
3475 ++ $(RM) -f $(ELF_LIB)
3476 ++ $(RM) -f ../$(ELF_LIB) ../$(ELF_IMAGE).dylib ../$(ELF_SONAME)
3477
3478 diff --git a/sys-fs/e2fsprogs/files/e2fsprogs-1.41.12-mint-blkid.patch b/sys-fs/e2fsprogs/files/e2fsprogs-1.41.12-mint-blkid.patch
3479 new file mode 100644
3480 index 0000000..886ece5
3481 --- /dev/null
3482 +++ b/sys-fs/e2fsprogs/files/e2fsprogs-1.41.12-mint-blkid.patch
3483 @@ -0,0 +1,43 @@
3484 +http://bugs.gentoo.org/276055
3485 +
3486 +<alanh@×××××××××××.uk>:
3487 +The configure test program links against libblkid to test. This works
3488 +fine on shared library systems as libblkid automatically depends on
3489 +libuuid. But on static systems it needs explicit linking.
3490 +
3491 +
3492 +--- configure.in
3493 ++++ configure.in
3494 +@@ -398,8 +398,8 @@
3495 + fi
3496 +
3497 + AC_CHECK_LIB(blkid, blkid_get_cache,
3498 +- [LIBBLKID=`$PKG_CONFIG --libs blkid`;
3499 +- STATIC_LIBBLKID=`$PKG_CONFIG --static --libs blkid`],
3500 ++ [LIBBLKID=`$PKG_CONFIG --libs blkid --libs uuid`;
3501 ++ STATIC_LIBBLKID=`$PKG_CONFIG --static --libs blkid --libs uuid`],
3502 + [AC_MSG_ERROR([external blkid library not found])],
3503 + [$LIBBLKID])
3504 + BLKID_CMT=#
3505 +--- configure.old 2011-01-01 14:20:07.000000000 +0000
3506 ++++ configure 2011-01-01 14:22:01.000000000 +0000
3507 +@@ -5228,7 +5228,7 @@
3508 + $as_echo_n "(cached) " >&6
3509 + else
3510 + ac_check_lib_save_LIBS=$LIBS
3511 +-LIBS="-lblkid $LIBBLKID $LIBS"
3512 ++LIBS="-lblkid -luuid $LIBBLKID $LIBS"
3513 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3514 + /* end confdefs.h. */
3515 +
3516 +@@ -5259,8 +5259,8 @@
3517 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_blkid_blkid_get_cache" >&5
3518 + $as_echo "$ac_cv_lib_blkid_blkid_get_cache" >&6; }
3519 + if test "x$ac_cv_lib_blkid_blkid_get_cache" = x""yes; then :
3520 +- LIBBLKID=`$PKG_CONFIG --libs blkid`;
3521 +- STATIC_LIBBLKID=`$PKG_CONFIG --static --libs blkid`
3522 ++ LIBBLKID=`$PKG_CONFIG --libs blkid --libs uuid`;
3523 ++ STATIC_LIBBLKID=`$PKG_CONFIG --static --libs blkid --libs uuid`
3524 + else
3525 + as_fn_error "external blkid library not found" "$LINENO" 5
3526 + fi
3527
3528 diff --git a/sys-fs/e2fsprogs/files/e2fsprogs-1.41.8-makefile.patch b/sys-fs/e2fsprogs/files/e2fsprogs-1.41.8-makefile.patch
3529 new file mode 100644
3530 index 0000000..b7d3d96
3531 --- /dev/null
3532 +++ b/sys-fs/e2fsprogs/files/e2fsprogs-1.41.8-makefile.patch
3533 @@ -0,0 +1,10 @@
3534 +--- e2fsprogs-1.41.5/Makefile.in
3535 ++++ e2fsprogs-1.41.5/Makefile.in
3536 +@@ -281,6 +66,7 @@
3537 + uninstall: uninstall-progs-recursive uninstall-shlibs-libs-recursive uninstall-doc-libs
3538 +
3539 + install-libs: install-libs-recursive
3540 ++install-libs-recursive: | install-shlibs-libs-recursive
3541 +
3542 + uninstall-libs: uninstall-libs-recursive
3543 +
3544
3545 diff --git a/sys-fs/e2fsprogs/files/e2fsprogs-1.42.7-libext2fs-fix-return-value.patch b/sys-fs/e2fsprogs/files/e2fsprogs-1.42.7-libext2fs-fix-return-value.patch
3546 new file mode 100644
3547 index 0000000..2d48fdf
3548 --- /dev/null
3549 +++ b/sys-fs/e2fsprogs/files/e2fsprogs-1.42.7-libext2fs-fix-return-value.patch
3550 @@ -0,0 +1,32 @@
3551 +From 266eb87990025e82a8884e30993ce93c00d19db3 Mon Sep 17 00:00:00 2001
3552 +From: Mike Frysinger <vapier@g.o>
3553 +Date: Sat, 4 May 2013 01:00:58 -0400
3554 +Subject: [PATCH] libext2fs: fix return value
3555 +
3556 +The ext2fs_test_block_bitmap_range2 func is not a void, so make sure we
3557 +return a value. I picked EINVAL as it looks like what other things in
3558 +this func use.
3559 +
3560 +URL: http://bugs.gentoo.org/467986
3561 +Reported-by: Vicente Olivert Riera <vincent@g.o>
3562 +Signed-off-by: Mike Frysinger <vapier@g.o>
3563 +---
3564 + lib/ext2fs/gen_bitmap64.c | 2 +-
3565 + 1 file changed, 1 insertion(+), 1 deletion(-)
3566 +
3567 +diff --git a/lib/ext2fs/gen_bitmap64.c b/lib/ext2fs/gen_bitmap64.c
3568 +index 42a97d4..44ac499 100644
3569 +--- a/lib/ext2fs/gen_bitmap64.c
3570 ++++ b/lib/ext2fs/gen_bitmap64.c
3571 +@@ -658,7 +658,7 @@ int ext2fs_test_block_bitmap_range2(ext2fs_block_bitmap bmap,
3572 + if ((block < bmap->start) || (block+num-1 > bmap->end)) {
3573 + ext2fs_warn_bitmap(EXT2_ET_BAD_BLOCK_TEST, block,
3574 + bmap->description);
3575 +- return;
3576 ++ return EINVAL;
3577 + }
3578 +
3579 + return bmap->bitmap_ops->test_clear_bmap_extent(bmap, block, num);
3580 +--
3581 +1.8.2.1
3582 +
3583
3584 diff --git a/sys-fs/e2fsprogs/files/e2fsprogs-1.42.7-use-uint64_t.patch b/sys-fs/e2fsprogs/files/e2fsprogs-1.42.7-use-uint64_t.patch
3585 new file mode 100644
3586 index 0000000..5171936
3587 --- /dev/null
3588 +++ b/sys-fs/e2fsprogs/files/e2fsprogs-1.42.7-use-uint64_t.patch
3589 @@ -0,0 +1,17 @@
3590 +diff -Naur e2fsprogs-1.42.7.orig/lib/ext2fs/unix_io.c e2fsprogs-1.42.7/lib/ext2fs/unix_io.c
3591 +--- e2fsprogs-1.42.7.orig/lib/ext2fs/unix_io.c 2013-01-02 00:47:20.000000000 +0000
3592 ++++ e2fsprogs-1.42.7/lib/ext2fs/unix_io.c 2014-01-23 19:33:52.851912147 +0000
3593 +@@ -931,10 +931,10 @@
3594 +
3595 + if (channel->flags & CHANNEL_FLAGS_BLOCK_DEVICE) {
3596 + #ifdef BLKDISCARD
3597 +- __uint64_t range[2];
3598 ++ uint64_t range[2];
3599 +
3600 +- range[0] = (__uint64_t)(block) * channel->block_size;
3601 +- range[1] = (__uint64_t)(count) * channel->block_size;
3602 ++ range[0] = (uint64_t)(block) * channel->block_size;
3603 ++ range[1] = (uint64_t)(count) * channel->block_size;
3604 +
3605 + ret = ioctl(data->dev, BLKDISCARD, &range);
3606 + #else
3607
3608 diff --git a/sys-fs/e2fsprogs/files/fsck_ext2fs.8 b/sys-fs/e2fsprogs/files/fsck_ext2fs.8
3609 new file mode 100644
3610 index 0000000..ee40b26
3611 --- /dev/null
3612 +++ b/sys-fs/e2fsprogs/files/fsck_ext2fs.8
3613 @@ -0,0 +1,96 @@
3614 +.TH fsck_ext2fs 8 2006-07-02 "Matthias Andree" "FreeBSD Ports"
3615 +.\"
3616 +.\" fsck_ext2fs.8 - manual page for fsck_ext2fs wrapper
3617 +.\"
3618 +.\" (C) Copyright 2006 by Matthias Andree <matthias.andree@×××.de>
3619 +.\"
3620 +.\" License: This file may be redistributed in accordance with the terms
3621 +.\" of the GNU General Public License v2.
3622 +.\"
3623 +.\" Upstream $Id: fsck_ext2fs.8,v 1.1 2007/09/15 08:54:26 uberlord Exp $
3624 +.\" $FreeBSD: ports/sysutils/e2fsprogs/files/fsck_ext2fs.8,v 1.1 2006/07/04 15:47:51 leeym Exp $
3625 +.\"
3626 +.SH NAME
3627 +.B fsck_ext2fs
3628 +\- compatibility wrapper for e2fsck
3629 +.SH SYNOPSIS
3630 +.P
3631 +.B fsck_ext2fs
3632 +[\fB\-Fpfnyv\fR] [\fB\-b\fR \fIblock\fR]
3633 +.SH DESCRIPTION
3634 +.P
3635 +\fBfsck_ext2fs\fR maps the traditional FreeBSD \fBfsck_ffs\fR options to
3636 +options with the same functionality for \fBe2fsck,\fR runs \fBe2fsck\fR
3637 +and then maps its exit status to values that FreeBSD understands.
3638 +\fBe2fsck\fR is a utility to check and repair ext2 and ext3 file
3639 +systems.
3640 +
3641 +.SH OPTIONS
3642 +.IP \fB\-F\fR
3643 +(check foreground mode required) Immediately exits with status 1 to tell
3644 +\fBfsck\fR that ext2fs cannot be checked in the background. \fBfsck\fR
3645 +usually runs \fBfsck_*\fR programs twice, first with \fB\-F\fR to find
3646 +out if they can do background checking, then either immediately without
3647 +\fB\-F\fR for foreground checking or deferred in the background with
3648 +\fB\-B\fR.
3649 +.IP \fB\-p\fR
3650 +(preen mode) This option suppresses adding the \fB\-f\fR option (unless
3651 +\fB\-f\fR is also given) and adds the \fB\-p\fR option to the
3652 +\fBe2fsck\fR command line. This causes \fBe2fsck\fR to automatically fix
3653 +any filesystem problems that can safely be fixed without operator
3654 +intervention. Without this option given, \fBe2fsck\fR will be run with
3655 +the \fB\-f\fR option to force a check, since interactive scan and repair
3656 +mode is the default on FreeBSD, but not on Linux where \fBe2fsck\fR
3657 +comes from.
3658 +.IP \fB\-f\fR
3659 +(force check) This option forces the check of a clean file system while
3660 +preening and is passed to \fBe2fsck\fR verbatim.
3661 +.IP \fB\-n\fR
3662 +("no" mode) This option causes the file system to be opened in read-only
3663 +mode and assume "no" as answer to all questions. This is the only way to
3664 +safely run \fBfsck\fR on a mounted ext2 or ext3 file system. This option
3665 +is passed to \fBe2fsck\fR verbatim.
3666 +.IP \fB\-y\fR
3667 +("yes" mode) This option is passed verbatim to \fBe2fsck\fR and causes
3668 +it to assume "yes" as answer to all questions. This allows the
3669 +non-interactive use of e2fsck but is rather aggressive. Use with care.
3670 +.IP \fB\-v\fR
3671 +(verbose output) This option is passed verbatim to \fBe2fsck\fR and
3672 +causes it to verbosely report its progress.
3673 +.IP "\fB\-b\fR \fIblock\fR"
3674 +(use alternate super block) This option is passed verbatim to
3675 +\fBe2fsck\fR and selects an alternate super block, for use when the
3676 +primary super block has been damaged. Please see the \fBe2fsck\fR(8)
3677 +manual page for details.
3678 +
3679 +.SH EXIT STATUS
3680 +If errors remain after \fBe2fsck\fR, an invalid option or too many
3681 +options have been specified, \fBe2fsck\fR was killed with a signal or
3682 +the \fIfork\fB system call failed, \fBfsck_ext2fs\fR exits with status
3683 +EXIT_FAILURE (usually 1). If \fBe2fsck\fR cannot be started, exits with
3684 +status 127. If the file system is clean after \fBe2fsck\fR operation,
3685 +exits with status EXIT_SUCCESS (0).
3686 +
3687 +.SH NOTES
3688 +.P
3689 +This utility is merely meant as an adaptor so that \fBe2fsck\fR can be
3690 +run during the boot process, it does not support all options that
3691 +\fBe2fsck\fR offers. If you need one of its advanced options, please run
3692 +\fBe2fsck\fR directly.
3693 +
3694 +.SH FILES
3695 +.TP
3696 +.I /sbin/e2fsck
3697 +is the location of the \fBe2fsck\fR program to run.
3698 +
3699 +.SH AUTHOR
3700 +.P
3701 +Matthias Andree <matthias.andree@×××.de> wrote the program and this
3702 +manual page.
3703 +.SH CONFORMING TO
3704 +The FreeBSD 6.1 command line interface for \fBfsck_ufs\fR(8).
3705 +.SH SEE ALSO
3706 +.BR fsck (8),
3707 +.BR e2fsck (8)
3708 +and
3709 +.BR fsck_ufs (8).
3710
3711 diff --git a/sys-fs/e2fsprogs/files/fsck_ext2fs.c b/sys-fs/e2fsprogs/files/fsck_ext2fs.c
3712 new file mode 100644
3713 index 0000000..0b6a74e
3714 --- /dev/null
3715 +++ b/sys-fs/e2fsprogs/files/fsck_ext2fs.c
3716 @@ -0,0 +1,147 @@
3717 +/*
3718 + * fsck_ext2fs - wrapper for e2fsck on FreeBSD
3719 + * Copyright (C) 2004,2006 Matthias Andree <matthias.andree@×××.de>
3720 + * redistributable in accordance with the
3721 + * GNU General Public License v2
3722 + *
3723 + * $FreeBSD: ports/sysutils/e2fsprogs/files/fsck_ext2fs.c,v 1.5 2006/07/04 15:47:51 leeym Exp $
3724 + *
3725 + * Upstream: $Id: fsck_ext2fs.c,v 1.1 2007/09/15 08:54:26 uberlord Exp $
3726 + *
3727 + * format: gindent -kr
3728 + */
3729 +
3730 +#include <sys/types.h>
3731 +#include <unistd.h>
3732 +#include <stdlib.h>
3733 +#include <stdio.h>
3734 +#include <string.h>
3735 +#include <sys/wait.h>
3736 +#include <sys/time.h>
3737 +#include <sys/resource.h>
3738 +#include <errno.h>
3739 +
3740 +__attribute__ ((noreturn))
3741 +static int die(const char *tag)
3742 +{
3743 + perror(tag);
3744 + exit(EXIT_FAILURE);
3745 +}
3746 +
3747 +int main(int argc, char **argv)
3748 +{
3749 + int ch, i = 1, force = 0, status, verbose = 0, t;
3750 + long block = 0;
3751 + enum { normal, preen, yes, no } mode = normal;
3752 + char *cmd[256];
3753 + pid_t pid;
3754 +
3755 + cmd[0] = "/sbin/e2fsck";
3756 + while ((ch = getopt(argc, argv, "BFpfnyb:v")) != -1) {
3757 + switch (ch) {
3758 + case 'p':
3759 + mode = preen;
3760 + break;
3761 + case 'f':
3762 + force = 1;
3763 + break;
3764 + case 'n':
3765 + mode = no;
3766 + break;
3767 + case 'y':
3768 + mode = yes;
3769 + break;
3770 + case 'b':
3771 + block = atol(optarg);
3772 + break;
3773 + case 'v':
3774 + verbose++;
3775 + break;
3776 + case 'F':
3777 + /* e2fsck does not support background checking,
3778 + * hence exit with nonzero status to force
3779 + * the foreground check. */
3780 + exit(1);
3781 + case 'B':
3782 + default:
3783 + fprintf(stderr, "%s: unknown option -%c\n",
3784 + argv[0], optopt);
3785 + exit(EXIT_FAILURE);
3786 + }
3787 + }
3788 +
3789 + if (force)
3790 + cmd[i++] = "-f";
3791 +
3792 + switch (mode) {
3793 + case normal:
3794 + /* FreeBSD needs -f to force a check only in context
3795 + * with -p -- so map normal to force to match
3796 + * expectations */
3797 + if (!force)
3798 + cmd[i++] = "-f";
3799 + break;
3800 + case yes:
3801 + cmd[i++] = "-y";
3802 + break;
3803 + case no:
3804 + cmd[i++] = "-n";
3805 + break;
3806 + case preen:
3807 + cmd[i++] = "-p";
3808 + break;
3809 + }
3810 +
3811 + if (block) {
3812 + static char b[30];
3813 +
3814 + sprintf(b, "-b %ld", block);
3815 + cmd[i++] = b;
3816 + }
3817 +
3818 + /* silently limit verbose to 15 so we don't overflow the cmd array */
3819 + if (verbose > 15)
3820 + verbose = 15;
3821 +
3822 + for (t = verbose; t > 1; t--)
3823 + cmd[i++] = "-v";
3824 +
3825 + while (optind < argc) {
3826 + cmd[i++] = argv[optind++];
3827 + /* sanity check so we don't overflow the cmd buffer */
3828 + if (i+1 == sizeof(cmd)/sizeof(cmd[0])) {
3829 + errno = E2BIG;
3830 + die(argv[0]);
3831 + }
3832 + }
3833 +
3834 + cmd[i++] = 0;
3835 +
3836 + if (verbose) {
3837 + for (i=0; cmd[i]; i++)
3838 + fputs(cmd[i], stderr),
3839 + fputc(' ', stderr);
3840 + fputc('\n', stderr);
3841 + }
3842 +
3843 + pid = fork();
3844 + switch (pid) {
3845 + case -1:
3846 + /* error */
3847 + die("fork");
3848 + break;
3849 + case 0:
3850 + /* child */
3851 + (void) execv(cmd[0], cmd);
3852 + perror("execve");
3853 + _exit(127);
3854 + default:
3855 + /* parent */
3856 + if (pid != waitpid(pid, &status, 0))
3857 + die("waitpid");
3858 + if (WIFSIGNALED(status)
3859 + || (WIFEXITED(status) && WEXITSTATUS(status) >= 4))
3860 + exit(EXIT_FAILURE);
3861 + }
3862 + exit(EXIT_SUCCESS);
3863 +}
3864
3865 diff --git a/sys-fs/e2fsprogs/metadata.xml b/sys-fs/e2fsprogs/metadata.xml
3866 new file mode 100644
3867 index 0000000..0abb95a
3868 --- /dev/null
3869 +++ b/sys-fs/e2fsprogs/metadata.xml
3870 @@ -0,0 +1,8 @@
3871 +<?xml version="1.0" encoding="UTF-8"?>
3872 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
3873 +<pkgmetadata>
3874 +<herd>base-system</herd>
3875 +<upstream>
3876 + <remote-id type="cpe">cpe:/a:ext2_filesystems_utilities:e2fsprogs</remote-id>
3877 +</upstream>
3878 +</pkgmetadata>