diff --git a/filesystems/e2fsprogs-core/Makefile b/filesystems/e2fsprogs-core/Makefile index 00857d9497ca..548a27fdff47 100644 --- a/filesystems/e2fsprogs-core/Makefile +++ b/filesystems/e2fsprogs-core/Makefile @@ -1,324 +1,324 @@ PORTNAME= e2fsprogs -PORTVERSION= 1.47.3 +PORTVERSION= 1.47.4 PORTREVISION?= 0 # NOTE: when bumping PORTREVISION, also bump ../e2fsprogs/Makefile! CATEGORIES?= filesystems sysutils MASTER_SITES= KERNEL_ORG/linux/kernel/people/tytso/${PORTNAME}/v${PORTVERSION} MAINTAINER?= mandree@FreeBSD.org COMMENT?= Utilities & library to manipulate ext2/3/4 filesystems WWW= https://e2fsprogs.sourceforge.net/ LICENSE?= GPLv2+ .if !defined(_no_license_file) LICENSE_FILE?= ${WRKSRC}/NOTICE .endif LICENSE_DISTFILES_GPLv2+ = ${DISTNAME}${EXTRACT_SUFX} USES= compiler:c11 cpe gmake makeinfo pkgconfig tar:xz CPE_VENDOR= e2fsprogs_project USE_CSTD= gnu11 # this seems a bit redundant to the --rpath below, but # the latter should be more robust in case someone needs # to deal with the file systems from a system not yet fully booted. .if !defined(PKGNAMESUFFIX) USE_LDCONFIG= ${PREFIX}/lib/e2fsprogs .endif GNU_CONFIGURE= yes GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share CONFIGURE_ARGS?=--disable-fsck \ --disable-e2initrd-helper \ --disable-libuuid \ --disable-uuidd \ --disable-libblkid \ --enable-elf-shlibs \ --libdir='${PREFIX}/lib/e2fsprogs/' \ --includedir='${PREFIX}/include/e2fsprogs/' \ --with-root-prefix='${PREFIX}' \ LDFLAGS='${LDFLAGS} -L${LOCALBASE}/lib -Wl,--rpath -Wl,${LOCALBASE}/lib/e2fsprogs' CONFIGURE_ENV?= LIBS='-Wl,--as-needed ${LIBS} -lexecinfo -lelf' MAKE_ARGS+= pkgconfigdir='${PREFIX}/libdata/pkgconfig' MAKE_ENV+= CHECK_CMD=@true CPPFLAGS+= ${_FUSEFS_CFLAGS} -I${WRKSRC}/lib -I${LOCALBASE}/include CFLAGS+= -Wno-unused-command-line-argument PORTSCOUT= ignore:1 # cannot handle the version in the directory .if !defined(MASTERDIR) CPPFLAGS+= -D__GNUC_PREREQ\(a,b\)=1 INSTALL_TARGET= install install-libs PORTDOCS= NOTICE README RELEASE-NOTES SUBMITTING-PATCHES OPTIONS_DEFINE= DOCS NLS BASHTESTS FUSEFS PARALLELTESTS SLOWTESTS LIBUNWIND OPTIONS_DEFAULT= FUSEFS ALLTESTS OPTIONS_SINGLE= SELFTEST OPTIONS_SINGLE_SELFTEST= NOTESTS SMALLTESTS ALLTESTS OPTIONS_EXCLUDE+= EXAMPLES OPTIONS_SUB= yes ALLTESTS_DESC= Run most self-tests (needs more RAM/disk space) BASHTESTS_DESC= Enable tests that require the GNU bash shell FUSEFS_DESC= Build user-land ext2/3/4 FUSE module (slow!) LIBUNWIND_DESC= Backtrace with libunwind (do set WITH_DEBUG_PORTS+=${PKGORIGIN}!) NOTESTS_DESC= Do not run any self-tests (Tier-1, DISCOURAGED) PARALLELTESTS_DESC= Parallelize self-tests (needs more disk space) SELFTEST_DESC= Choose which set of self-tests to run SLOWTESTS_DESC= Enable slow tests that are skipped by default SMALLTESTS_DESC=Run tests that need <500 MB disk space BASHTESTS_BUILD_DEPENDS= ${BASH_CMD}:shells/bash BASH_CMD= ${LOCALBASE}/bin/bash FUSEFS_USES= fuse:3 FUSEFS_CONFIGURE_ENABLE=fuse2fs # we can't use FUSEFS_CFLAGS, see below for workaround FUSEFS_LDFLAGS= -L${LOCALBASE}/lib FUSEFS_LIBS= -Wl,--as-needed -lfuse3 -lpthread LIB_DEPENDS+= libblkid.so:filesystems/libblkid \ libuuid.so:misc/libuuid LIBUNWIND_LIB_DEPENDS= libunwind.so:devel/libunwind LIBUNWIND_LDFLAGS+= -rdynamic LIBUNWIND_LIBS+= -L${LOCALBASE}/lib -lunwind LIBUNWIND_EXTRA_PATCHES=${FILESDIR}/extrapatch-e2fsck_sigcatcher.c NLS_USES= gettext iconv:build .endif # even under DEVELOPER, no REINPLACE_CMD warnings desired # it simply makes no sense to warn about dozens of files # for systematic edits that run over files that don't need the edits. # a "warn if nothing was edited by one command" would be acceptable, # but until we have that in the framework, just # avoid Tools/scripts/sed_checked altogether: REINPLACE_CMD= ${SED} ${REINPLACE_ARGS} PKGDEINSTALL= ${PKGINSTALL} MAKE_ARGS+= V=1 .include .if ${MASTERDIR} == ${.CURDIR} PKGNAMESUFFIX= -core .endif .if !empty(PORT_OPTIONS:MFUSEFS) # this dance is required becuse the -I must go before the default -I${LOCALBASE}/include, so we can't use FUSEFS_CFLAGS _FUSEFS_CFLAGS= -I${LOCALBASE}/include/fuse3 .else _FUSEFS_CFLAGS= .endif .if empty(PORT_OPTIONS:MNOTESTS) && ${MASTERDIR} == ${.CURDIR} USES+= perl5 USE_PERL5= build .endif .include .if ${PORT_OPTIONS:MNLS} . if empty(ICONV_LIB) libintl= ${LOCALBASE}/lib/libintl.a . else libintl= ${LOCALBASE}/lib/libintl.a ${LOCALBASE}/lib/libiconv.a . endif .else CONFIGURE_ARGS+=--disable-nls libintl= .endif .if ${MASTERDIR} == ${.CURDIR} && (${ARCH} == "aarch64" || ${ARCH} == "riscv64") EXTRA_PATCHES+= ${FILESDIR}/extrapatch-no-sbrk .endif post-patch:: ${TOUCH} ${WRKSRC}/tests/r_corrupt_fs/is_slow_test .if !empty(DISTFILES) @${REINPLACE_CMD} -e 's///' ${WRKSRC}/*/*.c @${REINPLACE_CMD} -e 's,/etc/blkid.tab,${ETCDIR}/blkid.tab,' ${WRKSRC}/misc/blkid* ${WRKSRC}/lib/blkid/blkidP.h @${REINPLACE_CMD} -E -e 's/__GNUC_PREREQ\>/__GNUC_PREREQ__/' ${WRKSRC}/*/*/*.[ch] ${WRKSRC}/*/*.c . if empty(PORT_OPTIONS:MALLTESTS) . for i in \ d_fallocate_blkmap \ f_baddir \ f_bbfile \ f_convert_bmap \ f_detect_junk \ f_inode_ea_collision \ f_lpffile \ f_no_cache_corrupt_inode \ f_opt_extent \ j_corrupt_descr_csum \ m_bigjournal \ m_hugefile_slack \ m_offset \ m_raid_opt \ r_32to64bit \ r_32to64bit_expand_full \ r_32to64bit_meta \ r_32to64bit_move_itable \ r_64to32bit \ r_64to32bit_meta \ r_expand_full \ r_min_itable \ t_change_uuid_mounted \ t_dangerous \ t_disable_changed_csum_seed_mounted \ t_disable_mcsum \ t_disable_mcsum_noinitbg \ t_disable_mcsum_yesinitbg \ t_enable_mcsum \ t_enable_mcsum_initbg \ t_iexpand_full \ t_iexpand_mcsum \ t_uninit_bg_rm \ u_dryrun \ u_mke2fs_opt_offset @${MV} ${WRKSRC}/tests/${i} ${WRKSRC}/tests/disabled_test-${i} . endfor . endif . if ${PORT_OPTIONS:MBASHTESTS} ${REINPLACE_CMD} -e 's}^SHELL *=.*}SHELL = ${_CHECK_SHELL}}' ${WRKSRC}/MCONFIG.in . else . for i in f_large_dir @${MV} ${WRKSRC}/tests/${i} ${WRKSRC}/tests/disabled_test-${i} . endfor . endif .endif ############################################################## # Master port stuff that is not to be seen by the slave ports. ############################################################## .if ${MASTERDIR} == ${.CURDIR} # NOTE: The previous .if block goes all the way to the end of the file. .if !empty(PORT_OPTIONS:MNOTESTS) && (${OPSYS} == FreeBSD) && (${OSVERSION} >= 1500000 || (${ARCH} != amd64)) BROKEN= it was not tested on your system by the maintainer; you must run self-tests .endif pre-build: # fix up Makefile ordering for parallel builds cd ${WRKSRC}/lib/et && ${DO_MAKE_BUILD} compile_et cd ${WRKSRC}/lib/ss && _ET_DIR_OVERRIDE=../et ../et/compile_et ss_err.et \ && ${REINPLACE_CMD} -f ${FILESDIR}/fix-ss_err.h.sed ss_err.h cd ${WRKSRC}/lib/support && ${DO_MAKE_BUILD} prof_err.h .if ${PORT_OPTIONS:MPARALLELTESTS} _CHECK_JOBS=${_MAKE_JOBS} .else _CHECK_JOBS= .endif _checkaddargs= .if ${PORT_OPTIONS:MBASHTESTS} _CHECK_SHELL=${LOCALBASE}/bin/bash _checkaddargs+=--eval SHELL:=${BASH_CMD} .else _CHECK_SHELL=${SH} .endif .if !defined(TMPDIR) _checkaddargs+=TMPDIR=${WRKDIR}/tmp .endif .if ${PORT_OPTIONS:MSLOWTESTS} _check_target=fullcheck _check_timeout=7200 .else _check_target=check _check_timeout=600 .endif .if ${PORT_OPTIONS:MLIBUNWIND} _staticlibs+=${LOCALBASE}/lib/libunwind.a /usr/lib/liblzma.a /usr/lib/libmd.a .endif post-build: # Relink e2fsck statically - We need to make sure that tools for the root file # system are statically linked against anything that is outside the root fs, # else we're in trouble if e2fsck is needed for boot: # (we don't use e2fsck.static, since we can link libc.so dynamically) # NOTE: we need to link libgcc statically, it might be under /usr/local! # => do not add a -Bdynamic - but instead list the dynamic libraries # before the -Bstatic cd ${WRKSRC}/e2fsck && ${RM} -f e2fsck \ && ${MAKE_CMD} e2fsck V=1 \ LIBS="-static-libgcc -lc -Bstatic ../lib/libsupport.a ../lib/libext2fs.a ../lib/libcom_err.a \ ${_staticlibs} /usr/lib/libexecinfo.a /usr/lib/libelf.a \ ${LOCALBASE}/lib/libblkid.a ${LOCALBASE}/lib/libuuid.a ${libintl} ../lib/libe2p.a " \ && ${STRIP_CMD} e2fsck # Regression check: avoid a port (not upstream!) 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 outside /lib: " @a="$$(ldd ${WRKSRC}/e2fsck/e2fsck 2>/dev/null \ | ${GREP} -v 'not a dynamic executable' \ | ${GREP} '=>' \ | ${AWK} '{print $$3;}' \ | ${EGREP} -v '^/lib/lib.*\.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 ${PORT_OPTIONS:MNLS} cd ${WRKSRC}/po && ${MAKE_CMD} update-gmo .endif # Build fsck(8) wrapper ${CC} ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} -s ${LIBS} \ -o ${WRKSRC}/fsck_ext2fs ${FILESDIR}/fsck_ext2fs.c # 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 # system, and therefore let's exercise due diligence in running the self- # 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 .if empty(PORT_OPTIONS:MNOTESTS) @${ECHO_CMD} '===> Running e2fsprogs self-test suite' # do not add -j options unconditionally to ${MAKE_CMD} below, this might break # due to excessive disk space use. cd ${WRKSRC}/tests && \ ulimit -t ${_check_timeout} && \ ${MKDIR} ${WRKDIR}/tmp && \ ${SETENV} e2fsprogs_inhibit_SIGINFO=1 BLKID_FILE=${WRKDIR}/tmp/blkid.tab SHELL=${_CHECK_SHELL} \ ${MAKE_CMD} ${_check_target} ${_CHECK_JOBS} ${_checkaddargs} \ || { head -n30000 ${WRKSRC}/tests/*.failed 2>/dev/null ; exit 1 ; } .else @${ECHO_CMD} '===> SKIPPING e2fsprogs self-test suite (DISCOURAGED!)' .endif post-install: ${INSTALL_PROGRAM} ${WRKSRC}/fsck_ext2fs ${STAGEDIR}${PREFIX}/sbin/ ${LN} -fs e2fsck ${STAGEDIR}${PREFIX}/sbin/fsck.ext2 ${LN} -fs e2fsck ${STAGEDIR}${PREFIX}/sbin/fsck.ext3 ${LN} -fs e2fsck ${STAGEDIR}${PREFIX}/sbin/fsck.ext4 # now the remainder of the usual post-install jobs: ${INSTALL_MAN} ${FILESDIR}/fsck_ext2fs.8 ${STAGEDIR}${PREFIX}/share/man/man8/ .if ${PORT_OPTIONS:MDOCS} ${MKDIR} ${STAGEDIR}${DOCSDIR} .for i in ${PORTDOCS} ${INSTALL_DATA} ${WRKSRC}/${i} ${STAGEDIR}${DOCSDIR} .endfor .endif # remove or relocate files installed by other ports already, or shadowing system files: ${MV} ${STAGEDIR}${PREFIX}/bin/compile_et ${STAGEDIR}${PREFIX}/bin/e2fsprogs-compile_et ${RM} ${STAGEDIR}${PREFIX}/sbin/findfs ${MV} ${STAGEDIR}${PREFIX}/share/man/man1/compile_et.1 ${STAGEDIR}${PREFIX}/share/man/man1/e2fsprogs-compile_et.1 ${MKDIR} ${STAGEDIR}${DATADIR}/et/ ${MV} ${STAGEDIR}${PREFIX}/share/et/* ${STAGEDIR}${DATADIR}/et/ ${REINPLACE_CMD} -e 's}^DIR=.*$$}DIR=${DATADIR}/et}' -i '' ${STAGEDIR}${PREFIX}/bin/e2fsprogs-compile_et ${RMDIR} ${STAGEDIR}${PREFIX}/share/et ${MV} -f ${STAGEDIR}${PREFIX}/share/man/man3/com_err.3 \ ${STAGEDIR}${PREFIX}/share/man/man3/e2fsprogs-com_err.3 ${RM} ${STAGEDIR}${PREFIX}/share/man/man3/libblkid.3 ${RM} ${STAGEDIR}${PREFIX}/share/man/man8/findfs.8 # # the next line closes .if ${MASTERDIR} == ${.CURDIR} .endif .include diff --git a/filesystems/e2fsprogs-core/distinfo b/filesystems/e2fsprogs-core/distinfo index 7e9ca88cb575..06654bd553d0 100644 --- a/filesystems/e2fsprogs-core/distinfo +++ b/filesystems/e2fsprogs-core/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1752044663 -SHA256 (e2fsprogs-1.47.3.tar.xz) = 857e6ef800feaa2bb4578fbc810214be5d3c88b072ea53c5384733a965737329 -SIZE (e2fsprogs-1.47.3.tar.xz) = 7321540 +TIMESTAMP = 1774297225 +SHA256 (e2fsprogs-1.47.4.tar.xz) = fd5bf388cbdbe006a3d3b318d983b2948382440acc85a87f1e7d108653e8db0b +SIZE (e2fsprogs-1.47.4.tar.xz) = 7337236 diff --git a/filesystems/e2fsprogs-core/files/patch-e2fsck__unix.c b/filesystems/e2fsprogs-core/files/patch-e2fsck__unix.c index fe98d8988b57..70026603b6df 100644 --- a/filesystems/e2fsprogs-core/files/patch-e2fsck__unix.c +++ b/filesystems/e2fsprogs-core/files/patch-e2fsck__unix.c @@ -1,78 +1,78 @@ // SIGINFO is a Berkeley extension, so we need to // remove the #define _XOPEN_SOURCE 600 // It would hide all non-POSIX declarations, including SIGINFO. ---- e2fsck/unix.c.orig 2024-05-21 02:52:47 UTC +--- e2fsck/unix.c.orig 2026-03-06 17:17:36 UTC +++ e2fsck/unix.c @@ -9,8 +9,6 @@ * %End-Header% */ -#define _XOPEN_SOURCE 600 /* for inclusion of sa_handler in Solaris */ - #include "config.h" #include #ifdef HAVE_STDLIB_H @@ -37,7 +35,7 @@ extern int optind; #include #endif #ifdef HAVE_MALLOC_H -#include +#include #endif #ifdef HAVE_SYS_TYPES_H #include -@@ -608,6 +606,24 @@ static int e2fsck_update_progress(e2fsck_t ctx, int pa +@@ -612,6 +610,24 @@ static int e2fsck_update_progress(e2fsck_t ctx, int pa return 0; } +static int e2fsck_progress_once(e2fsck_t ctx, int pass, unsigned long cur, unsigned long max) +{ + char buf[80]; + float percent; + + if (pass == 0) + return 0; + + percent = calc_percent(&e2fsck_tbl, pass, cur, max); + e2fsck_simple_progress(ctx, ctx->device_name, + percent, 0); + + printf("\n"); + ctx->progress = 0; + return 0; +} + + #define PATH_SET "PATH=/sbin" /* -@@ -641,6 +657,17 @@ static void signal_progress_on(int sig EXT2FS_ATTR((un +@@ -645,6 +661,17 @@ static void signal_progress_on(int sig EXT2FS_ATTR((un ctx->progress = e2fsck_update_progress; } +static void signal_progress_now(int sig EXT2FS_ATTR((unused))) +{ + e2fsck_t ctx = e2fsck_global_ctx; + + if (!ctx) + return; + + ctx->progress = e2fsck_progress_once; + ctx->progress_fd = 0; +} + static void signal_progress_off(int sig EXT2FS_ATTR((unused))) { e2fsck_t ctx = e2fsck_global_ctx; -@@ -1127,6 +1154,10 @@ static errcode_t PRS(int argc, char *argv[], e2fsck_t +@@ -1131,6 +1158,10 @@ static errcode_t PRS(int argc, char *argv[], e2fsck_t sigaction(SIGUSR1, &sa, 0); sa.sa_handler = signal_progress_off; sigaction(SIGUSR2, &sa, 0); + sa.sa_handler = signal_progress_now; + if (!getenv("e2fsprogs_inhibit_SIGINFO")) { + sigaction(SIGINFO, &sa, 0); + } #endif /* Update our PATH to include /sbin if we need to run badblocks */ diff --git a/filesystems/e2fsprogs-core/files/patch-misc__Makefile.in b/filesystems/e2fsprogs-core/files/patch-misc__Makefile.in index 99de5bdc575b..fe14edf9f620 100644 --- a/filesystems/e2fsprogs-core/files/patch-misc__Makefile.in +++ b/filesystems/e2fsprogs-core/files/patch-misc__Makefile.in @@ -1,90 +1,90 @@ ---- misc/Makefile.in.orig 2024-05-21 02:52:47 UTC +--- misc/Makefile.in.orig 2026-03-06 17:17:36 UTC +++ misc/Makefile.in @@ -31,24 +31,24 @@ MKDIR_P = @MKDIR_P@ @BLKID_CMT@BLKID_STATIC= blkid.static @BLKID_CMT@BLKID_MAN= blkid.8 -@BLKID_CMT@FINDFS_LINK= findfs -@BLKID_CMT@FINDFS_MAN= findfs.8 +FINDFS_LINK= findfs +FINDFS_MAN= findfs.8 @FUSE_CMT@FUSE_PROG= fuse2fs SPROGS= mke2fs badblocks tune2fs dumpe2fs $(BLKID_PROG) logsave \ $(E2IMAGE_PROG) @FSCK_PROG@ e2undo -USPROGS= mklost+found filefrag e2freefrag $(UUIDD_PROG) \ +USPROGS= mklost+found e2freefrag $(UUIDD_PROG) \ $(E4DEFRAG_PROG) $(E4CRYPT_PROG) SMANPAGES= tune2fs.8 mklost+found.8 mke2fs.8 dumpe2fs.8 badblocks.8 \ e2label.8 $(FINDFS_MAN) $(BLKID_MAN) $(E2IMAGE_MAN) \ - logsave.8 filefrag.8 e2freefrag.8 e2undo.8 \ - $(UUIDD_MAN) $(E4DEFRAG_MAN) $(E4CRYPT_MAN) @FSCK_MAN@ \ + logsave.8 e2freefrag.8 e2undo.8 \ + $(E4DEFRAG_MAN) $(E4CRYPT_MAN) @FSCK_MAN@ \ e2mmpstatus.8 FMANPAGES= mke2fs.conf.5 ext4.5 -UPROGS= chattr lsattr $(FUSE_PROG) @UUID_CMT@ uuidgen -UMANPAGES= chattr.1 lsattr.1 @UUID_CMT@ uuidgen.1 +UPROGS= chattr lsattr $(FUSE_PROG) +UMANPAGES= chattr.1 lsattr.1 UMANPAGES+= @FUSE_CMT@ fuse2fs.1 LPROGS= @E2INITRD_PROG@ @@ -156,14 +156,14 @@ mke2fs.conf: $(srcdir)/mke2fs.conf.in mke2fs.conf: $(srcdir)/mke2fs.conf.in if test -f $(srcdir)/mke2fs.conf.custom.in ; then \ - cp $(srcdir)/mke2fs.conf.custom.in mke2fs.conf; \ + cp $(srcdir)/mke2fs.conf.custom.in mke2fs.conf.dist; \ else \ - cp $(srcdir)/mke2fs.conf.in mke2fs.conf; \ + cp $(srcdir)/mke2fs.conf.in mke2fs.conf.dist; \ fi default_profile.c: mke2fs.conf $(srcdir)/profile-to-c.awk $(E) " PROFILE_TO_C mke2fs.conf" - $(Q) $(AWK) -f $(srcdir)/profile-to-c.awk < mke2fs.conf \ + $(Q) $(AWK) -f $(srcdir)/profile-to-c.awk < mke2fs.conf.dist \ > default_profile.c findsuper: findsuper.o $(E) " LD $@" -@@ -624,34 +624,9 @@ install: all $(SMANPAGES) $(UMANPAGES) installdirs +@@ -625,34 +625,9 @@ install: all $(SMANPAGES) $(UMANPAGES) installdirs (cd $(DESTDIR)$(man5dir); \ $(LN) $(LINK_INSTALL_FLAGS) ext4.5 $$i.5); \ done - $(Q) if test -f $(DESTDIR)$(root_sysconfdir)/mke2fs.conf; then \ - if cmp -s $(DESTDIR)$(root_sysconfdir)/mke2fs.conf \ - mke2fs.conf; then \ - true; \ - else \ - if grep -q ext4dev $(DESTDIR)$(root_sysconfdir)/mke2fs.conf ; then \ - $(ES) " INSTALL_DATA $(root_sysconfdir)/mke2fs.conf.e2fsprogs-new"; \ - $(INSTALL_DATA) mke2fs.conf \ - $(DESTDIR)$(root_sysconfdir)/mke2fs.conf.e2fsprogs-new; \ - echo "Warning: installing mke2fs.conf in $(DESTDIR)$(root_sysconfdir)/mke2fs.conf.e2fsprogs-new"; \ - echo "Check to see if you need to update your $(root_sysconfdir)/mke2fs.conf"; \ - else \ - $(ES) " INSTALL_DATA $(root_sysconfdir)/mke2fs.conf"; \ - mv $(DESTDIR)$(root_sysconfdir)/mke2fs.conf \ - $(DESTDIR)$(root_sysconfdir)/mke2fs.conf.e2fsprogs-old; \ - $(INSTALL_DATA) mke2fs.conf \ - $(DESTDIR)$(root_sysconfdir)/mke2fs.conf; \ - echo "Your mke2fs.conf is too old. Backing up old version in"; \ - echo "$(DESTDIR)$(root_sysconfdir)/mke2fs.conf.e2fsprogs-old. Please check to see"; \ - echo "if you have any local customizations that you wish to preserve."; \ - fi; \ - echo " "; \ - fi; \ - else \ - $(ES) " INSTALL_DATA $(root_sysconfdir)/mke2fs.conf"; \ - $(INSTALL_DATA) mke2fs.conf \ - $(DESTDIR)$(root_sysconfdir)/mke2fs.conf; \ - fi + $(Q) $(ES) " INSTALL_DATA $(root_sysconfdir)/mke2fs.conf"; \ + $(INSTALL_DATA) mke2fs.conf.dist \ + $(DESTDIR)$(root_sysconfdir)/mke2fs.conf.dist install-strip: install $(Q) for i in $(SPROGS); do \ diff --git a/filesystems/e2fsprogs-core/files/patch-misc_e2fuzz.c b/filesystems/e2fsprogs-core/files/patch-misc_e2fuzz.c index a9f56490e5b6..ac6fae8d736f 100644 --- a/filesystems/e2fsprogs-core/files/patch-misc_e2fuzz.c +++ b/filesystems/e2fsprogs-core/files/patch-misc_e2fuzz.c @@ -1,13 +1,13 @@ ---- misc/e2fuzz.c.orig 2020-03-23 08:29:36 UTC +--- misc/e2fuzz.c.orig 2026-03-06 17:17:36 UTC +++ misc/e2fuzz.c -@@ -278,8 +278,8 @@ static int process_fs(const char *fsname) +@@ -277,8 +277,8 @@ static int process_fs(const char *fsname) c |= 0x80; if (verbose) printf("Corrupting byte %lld in block %lld to 0x%x\n", - off % fs->blocksize, - off / fs->blocksize, c); + (long long)off % fs->blocksize, + (long long)off / fs->blocksize, c); if (dryrun) continue; #ifdef HAVE_PWRITE64 diff --git a/filesystems/e2fsprogs-core/files/patch-misc_fuse2fs.c b/filesystems/e2fsprogs-core/files/patch-misc_fuse2fs.c new file mode 100644 index 000000000000..aa5ada869ec8 --- /dev/null +++ b/filesystems/e2fsprogs-core/files/patch-misc_fuse2fs.c @@ -0,0 +1,12 @@ +--- misc/fuse2fs.c.orig 2026-03-06 17:17:36 UTC ++++ misc/fuse2fs.c +@@ -5117,7 +5117,9 @@ static int __translate_error(ext2_filsys fs, ext2_ino_ + #ifdef EILSEQ + case EILSEQ: + #endif ++#if EUCLEAN != EIO + case EUCLEAN: ++#endif + /* these errnos usually denote corruption or persistence fail */ + is_err = 1; + ret = -err; diff --git a/filesystems/e2fsprogs-core/files/patch-tests_Makefile.in b/filesystems/e2fsprogs-core/files/patch-tests_Makefile.in index a5f9b50df891..a75c5b8a551e 100644 --- a/filesystems/e2fsprogs-core/files/patch-tests_Makefile.in +++ b/filesystems/e2fsprogs-core/files/patch-tests_Makefile.in @@ -1,11 +1,11 @@ ---- tests/Makefile.in.orig 2021-01-29 05:51:02 UTC +--- tests/Makefile.in.orig 2026-03-06 17:17:36 UTC +++ tests/Makefile.in -@@ -17,7 +17,7 @@ all:: @DO_TEST_SUITE@ test_one test_script +@@ -18,7 +18,7 @@ test_one: $(srcdir)/test_one.in Makefile mke2fs.conf t test_one: $(srcdir)/test_one.in Makefile mke2fs.conf test_data.tmp @echo "Creating test_one script..." @[ -f test_one ] && chmod u+w test_one || true - @echo "#!/bin/sh" > test_one + @echo "#!${SHELL}" > test_one @echo "HTREE=y" >> test_one @echo "QUOTA=y" >> test_one @echo "SRCDIR=@srcdir@" >> test_one diff --git a/filesystems/e2fsprogs/Makefile b/filesystems/e2fsprogs/Makefile index 5be3d6bb5b50..7df24ff8701e 100644 --- a/filesystems/e2fsprogs/Makefile +++ b/filesystems/e2fsprogs/Makefile @@ -1,21 +1,21 @@ PORTNAME= e2fsprogs CATEGORIES= filesystems sysutils -PORTVERSION= 1.47.3 +PORTVERSION= 1.47.4 PORTREVISION= 0 BUILD_DEPENDS= e2fsprogs-core=${PORTVERSION}${${PORTREVISION} > 0:?_${PORTREVISION}:}:filesystems/e2fsprogs-core RUN_DEPENDS= ${BUILD_DEPENDS} DISTFILES= # empty NO_BUILD= yes LICENSE= GPLv2+ USES= cpe CPE_VENDOR= e2fsprogs_project MAINTAINER= mandree@FreeBSD.org COMMENT= Wrapper to install e2fsprogs into /sbin do-install: ${MKDIR} ${STAGEDIR}/sbin ${CP} -p ${LOCALBASE}/sbin/fsck_ext2fs ${STAGEDIR}/sbin ${CP} -p ${LOCALBASE}/sbin/e2fsck ${STAGEDIR}/sbin .include