ports/93504: sysutils/portupgrade: dependencies registered for java ports always assume jdk was built with a browser plugin.
vassily ragosin
vr at vrgraphics.ru
Sat Feb 18 00:00:15 UTC 2006
>Number: 93504
>Category: ports
>Synopsis: sysutils/portupgrade: dependencies registered for java ports always assume jdk was built with a browser plugin.
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sat Feb 18 00:00:13 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator: vassily ragosin
>Release: FreeBSD 6.0-STABLE
>Organization:
vr graphics
>Environment:
FreeBSD 6.0-STABLE i386
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-p2-vr_10_jan_2006_05_15)
portupgrade 2.0.1
>Description:
[I did only quick lookaround for who's guilty but am pretty sure it's portupgrade. Sorry if something else needs to be fixed].
java/jdk* ports can be compiled without browser plugin by defining WITHOUT_WEB. If WITHOUT_WEB is set, browser plugin is not compiled and many other ports (atk, mozilla etc.) will not be required by the jdk* port.
However, when any other java port using jdk is installed with portupgrade, all these not required (and probably missing on the given computer) packages will be added to depends list. As a result, functionality of portupgrade utilities becomes broken unless these dependencies will be manually deleted from package DB.
>How-To-Repeat:
1) Install jdk15 with WITHOUT_WEB=yes defined.
2) portupgrade -N 'textproc/fop'
(fop given as an example, any other java port will do)
3) portversion
Stale dependency: fop-0.20.5 --> atk-1.10.3 -- manually run 'pkgdb -F' to fix, or specify -O to force.
You don't need atk to run fop. This dependency is bogus, if no browser plugin was installed.
>Fix:
portupgrade should see if java browser plugin is installed. Here's the relevant fragment of java/jdk15 Makefile, from which bogus dependencies get leaked into package DB:
.if defined(WITHOUT_WEB)
MAKE_ENV+= DONT_BUILD_DEPLOY="YES"
.else
.if defined(WITH_MOZILLA) && ${WITH_MOZILLA} == "firefox"
BUILD_DEPENDS+= ${X11BASE}/libdata/pkgconfig/firefox-plugin.pc:${PORTSDIR}/www/firefox
RUN_DEPENDS+= ${X11BASE}/libdata/pkgconfig/firefox-plugin.pc:${PORTSDIR}/www/firefox
LIB_DEPENDS+= nspr4.1:${PORTSDIR}/devel/nspr
MAKE_ENV+= BROWSER=firefox \
ALT_NSPR_HEADERS_PATH="${LOCALBASE}/include/nspr"
.else
BUILD_DEPENDS+= ${X11BASE}/libdata/pkgconfig/mozilla-plugin.pc:${PORTSDIR}/www/mozilla
RUN_DEPENDS+= ${X11BASE}/libdata/pkgconfig/mozilla-plugin.pc:${PORTSDIR}/www/mozilla
MAKE_ENV+= BROWSER=mozilla
.endif
USE_GNOME= desktopfileutils
MAKE_ENV+= ALT_MOZILLA_HEADERS_PATH="${X11BASE}/include"
.endif
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list