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.

Reply via email to