in the ebuild, this: DEPEND="tcltk? ( >=dev-lang/tcl-8.4 ) java? ( virtual/jdk )" RDEPEND="tcltk? ( dev-lang/tcl ) java? ( virtual/jre )" makes portage install both a jdk and a jre, where (i guess) a jdk would be sufficient.
This behaviour is correct I guess since jdk ebuilds should provide jre virtual package, satisfacting both dependecies. Though there is a bug since i've got sun-jdk installed and: Kreuzberg stefy # emerge -uDpvt db These are the packages that I would merge, in reverse order: Calculating dependencies ...done! [nomerge ] sys-libs/db-4.2.52_p2 -doc +java +tcltk [ebuild N ] dev-java/blackdown-jre-1.4.2_rc1-r2 +mozilla 13,003 kB [nomerge ] x11-terms/xterm-196 -Xaw3d -debug +truetype +unicode [nomerge ] sys-apps/utempter-0.5.5.5 [nomerge ] app-arch/rpm2targz-9.0-r2 [nomerge ] sys-apps/which-2.16 [nomerge ] dev-lang/tk-8.4.6-r1 -threads [nomerge ] x11-base/xorg-x11-6.8.0-r1 -3dfx +3dnow +bitmap-fonts -cjk -debug -dlloader -dmx -doc -hardened -insecure-drivrs -ipv6 +mmx +nls +pam -sdk +sse -static +xprint [nomerge ] sys-apps/util-linux-2.12b +crypt -debug +nls +pam (-selinux) -static (-uclibc) [nomerge ] sys-apps/pam-login-3.14 -livecd +nls (-selinux) [nomerge ] sys-libs/pam-0.77-r1 +berkdb -debug -pwdb (-selinux) [nomerge ] sys-libs/cracklib-2.7-r10 -debug +pam (-uclibc) [ebuild U ] sys-devel/gcc-config-1.3.6-r3 [1.3.6-r2] 0 kB [nomerge ] sys-apps/man-1.5m-r2 -debug +nls [nomerge ] sys-apps/cronbase-0.3.1 [nomerge ] sys-apps/groff-1.19.1-r1 +X -debug [nomerge ] sys-apps/texinfo-4.7-r1 -build -debug +nls -static [ebuild U ] sys-devel/gettext-0.14.1 [0.12.1-r1] -bootstrap -emacs +nls 6,400 kB it seems to me that virtual handling is quite faulty in portage
maybe it's not clear from my pasted output, but blackdown-jre is indented under db, as a dependancy (emerge -pvuD db lists blackdown-jre, though emerge -pv db does not)
Ok there was an hidden blackdown-jre-1.4.1 installed. Removing it solved my problem. Still I think that my comment on db dependecies is actual for this bug.
The depencencies are correct. The jdk is only needed for building the package, not for using the java bindings. For usage only a jre is needed. In general there is no point in having both a jre and a jdk installed as every jdk provides a jre. If both are tried to be installed this is a bug in portage's virtual resolution or the jre/jdk's