Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 17 Feb 2006 23:57:03 GMT
From:      vassily ragosin <vr@vrgraphics.ru>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/93504: sysutils/portupgrade: dependencies registered for java ports always assume jdk was built with a browser plugin.
Message-ID:  <200602172357.k1HNv36Q010488@www.freebsd.org>
Resent-Message-ID: <200602180000.k1I00EV0064608@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>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:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200602172357.k1HNv36Q010488>