On Tue, Jan 16, 2007 at 06:30:04PM +0100, Patrick Useldinger wrote:
> Nick Holland wrote:
>
> >UpGRADING (changing functionality, changing version numbers) from source
> >is HARD. Having thousands of people thinking they should be able to
> >build a new version from some arbitrary old version by source is a
> >leading cause of developer hair loss, and helping those people would
> >waste an incredible amount of developer time.
>
> Why is is hard? If I pull the complete sources from cvs, so that every
> file used in the Makefiles is present and up to date, the build process
> would be just as trivial I assume. In what case would this _not_ be true?
>
> (I'm really trying to understand where the risk is)
The problem is that the code that makes up OpenBSD is *not* independent.
-current may use certain features of, for instance, the compiler and
kernel that simply were not available in the last release.
For instance, OpenBSD 4.0 introduced a warning for large stacks, and 4.0
kernels are compiled with this option. Compiling a pre-4.0 -current on
3.9 is thus impossible.
Other, usually more subtle, problems also exist. Since snapshots are
easy to support and easy to use, they are preferred.
> >ON THE OTHER HAND, upDATING (patching) by source is trivial. It Just
> >Works (when you follow the directions).
>
> Yes, I updated a 3.9 yesterday, and it worked fine. Updating from source
> would be just as easy (but quicker). So I understand that it's more a
> lack of resources and that you'd be just as fine with binary upgrades if
> they were officially supported.
>
> Which raises a second question - why are packages used for additional
> software but not for OpenBSD core?
Again, because there are lots of interdependencies. It's not like you
can get away with using packages for gcc, glibc and binutils on Linux,
for instance. Sure, they'll package them for you, but don't try to make
any other combination than the official...
However, some things are just that way for historical reasons - it might
be possible to make a package out of Apache 1.3, for instance. (However,
Apache in particular has been changed quite a bit from the 'official'
version.)
Joachim