summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeemant Kulleen <seemant@gentoo.org>2003-09-15 17:46:25 +0000
committerSeemant Kulleen <seemant@gentoo.org>2003-09-15 17:46:25 +0000
commit5b82833bbb4c933e8b39951e395df37cfe5bc815 (patch)
tree849d0c4fa377fab50cab6502270d396631d6b361 /sys-fs/e2fsprogs
parentadded SLOT info (diff)
downloadhistorical-5b82833bbb4c933e8b39951e395df37cfe5bc815.tar.gz
historical-5b82833bbb4c933e8b39951e395df37cfe5bc815.tar.bz2
historical-5b82833bbb4c933e8b39951e395df37cfe5bc815.zip
added filesystem related apps to sys-fs from sys-apps
Diffstat (limited to 'sys-fs/e2fsprogs')
-rw-r--r--sys-fs/e2fsprogs/ChangeLog127
-rw-r--r--sys-fs/e2fsprogs/Manifest9
-rw-r--r--sys-fs/e2fsprogs/e2fsprogs-1.32-r2.ebuild105
-rw-r--r--sys-fs/e2fsprogs/e2fsprogs-1.33.ebuild106
-rw-r--r--sys-fs/e2fsprogs/e2fsprogs-1.34.ebuild106
-rw-r--r--sys-fs/e2fsprogs/files/digest-e2fsprogs-1.32-r21
-rw-r--r--sys-fs/e2fsprogs/files/digest-e2fsprogs-1.331
-rw-r--r--sys-fs/e2fsprogs/files/digest-e2fsprogs-1.341
-rw-r--r--sys-fs/e2fsprogs/files/e2fsprogs-1.27ea-0.8.21.diff427
-rw-r--r--sys-fs/e2fsprogs/files/e2fsprogs-1.32-mk_cmds-cosmetic.patch11
10 files changed, 894 insertions, 0 deletions
diff --git a/sys-fs/e2fsprogs/ChangeLog b/sys-fs/e2fsprogs/ChangeLog
new file mode 100644
index 000000000000..96ba70117f59
--- /dev/null
+++ b/sys-fs/e2fsprogs/ChangeLog
@@ -0,0 +1,127 @@
+# ChangeLog for sys-fs/e2fsprogs
+# Copyright 2002-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/e2fsprogs/ChangeLog,v 1.1 2003/09/15 17:46:24 seemant Exp $
+
+*e2fsprogs-1.33 (15 Sep 2003)
+
+ 15 Sep 2003; Seemant Kulleen <seemant@gentoo.org> e2fsprogs-1.32-r2.ebuild,
+ e2fsprogs-1.33.ebuild, e2fsprogs-1.34.ebuild,
+ files/e2fsprogs-1.27ea-0.8.21.diff,
+ files/e2fsprogs-1.32-mk_cmds-cosmetic.patch:
+ moved to sys-fs
+
+*e2fsprogs-1.34 (30 Jul 2003)
+
+ 30 Jul 2003; Brandon Low <lostlogic@gentoo.org> e2fsprogs-1.34.ebuild:
+ Bump
+
+ 31 May 2003; Daniel Robbins <drobbins@gentoo.org>: moving to x86 (stable.)
+
+*e2fsprogs-1.33 (21 Apr 2003)
+
+ 21 Apr 2003; Daniel Robbins <drobbins@gentoo.org>: New upstream release.
+ Creation of locale stuff fails so commented out its creation in the ebuild.
+ Marked ~x86 only.
+
+*e2fsprogs-1.32-r2 (31 Dec 2002)
+
+ 15 Mar 2003; Jan Seidel <tuxus@gentoo.org> :
+ Added mips to KEYWORDS
+
+ 23 Feb 2003; Aron Griffis <agriffis@gentoo.org> e2fsprogs-1.32-r2.ebuild :
+ Fix minor error in the ebuild where "die" could be called from within
+ a subshell.
+
+ 20 Feb 2003; Zach Welch <zwelch@gentoo.org> e2fsprogs-1.32-r2.ebuild :
+ Added arm to keywords.
+
+ 09 Feb 2003; Guy Martin <gmsoft@gentoo.org> e2fsprogs-1.32-r2.ebuild :
+ Added hppa to keywords.
+
+ 31 Dec 2002; Brandon Low <lostlogic@gentoo.org> e2fsprogs-1.32-r2.ebuild :
+
+ Symlink the mkfs.ext3 to mke2fs as it should be. Marked stable.
+
+*e2fsprogs-1.32-r1 (26 Dec 2002)
+
+ 26 Dec 2002; Martin Schlemmer <azarah@gentoo.org> e2fsprogs-1.32-r1.ebuild :
+
+ Fix trying to move lsattr, chattr and uuidgen to non existing directory
+ in src_install(). Move compile_et and mk_cmds to /usr/bin. Fix a cosmetic
+ error in mk_cmds help output.
+
+ 10 Dec 2002; Martin Schlemmer <azarah@gentoo.org> e2fsprogs-1.32.ebuild :
+
+ Mark stable.
+
+ 06 Dec 2002; Rodney Rees <manson@gentoo.org> :
+
+ Changed sparc ~sparc keywords
+
+*e2fsprogs-1.32 (11 Nov 2002)
+
+ 25 Feb 2003; Brandon Low <lostlogic@gentoo.org> 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 :
+ Fix nesteddies
+
+ 18 Jan 2003; Jan Seidel <tuxus@gentoo.org> :
+ Added mips to keywords
+
+ 11 Nov 2002; Brandon Low <lostlogic@gentoo.org> e2fsprogs-1.32.ebuild :
+
+ New version from upstream.
+
+*e2fsprogs-1.30 (01 Nov 2002)
+
+ 01 Nov 2002; Brandon Low <lostlogic@gentoo.org> :
+
+ New version, also updated the ebuild to use econf and einstall.
+
+*e2fsprogs-1.29-r1 (26 Oct 2002)
+
+ 26 Oct 2002; Martin Schlemmer <azarah@gentoo.org> :
+ Install linker scripts to fix bug #4411.
+
+*e2fsprogs-1.29 (25 Sep 2002)
+
+ 25 Sep 2002; Martin Schlemmer <azarah@gentoo.org> :
+ Version update. Major bugfix release (curruption among things).
+
+*e2fsprogs-1.25-r1.ebuild (14 July 2002)
+
+ 14 Jul 2002; phoen][x <phoenix@gentoo.org> e2fsprogs-1.25-r1.ebuild :
+ Added KEYWORDS, SLOT.
+
+*e2fsprogs-1.27-r1 (21 Jun 2002)
+
+ 14 Jul 2002; phoen][x <phoenix@gentoo.org> e2fsprogs-1.27.ebuild :
+ Added KEYWORDS, SLOT.
+
+ 14 Jul 2002; phoen][x <phoenix@gentoo.org> e2fsprogs-1.27-r1.ebuild :
+ Added KEYWORDS, SLOT.
+
+ 21 Jun 2002; Joachim Blaabejrg <styx@gentoo.org> e2fsprogs-1.27-r1.ebuild :
+ Added ACL support.
+
+ 03 Aug 2002; Nick Hadaway <raker@gentoo.org> e2fsprogs-1.27-r1.ebuild :
+ Updated ebuild to install /bin/compile_et's template files. Fixes a
+ cyrus-imapd compile problem.
+
+*e2fsprogs-1.27 (21 March 2002)
+
+ 03 Aug 2002; Nick Hadaway <raker@gentoo.org> e2fsprogs-1.27.ebuild :
+ Updated ebuild to install /bin/compile_et's template files. Fixes a
+ cyrus-imapd compile problem.
+
+
+*e2fsprogs-1.25-r3 (1 Feb 2002)
+
+ 14 Jul 2002; phoen][x <phoenix@gentoo.org> e2fsprogs-1.25-r3.ebuild :
+ Added KEYWORDS, SLOT.
+
+ 1 Feb 2002; G.Bevin <gbevin@gentoo.org> ChangeLog :
+
+ Added initial ChangeLog which should be updated whenever the package is
+ updated in any way. This changelog is targetted to users. This means that the
+ comments should well explained and written in clean English. The details about
+ writing correct changelogs are explained in the skel.ChangeLog file which you
+ can find in the root directory of the portage repository.
diff --git a/sys-fs/e2fsprogs/Manifest b/sys-fs/e2fsprogs/Manifest
new file mode 100644
index 000000000000..03fd51ccbe58
--- /dev/null
+++ b/sys-fs/e2fsprogs/Manifest
@@ -0,0 +1,9 @@
+MD5 65ef842f6f7bc192c716c1425f1abd9f ChangeLog 3977
+MD5 7521fc473785fcc59beec08805df3955 e2fsprogs-1.32-r2.ebuild 2314
+MD5 0e50d40c6d0d6b1efac078c329c5f8e0 e2fsprogs-1.33.ebuild 2387
+MD5 70f40e8cae7206fe0ddd53f4ed27f3b9 e2fsprogs-1.34.ebuild 2390
+MD5 db361eb5cdf39ddae07e9f794d308b42 files/digest-e2fsprogs-1.32-r2 67
+MD5 3307c0c209b26bf447ff2840b7118862 files/digest-e2fsprogs-1.33 67
+MD5 0b77829b4c6500ac9722143384ddda95 files/e2fsprogs-1.27ea-0.8.21.diff 15214
+MD5 1a896f2697b055d4b8b4139c3482ac9e files/e2fsprogs-1.32-mk_cmds-cosmetic.patch 316
+MD5 9c39bba6702e492a7a01624ae60587bc files/digest-e2fsprogs-1.34 67
diff --git a/sys-fs/e2fsprogs/e2fsprogs-1.32-r2.ebuild b/sys-fs/e2fsprogs/e2fsprogs-1.32-r2.ebuild
new file mode 100644
index 000000000000..138646359923
--- /dev/null
+++ b/sys-fs/e2fsprogs/e2fsprogs-1.32-r2.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2003 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/e2fsprogs/e2fsprogs-1.32-r2.ebuild,v 1.1 2003/09/15 17:46:24 seemant Exp $
+
+inherit eutils
+
+DESCRIPTION="Standard EXT2 and EXT3 filesystem utilities"
+HOMEPAGE="http://e2fsprogs.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+KEYWORDS="x86 amd64 ppc sparc alpha hppa arm mips"
+SLOT="0"
+LICENSE="GPL-2"
+IUSE="nls"
+
+#debianutils is for 'readlink'
+DEPEND="${DEPEND}
+ virtual/glibc
+ nls? ( sys-devel/gettext )
+ sys-apps/debianutils
+ sys-apps/texinfo"
+RDEPEND="virtual/glibc"
+
+src_unpack() {
+ unpack ${A}
+ # Fix a cosmetic error in mk_cmds's help output.
+ cd ${S}; epatch ${FILESDIR}/${P}-mk_cmds-cosmetic.patch
+}
+
+src_compile() {
+ econf \
+ --enable-dynamic-e2fsck \
+ --enable-elf-shlibs \
+ `use_enable nls` \
+ || die
+
+ # Parallel make sometimes fails
+ MAKEOPTS="-j1" emake || die
+}
+
+src_install() {
+ einstall libdir=zapme || die
+ #evil e2fsprogs makefile -- I'll get you!
+ rm -rf ${D}/zapme
+
+ make DESTDIR=${D} install-libs || die
+
+ if use nls; then
+ make -C po DESTDIR=${D} install || die
+ fi
+
+ dodoc COPYING ChangeLog README RELEASE-NOTES SHLIBS
+ docinto e2fsck
+ dodoc e2fsck/ChangeLog e2fsck/CHANGES
+
+ dodir /lib /bin /sbin
+ cd ${D}/usr/lib
+ mv * ../../lib
+ cd ${D}/lib
+ mv *.a ../usr/lib
+ local mylib=""
+ local x=""
+ #install ldscripts to fix bug #4411
+ cd ${D}/usr/lib
+ for x in *.a
+ do
+ [ ! -f ${x} ] && continue
+ gen_usr_ldscript ${x/a}so
+ done
+ #normalize evil symlinks
+ cd ${D}/lib
+ for x in *
+ do
+ [ ! -L ${x} ] && continue
+ mylib="`readlink ${x}`"
+ mylib="`basename ${mylib}`"
+ ln -sf ${mylib} ${x}
+ done
+
+ mv ${D}/usr/sbin/* ${D}/sbin
+ cd ${D}/usr/bin
+ mv lsattr chattr uuidgen ../../bin
+ cd ${D}/sbin
+ mv mklost+found ../usr/sbin
+ #time to convert hard links/duplicates to symbolic links
+ cd ${D}/sbin
+ rm fsck.*
+ ln -sf e2fsck fsck.ext2
+ ln -sf e2fsck fsck.ext3
+ rm mkfs.*
+ ln -sf mke2fs mkfs.ext2
+ ln -sf mke2fs mkfs.ext3
+
+ # 03 Aug 2002 <raker@gentoo.org>
+ # There are awk files that don't get installed when doing
+ # a 'make install'. They are the template files for
+ # /bin/compile_et.
+
+ cd ${S}/lib/et
+ insinto /usr/share/et
+ doins et_c.awk et_h.awk
+ cd ${S}/lib/ss
+ insinto /usr/share/ss
+ doins ct_c.awk
+}
diff --git a/sys-fs/e2fsprogs/e2fsprogs-1.33.ebuild b/sys-fs/e2fsprogs/e2fsprogs-1.33.ebuild
new file mode 100644
index 000000000000..a3fe13b9513d
--- /dev/null
+++ b/sys-fs/e2fsprogs/e2fsprogs-1.33.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2003 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/e2fsprogs/e2fsprogs-1.33.ebuild,v 1.1 2003/09/15 17:46:24 seemant Exp $
+
+inherit eutils
+
+DESCRIPTION="Standard EXT2 and EXT3 filesystem utilities"
+HOMEPAGE="http://e2fsprogs.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+KEYWORDS="x86 amd64 hppa ~ppc"
+SLOT="0"
+LICENSE="GPL-2"
+IUSE="nls"
+
+#debianutils is for 'readlink'
+DEPEND="${DEPEND}
+ virtual/glibc
+ nls? ( sys-devel/gettext )
+ sys-apps/debianutils
+ sys-apps/texinfo"
+RDEPEND="virtual/glibc"
+
+src_unpack() {
+ unpack ${A}
+ # Fix a cosmetic error in mk_cmds's help output.
+ cd ${S}; epatch ${FILESDIR}/e2fsprogs-1.32-mk_cmds-cosmetic.patch
+}
+
+src_compile() {
+ econf \
+ --enable-dynamic-e2fsck \
+ --enable-elf-shlibs \
+ `use_enable nls` \
+ || die
+
+ # Parallel make sometimes fails
+ MAKEOPTS="-j1" emake || die
+}
+
+src_install() {
+ einstall libdir=zapme || die
+ #evil e2fsprogs makefile -- I'll get you!
+ rm -rf ${D}/zapme
+
+ make DESTDIR=${D} install-libs || die
+
+ #There is .po file b0rkage with 1.33; commenting this out (drobbins, 21 Apr 2003)
+ #if use nls; then
+ # make -C po DESTDIR=${D} install || die
+ #fi
+
+ dodoc COPYING ChangeLog README RELEASE-NOTES SHLIBS
+ docinto e2fsck
+ dodoc e2fsck/ChangeLog e2fsck/CHANGES
+
+ dodir /lib /bin /sbin
+ cd ${D}/usr/lib
+ mv * ../../lib
+ cd ${D}/lib
+ mv *.a ../usr/lib
+ local mylib=""
+ local x=""
+ #install ldscripts to fix bug #4411
+ cd ${D}/usr/lib
+ for x in *.a
+ do
+ [ ! -f ${x} ] && continue
+ gen_usr_ldscript ${x/a}so
+ done
+ #normalize evil symlinks
+ cd ${D}/lib
+ for x in *
+ do
+ [ ! -L ${x} ] && continue
+ mylib="`readlink ${x}`"
+ mylib="`basename ${mylib}`"
+ ln -sf ${mylib} ${x}
+ done
+
+ mv ${D}/usr/sbin/* ${D}/sbin
+ cd ${D}/usr/bin
+ mv lsattr chattr uuidgen ../../bin
+ cd ${D}/sbin
+ mv mklost+found ../usr/sbin
+ #time to convert hard links/duplicates to symbolic links
+ cd ${D}/sbin
+ rm fsck.*
+ ln -sf e2fsck fsck.ext2
+ ln -sf e2fsck fsck.ext3
+ rm mkfs.*
+ ln -sf mke2fs mkfs.ext2
+ ln -sf mke2fs mkfs.ext3
+
+ # 03 Aug 2002 <raker@gentoo.org>
+ # There are awk files that don't get installed when doing
+ # a 'make install'. They are the template files for
+ # /bin/compile_et.
+
+ cd ${S}/lib/et
+ insinto /usr/share/et
+ doins et_c.awk et_h.awk
+ cd ${S}/lib/ss
+ insinto /usr/share/ss
+ doins ct_c.awk
+}
diff --git a/sys-fs/e2fsprogs/e2fsprogs-1.34.ebuild b/sys-fs/e2fsprogs/e2fsprogs-1.34.ebuild
new file mode 100644
index 000000000000..eaf12346068c
--- /dev/null
+++ b/sys-fs/e2fsprogs/e2fsprogs-1.34.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2003 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/e2fsprogs/e2fsprogs-1.34.ebuild,v 1.1 2003/09/15 17:46:24 seemant Exp $
+
+inherit eutils
+
+DESCRIPTION="Standard EXT2 and EXT3 filesystem utilities"
+HOMEPAGE="http://e2fsprogs.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+KEYWORDS="~x86 ~amd64 ~hppa ~ppc"
+SLOT="0"
+LICENSE="GPL-2"
+IUSE="nls"
+
+#debianutils is for 'readlink'
+DEPEND="${DEPEND}
+ virtual/glibc
+ nls? ( sys-devel/gettext )
+ sys-apps/debianutils
+ sys-apps/texinfo"
+RDEPEND="virtual/glibc"
+
+src_unpack() {
+ unpack ${A}
+ # Fix a cosmetic error in mk_cmds's help output.
+ cd ${S}; epatch ${FILESDIR}/e2fsprogs-1.32-mk_cmds-cosmetic.patch
+}
+
+src_compile() {
+ econf \
+ --enable-dynamic-e2fsck \
+ --enable-elf-shlibs \
+ `use_enable nls` \
+ || die
+
+ # Parallel make sometimes fails
+ MAKEOPTS="-j1" emake || die
+}
+
+src_install() {
+ einstall libdir=zapme || die
+ #evil e2fsprogs makefile -- I'll get you!
+ rm -rf ${D}/zapme
+
+ make DESTDIR=${D} install-libs || die
+
+ #There is .po file b0rkage with 1.33; commenting this out (drobbins, 21 Apr 2003)
+ #if use nls; then
+ # make -C po DESTDIR=${D} install || die
+ #fi
+
+ dodoc COPYING ChangeLog README RELEASE-NOTES SHLIBS
+ docinto e2fsck
+ dodoc e2fsck/ChangeLog e2fsck/CHANGES
+
+ dodir /lib /bin /sbin
+ cd ${D}/usr/lib
+ mv * ../../lib
+ cd ${D}/lib
+ mv *.a ../usr/lib
+ local mylib=""
+ local x=""
+ #install ldscripts to fix bug #4411
+ cd ${D}/usr/lib
+ for x in *.a
+ do
+ [ ! -f ${x} ] && continue
+ gen_usr_ldscript ${x/a}so
+ done
+ #normalize evil symlinks
+ cd ${D}/lib
+ for x in *
+ do
+ [ ! -L ${x} ] && continue
+ mylib="`readlink ${x}`"
+ mylib="`basename ${mylib}`"
+ ln -sf ${mylib} ${x}
+ done
+
+ mv ${D}/usr/sbin/* ${D}/sbin
+ cd ${D}/usr/bin
+ mv lsattr chattr uuidgen ../../bin
+ cd ${D}/sbin
+ mv mklost+found ../usr/sbin
+ #time to convert hard links/duplicates to symbolic links
+ cd ${D}/sbin
+ rm fsck.*
+ ln -sf e2fsck fsck.ext2
+ ln -sf e2fsck fsck.ext3
+ rm mkfs.*
+ ln -sf mke2fs mkfs.ext2
+ ln -sf mke2fs mkfs.ext3
+
+ # 03 Aug 2002 <raker@gentoo.org>
+ # There are awk files that don't get installed when doing
+ # a 'make install'. They are the template files for
+ # /bin/compile_et.
+
+ cd ${S}/lib/et
+ insinto /usr/share/et
+ doins et_c.awk et_h.awk
+ cd ${S}/lib/ss
+ insinto /usr/share/ss
+ doins ct_c.awk
+}
diff --git a/sys-fs/e2fsprogs/files/digest-e2fsprogs-1.32-r2 b/sys-fs/e2fsprogs/files/digest-e2fsprogs-1.32-r2
new file mode 100644
index 000000000000..36577bde405a
--- /dev/null
+++ b/sys-fs/e2fsprogs/files/digest-e2fsprogs-1.32-r2
@@ -0,0 +1 @@
+MD5 a7ced9d6edaba3a000ccc5200e09b90d e2fsprogs-1.32.tar.gz 2894603
diff --git a/sys-fs/e2fsprogs/files/digest-e2fsprogs-1.33 b/sys-fs/e2fsprogs/files/digest-e2fsprogs-1.33
new file mode 100644
index 000000000000..57abbd3ba2f6
--- /dev/null
+++ b/sys-fs/e2fsprogs/files/digest-e2fsprogs-1.33
@@ -0,0 +1 @@
+MD5 8d922086299ae9794b008256bde6188f e2fsprogs-1.33.tar.gz 2959524
diff --git a/sys-fs/e2fsprogs/files/digest-e2fsprogs-1.34 b/sys-fs/e2fsprogs/files/digest-e2fsprogs-1.34
new file mode 100644
index 000000000000..a0afabeaa2cf
--- /dev/null
+++ b/sys-fs/e2fsprogs/files/digest-e2fsprogs-1.34
@@ -0,0 +1 @@
+MD5 9be9375224f0970a55e39ebebf2a0ce5 e2fsprogs-1.34.tar.gz 3074827
diff --git a/sys-fs/e2fsprogs/files/e2fsprogs-1.27ea-0.8.21.diff b/sys-fs/e2fsprogs/files/e2fsprogs-1.27ea-0.8.21.diff
new file mode 100644
index 000000000000..c204210abb29
--- /dev/null
+++ b/sys-fs/e2fsprogs/files/e2fsprogs-1.27ea-0.8.21.diff
@@ -0,0 +1,427 @@
+Extended Attributes patch to the e2fsprogs package
+14 March 2002, 20:03:41
+
+After extracting the e2fsprogs-1.27.tar.gz package, apply this patch as follows:
+
+ cd e2fsprogs-1.27
+ patch -p1 < ../e2fsprogs-1.27-ea-0.8.21.patch
+
+diff -Nur e2fsprogs-1.27/debugfs/icheck.c e2fsprogs-1.27ea/debugfs/icheck.c
+--- e2fsprogs-1.27/debugfs/icheck.c Sun Feb 24 22:03:58 2002
++++ e2fsprogs-1.27ea/debugfs/icheck.c Thu Mar 14 07:26:40 2002
+@@ -108,7 +108,7 @@
+ while (ino) {
+ if (!inode.i_links_count)
+ goto next;
+- if (!ext2fs_inode_has_valid_blocks(&inode))
++ if (!ext2fs_inode_has_valid_blocks(current_fs, &inode))
+ goto next;
+ /*
+ * To handle filesystems touched by 0.3c extfs; can be
+diff -Nur e2fsprogs-1.27/e2fsck/e2fsck.c e2fsprogs-1.27ea/e2fsck/e2fsck.c
+--- e2fsprogs-1.27/e2fsck/e2fsck.c Sun Feb 24 22:03:58 2002
++++ e2fsprogs-1.27ea/e2fsck/e2fsck.c Thu Mar 14 07:26:44 2002
+@@ -30,6 +30,7 @@
+ memset(context, 0, sizeof(struct e2fsck_struct));
+
+ context->process_inode_size = 256;
++ context->ext_attr_ver = 2;
+
+ *ret = context;
+ return 0;
+diff -Nur e2fsprogs-1.27/e2fsck/e2fsck.h e2fsprogs-1.27ea/e2fsck/e2fsck.h
+--- e2fsprogs-1.27/e2fsck/e2fsck.h Sun Feb 24 22:03:58 2002
++++ e2fsprogs-1.27ea/e2fsck/e2fsck.h Thu Mar 14 07:26:44 2002
+@@ -254,6 +254,8 @@
+ int fs_ext_attr_inodes;
+ int fs_ext_attr_blocks;
+
++ int ext_attr_ver;
++
+ /*
+ * For the use of callers of the e2fsck functions; not used by
+ * e2fsck functions themselves.
+@@ -322,7 +324,7 @@
+
+ /* pass1.c */
+ extern void e2fsck_use_inode_shortcuts(e2fsck_t ctx, int bool);
+-extern int e2fsck_pass1_check_device_inode(struct ext2_inode *inode);
++extern int e2fsck_pass1_check_device_inode(ext2_filsys fs, struct ext2_inode *inode);
+ extern int e2fsck_pass1_check_symlink(ext2_filsys fs, struct ext2_inode *inode);
+
+ /* pass2.c */
+diff -Nur e2fsprogs-1.27/e2fsck/pass1.c e2fsprogs-1.27ea/e2fsck/pass1.c
+--- e2fsprogs-1.27/e2fsck/pass1.c Sun Feb 24 22:03:58 2002
++++ e2fsprogs-1.27ea/e2fsck/pass1.c Thu Mar 14 08:42:27 2002
+@@ -123,14 +123,14 @@
+ * since they have the same requirement; the i_block fields should be
+ * zero.
+ */
+-int e2fsck_pass1_check_device_inode(struct ext2_inode *inode)
++int e2fsck_pass1_check_device_inode(ext2_filsys fs, struct ext2_inode *inode)
+ {
+ int i;
+
+ /*
+ * If i_blocks is non-zero, then this is a bogus device/fifo/socket
+ */
+- if (inode->i_blocks)
++ if (ext2fs_inode_data_blocks(fs, inode) != 0)
+ return 0;
+ /*
+ * We should be able to do the test below all the time, but
+@@ -179,9 +179,9 @@
+ EXT2_INDEX_FL)))
+ return 0;
+
+- if (inode->i_blocks) {
++ if (inode->i_size > sizeof (inode->i_block) - 1) {
+ if ((inode->i_size > fs->blocksize) ||
+- (inode->i_blocks != fs->blocksize >> 9) ||
++ (ext2fs_inode_data_blocks(fs, inode) != fs->blocksize>>9) ||
+ (inode->i_block[0] < fs->super->s_first_data_block) ||
+ (inode->i_block[0] >= fs->super->s_blocks_count))
+ return 0;
+@@ -190,7 +190,7 @@
+ if (inode->i_block[i])
+ return 0;
+ } else {
+- if (inode->i_size > sizeof(inode->i_block) - 1)
++ if (ext2fs_inode_data_blocks(fs, inode) != 0)
+ return 0;
+
+ if (inode->i_size !=
+@@ -603,12 +603,12 @@
+ ext2fs_mark_inode_bitmap(ctx->inode_reg_map, ino);
+ ctx->fs_regular_count++;
+ } else if (LINUX_S_ISCHR (inode.i_mode) &&
+- e2fsck_pass1_check_device_inode(&inode)) {
++ e2fsck_pass1_check_device_inode(fs, &inode)) {
+ check_immutable(ctx, &pctx);
+ check_size(ctx, &pctx);
+ ctx->fs_chardev_count++;
+ } else if (LINUX_S_ISBLK (inode.i_mode) &&
+- e2fsck_pass1_check_device_inode(&inode)) {
++ e2fsck_pass1_check_device_inode(fs, &inode)) {
+ check_immutable(ctx, &pctx);
+ check_size(ctx, &pctx);
+ ctx->fs_blockdev_count++;
+@@ -617,18 +617,19 @@
+ ctx->fs_symlinks_count++;
+ if (!e2fsck_pass1_check_symlink(fs, &inode))
+ mark_inode_bad(ctx, ino);
+- if (!inode.i_blocks) {
++ if (ext2fs_inode_data_blocks(fs, &inode) == 0) {
+ ctx->fs_fast_symlinks_count++;
++ check_blocks(ctx, &pctx, block_buf);
+ goto next;
+ }
+ }
+ else if (LINUX_S_ISFIFO (inode.i_mode) &&
+- e2fsck_pass1_check_device_inode(&inode)) {
++ e2fsck_pass1_check_device_inode(fs, &inode)) {
+ check_immutable(ctx, &pctx);
+ check_size(ctx, &pctx);
+ ctx->fs_fifo_count++;
+ } else if ((LINUX_S_ISSOCK (inode.i_mode)) &&
+- e2fsck_pass1_check_device_inode(&inode)) {
++ e2fsck_pass1_check_device_inode(fs, &inode)) {
+ check_immutable(ctx, &pctx);
+ check_size(ctx, &pctx);
+ ctx->fs_sockets_count++;
+@@ -1057,7 +1058,10 @@
+ goto clear_extattr;
+ header = (struct ext2_ext_attr_header *) block_buf;
+ pctx->blk = inode->i_file_acl;
+- if (header->h_magic != EXT2_EXT_ATTR_MAGIC) {
++ if ((ctx->ext_attr_ver == 1 &&
++ header->h_magic != EXT2_EXT_ATTR_MAGIC_v1) ||
++ (ctx->ext_attr_ver == 2 &&
++ header->h_magic != EXT2_EXT_ATTR_MAGIC)) {
+ if (fix_problem(ctx, PR_1_BAD_EA_BLOCK, pctx))
+ goto clear_extattr;
+ }
+@@ -1085,7 +1089,10 @@
+ if (fix_problem(ctx, PR_1_EA_ALLOC_COLLISION, pctx))
+ goto clear_extattr;
+ }
+- if (entry->e_name_len == 0 || entry->e_name_index != 0) {
++ if ((ctx->ext_attr_ver == 1 &&
++ (entry->e_name_len == 0 || entry->e_name_index != 0)) ||
++ (ctx->ext_attr_ver == 2 &&
++ entry->e_name_index == 0)) {
+ if (fix_problem(ctx, PR_1_EA_BAD_NAME, pctx))
+ goto clear_extattr;
+ }
+@@ -1136,9 +1143,9 @@
+ int bad_size = 0;
+ __u64 size;
+
+- if (!ext2fs_inode_has_valid_blocks(pctx->inode))
++ if (!ext2fs_inode_has_valid_blocks(fs, inode) && !inode->i_file_acl)
+ return;
+-
++
+ pb.ino = ino;
+ pb.num_blocks = pb.last_block = 0;
+ pb.num_illegal_blocks = 0;
+@@ -1165,14 +1172,16 @@
+ }
+ }
+
+- pctx->errcode = ext2fs_block_iterate2(fs, ino,
+- pb.is_dir ? BLOCK_FLAG_HOLE : 0,
+- block_buf, process_block, &pb);
+- if (ctx->flags & E2F_FLAG_SIGNAL_MASK)
+- return;
+- end_problem_latch(ctx, PR_LATCH_BLOCK);
+- if (pctx->errcode)
+- fix_problem(ctx, PR_1_BLOCK_ITERATE, pctx);
++ if (ext2fs_inode_has_valid_blocks(fs, inode)) {
++ pctx->errcode = ext2fs_block_iterate2(fs, ino,
++ pb.is_dir ? BLOCK_FLAG_HOLE : 0,
++ block_buf, process_block, &pb);
++ if (ctx->flags & E2F_FLAG_SIGNAL_MASK)
++ return;
++ end_problem_latch(ctx, PR_LATCH_BLOCK);
++ if (pctx->errcode)
++ fix_problem(ctx, PR_1_BLOCK_ITERATE, pctx);
++ }
+
+ if (pb.fragmented && pb.num_blocks < fs->super->s_blocks_per_group)
+ ctx->fs_fragmented++;
+diff -Nur e2fsprogs-1.27/e2fsck/pass1b.c e2fsprogs-1.27ea/e2fsck/pass1b.c
+--- e2fsprogs-1.27/e2fsck/pass1b.c Sun Feb 24 22:03:58 2002
++++ e2fsprogs-1.27ea/e2fsck/pass1b.c Thu Mar 14 07:26:40 2002
+@@ -200,7 +200,7 @@
+ pctx.ino = ctx->stashed_ino = ino;
+ if ((ino != EXT2_BAD_INO) &&
+ (!ext2fs_test_inode_bitmap(ctx->inode_used_map, ino) ||
+- !ext2fs_inode_has_valid_blocks(&inode)))
++ !ext2fs_inode_has_valid_blocks(fs, &inode)))
+ goto next;
+
+ pb.ino = ino;
+diff -Nur e2fsprogs-1.27/e2fsck/pass2.c e2fsprogs-1.27ea/e2fsck/pass2.c
+--- e2fsprogs-1.27/e2fsck/pass2.c Sun Feb 24 22:03:59 2002
++++ e2fsprogs-1.27ea/e2fsck/pass2.c Thu Mar 14 07:26:40 2002
+@@ -672,7 +672,7 @@
+ ext2fs_unmark_inode_bitmap(fs->inode_map, ino);
+ ext2fs_mark_ib_dirty(fs);
+
+- if (!ext2fs_inode_has_valid_blocks(&inode))
++ if (!ext2fs_inode_has_valid_blocks(fs, &inode))
+ return;
+
+ if (!LINUX_S_ISDIR(inode.i_mode) &&
+@@ -718,16 +718,16 @@
+ !(LINUX_S_ISSOCK(inode.i_mode)))
+ problem = PR_2_BAD_MODE;
+ else if (LINUX_S_ISCHR(inode.i_mode)
+- && !e2fsck_pass1_check_device_inode(&inode))
++ && !e2fsck_pass1_check_device_inode(fs, &inode))
+ problem = PR_2_BAD_CHAR_DEV;
+ else if (LINUX_S_ISBLK(inode.i_mode)
+- && !e2fsck_pass1_check_device_inode(&inode))
++ && !e2fsck_pass1_check_device_inode(fs, &inode))
+ problem = PR_2_BAD_BLOCK_DEV;
+ else if (LINUX_S_ISFIFO(inode.i_mode)
+- && !e2fsck_pass1_check_device_inode(&inode))
++ && !e2fsck_pass1_check_device_inode(fs, &inode))
+ problem = PR_2_BAD_FIFO;
+ else if (LINUX_S_ISSOCK(inode.i_mode)
+- && !e2fsck_pass1_check_device_inode(&inode))
++ && !e2fsck_pass1_check_device_inode(fs, &inode))
+ problem = PR_2_BAD_SOCKET;
+ else if (LINUX_S_ISLNK(inode.i_mode)
+ && !e2fsck_pass1_check_symlink(fs, &inode)) {
+diff -Nur e2fsprogs-1.27/e2fsck/pass4.c e2fsprogs-1.27ea/e2fsck/pass4.c
+--- e2fsprogs-1.27/e2fsck/pass4.c Sun Feb 24 22:03:59 2002
++++ e2fsprogs-1.27ea/e2fsck/pass4.c Thu Mar 14 09:56:54 2002
+@@ -34,8 +34,8 @@
+ pctx.ino = i;
+ pctx.inode = &inode;
+
+- if (!inode.i_blocks && (LINUX_S_ISREG(inode.i_mode) ||
+- LINUX_S_ISDIR(inode.i_mode))) {
++ if (ext2fs_inode_data_blocks(fs, &inode) == 0 &&
++ (LINUX_S_ISREG(inode.i_mode) || LINUX_S_ISDIR(inode.i_mode))) {
+ /*
+ * This is a zero-length file; prompt to delete it...
+ */
+diff -Nur e2fsprogs-1.27/e2fsck/super.c e2fsprogs-1.27ea/e2fsck/super.c
+--- e2fsprogs-1.27/e2fsck/super.c Sun Feb 24 22:03:59 2002
++++ e2fsprogs-1.27ea/e2fsck/super.c Thu Mar 14 07:26:40 2002
+@@ -172,7 +172,7 @@
+ errcode_t retval;
+ struct process_block_struct pb;
+
+- if (!ext2fs_inode_has_valid_blocks(inode))
++ if (!ext2fs_inode_has_valid_blocks(fs, inode))
+ return 0;
+
+ pb.buf = block_buf + 3 * ctx->fs->blocksize;
+diff -Nur e2fsprogs-1.27/e2fsck/swapfs.c e2fsprogs-1.27ea/e2fsck/swapfs.c
+--- e2fsprogs-1.27/e2fsck/swapfs.c Sun Feb 24 22:03:59 2002
++++ e2fsprogs-1.27ea/e2fsck/swapfs.c Thu Mar 14 07:26:40 2002
+@@ -158,7 +158,7 @@
+ ((inode->i_block[EXT2_IND_BLOCK] ||
+ inode->i_block[EXT2_DIND_BLOCK] ||
+ inode->i_block[EXT2_TIND_BLOCK]) &&
+- ext2fs_inode_has_valid_blocks(inode)))
++ ext2fs_inode_has_valid_blocks(fs, inode)))
+ swap_inode_blocks(ctx, ino, block_buf, inode);
+
+ if (ctx->flags & E2F_FLAG_SIGNAL_MASK)
+diff -Nur e2fsprogs-1.27/e2fsck/unix.c e2fsprogs-1.27ea/e2fsck/unix.c
+--- e2fsprogs-1.27/e2fsck/unix.c Fri Mar 8 07:05:02 2002
++++ e2fsprogs-1.27ea/e2fsck/unix.c Thu Mar 14 07:26:44 2002
+@@ -79,6 +79,7 @@
+ " -j external-journal Set location of the external journal\n"
+ " -l bad_blocks_file Add to badblocks list\n"
+ " -L bad_blocks_file Set badblocks list\n"
++ " -E version Extended attribute version (1-2)\n"
+ ));
+
+ exit(FSCK_USAGE);
+@@ -467,7 +468,7 @@
+ ctx->program_name = *argv;
+ else
+ ctx->program_name = "e2fsck";
+- while ((c = getopt (argc, argv, "panyrcC:B:dfvtFVM:b:I:j:P:l:L:N:Ss")) != EOF)
++ while ((c = getopt (argc, argv, "panyrcC:B:dfvtFVM:b:I:j:P:l:L:N:SsE:")) != EOF)
+ switch (c) {
+ case 'C':
+ ctx->progress = e2fsck_update_progress;
+@@ -580,6 +581,14 @@
+ "of e2fsck\n"));
+ exit(1);
+ #endif
++ case 'E':
++ if (atoi(optarg) != 1 && atoi(optarg) != 2) {
++ usage(ctx);
++ exit(1);
++ }
++ ctx->ext_attr_ver = atoi(optarg);
++ break;
++
+ default:
+ usage(ctx);
+ }
+diff -Nur e2fsprogs-1.27/lib/ext2fs/bmove.c e2fsprogs-1.27ea/lib/ext2fs/bmove.c
+--- e2fsprogs-1.27/lib/ext2fs/bmove.c Sun Feb 24 22:03:59 2002
++++ e2fsprogs-1.27ea/lib/ext2fs/bmove.c Thu Mar 14 07:26:40 2002
+@@ -134,7 +134,7 @@
+
+ while (ino) {
+ if ((inode.i_links_count == 0) ||
+- !ext2fs_inode_has_valid_blocks(&inode))
++ !ext2fs_inode_has_valid_blocks(fs, &inode))
+ goto next;
+
+ pb.ino = ino;
+diff -Nur e2fsprogs-1.27/lib/ext2fs/ext2_ext_attr.h e2fsprogs-1.27ea/lib/ext2fs/ext2_ext_attr.h
+--- e2fsprogs-1.27/lib/ext2fs/ext2_ext_attr.h Sun Feb 24 22:03:59 2002
++++ e2fsprogs-1.27ea/lib/ext2fs/ext2_ext_attr.h Thu Mar 14 07:26:44 2002
+@@ -7,7 +7,8 @@
+ */
+
+ /* Magic value in attribute blocks */
+-#define EXT2_EXT_ATTR_MAGIC 0xEA010000
++#define EXT2_EXT_ATTR_MAGIC_v1 0xEA010000
++#define EXT2_EXT_ATTR_MAGIC 0xEA020000
+
+ /* Maximum number of references to one attribute block */
+ #define EXT2_EXT_ATTR_REFCOUNT_MAX 1024
+@@ -22,7 +23,7 @@
+
+ struct ext2_ext_attr_entry {
+ __u8 e_name_len; /* length of name */
+- __u8 e_name_index; /* index into table of names (n/i) */
++ __u8 e_name_index; /* attribute name index */
+ __u16 e_value_offs; /* offset in disk block of value */
+ __u32 e_value_block; /* disk block attribute is stored on (n/i) */
+ __u32 e_value_size; /* size of attribute value */
+diff -Nur e2fsprogs-1.27/lib/ext2fs/ext2fs.h e2fsprogs-1.27ea/lib/ext2fs/ext2fs.h
+--- e2fsprogs-1.27/lib/ext2fs/ext2fs.h Fri Mar 8 07:05:02 2002
++++ e2fsprogs-1.27ea/lib/ext2fs/ext2fs.h Thu Mar 14 07:26:40 2002
+@@ -811,7 +811,7 @@
+ struct ext2_inode *f, int hostorder);
+
+ /* valid_blk.c */
+-extern int ext2fs_inode_has_valid_blocks(struct ext2_inode *inode);
++extern int ext2fs_inode_has_valid_blocks(ext2_filsys fs, struct ext2_inode *inode);
+
+ /* version.c */
+ extern int ext2fs_parse_version_string(const char *ver_string);
+@@ -992,6 +992,13 @@
+ _INLINE_ int ext2fs_group_of_ino(ext2_filsys fs, ext2_ino_t ino)
+ {
+ return (ino - 1) / fs->super->s_inodes_per_group;
++}
++
++_INLINE_ blk_t ext2fs_inode_data_blocks(ext2_filsys fs,
++ struct ext2_inode *inode)
++{
++ return inode->i_blocks -
++ (inode->i_file_acl ? fs->blocksize >> 9 : 0);
+ }
+ #undef _INLINE_
+ #endif
+diff -Nur e2fsprogs-1.27/lib/ext2fs/valid_blk.c e2fsprogs-1.27ea/lib/ext2fs/valid_blk.c
+--- e2fsprogs-1.27/lib/ext2fs/valid_blk.c Sun Feb 24 22:04:00 2002
++++ e2fsprogs-1.27ea/lib/ext2fs/valid_blk.c Thu Mar 14 07:26:40 2002
+@@ -24,7 +24,7 @@
+ * This function returns 1 if the inode's block entries actually
+ * contain block entries.
+ */
+-int ext2fs_inode_has_valid_blocks(struct ext2_inode *inode)
++int ext2fs_inode_has_valid_blocks(ext2_filsys fs, struct ext2_inode *inode)
+ {
+ /*
+ * Only directories, regular files, and some symbolic links
+@@ -38,7 +38,8 @@
+ * If the symbolic link is a "fast symlink", then the symlink
+ * target is stored in the block entries.
+ */
+- if (LINUX_S_ISLNK (inode->i_mode) && inode->i_blocks == 0)
++ if (LINUX_S_ISLNK (inode->i_mode) &&
++ ext2fs_inode_data_blocks(fs, inode) == 0)
+ return 0;
+
+ return 1;
+diff -Nur e2fsprogs-1.27/misc/e2image.c e2fsprogs-1.27ea/misc/e2image.c
+--- e2fsprogs-1.27/misc/e2image.c Tue Mar 5 09:31:15 2002
++++ e2fsprogs-1.27ea/misc/e2image.c Thu Mar 14 07:26:40 2002
+@@ -396,7 +396,7 @@
+ if (ino == 0)
+ break;
+ if (!inode.i_links_count ||
+- !ext2fs_inode_has_valid_blocks(&inode))
++ !ext2fs_inode_has_valid_blocks(fs, &inode))
+ continue;
+
+ stashed_ino = ino;
+diff -Nur e2fsprogs-1.27/resize/resize2fs.c e2fsprogs-1.27ea/resize/resize2fs.c
+--- e2fsprogs-1.27/resize/resize2fs.c Fri Mar 8 07:05:02 2002
++++ e2fsprogs-1.27ea/resize/resize2fs.c Thu Mar 14 07:26:40 2002
+@@ -992,7 +992,7 @@
+ pb.is_dir = LINUX_S_ISDIR(inode.i_mode);
+ pb.changed = 0;
+
+- if (ext2fs_inode_has_valid_blocks(&inode) &&
++ if (ext2fs_inode_has_valid_blocks(rfs->old_fs, &inode) &&
+ (rfs->bmap || pb.is_dir)) {
+ pb.ino = ino;
+ retval = ext2fs_block_iterate2(rfs->old_fs,
+diff -Nur e2fsprogs-1.27/version.h e2fsprogs-1.27ea/version.h
+--- e2fsprogs-1.27/version.h Fri Mar 8 09:32:48 2002
++++ e2fsprogs-1.27ea/version.h Thu Mar 14 07:26:44 2002
+@@ -6,5 +6,5 @@
+ * Ts'o. This file may be redistributed under the GNU Public License.
+ */
+
+-#define E2FSPROGS_VERSION "1.27"
+-#define E2FSPROGS_DATE "8-Mar-2002"
++#define E2FSPROGS_VERSION "1.27ea"
++#define E2FSPROGS_DATE "14-Mar-2002"
diff --git a/sys-fs/e2fsprogs/files/e2fsprogs-1.32-mk_cmds-cosmetic.patch b/sys-fs/e2fsprogs/files/e2fsprogs-1.32-mk_cmds-cosmetic.patch
new file mode 100644
index 000000000000..52b6d75b6c9f
--- /dev/null
+++ b/sys-fs/e2fsprogs/files/e2fsprogs-1.32-mk_cmds-cosmetic.patch
@@ -0,0 +1,11 @@
+--- e2fsprogs-1.32/lib/ss/mk_cmds.sh.in.orig 2002-12-26 18:44:42.000000000 +0200
++++ e2fsprogs-1.32/lib/ss/mk_cmds.sh.in 2002-12-26 18:45:33.000000000 +0200
+@@ -31,7 +31,7 @@
+ TMP="ct$$.c"
+
+ if test ! -f "$FILE" ; then
+- echo "$FILE: File not found"
++ echo "mk_cmds: $FILE: File not found"
+ exit 1;
+ fi
+