Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 16 Jun 2016 17:42:01 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-bugs@FreeBSD.org
Subject:   [Bug 210330] "ar -s" not deterministic by default
Message-ID:  <bug-210330-8@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D210330

            Bug ID: 210330
           Summary: "ar -s" not deterministic by default
           Product: Base System
           Version: 11.0-CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: bin
          Assignee: freebsd-bugs@FreeBSD.org
          Reporter: emaste@freebsd.org

ar(1) produces deterministic output by default for the -q/-r options
(append/replace), as described in the -D option:

     -D      When used in combination with the -r or -q option, insert 0's
             instead of the real mtime, uid and gid values and 0644 instead=
 of
             file mode from the members named by arguments file ....  This
             ensures that checksums on the resulting archives are reproduci=
ble
             when member contents are identical.  This option is enabled by
             default.  If multiple -D and -U options are specified on the c=
om=E2=80=90
             mand line, the final one takes precedence.

It is not documented here, but this is also the case when ar is invoked as
ranlib(1).

However, 'ar -s <file>' is supposed to be equivalent to ranlib:

     -s      Add an archive symbol table (see ar(5)) to the archive specifi=
ed
             by argument archive.  Invoking ar with the -s option alone is
             equivalent to invoking ranlib.

but ar -s does not produce deterministic output by default.

In addition to -q/-r, ar -s (AR_S in ar.c) will write an archive symbol tab=
le
if no mode is specified (-s with no other args), or in combination with
-p/-t/-x (which are really read-options).

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-210330-8>