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>