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

Attachment: msg51330/pgp00000.pgp
Description: PGP signature

Reply via email to