1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-25 09:34:11 +00:00

Fix f_pre_1970_date_encoding on all 32-bit architectures but i386.

e2fsck would misparse the E2FSCK_TIME environment variable on architectures
where sizeof(long) < sizeof(time_t), i. e. all 32-bit architectures but i386.
This led to f_pre_1970_date_encoding test failures.

Note that I haven't tested the change for lack of respective hardware
or qemu rigs, and prior to receiving the reporter feedback, but
it would appear the fix is safe and plausible in itself.

Bump PORTREVISION as this changes the code on all architectures,
and to trigger version-based rebuild attempts where needed.

See also:	https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=932906
Reported by:	Thorsten Glaser <tg@mirbsd.de> against Debian
Reported by:	Stanislav S. Grinkin (privately) against FreeBSD
Reported by:	prior fall-out and BROKEN_<ARCH> tags
Obtained from:	https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git/commit/?id=a368e0cbfb33d3050dcccccf0bf5a5539d3dac39
MFH:		2019Q3
This commit is contained in:
Matthias Andree 2019-07-30 11:59:29 +00:00
parent 7aa540693e
commit 9536ccbad1
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=507631
3 changed files with 25 additions and 4 deletions

View File

@ -3,7 +3,7 @@
PORTNAME= e2fsprogs
PORTVERSION= 1.45.3
PORTREVISION?= 1
PORTREVISION?= 2
CATEGORIES?= sysutils
MASTER_SITES= KERNEL_ORG/linux/kernel/people/tytso/${PORTNAME}/v${PORTVERSION}

View File

@ -0,0 +1,21 @@
commit a368e0cbfb33d3050dcccccf0bf5a5539d3dac39
Author: Theodore Ts'o <tytso@mit.edu>
Date: Wed Jul 24 22:25:11 2019 -0400
e2fsck: set E2FSCK_TIME correctly on a 32-bit arch with a 64-bit time_t
Addresses-Debian-Bug: #932906
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
--- e2fsck/e2fsck.c.orig 2019-07-15 01:03:14 UTC
+++ e2fsck/e2fsck.c
@@ -37,7 +37,7 @@ errcode_t e2fsck_allocate_context(e2fsck_t *ret)
time_env = getenv("E2FSCK_TIME");
if (time_env)
- context->now = strtoul(time_env, NULL, 0);
+ context->now = (time_t) strtoull(time_env, NULL, 0);
else {
context->now = time(0);
if (context->now < 1262322000) /* January 1 2010 */

View File

@ -1,7 +1,7 @@
--- tests/Makefile.in.orig 2018-07-10 05:14:26 UTC
--- tests/Makefile.in.orig 2019-07-15 01:03:14 UTC
+++ tests/Makefile.in
@@ -16,7 +16,7 @@ all:: @DO_TEST_SUITE@ test_one test_scri
test_one: $(srcdir)/test_one.in Makefile mke2fs.conf
@@ -16,7 +16,7 @@ all:: @DO_TEST_SUITE@ test_one test_script
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