Re: OS X packaging is an embarrassment

[prev] [thread] [next] [lurker] [Date index for 2006/05/22]

From: Luke Kanies
Subject: Re: OS X packaging is an embarrassment
Date: 04:45 on 22 May 2006
On Sun, 21 May 2006, Peter da Silva wrote:

> > For FreeBSD, I have to convert that package name to a port name,
>
> Which can be trivially automated.

luke@freebsd1(0) $ ports_glob '*openldap-client*'
net/openldap22-client
net/openldap23-client

Which one do you pick?  FreeBSD has a default version you can use, but,
well, you have to manually specify that you would like to use the default
version.  Expect scripts, here I come!

> > and then I
> > have to cd into the stupid port directory and then I have to run "make
> > package".
>
> Which can be trivially automated.

Hah!  "trivial" and "make", in the same sentence.  Sweet!

> > "make package" is not significantly better than "make install"
> > for the purposes of automation, which is to say, introspection and
> > interaction with the computer.
>
> If you want to do multiple installs (which is when that trivial automation
> mentioned above becomes worth arsing around with) the result is that you
> have a package that you can pkg_add on the rest of your boxes.

Except that FreeBSD ships with no tools that can be used to determine if the
installed package is the latest version available.  The only tool that could
work, portversion, checks the ports directory and the package directory,
whether you want it to or not.  I could find no evidence of a way to only
check the package source.  So sure, it's automatable, as long as you don't
mind every FreeBSD system attempting to upgrade very single package every
time you run your verification tool, since every package will show a new
port available.  Thanks!

> > Again, I'm sure this is great for people who like having their own
> > synchronous conversations with computers.
>
> I don't find that FreeBSD forces me to have conversations with my computer.

When was the last time you tried to completely automate one?

> Linux kernel configuration, however...

I use a Linux box every day, and I do stuff with it that should definitely
not be done, and I have not had to configure my kernel or make my own kernel
in at least three years.

And frankly, I it's just silly to talk about "Linux"; talk about Debian, or
Red Hat, or Gentoo, but there is no "Linux".  There's only one FreeBSD
distribution, but each Linux distro is unique and should be treated as a
completely separate OS.

If you use Slackware, you get what you deserve, but I defy you to somehow
find Debian more execreble than FreeBSD.

> > Why go to all that effort to make things "easy" if it's not easy to hand off
> > to a computer?  It's stupid.
>
> Because it's easy to hand off to a computer?

Then you're a better man than I am.  That's been part of my job for the last
three months, and without exception I've been able to automate everything
faster on every other OS than on FreeBSD.

Have you actually handed it off?  Have you done so in a way that's generic,
and whose model can be used on other OSes?  Sure, anyone can write a one-off
imperative script for any OS; but I contend that if you had to write a
single tool that could treat any set of, say, three operating systems
equally, then you would find FreeBSD to be the most difficult to model
successfully.

And that's because it's a pain in the ass to automate, no matter how great
it was 15 years ago, or how easy "make install" seems.

Yuck.

-- 
                        ACHTUNG!!!

Das machine is nicht fur gefingerpoken und mittengrabben.  Ist easy
schnappen der springenwerk, blowenfusen und corkenpoppen mit
spitzensparken.  Ist nicht fur gewerken by das dummkopfen.  Das
rubbernecken sightseeren keepen hands in das pockets.  Relaxen und
vatch das blinkenlights!!!
---------------------------------------------------------------------
Luke Kanies | http://reductivelabs.com | http://madstop.com

There's stuff above here

Generated at 14:00 on 27 May 2006 by mariachi 0.52