Javadocs and pkg-plist

Matthew Seaman m.seaman at infracaninophile.co.uk
Sun Oct 26 07:40:13 PST 2003


Dear ports,

Greg Lewis pointed out to me a problem with a new port I had submitted
(ports/57753), and on investigation it turns out that the same thing
may affect several ports in the tree.

The affected ports will be those that install api documentation which
they generate by running javadoc(1) themselves, and that can be
installed using one of several different JDK versions, and that don't
build their pkg-plist dynamically.

It turns out that javadoc from Java 1.4.x will generate two extra
files compared to javadoc from Java 1.3.x: 'allclasses-noframe.html'
and 'constant-values.html'.  These may or may not be listed in the
pkg-plist for the port, depending on which version the maintainer
happened to be using at the time.  I haven't been able to test any
earlier Java versions for similar problems.

Hardly a world-shaking problem but worth sorting.  This, for example,
is the fix I came up with:

diff -Nur mysql-connector-java.bak/Makefile mysql-connector-java/Makefile
--- mysql-connector-java.bak/Makefile	Sun Oct 26 09:50:28 2003
+++ mysql-connector-java/Makefile	Thu Oct 23 14:40:49 2003
@@ -42,6 +42,14 @@
 JARFILE=	${DISTNAME}-bin.jar
 JDCLASSPATH=	${WRKSRC}:${WRKSRC}/lib/jdbc2_0-stdext.jar:${WRKSRC}/lib/jta-spec1_0_1.jar:${CLASSPATH}
 
+.include <bsd.port.pre.mk>
+
+.if ${USE_JAVA:C/[.+]//g} >= 14
+PLIST_SUB+=	JAVA14=""
+.else
+PLIST_SUB+=	JAVA14="@comment "
+.endif
+
 do-build:
 	@cd ${WRKSRC} && ${ANT} ${ANT_TARGET}
 .if !defined(NOPORTDOCS)
@@ -73,4 +81,4 @@
 	@${ECHO_CMD} " [ DONE ]"
 .endif
 
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff -Nur mysql-connector-java.bak/pkg-plist mysql-connector-java/pkg-plist
--- mysql-connector-java.bak/pkg-plist	Sun Oct 26 09:58:55 2003
+++ mysql-connector-java/pkg-plist	Thu Oct 23 14:11:50 2003
@@ -2,7 +2,7 @@
 share/java/classes/jta-spec1_0_1.jar
 share/java/classes/mysql-connector-java.jar
 %%PORTDOCS%%%%DOCSDIR%%/javadoc/allclasses-frame.html
-%%PORTDOCS%%%%DOCSDIR%%/javadoc/allclasses-noframe.html
+%%JAVA14%%%%PORTDOCS%%%%DOCSDIR%%/javadoc/allclasses-noframe.html
 %%PORTDOCS%%%%DOCSDIR%%/javadoc/com/mysql/jdbc/AssertionFailedException.html
 %%PORTDOCS%%%%DOCSDIR%%/javadoc/com/mysql/jdbc/Blob.html
 %%PORTDOCS%%%%DOCSDIR%%/javadoc/com/mysql/jdbc/Buffer.html
@@ -54,7 +54,7 @@
 %%PORTDOCS%%%%DOCSDIR%%/javadoc/com/mysql/jdbc/package-frame.html
 %%PORTDOCS%%%%DOCSDIR%%/javadoc/com/mysql/jdbc/package-summary.html
 %%PORTDOCS%%%%DOCSDIR%%/javadoc/com/mysql/jdbc/package-tree.html
-%%PORTDOCS%%%%DOCSDIR%%/javadoc/constant-values.html
+%%JAVA14%%%%PORTDOCS%%%%DOCSDIR%%/javadoc/constant-values.html
 %%PORTDOCS%%%%DOCSDIR%%/javadoc/deprecated-list.html
 %%PORTDOCS%%%%DOCSDIR%%/javadoc/help-doc.html
 %%PORTDOCS%%%%DOCSDIR%%/javadoc/index-all.html
@@ -81,4 +81,3 @@
 %%PORTDOCS%%@dirrm %%DOCSDIR%%/javadoc/com
 %%PORTDOCS%%@dirrm %%DOCSDIR%%/javadoc
 %%PORTDOCS%%@dirrm %%DOCSDIR%%
-

By my count there are some 60 ports in the tree (as of about 10.00am
UTC today) which manifestly install javadoc derived documentation --
that is, they include 'allclasses-frame.html' in their pkg-plist
files.  Of those, 39 seem to be installing pre-generated javadocs
straight from their distfiles (they have NO_BUILD=yes or they have no
RUN/BUILD dependency on java) or they depend on a specific java
version.

The remaining 21 are potentially affected:

1) ant-xinclude-task-0.2
    ORIGIN:     textproc/ant-xinclude-task
    MAINTAINER: znerd at FreeBSD.org
    USE_JAVA:   1.1+

