Re: How should we handle fink-bld?

Dustin Cartwright <[email protected]>
Newsgroups gmane.os.apple.fink.core
Message-ID <CACcoanwV6pjLnGAiM2TfHs47JJWsaOtsH=XnEiWOQvGyOENmLQ@mail.gmail.com>
On Mon, Apr 23, 2012 at 12:43 AM, Alexander Hansen <
[email protected]> wrote:

> Now that we've got master fink able to bootstrap, another question to
> resolve before we do a release is how we bring in the 'fink-bld' user.
>
> 1) One option that has been mentioned (dmacks) is to append
> passwd-fink-bld in the implicit BuildDepends for every package.  This is
> currently done for 'dev-tools' as well.  One drawback is that our
> 10.5/10.6 passwd is still monolithic, so this means that all of passwd
> will get installed (not just built) as soon as a user installs his/her
> first package. On the plus side, we're not increasing the list of
> "special" (built as part of the bootstrap operation but not Essential)
> packages, and it will take but one additional line of code in
> PkgVersion.pm to implement.
>
> 2) Another choice would be to strip the passwd-fink-bld stuff out of the
> passwd package and let fink add its user in its own PostInstScript.
> This would involve a lot more coding that option 1).  On the other hand,
> we avoid installing all of passwd for all 10.5/10.6 users.
>

Another option is:

3) Keep fink-bld optional and rely on the existing fallback of building as
the standard OS X user "nobody." Using fink-bld could still be encouraged,
but at least people wouldn't be forced to modify their user database to
install fink. For example, the bootstrap script could have an additional
question in order to add fink-bld and yes could be the default and
recommended answer.

A key question is: what are the benefits of building as "fink-bld" over
building as "nobody"? I suppose that in theory fink-bld is more isolated,
but practically speaking, does it matter? On my computer, the only files in
/private and /usr which belong to "nobody" are a temporary folder, an empty
launchd plist, and the "locate" database (I didn't have the patience to
search the whole file hierarchy, but /private includes /etc and /var). An
errant build causing damage to any of these is not a significant concern.

Building as nobody is lightly tested compared to building as fink-bld. On
the other hand, adding fink-bld involves touching the user database, which
inherently more risky than running the compile scripts as "nobody."

I can see the argument that in some ways, it's simpler to just force
everyone to install fink-bld, but in other ways it's more complicated. If
fink-bld is optional, then there's no need to worry about making sure it
gets added during the upgrade from 0.32 to 0.33 and different ways that can
fail. There's no need to worry about the admittedly unlikely scenario of
the system already having a user with UID 266, and what would happen if
fink-bld gets added with the same UID.

I wasn't paying attention to fink development when --build-as-nobody was
introduced, so maybe it's clear to everyone else why "fink-bld" is much
better than "nobody." However, from my perspective, the discussion quickly
jumped to the mechanics of adding "fink-bld" without every discussing
whether it's really necessary. Maybe it is, but I just wanted to raise the
possibility of avoiding it.


Dustin

------------------------------------------------------------------------------
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2

_______________________________________________
fink-core mailing list
[email protected]
List archive:
http://news.gmane.org/gmane.os.apple.fink.core
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-core
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.