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>
index | next in thread | previous in thread | raw e-mail
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.
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?57AE3532.9040503>
