Re: Updating -CURRENT, what about outdated files?

From: Ruslan Ermilov <ru_at_freebsd.org>
Date: Sun, 25 May 2003 11:43:44 +0300
On Sun, May 25, 2003 at 05:48:23PM +1000, Joshua Goodall wrote:
> On Sat, May 24, 2003 at 08:48:17PM +0300, Ruslan Ermilov wrote:
> > On Sat, May 24, 2003 at 06:44:32PM +1000, Joshua Goodall wrote:
> > > On Sat, May 24, 2003 at 06:44:19AM +0300, Ruslan Ermilov wrote:
> > > > I do this a lot too.  And I use "find . -mtime +1 ! -type d" to
> > > > seek for the stale stuff.  This of course requires that you're
> > > > not running with ``INSTALL="install -C"'' in /etc/make.conf.
> > > 
> > > Is there any part of installworld that uses tools other than
> > > rm, mtree, install and ln?
> > > 
> > Sure, a lot of.  We use all tools that are copied into the
> > ${INSTALLTMP} as the first step of installworld.
> 
> I must correct myself.
> 
> I should have written "Is there any part of installworld where
> files/dirs/links are installed using tools other than ..."
> 
> Actually the total list seems really short to me;
> 
> [ awk cat chflags chmod chown date echo egrep find grep
> ln make mkdir mtree mv pwd_mkdb rm sed sh sysctl
> test true uname wc zic
> 
Bear in mind the conditionals of make(1) and sh(1)?

> I can think of three methods;
> 
> i)   a simple wrapper that attempts to parse the subset of
>      invocations used by installworld, and maintain a log,
> ii)  an LD_PRELOAD-based wrapper, taking advantage of recent
>      dynamic linkage changes,
> iii) building installation editions of those tools, so that they 
>      maintain a log of activity.
> 
> Obviously not all are attractive.
> 
> > Some files are only installed if the destination does not yet
> > exist, and there you are going to have a problem with this
> > approarch.
> 
> Either way, the file exists.  I wasn't looking for anything more
> sophisticated than that in a first pass at this.
> 
But you don't often know if installworld attemps to install it
or not, if it wasn't here:

src/sys/boot/i386/loader/Makefile:

beforeinstall:
...
.if !exists(${DESTDIR}/boot/loader.rc)
	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
		${.CURDIR}/../../forth/loader.rc ${DESTDIR}/boot
.endif

> Other than the general case of using install -C, can you
> point out any specific examples?  I thought that was the point
> of mergemaster; to manage elements of the distribution where
> simply overwriting would be inappropriate.
> 
Nope, mergemaster(8) deals with updating of /etc only, unless
I'm horribly mistaken (I don't use it personally, but pretty
much do what it does manually).


Cheers,
-- 
Ruslan Ermilov		Sysadmin and DBA,
ru_at_sunbay.com		Sunbay Software AG,
ru_at_FreeBSD.org		FreeBSD committer,
+380.652.512.251	Simferopol, Ukraine

http://www.FreeBSD.org	The Power To Serve
http://www.oracle.com	Enabling The Information Age

Received on Sat May 24 2003 - 23:43:57 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:09 UTC