Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 22 Jul 2000 22:46:13 -0700
From:      Peter Wemm <peter@netplex.com.au>
To:        Brian Fundakowski Feldman <green@FreeBSD.org>
Cc:        "David O'Brien" <obrien@FreeBSD.org>, cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src Makefile.inc1 
Message-ID:  <200007230546.WAA19776@netplex.com.au>
In-Reply-To: Message from Brian Fundakowski Feldman <green@FreeBSD.org>  of "Sun, 23 Jul 2000 01:35:02 EDT." <Pine.BSF.4.21.0007230125490.565-100000@green.dyndns.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
Brian Fundakowski Feldman wrote:
> On Sat, 22 Jul 2000, David O'Brien wrote:
> 
> > On Thu, Jul 20, 2000 at 03:53:53AM -0400, Brian Fundakowski Feldman wrote:
> > > > This is arguably a bug in install(1), which should have an option to
> > > > save a backup copy.
> > > 
> > > I'd rather not make install(1) even more of a superset of the original
> > > than it is.
> > 
> > Why?  DES's request sounds quite reasonable and would be useful in parts
> > of our installation process.
> 
> I didn't say it's not useful, I am merely stating that it's creeping
> featurism, and I'd like not to do that.  Unless it would allow me to
> do it with less work, I don't see the point; the "less work" I don't
> see because to me I could type
> 
> target:
> 	${INSTALL} -C -p ${DESTDIR}${PROG} ${DESTDIR}${PROG}.old
> 
> as quickly as
> 
> target-replacing-install:
> 	${INSTALL} -C -B ${DESTDIR}${PROG}.old ${PROG} ${DESTDIR}${PROG}
> 
> I don't see how you could do it just by replacing INSTALLFLAGS unless
> you were simply installing just one single file.  That's my reasoning
> for believing it's not useful.  If you can show me a way it really will
> be useful, I won't deny it if it works.

Consider:

1: cd libexec/rtld-elf; build a corrupt ld-elf.so.1

2: make install
   - working ld-elf.so.1 gets copied to ld-elf.so.1.old
   - bad ld-elf.so.1 gets installed as ld-elf.so.1

3: accidently do a second make install
   - bad ld-elf.so.1 gets copied over the good ld-elf.so.1.old
   - no change - the new ld-elf.so.1 is the same as the installed one
     so -C optimizes out the install.

Note that we unconditionally destroyed our ld-elf.so.1.old.

A working "install -C -B foo.bak ./foo /usr/libexec" would have saved
us from this as it would mean that foo.bak would only have been clobbered
at the point that -C detected a new unique version being installed and that
there was something worth backing up.

I still believe a backup option is worthwhile.  The same weakness has cost
me a working backup of /boot/loader, so I know the present 'manual copy'
is too easy to go wrong.

Cheers,
-Peter
--
Peter Wemm - peter@FreeBSD.org; peter@yahoo-inc.com; peter@netplex.com.au
"All of this is for nothing if we don't go to the stars" - JMS/B5



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200007230546.WAA19776>