2) apache-jserv-1.1.2_1
    ORIGIN:     www/apache-jserv
    MAINTAINER: greg at greg.rim.or.jp
    USE_JAVA:   1.1+

3) cocoon-1.8.2_3
    ORIGIN:     textproc/cocoon
    MAINTAINER: ports at FreeBSD.org
    USE_JAVA:   1.1+

4) emboss-2.4.1_2
    ORIGIN:     biology/emboss
    MAINTAINER: wjv at FreeBSD.org
    USE_JAVA:   1.3+

5) jakarta-commons-beanutils-1.6.1
    ORIGIN:     java/jakarta-commons-beanutils
    MAINTAINER: znerd at FreeBSD.org
    USE_JAVA:   1.2+

6) jakarta-commons-cli-1.0
    ORIGIN:     java/jakarta-commons-cli
    MAINTAINER: znerd at FreeBSD.org
    USE_JAVA:   1.2+

7) jakarta-commons-collections-2.1
    ORIGIN:     java/jakarta-commons-collections
    MAINTAINER: znerd at FreeBSD.org
    USE_JAVA:   1.2+

8) jakarta-commons-dbcp-1.0
    ORIGIN:     java/jakarta-commons-dbcp
    MAINTAINER: toha at toha.org.ua
    USE_JAVA:   1.2+

9) jakarta-commons-lang-1.0.1
    ORIGIN:     java/jakarta-commons-lang
    MAINTAINER: znerd at FreeBSD.org
    USE_JAVA:   1.2+

10) jakarta-commons-logging-1.0.3
    ORIGIN:     java/jakarta-commons-logging
    MAINTAINER: znerd at FreeBSD.org
    USE_JAVA:   1.2+

11) jakarta-commons-pool-1.0.1
    ORIGIN:     java/jakarta-commons-pool
    MAINTAINER: toha at toha.org.ua
    USE_JAVA:   1.2+

12) java-checkstyle-3.1
    ORIGIN:     java/java-checkstyle
    MAINTAINER: dglo at ssec.wisc.edu
    USE_JAVA:   1.3+

13) jboss-3.2.1_1
    ORIGIN:     java/jboss3
    MAINTAINER: des at FreeBSD.org
    USE_JAVA:   1.3+

14) jdom-1.0b9
    ORIGIN:     java/jdom
    MAINTAINER: znerd at FreeBSD.org
    USE_JAVA:   1.2+

15) jump-0.4.1_1
    ORIGIN:     java/jump
    MAINTAINER: znerd at FreeBSD.org
    USE_JAVA:   1.2+

16) resin-2.1.11
    ORIGIN:     www/resin2
    MAINTAINER: jb.quenot at caraldi.com
    USE_JAVA:   1.2+

17) spread-j-3.17.0_1
    ORIGIN:     net/spread-j
    MAINTAINER: joshua at roughtrade.net
    USE_JAVA:   1.2+

18) xalan-j-2.5.1
    ORIGIN:     java/xalan-j
    MAINTAINER: znerd at FreeBSD.org
    USE_JAVA:   1.2+

19) xerces-j-2.2.0
    ORIGIN:     textproc/xerces-j
    MAINTAINER: kevlo at FreeBSD.org
    USE_JAVA:   1.3+

20) xincluder-1.0.d11_1
    ORIGIN:     textproc/xincluder
    MAINTAINER: znerd at FreeBSD.org
    USE_JAVA:   1.2+

