Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 Oct 2010 10:36:23 +0200
From:      Erik Cederstrand <erik@cederstrand.dk>
To:        Bruce Evans <brde@optusnet.com.au>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, Tim Kientzle <kientzle@freebsd.org>, src-committers@freebsd.org, Ben Kaduk <minimarmot@gmail.com>
Subject:   Re: svn commit: r213643 - head/usr.bin/ar
Message-ID:  <5D7F8DAF-E127-41C0-927B-1D72EFC8F4C4@cederstrand.dk>
In-Reply-To: <20101013143845.I1817@besplex.bde.org>
References:  <201010090531.o995V8n3026865@svn.freebsd.org> <AANLkTim8kj2X7fJMyRHTsXWFs8tvE07439w3Rzan7W1e@mail.gmail.com> <8C667EA1-3012-4499-BCCE-58263165663B@cederstrand.dk> <20101010083725.S3587@besplex.bde.org> <2A26ECE8-7713-49C4-8706-5AA5B232BE29@cederstrand.dk> <20101013143845.I1817@besplex.bde.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--Apple-Mail-2454--499461299
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii


Den 13/10/2010 kl. 05.55 skrev Bruce Evans:

> I also don't like distributions that stamp every file with their =
release
> build time (or maybe a little later, with a single release time).  How =
would
> do you prevent clobbering metadata outside of archives?  What I do is =
install
> with -C -p (and also -v -v to report changes), and then compare =
installed
> copies or just look at the install -v -v output.

What does install(1) do to determine if files are different, if not =
mtime, size or checksums? Metadata like OBJDIR, SRCDIR, timestamps and =
user email address might still differ, even though the binaries are =
functionally equivalent. Would strip(1) or objcopy(1) be able to remove =
or alter these?

>> I'm a real beginner here. As I read the manuals (GNU ar and BSD ar), =
the only flags that really control archive contents on archive creation =
is 'q' and 'r'. The 'l' is ignored, 'c' and 'v' control verbosity, and =
'u' and 's' are for performance purposes that are largely irrelevant =
today (extracting every single *.a file and recreating it wit ar -rD =
takes less than 10 secs on my slow machine). Is there any negative =
impact at runtime from having all archives created with either -rD or =
-qD (ignoring verbosity at build time for now)?
>=20
> I don't really know.  's' is also useful for non-libraries.  'u' is =
related
> to clobbering times, but goes the wrong way by updating the archive if =
the
> file is newer.  I think all FreeBSD libraries should be built with the =
same
> flags (probably ARFLAGS, with you putting -D in it if you don't want =
the
> timestamp update).  However, the places that already use ARFLAGS but =
set it
> themselves may be a problem.  Some Makefiles initentionally avoid =
using
> bsd.lib.mk because they are special and it does the wrong things for =
them.
> They probably don't really care about the exact archive flags, but =
need to
> be checked individually.

I'd like to give it a try. This is where an easy-to-use regression suite =
with reasonable coverage for FreeBSD would come in handy :-)

Thanks,
Erik=

--Apple-Mail-2454--499461299--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5D7F8DAF-E127-41C0-927B-1D72EFC8F4C4>