Gentoo Archives: gentoo-dev

From: Alec Warner <antarus@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] My wishlist for EAPI 5
Date: Wed, 20 Jun 2012 21:34:40
In Reply to: [gentoo-dev] My wishlist for EAPI 5 by Richard Yao
On Wed, Jun 20, 2012 at 10:25 PM, Richard Yao <ryao@g.o> wrote:
> Here is my wishlist for EAPI 5: > > Multilib (and/or multiarch) support > Automated epatch_user support > Parallel make checks > POSIX Shell compliance > > Here are some explanations: > > Multilib (and/or multiarch) support >        The current binaries cause a great deal of pain, particularly when a > user does not want to upgrade something. I had this problem with WINE > and glibc because I wanted to avoid the reverse memcpy() fiasco on my > systems. This situation would have been avoided entirely if the package > manager supported multilib. > > Automated epatch_user support >        Users should be able to test patches without modifying their ebuilds. > This also saves developer time because we don't need to navigate the > portage tree (or an overlay), make a change and test it. We could just > dump the patch in the appropriate directory and build. > > Parallel make checks >        As it stands, `make check` is so slow that few people actually run it > and QA suffers as a result. We have the ability to do parallel checks, > but we need to explicitly put `emake check` into the ebuild and use > autoconf 1.12 to get that. It would be best if this behavior were the > default, not the exception. > > POSIX Shell compliance >        There has been a great deal of work done to give the user full control > of what is on his system and there is more that we can do there. In > particular, I think a lean Gentoo Linux system should be able to use > busybox sh and nothing else. That requires POSIX shell compliance. > OpenRC init scripts support this and the configure scripts support this. > The few exceptions are bugs that are addressed by the Gentoo BSD developers. >        As such, I think we should make EAPI=5 use POSIX shell by default. If > an ebuild requires bash, we can allow the ebuild to declare that (e.g. > WANT_SH=bash), but that should be the exception and not the rule. >
Our ebuilds are written in bash. I dunno about you, but bash sucks for writing anything remotely complicated in. My goal is any script that is 200 lines of bash or more gets rewritten in something else (usually python.) I mean the canonical example here is the old python.eclass which was a masterful example of how bash can really be used to shoot yourself in the foot. However I'd argue that the opposite of what Ciaran said is true. Screw trying to get the PM to stop using bash; developers are not interested in writing ebuilds in posix shell; bar none. Why would I as an ebuild author waste a bunch of time writing my ebuild in posix compatible sh when I can use bash (and if I had a better language than bash to write ebuilds in; I'd use that too.) You are free to write your ebuilds in posix sh; good luck to you. -A


Subject Author
Re: [gentoo-dev] My wishlist for EAPI 5 Ben de Groot <yngwin@g.o>