[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: openbsd in general
Eric Hake <eric@centercomp.com> writes:
> >Everything should be distributed as source only. If someone can't handle
> >doing 'make' and 'make install', with prehaps a 'configure' thrown in,
> >they really shouldn't be running any sort of UNIX.
Well, they might well run a pre-built Red Hat Linux or such.
> I don't agree. When I installed OpenBSD, I didn't have to 'make OpenBSD'
> :), it came in binary form. I have since installed 20+ packages to get the
> level of functionality that I was used to with BSDI.
If you didn't get it in binary form you couldn't get it built. You
better consider that binary release a first step in a bootstrapping
process.
> With a binary distribution (in addition to source patches, etc. available
> separately), it would be great to be able to install OpenBSD, and then FTP
> a 'contrib' binary package, and bingo! You're up and running.
Sorry, no. This would work if the OS didn't change, provided there's
some team that made sure things work out. If you want that you may be
better off with Red Hat Linux or such---they've got plenty of staff to
do this work for you.
However, if you ever wind up with half a dozen different versions of
libc.so and can't make the ftp'ed binaries work because they still
need another version you'll sooner or later start building things from
source on your own system. About two years ago I've been setting up
an ISP using Linux [1] and we first tried to do it with binary
distributions. But they were permanently outdated, so if you need to
be up-to-date with security patches this is plain useless. If you try
to add precompiled binaries you'll have the problem with the shared
libraries and incompatibilities between interacting packages, so it
doesn't work either. The only feasible way is to keep a source tree
and build everything from scratch periodically (i.e. whenever you feel
like it or you updated a shared lib again).
Here's what I do right now: I put things in some CVS repository
(actually, one I "own" for my ports collection and a CTM'ed version of
the OpenBSD repository) and use a Makefile to rebuild everything if
necessary. Off the head the necessary rules basically look like this:
-----
PORTS?=xfree86 qmail emacs jove ssh gmake bash [...]
world:
.for port in ${PORTS}
cvs checkout ${port}
cd ${.CURDIR}/${port} && ${MAKE} -f Makefile.wrapper \
&& ${MAKE} -f Makefile.wrapper install
rm -rf ${.CURDIR}/${port}
.endfor
-----
Those Makefile.wrapper files just hold the targets "build" (default)
and "install" to take care of running imake or ./configure or whatever
just as needed. And maybe a "clean" if I feel like it.
Ben
[1] Before people start making fun of me about my Linux background: We
were running FreeBSD before, but had to drop it because 2.0 had
those VMM problems which were plain deadly for a news server.
NetBSD wasn't a choice at that time because we needed support for
NCR PCI controllers and AFAIK OpenBSD didn't yet exist at that
time.
--
Ben(edikt)? Stockebrand Runaway ping.de Admin---Never Ever Trust Old Friends
My name and email address are not to be added to any list used for advertising
purposes. Any sender of unsolicited advertisement e-mail to this address im-
plicitly agrees to pay a DM 500 fee to the recipient for proofreading services.