summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2007-12-24 12:49:53 +0000
committerMike Frysinger <vapier@gentoo.org>2007-12-24 12:49:53 +0000
commitfa6b83722af7e16ad9b700ab25182c7e43d92173 (patch)
tree41a251831c76191b1ef5e3377a8bb910af45ff53 /sys-fs/e2fsprogs
parentVersion bump from the php-overlay (diff)
downloadgentoo-2-fa6b83722af7e16ad9b700ab25182c7e43d92173.tar.gz
gentoo-2-fa6b83722af7e16ad9b700ab25182c7e43d92173.tar.bz2
gentoo-2-fa6b83722af7e16ad9b700ab25182c7e43d92173.zip
Add patch from upstream for fuse syntax which has inline # characters #195405 by Thorsten Kampe.
(Portage version: 2.1.4_rc11)
Diffstat (limited to 'sys-fs/e2fsprogs')
-rw-r--r--sys-fs/e2fsprogs/ChangeLog9
-rw-r--r--sys-fs/e2fsprogs/e2fsprogs-1.40.3-r1.ebuild131
-rw-r--r--sys-fs/e2fsprogs/files/digest-e2fsprogs-1.40.3-r13
-rw-r--r--sys-fs/e2fsprogs/files/e2fsprogs-1.40.3-fsck-fuse.patch48
4 files changed, 190 insertions, 1 deletions
diff --git a/sys-fs/e2fsprogs/ChangeLog b/sys-fs/e2fsprogs/ChangeLog
index eaf5df516b53..8b97647bad62 100644
--- a/sys-fs/e2fsprogs/ChangeLog
+++ b/sys-fs/e2fsprogs/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for sys-fs/e2fsprogs
# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/e2fsprogs/ChangeLog,v 1.125 2007/12/12 01:30:04 ranger Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/e2fsprogs/ChangeLog,v 1.126 2007/12/24 12:49:52 vapier Exp $
+
+*e2fsprogs-1.40.3-r1 (24 Dec 2007)
+
+ 24 Dec 2007; Mike Frysinger <vapier@gentoo.org>
+ +files/e2fsprogs-1.40.3-fsck-fuse.patch, +e2fsprogs-1.40.3-r1.ebuild:
+ Add patch from upstream for fuse syntax which has inline # characters
+ #195405 by Thorsten Kampe.
12 Dec 2007; Brent Baude <ranger@gentoo.org> e2fsprogs-1.40.3.ebuild:
Marking e2fsprogs-1.40.3 ppc64 stable for 201546
diff --git a/sys-fs/e2fsprogs/e2fsprogs-1.40.3-r1.ebuild b/sys-fs/e2fsprogs/e2fsprogs-1.40.3-r1.ebuild
new file mode 100644
index 000000000000..33e7c1f33957
--- /dev/null
+++ b/sys-fs/e2fsprogs/e2fsprogs-1.40.3-r1.ebuild
@@ -0,0 +1,131 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/e2fsprogs/e2fsprogs-1.40.3-r1.ebuild,v 1.1 2007/12/24 12:49:52 vapier Exp $
+
+inherit eutils flag-o-matic toolchain-funcs
+
+DESCRIPTION="Standard EXT2 and EXT3 filesystem utilities"
+HOMEPAGE="http://e2fsprogs.sourceforge.net/"
+SRC_URI="mirror://sourceforge/e2fsprogs/${P}.tar.gz"
+
+LICENSE="GPL-2 BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="nls static elibc_FreeBSD"
+
+RDEPEND="~sys-libs/com_err-${PV}
+ ~sys-libs/ss-${PV}
+ nls? ( virtual/libintl )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ sys-apps/texinfo"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-fsck-fuse.patch #195405
+ # Fix locale issues while running tests #99766
+ epatch "${FILESDIR}"/${PN}-1.38-tests-locale.patch #99766
+ epatch "${FILESDIR}"/e2fsprogs-1.39-util-strptime.patch
+ chmod u+w po/*.po # Userpriv fix #27348
+ # Clean up makefile to suck less
+ epatch "${FILESDIR}"/e2fsprogs-1.39-makefile.patch
+ epatch "${FILESDIR}"/${PN}-1.40-libintl.patch #122368
+
+ # Fix compile on FreeBSD
+ epatch "${FILESDIR}"/${PN}-1.40-fbsd.patch
+
+ # kernel headers use the same defines as e2fsprogs and can cause issues #48829
+ sed -i \
+ -e 's:CONFIG_JBD_DEBUG:__CONFIG_JBD_DEBUG__E2FS:g' \
+ $(grep -rl CONFIG_JBD_DEBUG *) \
+ || die "sed jbd debug failed"
+
+ # fake out files we forked into sep packages
+ sed -i \
+ -e '/^LIB_SUBDIRS/s:lib/et::' \
+ -e '/^LIB_SUBDIRS/s:lib/ss::' \
+ Makefile.in || die "remove subdirs"
+
+ ln -s "${ROOT}"/usr/$(get_libdir)/libcom_err.a lib/libcom_err.a
+ ln -s "${ROOT}"/$(get_libdir)/libcom_err.so lib/libcom_err.so
+ ln -s /usr/bin/mk_cmds lib/ss/mk_cmds
+ ln -s "${ROOT}"/usr/include/ss/ss_err.h lib/ss/
+ ln -s "${ROOT}"/$(get_libdir)/libss.so lib/libss.so
+
+ # sanity check for Bug 105304
+ if [[ -z ${USERLAND} ]] ; then
+ eerror "You just hit Bug 105304, please post your 'emerge info' here:"
+ eerror "http://bugs.gentoo.org/105304"
+ die "Aborting to prevent screwing your system"
+ fi
+}
+
+src_compile() {
+ # Keep the package from doing silly things
+ export LDCONFIG=:
+ export CC=$(tc-getCC)
+ export STRIP=:
+
+ econf \
+ --bindir=/bin \
+ --sbindir=/sbin \
+ --enable-elf-shlibs \
+ --with-ldopts="${LDFLAGS}" \
+ $(use_enable !static dynamic-e2fsck) \
+ --without-included-gettext \
+ $(use_enable nls) \
+ $(use_enable userland_GNU fsck) \
+ || die
+ if [[ ${CHOST} != *-uclibc ]] && grep -qs 'USE_INCLUDED_LIBINTL.*yes' config.{log,status} ; then
+ eerror "INTL sanity check failed, aborting build."
+ eerror "Please post your ${S}/config.log file as an"
+ eerror "attachment to http://bugs.gentoo.org/show_bug.cgi?id=81096"
+ die "Preventing included intl cruft from building"
+ fi
+ # Parallel make sometimes fails
+ emake -j1 COMPILE_ET=compile_et || die
+
+ # Build the FreeBSD helper
+ if use elibc_FreeBSD ; then
+ cp "${FILESDIR}"/fsck_ext2fs.c .
+ emake fsck_ext2fs || die
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ dodoc README RELEASE-NOTES
+
+ # Move shared libraries to /lib/, install static libraries to /usr/lib/,
+ # and install linker scripts to /usr/lib/.
+ dodir /$(get_libdir)
+ mv "${D}"/usr/$(get_libdir)/*.so* "${D}"/$(get_libdir)/
+ dolib.a lib/*.a || die "dolib.a"
+ rm -f "${D}"/usr/$(get_libdir)/libcom_err.a #125146
+ local x
+ cd "${D}"/$(get_libdir)
+ for x in *.so ; do
+ gen_usr_ldscript ${x} || die "gen ldscript ${x}"
+ done
+
+ # move 'useless' stuff to /usr/
+ dosbin "${D}"/sbin/mklost+found
+ rm -f "${D}"/sbin/mklost+found
+
+ if use elibc_FreeBSD ; then
+ # Install helpers for us
+ into /
+ dosbin "${S}"/fsck_ext2fs || die
+ doman "${FILESDIR}"/fsck_ext2fs.8
+
+ # these manpages are already provided by FreeBSD libc
+ # and filefrag is linux only
+ rm -f \
+ "${D}"/sbin/filefrag \
+ "${D}"/usr/share/man/man8/filefrag.8 \
+ "${D}"/bin/uuidgen \
+ "${D}"/usr/share/man/man3/{uuid,uuid_compare}.3 \
+ "${D}"/usr/share/man/man1/uuidgen.1 || die
+ fi
+}
diff --git a/sys-fs/e2fsprogs/files/digest-e2fsprogs-1.40.3-r1 b/sys-fs/e2fsprogs/files/digest-e2fsprogs-1.40.3-r1
new file mode 100644
index 000000000000..5b99f85c7b0d
--- /dev/null
+++ b/sys-fs/e2fsprogs/files/digest-e2fsprogs-1.40.3-r1
@@ -0,0 +1,3 @@
+MD5 ad7ff4da7e200b9b25df58dc39989053 e2fsprogs-1.40.3.tar.gz 4064408
+RMD160 a49813cfaa5dc972c64119628a016b5857b7a74d e2fsprogs-1.40.3.tar.gz 4064408
+SHA256 1d4bc00e2759b29ca3051da1154bcc53d817a4190b2a7130b3241f50ee6cb00f e2fsprogs-1.40.3.tar.gz 4064408
diff --git a/sys-fs/e2fsprogs/files/e2fsprogs-1.40.3-fsck-fuse.patch b/sys-fs/e2fsprogs/files/e2fsprogs-1.40.3-fsck-fuse.patch
new file mode 100644
index 000000000000..14ca5e44b523
--- /dev/null
+++ b/sys-fs/e2fsprogs/files/e2fsprogs-1.40.3-fsck-fuse.patch
@@ -0,0 +1,48 @@
+http://bugs.gentoo.org/195405
+
+commit 5221837e62641958f237e7fb5dee999cbfc850c9
+Author: Theodore Ts'o <tytso@mit.edu>
+Date: Sun Dec 16 15:41:15 2007 -0500
+
+ fsck: '#' is only a comment character at the beginning of an fstab line
+
+ Fuse and ssh fstab lines such as:
+
+ wdfs#https://dav.hoster.com/foo/bar /mnt/hoster fuse user,noauto 0 0
+
+ will cause fsck to issue warnings about invalid fstab lines, because
+ fsck was previously treating '#' as a comment when it appeared
+ anywhere in an fstab line, not just at the beginning of the line.
+
+ Addresses-Gentoo-bug: #195405
+ Addresses-Sourceforge-bug: #1826147
+
+ Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
+
+diff --git a/misc/fsck.c b/misc/fsck.c
+index 108adf6..5cf1a1c 100644
+--- a/misc/fsck.c
++++ b/misc/fsck.c
+@@ -275,20 +275,17 @@ static int parse_fstab_line(char *line, struct fs_info **ret_fs)
+
+ *ret_fs = 0;
+ strip_line(line);
+- if ((cp = strchr(line, '#')))
+- *cp = 0; /* Ignore everything after the comment char */
+ cp = line;
+
+ device = parse_word(&cp);
++ if (!device || *device == '#')
++ return 0; /* Ignore blank lines and comments */
+ mntpnt = parse_word(&cp);
+ type = parse_word(&cp);
+ opts = parse_word(&cp);
+ freq = parse_word(&cp);
+ passno = parse_word(&cp);
+
+- if (!device)
+- return 0; /* Allow blank lines */
+-
+ if (!mntpnt || !type)
+ return -1;
+