diff options
author | Matthias Andree <mandree@FreeBSD.org> | 2014-05-22 04:46:37 +0000 |
---|---|---|
committer | Matthias Andree <mandree@FreeBSD.org> | 2014-05-22 04:46:37 +0000 |
commit | ec88567c1f1abeb0968958b09ac3a07965becaf7 (patch) | |
tree | 55658f82776a80bebc2183a7d461e96db1b62487 | |
parent | b9dc272b99dc117e1532ae616beeabc2ca0b1f72 (diff) | |
download | ports-ec88567c1f1abeb0968958b09ac3a07965becaf7.tar.gz ports-ec88567c1f1abeb0968958b09ac3a07965becaf7.zip |
Notes
-rw-r--r-- | sysutils/e2fsprogs/Makefile | 8 | ||||
-rw-r--r-- | sysutils/e2fsprogs/distinfo | 4 | ||||
-rw-r--r-- | sysutils/e2fsprogs/files/patch-350897 | 68 |
3 files changed, 74 insertions, 6 deletions
diff --git a/sysutils/e2fsprogs/Makefile b/sysutils/e2fsprogs/Makefile index 5f3efa2bf2d4..54efbdf84daf 100644 --- a/sysutils/e2fsprogs/Makefile +++ b/sysutils/e2fsprogs/Makefile @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME= e2fsprogs -PORTVERSION= 1.42.9 +PORTVERSION= 1.42.10 PORTREVISION?= 0 CATEGORIES?= sysutils MASTER_SITES= KERNEL_ORG/linux/kernel/people/tytso/${PORTNAME}/v${PORTVERSION} @@ -13,12 +13,12 @@ COMMENT?= Utilities & library to manipulate ext2/3/4 filesystems LICENSE= GPLv2 PATCH_STRIP= -p1 -USES= gmake pkgconfig +USES= gmake pkgconfig tar:xz USE_CSTD= gnu99 USE_LDCONFIG= yes -USE_XZ= yes GNU_CONFIGURE= yes CONFIGURE_ARGS+=--disable-fsck --disable-e2initrd-helper \ + --enable-quota \ --with-root-prefix='${PREFIX}' CPPFLAGS+= -I${WRKSRC}/lib -I${LOCALBASE}/include # -D_EXT2_USE_C_VERSIONS MAKE_ARGS+= LDFLAGS='${LDFLAGS} -L${LOCALBASE}/lib' @@ -76,7 +76,7 @@ post-patch:: # disable f_mmp_garbage, fails on FreeBSD, and the resize*big_expand tests, # which are too unwieldy to run automatically (need too much free space). # f_extent_oobounds fails in Tinderbox and is fine outside, reason unclear. -.for i in f_mmp_garbage f_extent_oobounds r_64bit_big_expand r_bigalloc_big_expand r_ext4_big_expand m_bigjournal +.for i in f_mmp_garbage m_bigjournal r_64bit_big_expand r_bigalloc_big_expand r_ext4_big_expand @${MV} ${WRKSRC}/tests/${i} ${WRKSRC}/tests/disabled_test-${i} .endfor diff --git a/sysutils/e2fsprogs/distinfo b/sysutils/e2fsprogs/distinfo index b6d7d2eefeca..68d2bcd84260 100644 --- a/sysutils/e2fsprogs/distinfo +++ b/sysutils/e2fsprogs/distinfo @@ -1,2 +1,2 @@ -SHA256 (e2fsprogs-1.42.9.tar.xz) = b63e95f71209c3d8b07e320a4c602eedb9eaf5b1f565807ad92f519299cd8868 -SIZE (e2fsprogs-1.42.9.tar.xz) = 4656468 +SHA256 (e2fsprogs-1.42.10.tar.xz) = 1f3324e80b042e8b9c2791c5b5de57afa205989b170e5800764ea60cb3961599 +SIZE (e2fsprogs-1.42.10.tar.xz) = 4676804 diff --git a/sysutils/e2fsprogs/files/patch-350897 b/sysutils/e2fsprogs/files/patch-350897 new file mode 100644 index 000000000000..ed221dcb95f4 --- /dev/null +++ b/sysutils/e2fsprogs/files/patch-350897 @@ -0,0 +1,68 @@ +http://patchwork.ozlabs.org/patch/350897/ +debugfs: fix string_to_time for MacOS strptime() + +The strptime() function does not update fields in struct tm that are +not specified in the input format. The glibc implementation sets the +tm_yday field (%j) when any of the year (%Y), month (%m), or day (%d) +fields are changed, but the MacOS strptime() does not set tm_yday in +this case. This caused string_to_time() to calculate the wrong Unix +epoch on MacOS. If tm_yday is unset, compute it in string_to_time(). + +Signed-off-by: Andreas Dilger <adilger@dilger.ca> +--- + debugfs/util.c | 14 ++++++++++++++ + tests/f_dup_resize/script | 2 +- + tests/f_uninit_last_uninit/script | 2 +- + 3 files changed, 16 insertions(+), 2 deletions(-) + +diff --git a/debugfs/util.c b/debugfs/util.c +index 9ddfe0b..20c6c61 100644 +--- a/debugfs/util.c ++++ b/debugfs/util.c +@@ -245,6 +245,20 @@ time_t string_to_time(const char *arg) + ts.tm_mday = 0; + #endif + ts.tm_isdst = -1; ++ /* strptime() may only update the specified fields, which does not ++ * necessarily include ts.tm_yday (%j). Calculate this if unset: ++ * ++ * Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec ++ * 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ++ * ++ * Start with 31 days per month. Even months have only 30 days, but ++ * reverse in August, subtract one day for those months. February has ++ * only 28 days, not 30, subtract two days. Add day of month, minus ++ * one, since day is not finished yet. Leap years handled afterward. */ ++ if (ts.tm_yday == 0) ++ ts.tm_yday = (ts.tm_mon * 31) - ++ ((ts.tm_mon - (ts.tm_mon > 7)) / 2) - ++ 2 * (ts.tm_mon > 1) + ts.tm_mday - 1; + ret = ts.tm_sec + ts.tm_min*60 + ts.tm_hour*3600 + ts.tm_yday*86400 + + (ts.tm_year-70)*31536000 + ((ts.tm_year-69)/4)*86400 - + ((ts.tm_year-1)/100)*86400 + ((ts.tm_year+299)/400)*86400; +diff --git a/tests/f_dup_resize/script b/tests/f_dup_resize/script +index 659c92e..19fa120 100644 +--- a/tests/f_dup_resize/script ++++ b/tests/f_dup_resize/script +@@ -12,7 +12,7 @@ freeb 4 4 + freeb 8195 4 + write $TEST_DATA debugfs + set_current_time 20050411000000 +-set_inode_field debugfs mtime 2005041100000000 ++set_inode_field debugfs mtime 20050411000000 + q + EOF + +diff --git a/tests/f_uninit_last_uninit/script b/tests/f_uninit_last_uninit/script +index 2fe4f3a..376c978 100644 +--- a/tests/f_uninit_last_uninit/script ++++ b/tests/f_uninit_last_uninit/script +@@ -5,7 +5,7 @@ SKIP_GUNZIP="true" + touch $TMPFILE + $MKE2FS -N 32 -F -o Linux -O uninit_bg -b 1024 $TMPFILE 10000 > /dev/null 2>&1 + $DEBUGFS -w $TMPFILE << EOF > /dev/null 2>&1 +-set_current_time 200704102100 ++set_current_time 20070410210000 + set_super_value lastcheck 0 + set_super_value hash_seed null + set_super_value mkfs_time 0 |