From b29f9bb0c83fa6df699e34e0de147433e98371ef Mon Sep 17 00:00:00 2001 From: miwi Date: Tue, 12 Feb 2008 23:07:35 +0000 Subject: - Update to 1.40.6 - Add a regression check to avoid libintl/libiconv dependency regressions as observed in 1.40.5 and _1 - Add a few comments - Dump tests/*.failed files on failure, to aid debugging sparc64 problems - Adjust patch line numbers - Drop one misc/Makefile patch that was integrated upstream PR: 120500 Submitted by: Matthias Andree (maintainer) --- sysutils/e2fsprogs/Makefile | 37 ++++++++++++++++------ sysutils/e2fsprogs/distinfo | 6 ++-- .../e2fsprogs/files/patch-SIGINFO-e2fck_unix.c | 6 ++-- sysutils/e2fsprogs/files/patch-configure | 4 +-- .../e2fsprogs/files/patch-lib_ext2fs_ext2_fs.h | 2 +- sysutils/e2fsprogs/files/patch-misc_Makefile.in | 12 +------ 6 files changed, 37 insertions(+), 30 deletions(-) diff --git a/sysutils/e2fsprogs/Makefile b/sysutils/e2fsprogs/Makefile index db274ce14bea..a074eaf75adb 100644 --- a/sysutils/e2fsprogs/Makefile +++ b/sysutils/e2fsprogs/Makefile @@ -6,8 +6,8 @@ # PORTNAME= e2fsprogs -PORTVERSION= 1.40.5 -PORTREVISION?= 1 +PORTVERSION= 1.40.6 +PORTREVISION?= 0 CATEGORIES?= sysutils MASTER_SITES= ${MASTER_SITE_SOURCEFORGE_EXTENDED} MASTER_SITE_SUBDIR= ${PORTNAME} @@ -40,7 +40,7 @@ MAN8= badblocks.8 debugfs.8 dumpe2fs.8 e2fsck.8 e2image.8 e2label.8 \ findfs.8 blkid.8 logsave.8 fsck_ext2fs.8 post-extract: - ${CHMOD} u+w ${WRKSRC}/po/*.po ${WRKSRC}/po/*.pot \ + @${CHMOD} u+w ${WRKSRC}/po/*.po ${WRKSRC}/po/*.pot \ ${WRKSRC}/${CONFIGURE_SCRIPT} .endif @@ -51,27 +51,41 @@ CONFIGURE_ARGS+=--disable-nls PLIST_SUB= NLS="@comment " .else USE_GETTEXT= yes +# We need to make sure that anything that is outside the root file +# system is statically linked, else we're in trouble if e2fsck is needed +# for boot: MAKE_ARGS+= STATIC_LIBS="../lib/libext2fs.a ../lib/libcom_err.a \ - ../lib/libblkid.a ../lib/libuuid.a \ - ${LOCALBASE}/lib/libintl.a ${LOCALBASE}/lib/libiconv.a" + ../lib/libblkid.a ../lib/libuuid.a" \ + LIBINTL="${LOCALBASE}/lib/libintl.a ${LOCALBASE}/lib/libiconv.a" PLIST_SUB= NLS="" .endif post-patch:: - ${REINPLACE_CMD} -E -e \ + @${REINPLACE_CMD} -E -e \ 's:\$$\(libdir\)/pkgconfig:${PREFIX}/libdata/pkgconfig:' \ ${WRKSRC}/lib/*/Makefile.in - @: # don't build/install libext2fs.info - ${REINPLACE_CMD} -e 's/ install-doc-libs$$//' ${WRKSRC}/Makefile.in +# don't build/install libext2fs.info + @${REINPLACE_CMD} -e 's/ install-doc-libs$$//' ${WRKSRC}/Makefile.in .if ${MASTERDIR} == ${.CURDIR} post-build: +# Avoid a regression from 1.40.5, +# check that e2fsck isn't dynalinked against anything but libc.so: + @${ECHO_CMD} -n "===> checking that e2fsck depends on no shared objects beyond libc.so: " + @a="$$(ldd ${WRKSRC}/e2fsck/e2fsck 2>/dev/null \ + | ${GREP} -v 'not a dynamic executable' \ + | ${GREP} '=>' \ + | ${AWK} '{print $$3;}' \ + | ${GREP} -v '^/lib/libc\.so\.' || :)"; \ + if test "x$$a" = "x" ; then echo 'PASS' ; else \ + echo 'FAIL' ; echo '===> e2fsck depends on:' ; echo "$$a" ; exit 1 ; fi +# Update translation binary files .if !defined(WITHOUT_NLS) cd ${WRKSRC}/po && ${MAKE} update-gmo .endif - ${CC} ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} -s -static ${LIBS} \ +# Build fsck(8) wrapper + ${CC} ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} -s ${LIBS} \ -o ${WRKSRC}/fsck_ext2fs ${FILESDIR}/fsck_ext2fs.c - cd ${WRKSRC}/tests && ${MAKE} check # While the ${MAKE} check can take a minute on an end user's system, the # correctness of tools such as e2fsck is critical to the health of the # file systems. The upstream is not using any *BSD as his development @@ -79,6 +93,9 @@ post-build: # test on each and every system and not just package building hosts. # There have been subtle failures induced by Linux-isms in the past. # -- Matthias Andree, package maintainer, 2007-09-18 + @${ECHO_CMD} '===> Running e2fsprogs self-test suite' + cd ${WRKSRC}/tests && ${MAKE} check \ + || { head -n30000 ${WRKSRC}/tests/*.failed 2>/dev/null ; exit 1 ; } post-install: ${INSTALL_PROGRAM} ${WRKSRC}/fsck_ext2fs ${PREFIX}/sbin/ diff --git a/sysutils/e2fsprogs/distinfo b/sysutils/e2fsprogs/distinfo index f215bfaef52f..41ec905e4bdf 100644 --- a/sysutils/e2fsprogs/distinfo +++ b/sysutils/e2fsprogs/distinfo @@ -1,3 +1,3 @@ -MD5 (e2fsprogs-1.40.5.tar.gz) = 69e55eaf543acfab8e2eb8ba2883d8cd -SHA256 (e2fsprogs-1.40.5.tar.gz) = 11df6d84e0eb0da17938d4802d7872657b464c9a53ed21b0521c929d481d8ac4 -SIZE (e2fsprogs-1.40.5.tar.gz) = 4048882 +MD5 (e2fsprogs-1.40.6.tar.gz) = d219b7be4f7170400c646f5611c0b702 +SHA256 (e2fsprogs-1.40.6.tar.gz) = b5fb67fb6b4f85fdf3256b1c2f9d9473e018d4fd5af0c50b1030ad794160c11e +SIZE (e2fsprogs-1.40.6.tar.gz) = 4072124 diff --git a/sysutils/e2fsprogs/files/patch-SIGINFO-e2fck_unix.c b/sysutils/e2fsprogs/files/patch-SIGINFO-e2fck_unix.c index fa10795ad942..2184e08bfde9 100644 --- a/sysutils/e2fsprogs/files/patch-SIGINFO-e2fck_unix.c +++ b/sysutils/e2fsprogs/files/patch-SIGINFO-e2fck_unix.c @@ -1,6 +1,6 @@ --- e2fsprogs-1.35/e2fsck/unix.c~ Sun Dec 7 18:11:38 2003 +++ e2fsprogs-1.35/e2fsck/unix.c Tue Feb 24 22:13:52 2004 -@@ -416,6 +416,24 @@ +@@ -461,6 +461,24 @@ return 0; } @@ -25,7 +25,7 @@ #define PATH_SET "PATH=/sbin" static void reserve_stdio_fds(void) -@@ -448,6 +466,17 @@ +@@ -493,6 +511,17 @@ ctx->progress_fd = 0; } @@ -43,7 +43,7 @@ static void signal_progress_off(int sig EXT2FS_ATTR((unused))) { e2fsck_t ctx = e2fsck_global_ctx; -@@ -740,6 +769,8 @@ +@@ -825,6 +854,8 @@ sigaction(SIGUSR1, &sa, 0); sa.sa_handler = signal_progress_off; sigaction(SIGUSR2, &sa, 0); diff --git a/sysutils/e2fsprogs/files/patch-configure b/sysutils/e2fsprogs/files/patch-configure index ba95f5599dce..7e15828ae621 100644 --- a/sysutils/e2fsprogs/files/patch-configure +++ b/sysutils/e2fsprogs/files/patch-configure @@ -1,6 +1,6 @@ --- a/configure.orig Thu Jun 8 15:30:16 2006 +++ b/configure Thu Jun 8 15:30:34 2006 -@@ -8095,7 +8095,7 @@ +@@ -9044,7 +9044,7 @@ @@ -9,7 +9,7 @@ stdlib.h string.h unistd.h sys/param.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -@@ -16641,7 +16641,7 @@ +@@ -15105,7 +15105,7 @@ fi { echo "$as_me:$LINENO: checking for unified diff option" >&5 echo $ECHO_N "checking for unified diff option... $ECHO_C" >&6; } diff --git a/sysutils/e2fsprogs/files/patch-lib_ext2fs_ext2_fs.h b/sysutils/e2fsprogs/files/patch-lib_ext2fs_ext2_fs.h index 547befb3ec5a..4c6667079709 100644 --- a/sysutils/e2fsprogs/files/patch-lib_ext2fs_ext2_fs.h +++ b/sysutils/e2fsprogs/files/patch-lib_ext2fs_ext2_fs.h @@ -1,6 +1,6 @@ --- a/lib/ext2fs/ext2_fs.h.orig Sat Jun 30 16:36:37 2007 +++ b/lib/ext2fs/ext2_fs.h Sat Jun 30 16:36:43 2007 -@@ -414,7 +414,7 @@ +@@ -418,7 +418,7 @@ #define i_size_high i_dir_acl diff --git a/sysutils/e2fsprogs/files/patch-misc_Makefile.in b/sysutils/e2fsprogs/files/patch-misc_Makefile.in index 9685a20280a2..b1c8d6c41d8c 100644 --- a/sysutils/e2fsprogs/files/patch-misc_Makefile.in +++ b/sysutils/e2fsprogs/files/patch-misc_Makefile.in @@ -19,17 +19,7 @@ LPROGS= @E2INITRD_PROG@ -@@ -251,8 +251,7 @@ - $(DESTDIR)$(root_sbindir) $(DESTDIR)$(bindir) \ - $(DESTDIR)$(man1dir) $(DESTDIR)$(man8dir) \ - $(DESTDIR)$(man1dir) $(DESTDIR)$(man5dir) \ -- $(DESTDIR)$(libdir) $(DESTDIR)/$(root_sysconfdir) \ -- $(DESTDIR)/etc/init.d -+ $(DESTDIR)$(libdir) $(DESTDIR)/$(root_sysconfdir) - - install: all $(SMANPAGES) $(UMANPAGES) installdirs - @for i in $(SPROGS); do \ -@@ -312,11 +311,9 @@ +@@ -311,11 +310,9 @@ echo " INSTALL_DATA $(man5dir)/$$i"; \ $(INSTALL_DATA) $$i $(DESTDIR)$(man5dir)/$$i; \ done -- cgit