NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: patching for 2010-002: I feel like an idiot, but this isn't working




Greg,

Thank you for the explanation of the different kinds of tags, and
especially:

So, you can follow netbsd-5-0 and get software versions along an arc
From 5.0 to 5.0.1 to 5.0.2 and so on.  Updates to branches like
netbsd-5-0 are extremely conservative.

Or you can follow netbsd-5, which is on an arc from 5.0 to 5.1 etc.
These updates are still conservative, and I regularly update along
netbsd-5, rebuild and reinstall the entire system.

Now I understand why you suggested that I track netbsd-5.  I will do
so, and with luck, save myself having to reinstall the O/S for a few
years.  ;-)

You add:

I think it is best to update the entire tree to the new branch
and do a full rebuild,

Okay, I will try that.  If I understand things correctly, it would
work to:

  - Run a nightly cronjob that updates all of /usr/src to netbsd-5
    nightly, runs the equivalent of "make" (but *not* "make install"),
    and even recompiles the kernel (but does *not* install it).

  - On an occasional basis, when there's a security update or when the
    changes seem to be piling up, install the new kernel and reboot,
    *then* install the new userland.

Does that make sense?


Andy,

Thanks for your continuing help and supportive comments.

http://www.netbsd.org/releases/release-map.html

I had scanned that some time ago, but it was fruitful to look
at it again in light of Greg's explanation.

Find a directory somewhere, then do this stuff to track the netbsd-5 branch:

mkdir src tools obj (<--- tools and obj to store stuff when building kernels)
cvs -d :pserver:anoncvs%anoncvs.netbsd.org@localhost:/cvsroot checkout -PA
-rnetbsd-5 src (<--- for initial download of src dir)

I suspect I don't need most of the above; I already have a
full source tree (symlinked from /usr/src), and I can build
kernels just fine without "tools" or "obj" - I'm enough of
a dinosaur to "config" and "make depend && make" manually
without the newfangled "build.sh".  ;-)

I'm not sure any of it is needed to recompile "everything" natively
(no cross-compiling) - perhaps just /usr/obj?

cvs -d :pserver:anoncvs%anoncvs.netbsd.org@localhost:/cvsroot update -PAd
-rnetbsd-5 src (<--- to keep source dir updated)

Or just:

  cd /usr/src
  /usr/bin/cvs -q update -r netbsd-5 -PAd

You slightly misunderstood what I do. What I do is I make sure my
netbsd-5 tree is up to date, then
[build and install kernel]
then reboot to make sure it works (since the userland
is older than the kernel, it will be compatible). Then go to a
netbsd-5 branch directory on the ftp server and download an install
kernel,
[install it, boot from it, select "upgrade", making sure you know
where your sets are]

Well, if I'm going to keep my sources up to date, I might as
well just rebuild.

Greg, I've been looking at /usr/src/Makefile and
/usr/share/mk/bsd.README, trying to figure out what target(s) to
use, and any options to set.  That's a *lot* of documentation,
more than I can absorb in a couple of hours.

I think that what I want is something like:

   make USETOOLS=no MKUPDATE=yes DESTDIR=/some/path buildworld
   make USETOOLS=no MKUPDATE=yes DESTDIR=/some/path installworld

... except that the "world" stuff seems to make installation
sets, and I don't really want that.  Also, it's not clear
to me that this (the installation part) won't stomp on my
config files.  And, does this build X as well, or do I have
to do that separately in xsrc?

Perhaps you could tell me what commands you use to "rebuild and
reinstall the entire system"?  It would probably help a lot!

Anne.


Home | Main Index | Thread Index | Old Index