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>