On Tuesday 02 October 2007, Roy Marples wrote: > On Tue, 2007-10-02 at 09:29 +0200, Fabian Groffen wrote: > > On 01-10-2007 22:59:40 +0100, Roy Marples wrote: > > > I would like to propse a new versionator.eclass for consideration > > > (attached). > > > > > > This version, I believe, is more readable and maintainable then the one > > > currently in portage. It also uses a lot less code and has the bonus of > > > being pure sh. > > > > What is your rationale to say that "pure sh" is a "bonus"? Especially > > given the environment this is used in as ferdy already pointed out? > > The bonus is that it works on shells other than bash.
which is irrelevant here > > I personally like consistency. So if we use bash in ebuilds, then I'd > > like to use bash in eclasses too. I'm interested in your motivation to > > make this eclass "pure sh", whatever that may mean. > > I like consistency too, and I'll be pushing for using sh instead of > forcing bash. pushing a new standard by slowly converting the tree is not the way to go. > My motivation? Simple. I don't believe that the portage tree should be > locked into using one shell. I believe that vendor lock-in should happen > at the social level, not the technical one. portage itself was a lock-in > until until PMS came about, now I'd like to remove the lock-in from the > tree itself. This in itself is a good thing as we can pick and choose > the tools we want to use as they're all playing on the same field. POSIX lacks useful bash extensions that are used heavily ... arrays, string replacements, pattern matching with [[ == ]] to name some. here's your "technical" reason for using the bash standard over POSIX: it's superior. > This same rationale applies to scriptlets outside portage tree use, such > as revdep-rebuild [1]. It's more of a bashlet, but I've also > demonstrated that there was no reason to force bash there. not really ... there's a reason the environment dictated inside of the package manager requires GNU stuff ... the extensions provided make life easy. all this conversion from trivial GNU extensions to limited POSIX interfaces is a pita (as can trivially be seen with find and xargs). as for "no reason", just because it can be done differently doesnt mean it should. -mike
signature.asc
Description: This is a digitally signed message part.