Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Jul 2007 12:10:07 +0200
From:      "Timur I. Bakeyev" <timur@FreeBSD.org>
To:        "FreeBSD gnats submit" <FreeBSD-gnats-submit@FreeBSD.org>
Subject:   ports/114725: No dependencies in the package if there are bsdpan-* ports installed(or others with no origin)
Message-ID:  <1184839807.66429@timur.blinck.com>
Resent-Message-ID: <200707191010.l6JAAA2p045001@freefall.freebsd.org>

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

>Number:         114725
>Category:       ports
>Synopsis:       No dependencies in the package if there are bsdpan-* ports installed(or others with no origin)
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Jul 19 10:10:10 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Timur I. Bakeyev
>Release:        FreeBSD 6.1-RELEASE-p10 i386
>Organization:
>Environment:


System: FreeBSD 6.1-RELEASE-p10 #3: Fri Oct  6 10:33:53 CEST 2006
    root@timur.blinck.com:/usr/src/sys/i386/compile/COMMON



>Description:


With the recent addition of the 'actual-package-depends' optimization in the bsd.ports.mk package dependencies are not written in the package DB at all, if there are one or more packages without ORIGIN are installed.

That's common situation with the bsdpan-* packages, as well as some commercial packages, which distributed in the binary form, like CGP, for example.

There is another minor bug with this mod:

header of the bsd.ports.mk describes 'actual-package-depends-list' target, but there isn't any.

>From other side, 'actual-package-depends' target isn't described at all.


>How-To-Repeat:


Install one of the Perl modules from CPAN.

Install some new port with dependencies. Check it's +CONTENT file - there are no DEPORIGIN and @pkgdep lines in it at all.

Running the script, generated by:

make -V ACTUAL-PACKAGE-DEPENDS with debugging may show you the difference in processing between ports collection with all origins in place and when one or more are missing(actually, if there are even number of such packages, things MAY work ok again).

 bonnie++-1.93.03_1
 benchmarks/bonnie++
+bsdpan-Handsets-Handset-0.4
 c-ares-config-1.4.0
 dns/c-ares

This diff, hopefully exposes the problem - it's expected, that packages and their origins come in pairs, so package without origin breaks the sequence.


>Fix:


I guess, the simplienst fix would be to check for ORIGIN line and if it's not present, don't record package into the search list. Although, I'm not sure, what about situations when something DEPENDS on such package?

Maybe, injecting fake origin ORIGIN:/dev/null would be a better option.


>Release-Note:
>Audit-Trail:
>Unformatted:



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