svn commit: r301974 - head/usr.bin/ar
Ed Maste
emaste at FreeBSD.org
Thu Jun 16 21:22:28 UTC 2016
Author: emaste
Date: Thu Jun 16 21:22:26 2016
New Revision: 301974
URL: https://svnweb.freebsd.org/changeset/base/301974
Log:
ar: enable reproducible output by default when invoked as 'ar -s'
ar output is already deterministic by default for ar -q and ar -r, and
when invoked as ranlib. Make ar -s equivalent to ranlib and enable
deterministic output by default in that case too.
PR: 210330
Reviewed by: bdrewery
Approved by: re (gjb)
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D6871
Modified:
head/usr.bin/ar/ar.1
head/usr.bin/ar/ar.c
Modified: head/usr.bin/ar/ar.1
==============================================================================
--- head/usr.bin/ar/ar.1 Thu Jun 16 21:14:25 2016 (r301973)
+++ head/usr.bin/ar/ar.1 Thu Jun 16 21:22:26 2016 (r301974)
@@ -23,7 +23,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd July 24, 2015
+.Dd June 16, 2016
.Dt AR 1
.Os
.Sh NAME
@@ -205,7 +205,12 @@ When used in combination with the
.Fl r
or
.Fl q
-option, insert 0's instead of the real mtime, uid and gid values
+option,
+with the
+.Fl s
+option without other options, or when invoked as
+.Nm ranlib ,
+insert 0's instead of the real mtime, uid and gid values
and 0644 instead of file mode from the members named by arguments
.Ar .
This ensures that checksums on the resulting archives are reproducible
Modified: head/usr.bin/ar/ar.c
==============================================================================
--- head/usr.bin/ar/ar.c Thu Jun 16 21:14:25 2016 (r301973)
+++ head/usr.bin/ar/ar.c Thu Jun 16 21:22:26 2016 (r301974)
@@ -283,7 +283,8 @@ main(int argc, char **argv)
}
/* Set determinstic mode for -D, and by default without -U. */
- if (Dflag || (Uflag == 0 && (bsdar->mode == 'q' || bsdar->mode == 'r')))
+ if (Dflag || (Uflag == 0 && (bsdar->mode == 'q' || bsdar->mode == 'r' ||
+ (bsdar->mode == '\0' && bsdar->options & AR_S))))
bsdar->options |= AR_D;
if (bsdar->options & AR_A)
More information about the svn-src-head
mailing list