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