21) xmlenc-0.39
    ORIGIN:     textproc/xmlenc
    MAINTAINER: znerd at FreeBSD.org
    USE_JAVA:   1.1+

The other 39 ports that install javadoc documentation that I've found are:

 1) apache-ant-1.5.4_1       devel/apache-ant         znerd at FreeBSD.org
 2) apache-soap-2.3.1        net/apache-soap          brian at quynh-and-brian.org
 3) axis-1.1_2               www/axis                 rui at ruilopes.com
 4) biojava-1.01             biology/biojava          bio at freebsd.net
 5) bouncycastle-1.16        java/bouncycastle        rara.rasputin at virgin.net
 6) cos-2002.11.05,1         java/cos                 java at freebsd.org
 7) crimson-1.1.3_1          textproc/crimson         girgen at partitur.se
 8) dbXML-1.0b2              databases/dbXML          rws at procopia.com
 9) fesi-1.1.5               lang/fesi                leo at florida.sarang.net
10) gettext-0.12.1           devel/gettext            ports at FreeBSD.org
11) gnu-regexp-1.1.4         java/gnu-regexp          ports at FreeBSD.org
12) infobus-1.2              java/infobus             java at freebsd.org
13) j2sdkee-1.3.1_02         java/j2sdkee13           des at freebsd.org
14) jaf-1.0.2_1              java/jaf                 java at freebsd.org
15) jakarta-bcel-5.0         java/jakarta-bcel        des at FreeBSD.org
16) jakarta-log4j-1.2.8      java/jakarta-log4j       herve.quiroz at esil.univ-mrs.fr
17) jakarta-tomcat-4.0.6     www/jakarta-tomcat4      znerd at FreeBSD.org
18) jakarta-tomcat-4.1.27    www/jakarta-tomcat41     znerd at FreeBSD.org
19) jakarta-tomcat-5.0.12_1  www/jakarta-tomcat5      liukang at bjpu.edu.cn
20) janosvm-0.6.0_1          java/janosvm             znerd at FreeBSD.org
21) java-beepcore-0.9.07     net/java-beepcore        ports at FreeBSD.org
22) javamail-1.3.1           java/javamail            java at freebsd.org
23) jboss-2.4.11             java/jboss2              ports at FreeBSD.org
24) jdbcpool-0.99            java/jdbcpool            java at freebsd.org
25) jedit-4.1.0              editors/jedit            ports at FreeBSD.org
26) jetty-4.2.11             www/jetty                ports at FreeBSD.org
27) jfc-1.1.1                java/jfc                 kuriyama at FreeBSD.org
28) jing-2003.06.19          textproc/jing            ports at FreeBSD.org
29) junit-3.8.1              java/junit               okazaki at FreeBSD.org
30) jython-2.1_1             lang/jython              perky at FreeBSD.org
31) opencyc-0.7.0            misc/opencyc             alexs at snark.rinet.ru
32) pircbot-1.2.5            irc/pircbot              tim at bishnet.net
33) robocode-1.0.6           games/robocode           ports at FreeBSD.org
34) saxon-6.5.2              textproc/saxon           ports at FreeBSD.org
35) simplicity-1.2.6b        java/simplicity          ports at FreeBSD.org
36) sqlrelay-0.32_2          databases/sqlrelay       ports at FreeBSD.org
37) trove4j-1.0.2            java/trove4j             herve.quiroz at esil.univ-mrs.fr
38) xdoclet-1.2b3            java/xdoclet             sheldonh at FreeBSD.org
39) xml4j-3.1.1              textproc/xml4j           ports at FreeBSD.org

as well as several that use dynamic pkg-plists which I assume don't
suffer from the problem in question.

	Cheers,

	Matthew

-- 
Dr Matthew J Seaman MA, D.Phil.                       26 The Paddocks
                                                      Savill Way
PGP: http://www.infracaninophile.co.uk/pgpkey         Marlow
Tel: +44 1628 476614                                  Bucks., SL7 1TH UK
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20031026/efa01986/attachment.bin


More information about the freebsd-ports mailing list