tech-userlevel archive

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

Re: Importing tmux into base

On Fri, Feb 11, 2011 at 10:54:14PM +0000, Jonathan Perkin wrote:
> * On 2011-02-11 at 22:31 GMT, Simon Burge wrote:
> > Thor Lancelot Simon wrote:
> > 
> > > I think my company is not unusual among companies (past and present)
> > > doing embedded stuff with NetBSD in that the approach we've taken:
> > > minimize the set of external stuff used, try to feed back anything
> > > small and seemingly generally useful (liblzf, ee) into base NetBSD,
> > > and just accept the burden of converting other stuff to use BSD
> > > Makefiles and maintaining it in a private tree.
> > 
> > Another (no longer existing!) NetBSD company did exactly this as well.
> > There is some short-term pain in converting larger pieces of software
> > (php5 comes to mind) and one learns to appreciate the NetBSD build
> > system even more. :)
> This is exactly the direction I'd prefer to see the base system go in, a
> mini-pkgsrc type setup to do just the fetch/distcheck/patch bits, then we
> only need to import a few makefiles to add new software.

I don't think your "this" is very much like my "this" or Simon's "this".

My system build is not anything like that at all, nor is the process of
integrating software into my source tree.  Sure, I have some automation
to help me update external software, but it is not -- and can not be --
at all like pkgsrc where one is _wrapping_ the package's native Makefiles.

Oddly enough, ripping the stock Makefiles (and, worse, autoconf, and,
worse, automake) away from a large piece of software like php5 (or,
heaven help me, anything certain individuals
Ralf*COUGH*Engel*COUGH*nevermind) have even thought about touching is
not easy, and is unlikely to ever be fully automatic.  And unfortunately,
being able to cross compile this stuff requires exactly that.  It's why
pkgsrc can't cross-compile: because the shiny dancy happy automagic
configure-and-build frameworks it wraps can't cross-compile.  Sure, they
can in theory, but when no pilot ever actually manages to safely fly
the plane that way, maybe the reasonable conclusion is that it's an
unsafe aircraft, not just pilot error.

I hear a whole lot about how this ought to be done from people who in
fact have not had to do it, or have not had to maintain it for years
on end for use with a shipping product as NetBSD and external software
and local software development continue apace.  The typical such
suggestion is that there is some magic way I could and should just use
pkgsrc, or parts of pkgsrc, or something new that is like pkgsrc.

I do not end up terribly surprised that the people I talk to who have
had jobs like mine working on products like the one I work on usually
seem to have ended up with the same solution I did.  There is a lot
of hand work involved but at least it works *at all* and can be relied
upon to keep doing so, unlike the all-too-easy-to-propose alternatives!


Home | Main Index | Thread Index | Old Index