Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 24 Mar 1998 22:55:27 -0700
From:      Wes Peters <softweyr@xmission.com>
To:        Derek Flowers <djflow@portwwwbus.tc.cc.va.us>
Cc:        software@kew.com, stable@FreeBSD.ORG
Subject:   Re: Binary package updates, etc.
Message-ID:  <35189C4F.BB17496F@xmission.com>
References:  <Pine.BSF.3.96.980323233422.14462A-100000@portwwwbus.tc.cc.va.us>

next in thread | previous in thread | raw e-mail | index | archive | help
Derek Flowers wrote:
> 
> On Mon, 23 Mar 1998, Wes Peters - Softweyr LLC wrote:
> 
> >  o Are we patching (or replacing) executables, the kernel, source
> >    code, or what?
> >
> > All of the above, with limitations.  Ideally, we'll be able to detect
> > what you have installed on your system and update those parts.
> >
> > We'll need to update, at a minimum:
> >
> >     - Binary executables
> >     - Man page sources
> 
> No problem.
> 
> >     - Kernel object files
> >     - Files, devices, etc., in the kernel source tree
> >     - GENERIC and LINT kernel configurations
> 
> Aren't the kernel object files located in the kernel sources?  At this
> point, someone should just CVSup the kernel sources and make a new kernel.

This is an excellent idea -- I hadn't thought of supping just kernel
source.  Since that will/does work fine, let's not replace it.

> Since kernels are custom built, updating them in place is next to
> impossible.  I'm not for changing anything in the kernel with patches
> right now.  Maybe we can work on creating kernel updates that contain not
> only the sources but the object files necessay to build them.  Even with
> this method, user intervention is necessary to configure and compile the
> kernel.

Precisely my worries in this area as well.  I didn't want to leave 'out in 
the cold' those users to wish to track -STABLE, wisely modify their kernel 
to remove drivers, etc., they don't have, but cannot "make world" for what-
ever reason.  I like your solution better -- they can CVSup the kernel source 
and use our update packages to fill in the userland binaries, config files, 
etc.
 
> >     - /kernel.GENERIC
> >     - system configuration files in /etc, etc.  (pun intended)
> 
> Again, no problem.

Is there any way to pick up the userconfig changes in the currently
booted kernel and apply them to /kernel.GENERIC, so the user won't 
lose their userconfig changes?  That'd be a neat trick, but certainly
not necessary.

> >  o Who is going to make these patches?
> >
> > As with all other FreeBSD jobs, whoever volunteers.  Ideally, this
> > would be SEVERAL someones who use FreeBSD-stable in their daily work
> > and really need this feature.  If they're willing to commit the
> > updates to their systems, the updates are probably in good hands.
> 
> If we stick to doing snapshots, this can be an automated process done at
> the same time the SNAPxxxxxx snapshots are rolled out.

That should work fine.  I can see the setup now: a simple machine with
two identical disks.  When SNAPxxxx is created, the 'updater' installs
it on 'disk 2', boots that, and diffs the filesystem against SNAPxxxx-1
installed on 'disk 1'.  The files that differ are used to roll the update.

> 
> >  o Where do we save the files we are replacing, so we can back out the
> >    patch?
> >
> > In the same place pkg_add already puts this kind of information?  I
> > don't know, this is a good question.  I'd like to see all of the
> > replacements for a particular update stored in a gzipped tarball to
> > save space and inodes, personally.
> 
> Maybe something like /var/updates?  Wherever they go, there needs to be
> plenty of room.

Yeah, something like that.  For those who are space-challenged, symlink
can swoop to the rescue at a moments notice.


> Real Men (T) don't know the meaning of the word ``GUI''.

Really Real Men (tm) don't needs GUIs because they can type 120 wpm.  ;^)
(And use Bash for those unfortunate little misteaks^H^H^H^Hakes.)

> Unfortunately, my skills at XWindows interface programming are naught.  At
> it's simplest, it could fetch a list of all current updates and allow the
> user to choose to install those not already on the system.

Tk is your friend here.  What I had proposed was writing a Tk applet that
displayed a simple 'update my system' button; when the user pushed the 
button it would essentially spawn 'cvsup; cd /usr/src; make world; make 
install".  JMB decided we should call it DAS, because anyone who needed
such a tool would necessarily be "Dumb As Sh*t."  ;^)

-- 
       "Where am I, and what am I doing in this handbasket?"

Wes Peters                                                 Softweyr LLC
http://www.xmission.com/~softweyr                 softweyr@xmission.com

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



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