Mel Flynn wrote:
On Monday 13 April 2009 03:56:15 Tim Judd wrote:
On Sun, Apr 12, 2009 at 5:10 PM, Chris Whitehouse <>wrote:

Is there a make target which will give a list of _all_ dependencies
recursively not just next level up? Or a port? I tried
ports-mgmt/pkg_tree but it only seems to work with installed ports.

I don't care if I get duplicates as long as every dependency is listed at
least once.


make all-depends-list

Two things:
1) It surpresses config target and if a port has OPTIONS set, then you may get surprised once you've configured the port and ticked/unticked an option 2) It includes EXTRACT_DEPENDS, PATCH_DEPENDS and BUILD_DEPENDS, which typically don't end up in run dependencies. Looking at the subject this may not be what you need.

make -C /usr/ports/category/portname -V LIB_DEPENDS -V RUN_DEPENDS

will list the dependencies that will be registered in /var/db/pkg. Recurse through the list, take the second field split by : and run the above for each origin. Something like the script below, which calls the config target if not configured, remembers already visited dependencies and then prints the runtime dependency list.

Thanks Mel and Tim. I am trying to determine how much disk space the distfiles for a port would use. I can get the file size from the distinfo file in the port directory. So I need to list dependencies for which a distfile would be downloaded.

I guess my question now is which targets or variables need to be included to achieve that. (I know it includes build dependencies. I didn't include build deps in the subject because I figured replies would give me the principle and I could expand from that.)

I took a guess at the existence of BUILD_DEPENDS and added it into the script. Running the modified script on multimedia/vlc I get the same number of dependencies as make all-depends-list so make all-depends-list is the same as make -V LIB_DEPENDS -V RUN_DEPENDS -V BUILD-DEPENDS for vlc. Is that all I need for any port?


_______________________________________________ mailing list
To unsubscribe, send any mail to ""

Reply via email to