svn commit: r421812 - in head/sysutils/e2fsprogs: . files
Kevin Lo
kevlo at FreeBSD.org
Sun Sep 11 14:40:51 UTC 2016
On Sun, Sep 11, 2016 at 10:26:25AM +0000, Matthias Andree wrote:
>
> Author: mandree
> Date: Sun Sep 11 10:26:24 2016
> New Revision: 421812
> URL: https://svnweb.freebsd.org/changeset/ports/421812
>
> Log:
> Fix most of the FreeBSD 11+ issues, except e2undo.
>
> Pull in upstream Git patch for lib/ext2fs/unix_io.c to fix unaligned
> multi-block writes, and disable the two known failing e2undo patches
> ONLY for the exact 1.43.3_2, even if "ALLTESTS" is enabled.
> (Modify the post-patch:: target to avoid that.)
>
> The port is still marked BROKEN on FreeBSD 11+ to protect the innocent,
> but a TRYBROKEN=1 build that will not use e2undo should be fine now.
>
> Obtained from: Ted Y. Ts'o (upstream maintainer)
Hmm, TRYBROKEN=1 build seems doesn't work:
===> License GPLv2 accepted by the user
Trying build of e2fsprogs-1.43.3_2 even though it is marked BROKEN.
===> Found saved configuration for e2fsprogs-1.43.3_2
===> e2fsprogs-1.43.3_2 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by e2fsprogs-1.43.3_2 for building
===> Extracting for e2fsprogs-1.43.3_2
=> SHA256 Checksum OK for e2fsprogs-1.43.3.tar.xz.
===> Patching for e2fsprogs-1.43.3_2
===> Applying FreeBSD patches for e2fsprogs-1.43.3_2
mv: rename /usr/ports/sysutils/e2fsprogs/work/e2fsprogs-1.43.3/tests/u_mke2fs_opt_offset to /usr/ports/sysutils/e2fsprogs/work/e2fsprogs-1.43.3/tests/disabled_test-u_mke2fs_opt_offset/u_mke2fs_opt_offset: No such file or directory
*** Error code 1
Stop.
make[1]: stopped in /usr/ports/sysutils/e2fsprogs
*** Error code 1
> Added:
> head/sysutils/e2fsprogs/files/patch-lib_ext2fs_unix__io.c (contents, props changed)
> Modified:
> head/sysutils/e2fsprogs/Makefile
>
> Modified: head/sysutils/e2fsprogs/Makefile
> ==============================================================================
> --- head/sysutils/e2fsprogs/Makefile Sun Sep 11 09:03:26 2016 (r421811)
> +++ head/sysutils/e2fsprogs/Makefile Sun Sep 11 10:26:24 2016 (r421812)
> @@ -3,7 +3,7 @@
>
> PORTNAME= e2fsprogs
> PORTVERSION= 1.43.3
> -PORTREVISION?= 1
> +PORTREVISION?= 2
> CATEGORIES?= sysutils
> MASTER_SITES= KERNEL_ORG/linux/kernel/people/tytso/${PORTNAME}/v${PORTVERSION}
>
> @@ -91,7 +91,7 @@ post-patch::
> @${REINPLACE_CMD} -e 's/<malloc\.h>/<stdlib.h>/' ${WRKSRC}/*/*.c
> .if empty(PORT_OPTIONS:MALLTESTS)
> .for i in \
> - d_fallocate_blkmap \
> + d_fallocate_blkmap \
> f_baddir \
> f_bbfile \
> f_convert_bmap \
> @@ -136,10 +136,19 @@ post-patch::
> .endfor
> .endif
> .endif
> +# XXX remove these on the next revision
> +.if ${MASTERDIR} == ${.CURDIR} && ${OPSYS} == FreeBSD && ${OSVERSION} >= 1100000 && ${PORTVERSION} == 1.43.3 && ${PORTREVISION} == 2
> +.for i in u_mke2fs_opt_oddsize u_mke2fs_opt_offset
> + @${MV} ${WRKSRC}/tests/${i} ${WRKSRC}/tests/disabled_test-${i}
> +.endfor
> +.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 ${OPSYS} == FreeBSD && ${OSVERSION} >= 1100000
> -BROKEN=self-test failures on FreeBSD 11+ hint to data corruption issues.
> +BROKEN=Not ready for production on FreeBSD 11+, some e2undo cases are still failing.
> .endif
>
> pre-build:
> @@ -211,6 +220,7 @@ post-install:
> ${INSTALL_DATA} ${WRKSRC}/${i} ${STAGEDIR}${DOCSDIR}
> .endfor
> .endif
> +#
> # the next line closes .if ${MASTERDIR} == ${.CURDIR}
> .endif
>
>
> Added: head/sysutils/e2fsprogs/files/patch-lib_ext2fs_unix__io.c
> ==============================================================================
> --- /dev/null 00:00:00 1970 (empty, because file is newly added)
> +++ head/sysutils/e2fsprogs/files/patch-lib_ext2fs_unix__io.c Sun Sep 11 10:26:24 2016 (r421812)
> @@ -0,0 +1,23 @@
> +commit d6cad379eb6c86ca58bf5b83a586577de412a2e6
> +Author: Theodore Ts'o <tytso at mit.edu>
> +Date: Sun Sep 11 00:25:48 2016 -0400
> +
> + libext2fs: fix unaligned, multiblock writes in the unix_io handler
> +
> + The read-modify-write code for the unaligned fallback code wasn't
> + working for multi-block writes. This was unmasked by FreeBSD 11-rc2,
> + since its malloc() is returning unaligned memory regions for large
> + memory regions.
> +
> + Signed-off-by: Theodore Ts'o <tytso at mit.edu>
> +
> +--- lib/ext2fs/unix_io.c.orig 2016-09-02 04:17:32 UTC
> ++++ lib/ext2fs/unix_io.c
> +@@ -300,6 +300,7 @@ static errcode_t raw_write_blk(io_channe
> + goto short_write;
> + size -= actual;
> + buf += actual;
> ++ location += actual;
> + }
> + return 0;
> +
>
>
More information about the svn-ports-head
mailing list