On Tue, 2007-10-02 at 06:57 -0400, Mike Frysinger wrote: > i am convinced by superior standards and by good things. forcing the > standard > from bash to POSIX is neither of these. i dont see that as a flaw in my > logic.
Forcing? I'm not asking for anything to be forced, I'm asking for it to be allowed. By the same token, I don't force anyone to write a sh init script and I allow bash init scripts in baselayout. > positional parameters provide a workaround for *1* array. what if you need > two ? three ? well damn, you're pickled in the pooper i think. Not exactly true, you can use multi dimensional arrays through eval usage. Nasty I know, but I think the same thing about arrays like so anyway. > > Pattern matching can be done just as well with case. Infact, tend to use > > [[ == ]] a lot when pattern matching when a case statement would be more > > efficient and use less code. Of course when you're just interested in > > matching one one thing in a code block then it uses more code, but that > > is probably outside the norm. > > case statements can be used in place of *some* statements, but not nearly all > and certainly does not provide the extended logic combining capabilities. > need to do boolean logic ? say hello to convoluted nested case statements! Then variables should be used to make the code readable. > > String replacements. This is the real bug bear isn't it? sh has no easy > > answer to this, but that doesn't mean that we can't use it. We use many > > eclass specific functions, so why not have another? > > foo=${haystack//needle/thread} > > foo="$(ereplace "${haystack}" "${needle}" "${thread}")" > > > > I already have sh code that handles that as we can't call external bins > > in global scope for ebuilds. But for everything else there's sed. > > i dont buy either of these as "solutions" but "workarounds". "workarounds" > get punted for "solutions". By the same token, epatch is a "workaround" to apply non exact patches. The correct "solution" is to craft an exact patch. So we should punt epatch too? > > > > 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. > > > > Using the same argument, just because there is a GNU extension does not > > mean it should be used. > > yes it does. here's the scenario: use 1 find statement that is clear and > concise (but requires a GNU extension) or chain 1 find statement into > multiple other programs and combine it with shell code. you get the same > result, but the former is a ton easier to maintain. bogus scenario you say ? > > i just dealt with it. Let me guess - openssl? Thanks Roy -- [EMAIL PROTECTED] mailing list