Date: Mon, 15 Aug 2016 14:02:30 +0200 From: Mathieu Arnold <mat@FreeBSD.org> To: Chris Rees <crees@physics.org>, Warren Block <wblock@wonkity.com> Cc: freebsd-ports@FreeBSD.org Subject: Re: What happened to 'make missing'? Message-ID: <1EEF29CB43EF28E65398F88D@atuin.in.mat.cc> In-Reply-To: <57AE3532.9040503@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> <57AE3532.9040503@physics.org>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
+--On 12 août 2016 21:44:34 +0100 Chris Rees <crees@physics.org> wrote:
| 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.
Something changed, at one point, make missing used to work right.
Could you open a PR with all that information, so that it doesn't get lost ?
--
Mathieu Arnold
[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQJ8BAEBCgBmBQJXsb1mXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQzQUI2OTc4OUQyRUQxMjEwNjQ0MEJBNUIz
QTQ1MTZGMzUxODNDRTQ4AAoJEDpFFvNRg85IGO8P/0eYUyhg4Pgc9d6OUihM2uvs
OBltyluTfpMoxcYLaU/Cbbfca3ZAy4a7rHbpvu60VeTe959xEyXPhah2D48yTV/e
BUpxWKRJKXjNYL17k6a9UYU349dlG1n9I7jwgtKUbIAfauDPwYFSeUY9RAzJj4ec
Pa+j95li0rMeoepvjFHf5H0yVpCBMJfLmCwHvN3A2GnrDvFY+4AK3Gs5OVz81Lns
TbeuQITu1kzxMAHiJgIMRg2rsYSsDPJ9ViZtpp4Q9pbJ/HNed1AbNYsB1pRJDYRu
MdSicL47r+65WE97sBtshT+PaGCY6ppDDxhU6YpHkAr296CZOrG/Y1Qnr2SshAUt
hwMiuNcJAZjDPmV9bu3LEdoUWU0SMFrM3M9JTZaaa7epiUUDmb8eLNVmeOVxUOCC
XzVj93fFKJLYAba38QZ0HOc6KRgiiF7RvJC6MbjlZePtsf6oyHSiLBx/kBfx/MdV
5N9zOEkjJvC6VxoX9ddBXzzIKyQE0Qv3/Nc+0LKde71eCmLIXIVrf9bbXO5H2JfL
D0DeHLSYhcooUMAsmAHBhEQwbV8eOYLd16QwqZ6cq5tkM4ZqQlZ4R3iTHv03bcEl
8RJWmgWa9P9UMLUQZnk4ktbuaJp+dQk5360XGzbBURoYMUpgFW5EZp2vzZM/i7Le
9RlegSc9wPYn4sbmrxpd
=TYMC
-----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1EEF29CB43EF28E65398F88D>
