Thank you for replying. I see now that I should clarify further what is 
bothering me, as you didn't quite see my point. I guess it got lost in the 
noise. No more stories then :)

>Remember USE flags are for *optional* dependencies. Mandatory dependencies 
>will remain no matter what USE flags you set.

I understand. That is not the problem.

>How did you determine that? Did the ebuild inherit any eclasses and did you 
>look in those? Also make sure you have >=gentoolkit-0.2.2.

Gentoolkit is 0.2.2. After equery, I took a look at the ebuild.
As for the eclasses, I must admit I'm still not too comfortable with them, 
which is what I was actually referring to when I said I need to understand 
portage better. It's a shame really considering that I've been using gentoo 
for two-and-a-half years. I need to get spanked ;) . But as far as I 
understand it (and from what I can see looking at the eclasses) they are 
merely collections of useful shell functions which devs can use when writing 
ebuilds.

Anyway, to get rid of unnecessary confusion, I will give you an example 
package which I remember, and whose ebuild is simple enough so that it does 
not include any complicated inherits. In fact, it is short enough to be 
included in this mail.

> # Copyright 1999-2006 Gentoo Foundation
> # Distributed under the terms of the GNU General Public License v2
> # $Header: /var/cvsroot/gentoo-x86/media-gfx/gqview/gqview-2.0.1.ebuild,v
> 1.8 2006/02/21 21:31:07 mr_bones_ Exp $
>
> DESCRIPTION="A GTK-based image browser"
> HOMEPAGE="http://gqview.sourceforge.net/";
> SRC_URI="mirror://sourceforge/gqview/${P}.tar.gz"
>
> LICENSE="GPL-2"
> SLOT="0"
> KEYWORDS="alpha amd64 ia64 ppc ppc64 sparc x86"
> IUSE=""
>
> RDEPEND=">=x11-libs/gtk+-2.4.0
>         virtual/libintl"
>
> DEPEND="${RDEPEND}
>         sys-devel/gettext"
>
> src_install() {
>         make DESTDIR="${D}" install || die "make install failed"
>         # leave README uncompressed because the program reads it
>         dodoc AUTHORS ChangeLog TODO
>         rm -f "${D}/usr/share/doc/${PF}/COPYING"
> }

As you can see, it does not inherit anything, and does not depend on anything 
gnomish. However, when I checked with equery, it definitely depended on 
something which I didn't need/want (sorry, I can't remember what it was, 
probably gconf or some such), although the ebuild specifies no such 
dependency, not even indirectly (through gtk+ etc.)  After I removed the 
unwanted dep and remerged gqview, it did not pull the removed "dependency" 
back in, and no longer depends on it.

The same applies for dependencies which were disabled through use flags, such 
as this snip (from openoffice):

>         gnome? ( >=x11-libs/gtk+-2.4
>
>                 >=gnome-base/gnome-vfs-2.6
>                 >=gnome-base/gconf-2.0 )

In this case, It depended on gnome-vfs and gconf, even when the gnome USE flag 
was disabled. After I removed the offending packages and recompiled 
openoffice, the dependecy is gone.
Note: you might remember I wrote that oo.org used to be compiled with 
USE="eds", which pulls these in along with other stuff indirectly through 
gnome-extra/evolution-data-server. It was the reason these libs were 
installed in the first place. The dependency problem I'm describing, however, 
is independent from that and was present even after I recompiled oo.org 
without "eds".

I hope this helped you better understand what is bothering me. It's not that 
I'm particularly against having those libs installed and wouldn't mind to 
keep them if they were hard deps of something I needed, but I'm kind of 
frustrated when packages depend on things I told them not to depend on 
through USE flags. It means I cant test a package with a hard dep on a lib 
because in case I emerge something while that lib is installed, I'll never 
know if it will choose to depend on that lib, which in turn would mean that 
after I remove the lib, I need to recompile stuff, once more. In the past two 
weeks, I recompiled openoffice 4 times, which is 3 times more than I'm 
normally willing to do it. This is not to say I would be less frustrated if 
only small packages were affected :)

Looking at oo.org ebuild again and I see that it uses use_enable function in 
the call to ./configure. So why the heck did it depend on gconf and gnome-vfs 
when it was obviously told not to? And even more confusing: how did equery 
know about this dependency?

*Sigh*
I hope I'm missing something here. Because if these are bugs, there's quite a 
few. Sadly, I removed all the temporary lists of packages I removed and 
rebuilt, so I have nothing to report now. Stupid me.

Jure


Attachment: pgp42lQd4UUE6.pgp
Description: PGP signature

Reply via email to