>pkg_add will sooner or later try to find a ports tree and build missing >packages.
This is a great idea. If the ports tree is found, you could parse the makefile of the package that you're trying to install and grab the relative path of each dependency, and in turn search their makefiles to see if the DISTNAME matches the dependent package that was not found. Sounds like fun. ... >That doesn't make sense, just because a package is not on an ftp server >does not mean it's not permitted to be there. I have packages on my >internal ftp server at home, I don't care about PERMIT_* there. So a >missing package there just means I didn't build it. You're right. I was thinking more about the official cds/mirrors and what is published on them. A home user doesn't have to worry about any 'no distribution' clauses in a software license the way the project as a whole does. >One could argue that restricitve PERMIT_PACKAGE_* should propagate up >the dependency tree, so that packages like clamav do not show up on ftp >servers at all. But then we'd have people ask why we don't put clamav >onto the mirrors. So the best solution would be to write OpenArc, make a >port and let clamav depend on that instead. :) Heh, good luck with that one... It doesn't make sense to not publish packages if only one of their dependencies has some kind of distribution restriction (especially on some of the larger packages). That's why I was looking for a 'friendly message' instead of a outright failure in one of these situations. However, I think the idea of automatically reverting to the ports tree is a better idea. Matt