On Thu, Sep 22, 2005 at 10:19:48AM -0400, Matt Van Mater wrote: > >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. > > >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.
I like this idea, but it would be nice to make it obvious that certain packages either are or depend on un-free ones. Ports with those restrictions, while legal, do fall outside the goals of the project and it's nice to know when you're (kinda) cheating. What I'd really like is a way to try to build a port from source but install its required packages with pkg_add from $PKG_PATH. Whether that's driven from a pkg_add -build interface or an option in the ports makefile is in the long run somewhat irrelevant.