Updating -CURRENT, what about outdated files?
Ruslan Ermilov
ru at freebsd.org
Sun May 25 01:43:57 PDT 2003
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20030525/17c5ccda/attachment.bin
More information about the freebsd-current
mailing list