Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 282562 - mod_jk ebuild has bogus dependency on virtual/jdk
Summary: mod_jk ebuild has bogus dependency on virtual/jdk
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High major (vote)
Assignee: Mike Weissman
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-08-24 12:57 UTC by Michael Sobremonte
Modified: 2015-05-08 19:27 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
custom ebuild without virutal/jdk dependency (mod_jk-1.2.28-r2.ebuild,1.87 KB, text/plain)
2009-11-02 14:20 UTC, Michael Sobremonte
Details
ebuild supporting java USE-flag (mod_jk-1.2.37-r1.ebuild,1.95 KB, text/plain)
2013-11-05 08:50 UTC, Guido Jäkel
Details
ebuild supporting java USE-flag (mod_jk-1.2.37-r1.ebuild,1.96 KB, text/plain)
2013-11-05 11:43 UTC, Guido Jäkel
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Sobremonte 2009-08-24 12:57:51 UTC
Opening a new bug relating to: #109121, which was resolved and fixed.

My comment from #109121:

Any idea why this dependency was reintroduced in mod_jk-1.2.27?

>= mod_jk-1.2.27 ebuilds now contain:

DEPEND=">=virtual/jdk-1.4"
Comment 1 Michael Sobremonte 2009-10-30 14:27:29 UTC
Hi Guys

Does anyone have any comments about this issue??

ChangeLog says:
-mod_jk-1.2.26-r1.ebuild

Without the mod_jk-1.2.26-r1.ebuild, there is no choice but to pull in virtual/jdk.

What is happening here?

(In reply to comment #0)
> Opening a new bug relating to: #109121, which was resolved and fixed.
> 
> My comment from #109121:
> 
> Any idea why this dependency was reintroduced in mod_jk-1.2.27?
> 
> >= mod_jk-1.2.27 ebuilds now contain:
> 
> DEPEND=">=virtual/jdk-1.4"
> 

Comment 2 Petteri Räty (RETIRED) gentoo-dev 2009-10-30 17:57:29 UTC
Sorry for the slow reply. mod_jk needs headers from the jdk to compile

/bin/sh /var/tmp/portage/www-apache/mod_jk-1.2.28-r1/work/tomcat-connectors-1.2.28-src/native/libtool --silent --mode=compile i686-pc-linux-gnu-gcc -I/usr/include/apache2 -O2 -march=native -pipe -fomit-frame-pointer -O2 -march=native -pipe -fomit-frame-pointer -pthread -DHAVE_APR  -I/usr/include/apr-1 -I/usr/include/apr-1 -O2 -march=native -pipe -fomit-frame-pointer -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -I /opt/sun-jdk-1.6.0.16/include -I /opt/sun-jdk-1.6.0.16/include/ -c jk_ajp12_worker.c -o jk_ajp12_worker.lo 

a jre doesn't have these headers:

betelgeuse@pena /usr/portage/eclass $ qlist sun-jre-bin | grep include
betelgeuse@pena /usr/portage/eclass $
Comment 3 Michael Sobremonte 2009-11-02 14:20:56 UTC
Created attachment 209051 [details]
custom ebuild without virutal/jdk dependency

Custom ebuild without virutal/jdk dependency:
Compiles under amd64 and x86.
Comment 4 Michael Sobremonte 2009-11-02 14:38:34 UTC
Hi 

Sorry for being a pain, but the I tried a custom ebuild (see comment #3), and tried removing the virtual/jdk dependency.
It compiles under x86 and amd64.

mod_jk starts up fine with apache (obviously with properly configured jk-workers.properties, uriworkermap.properties and 88_mod_jk.conf files).

I'm still not entirely sure why the dependency is required if it compiles and works?

Maybe because of the deprecated JNI related parameters in http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html
(see section Building mod_jk on Unix) ?

Please let me know if I really am smoking crack here :)

thx


(In reply to comment #2)
> Sorry for the slow reply. mod_jk needs headers from the jdk to compile
> 
> /bin/sh
> /var/tmp/portage/www-apache/mod_jk-1.2.28-r1/work/tomcat-connectors-1.2.28-src/native/libtool
> --silent --mode=compile i686-pc-linux-gnu-gcc -I/usr/include/apache2 -O2
> -march=native -pipe -fomit-frame-pointer -O2 -march=native -pipe
> -fomit-frame-pointer -pthread -DHAVE_APR  -I/usr/include/apr-1
> -I/usr/include/apr-1 -O2 -march=native -pipe -fomit-frame-pointer -DLINUX=2
> -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -I
> /opt/sun-jdk-1.6.0.16/include -I /opt/sun-jdk-1.6.0.16/include/ -c
> jk_ajp12_worker.c -o jk_ajp12_worker.lo 
> 
> a jre doesn't have these headers:
> 
> betelgeuse@pena /usr/portage/eclass $ qlist sun-jre-bin | grep include
> betelgeuse@pena /usr/portage/eclass $
> 

Comment 5 Michael Sobremonte 2009-11-10 12:56:42 UTC
Hi Guys

Anyone going to shed some light on this issue?
...Please?
Comment 6 Michael Sobremonte 2009-11-24 09:11:11 UTC
*bump*

(In reply to comment #5)
> Hi Guys
> 
> Anyone going to shed some light on this issue?
> ...Please?
> 

Comment 7 Guido Jäkel 2013-11-04 17:02:27 UTC
(In reply to Michael Sobremonte from comment #4)
> Hi 
> 
> I'm still not entirely sure why the dependency is required if it compiles
> and works?

Today i stepped into this and it's still the same with mod_jk-1.2.37!

 To my source code analysis, the java dependency is only required to compile a java binding adapter library. It's source code is located in ./jkstatus. By help of this lib one may get a object repesentation of the remote state delivered by the "jkstatus" http API on the apache. But you don't need this library to run mod_jk on Apache.

Therefore, like other bindings to different languages, there should be a java USE-flag. The buildtime DEPEND on java and the call to java-pkg-2_pkg_setup in pkg_setup(), which actually will do the jar build have to switch by this use flag.

I'll try to enhance the ebuild in this way.

Guido
Comment 8 Guido Jäkel 2013-11-05 08:50:38 UTC
Created attachment 362607 [details]
ebuild supporting java USE-flag

Here my proposal for an ebuild offering a java USE-flag; it's based on the mod_jk-1.2.37.ebuild
Comment 9 Guido Jäkel 2013-11-05 11:43:34 UTC
Created attachment 362621 [details]
ebuild supporting java USE-flag

Update: One have to inherit  java-pkg-opt-2  instead of  java-pkg-2  to realy get Java a optional buildtime dependency.
Comment 10 Pacho Ramos gentoo-dev 2015-05-08 19:27:16 UTC
fixed in the .40 version