Why should a package respect LDFLAGS anyway

August 13, 2010 · Posted in Gentoo, Linux · 1 Comment 

Following my last post about Gentoo QA and Diego’s one , I will try to explain why this QA issue is that important.  As you already know, the Gentoo Council decided to add -Wl,–as-needed to default LDFLAGS. If you don’t know what does this mean, you may want to read this article from the QA documentation. However looking at this traker, I see more than 90 bugs not respecting LDFLAGS at all. Can you see any *doh* here? Yeah thats right. While the move towards -Wl,–as-needed  addition to LDFLAGS is a big step forward, the tree is not ready for this just yet. Thanks to Diego’s tinderbox for filling all those bugs, we are now able to fix these packages once and for all.

Recently, a discussion took place on gentoo-dev ML about this issue and as it turned out, few developers didn’t actually know how to track packages that don’t respect LDFLAGS. One way is to read the build system or just observe the output during build time. Another decent way is to add –Wl,–hash-style=gnu to default LDFLAGS.  This is how it works: The hash-style ( in our case GNU ) ends up in the final binary. If portage can’t find it there, it simply means that the ldflags where just ignored ( Thanks to Samuli for the explanation ). More info about –hash-style can be found on ld man page.

For our fellow Arch Testers, amd64/x86 pages[1][2] have just been updated to include this piece of information, so unless you want to use my QA powerzz against you, simply adjust your LDFLAGS before you perform any kind of testing.

Update (24/8/2010):

-Wl,–hash-style=gnu is now default on linux/amd64/10.0/developer profile. Lets see if this help us spot more broken packages

[1]http://www.gentoo.org/proj/en/base/x86/arch-testers-faq.xml

[2]http://www.gentoo.org/proj/en/base/amd64/at/index.xml

Should we care about the numbers or the quality?

July 11, 2010 · Posted in Gentoo, Linux · 16 Comments 

Today, I am gonna rant a little bit wrt the QA status of many packages residing in Gentoo portage tree.  Few of my fellow colleagues think that all that matters is the # of ebuilds in our portage tree. Adding more and more ebuilds in our tree is a good way to prove that Gentoo is an active and cutting-edge distro. Sorry, but you failed :-)

Looking through our QA bugs[1] it looks pretty obvious ( at least to me ) that the ebuild QA level has lower priority than it should be. The most common bugs are

  • packages that don’t respect the user CC/C{XX}FLAGS/LDFLAGS
  • wrong dependencies ( listed build dependencies as runtime dependencies )
  • packages that bundle external libraries == security problems
  • Badly written ebuilds. Missing || die statements, install precompiled binaries to /usr
  • etc etc etc

Whilst I do understand that it is not possible to always spot these type of QA errors, this looks quite bad to the rest of the community. Honestly I would prefer a much lower ebuild number on portage but with QA level than having broken ebuilds everywhere just to claim that “Gentoo has the latest version of each package” available.

The lack of manpower problem is more than obvious, so do not be afraid to ask help from our user community. Let them become proxy-maintainers[2] for the packages that you have little or no interest  in maintain them anymore.  Teach some of them to write proper ebuilds and/or bring them to developer family by mentoring them. Furthermore, if you do not care for a package anymore, just say it out loud and let somebody else maintain it :)

[1]:  QA bugs

[2]: proxy-maintainer

GreekBloggers.com
Patras Wireless Metropolitan Network
Planet Hellug
iloog
forum hellug