Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Aug 2016 21:44:34 +0100
From:      Chris Rees <crees@physics.org>
To:        Warren Block <wblock@wonkity.com>
Cc:        freebsd-ports@FreeBSD.org
Subject:   Re: What happened to 'make missing'?
Message-ID:  <57AE3532.9040503@physics.org>
In-Reply-To: <57AE2B10.7060109@physics.org>
References:  <alpine.BSF.2.20.1608120753260.96500@wonkity.com> <57AE1D14.7030704@physics.org> <alpine.BSF.2.20.1608121359100.96500@wonkity.com> <57AE2B10.7060109@physics.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Warren (and others on the list)

Chris Rees wrote:
> Warren Block wrote:
>> On Fri, 12 Aug 2016, Chris Rees wrote:
>>
>>> Warren Block wrote:
>>>> The missing target used to be very useful to see what impact 
>>>> installing a new port would have.
>>>>
>>>> It seems to be increasingly broken.  On my desktop, any random port 
>>>> claims that misc/dejagnu and lang/expect are missing. Neither are 
>>>> installed, neither is installed as a dependency for any port where
>>>> 'make missing' claims they are needed.
>>>>
>>>> While trying to figure out which part of the recent clamav update 
>>>> wanted to pull in sphinx-doc for python, it seems even worse.
>>>>
>>>> Clamav is installed, and did not install any additional ports 
>>>> before installing.  Yet 'make missing' shows this:
>>>>
>>>
>>> Hey Warren,
>>>
>>> What is the output of:
>>>
>>> # make -C/usr/ports//security/clamav all-depends-list
>>
>>
> OK, and cat /etc/make.conf?
>
> Chris
>
Following our IRC conversation, I have distilled the issue down to:

make missing checks every single dependency recursively

This means, for example, that make missing will list sphinx as a missing 
dependency, because llvm36 build-depends on it.  However, you already 
have llvm36 installed, resulting in a bogus 'missing' sphinx, even 
though it won't be needed.

In my view, make missing should recurse only for actual missing 
dependencies;

# find_missing origin
# Finds missing dependencies
find_missing() {
     # check for installed of unified depends list (of ONLY $1)

     for d in ${found_deps_that_are_not_installed}; do
         find_missing $d
     done
}

Does anyone disagree?  Unfortunately I can't prove that the behaviour 
was anything other than the current one, which I think is wrong.  Please 
see relevant (I think) changes below.

Chris

http://svnweb.freebsd.org/ports/head/Mk/bsd.port.mk?r1=414166&r2=414167&;

http://svnweb.freebsd.org/ports/head/Mk/bsd.port.mk?r1=255512&r2=255513&;

http://svnweb.freebsd.org/ports/head/Mk/bsd.port.mk?r1=399711&r2=399712&;

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.




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