On Sun, Dec 6, 2009 at 5:53 PM, Allan McRae <allan@archlinux.org> wrote:
Hi,
We have been through this many times... you should always build in a clean chroot. But there are continuously bugs about packages linking to non-deps. We should never have such bugs.
e.g. (FS#17409)
readelf -d /usr/bin/mpd ... 0x00000001 (NEEDED) Shared library: [libjack.so.0] ...
pactree -u mpd | sort ... gmp imlib2 kbproto kernel-headers ...
How did that get to linking to jack without jack being in its dependency tree? Poor packaging...
The tools are very simple to use and are described in the wiki (http://wiki.archlinux.org/index.php/DeveloperWiki:Building_in_a_Clean_Chroot). There is _no_ excuse not to use them. The are minor changes needed for doing i686 builds on x86_64 and vise versa, but there are plenty of us doing that so help is available. Ask for help if needed.
Agree. What's more frustrating is that these "missing" dependency are detected by namcap: $ namcap /var/cache/pacman/pkg/mpd-0.15.6-1-i686.pkg.tar.gz mpd E: Dependency detected and not included (jack-audio-connection-kit) from files ['usr/bin/mpd'] so not only a clean chroot is not being used, but namcap is also not used as well.
So, we need a creative punishment for those that causes bugs by not building in a clean chroot. It is too early in the morning for me to be creative so I am struggling to come up with ideas besides beatings and removal of commit privileges. Any better ideas?
Allan