Re: How should we handle fink-bld?
Alexander Hansen <[email protected]>
| Newsgroups | gmane.os.apple.fink.core |
|---|---|
| Organization | Fink Core Team |
| Message-ID | <[email protected]> |
On 4/23/12 6:15 AM, Dustin Cartwright wrote: > On Mon, Apr 23, 2012 at 12:43 AM, Alexander Hansen > <[email protected] <mailto:[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 We originally used the system's "nobody" user, but after some discussion it was decided that there were potential risks associated with that (which I can't remember offhand). It was decided to set up our own unpriviliged user which had a low probability of any upstream package using for anything. -- Alexander Hansen, Ph.D. Fink User Liaison http://finkakh.wordpress.com/2012/02/21/got-job/ ------------------------------------------------------------------------------ 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