Date: Fri, 31 Jan 2003 10:41:53 +0200 From: Ruslan Ermilov <ru@freebsd.org> To: Garance A Drosihn <drosih@rpi.edu> Cc: Sheldon Hearn <sheldonh@starjuice.net>, current@freebsd.org Subject: Re: Seat-belt for source upgrades from stable to current Message-ID: <20030131084153.GC6346@sunbay.com> In-Reply-To: <p05200f31ba5e4c0bbc26@[128.113.24.47]> References: <20030129191822.GO78848@starjuice.net> <p05200f31ba5e4c0bbc26@[128.113.24.47]>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
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,
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+OjbQUkv4P6juNwoRAr8AAJ9oxH6sbSqdjGSSRlH+w54WX+6ljQCbB6/8
RowWl5qu8twA/q9Z4mPOO00=
=1kSo
-----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030131084153.GC6346>
