On Wed, Jan 29, 2003 at 10:35:40PM -0500, Garance A Drosihn wrote: > At 9:18 PM +0200 1/29/03, Sheldon Hearn wrote: > >Can anyone think of a good way to implement an installworld / > >installkernel seat-belt for source upgrades from stable to current? > > > >What I'm looking for is a way for installworld and installkernel > >in the current source to look for some signature in the target > >filesystem that suggests that a stable world is about to be > >upgraded to current. > > How about requiring the user to touch some file in / or /boot which > indicates the branch-tag that's acceptable for installworlds? Then > you just need to propagate the tag from the 'cvs co' stage to some > file under /usr/src (such as /usr/src/CVS/Tag ). > That's exactly the case when upgrading from -stable to -current. Installkernel should be the first thing to install, and it will complain with:
: You must set up a /boot/device.hints file first.
> So, maybe compare /usr/src/CVS/Tag to /boot/BRANCH_TAG, where the
> second file has to be typed in by the user, by hand. Eh, maybe
> /boot isn't the right place for it. Well, maybe /.branch_tag
>
> >[1] Guess who just trashed a stable installation for the 3rd time
> > in 3 years today?
>
> Well, I almost would have done the same thing in my latest 4.7
> install, but when I cd'ed into sys/i386/conf I thought it was
> odd that there was a GENERIC.hints file sitting there... If
> it wasn't for my desire to compile an SMP kernel instead of
> GENERIC, I might not have noticed until it was too late!!
>
We could expand the ``installcheck'' target in Makefile.inc1 to
ask the user if he actually wants to upgrade from `uname -r`
(the running kernel) to what appears to be an argument to
"cvs update" in the ``update'' target in the same makefile
(-A for HEAD, and RELENG_* otherwise).
Running uname(1) from ${.OBJDIR} is a bad idea as it may not be
runnable at all.
Cheers,
--
Ruslan Ermilov Sysadmin and DBA,
[EMAIL PROTECTED] Sunbay Software AG,
[EMAIL PROTECTED] FreeBSD committer,
+380.652.512.251 Simferopol, Ukraine
http://www.FreeBSD.org The Power To Serve
http://www.oracle.com Enabling The Information Age
msg51330/pgp00000.pgp
Description: PGP signature
