Date: Sun, 25 May 2003 11:43:44 +0300 From: Ruslan Ermilov <ru@freebsd.org> To: Joshua Goodall <joshua@roughtrade.net> Cc: freebsd-current@freebsd.org Subject: Re: Updating -CURRENT, what about outdated files? Message-ID: <20030525084344.GA26791@sunbay.com> In-Reply-To: <20030525074823.GK91207@roughtrade.net> References: <20030523203517.GA93787@attbi.com> <20030524034419.GA63643@sunbay.com> <20030524084432.GA509@roughtrade.net> <20030524174817.GA42456@sunbay.com> <20030525074823.GK91207@roughtrade.net>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --]
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@sunbay.com Sunbay Software AG,
ru@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
[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (FreeBSD)
iD8DBQE+0IJAUkv4P6juNwoRAkOpAJ4xofx5b7T2dq6yp/12Q/X0fViEhQCcDS3x
g7PJor9YaOm1pDzzAjlX/Cs=
=3Egf
-----END PGP SIGNATURE-----
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030525084344.GA26791>
