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>