From owner-freebsd-ports@freebsd.org Fri Aug 12 20:46:20 2016 Return-Path: Delivered-To: freebsd-ports@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A8B41BB7F0C for ; Fri, 12 Aug 2016 20:46:20 +0000 (UTC) (envelope-from crees@physics.org) Received: from mail51c50.megamailservers.eu (mail155c50.megamailservers.eu [91.136.10.165]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 06783184C for ; Fri, 12 Aug 2016 20:46:19 +0000 (UTC) (envelope-from crees@physics.org) X-Authenticated-User: bayofrum.uwclub.net Received: from pegasus.bayofrum.net (host-2-102-107-215.as13285.net [2.102.107.215]) (authenticated bits=0) by mail51c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id u7CKk7XE019545; Fri, 12 Aug 2016 20:46:09 +0000 Received: from [192.168.1.150] (zeus.bayofrum.net [192.168.1.150]) by pegasus.bayofrum.net (Postfix) with ESMTPSA id F0500258E7; Fri, 12 Aug 2016 21:44:49 +0100 (BST) Subject: Re: What happened to 'make missing'? To: Warren Block Cc: freebsd-ports@FreeBSD.org References: <57AE1D14.7030704@physics.org> <57AE2B10.7060109@physics.org> From: Chris Rees Message-ID: <57AE3532.9040503@physics.org> Date: Fri, 12 Aug 2016 21:44:34 +0100 User-Agent: Mozilla/5.0 (X11; FreeBSD i386; rv:42.0) Gecko/20100101 Firefox/42.0 SeaMonkey/2.39 MIME-Version: 1.0 In-Reply-To: <57AE2B10.7060109@physics.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-bayofrum-MailScanner-Information: Please contact the ISP for more information X-bayofrum-MailScanner-ID: F0500258E7.A0396 X-bayofrum-MailScanner: Found to be clean X-bayofrum-MailScanner-From: crees@physics.org X-Spam-Status: No X-CTCH-RefID: str=0001.0A0B0204.57AE3591.0073, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown X-CTCH-Score: 0.000 X-CTCH-Rules: X-CTCH-Flags: 0 X-CTCH-ScoreCust: 0.000 X-CSC: 0 X-CHA: v=2.1 cv=IYu+Bwaa c=1 sm=1 tr=0 a=gnEd2jr+W6Uf6vcWOdKyNg==:117 a=gnEd2jr+W6Uf6vcWOdKyNg==:17 a=L9H7d07YOLsA:10 a=9cW_t1CCXrUA:10 a=s5jvgZ67dGcA:10 a=8nJEP1OIZ-IA:10 a=7z1cN_iqozsA:10 a=6I5d2MoRAAAA:8 a=kEkhjr0ZpAZrThQAl1wA:9 a=IRPlAHHSRtFEYys3:21 a=jZvNyvv_VDMSxNAZ:21 a=wPNLvfGTeEIA:10 a=IjZwj45LgO3ly-622nXo:22 X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Aug 2016 20:46:20 -0000 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.