# Generating a SITE_SPECIFIC_PKGS list

This link seems to be the best documentation on using the SPECIFIG_PKGS flag in NetBSD pkgsrc. To use it, you have to generate something that looks like SITE_SPECIFIC_PKGS= mail/mutt-devel security/openssh, i.e., a list with PKGPATH for each package you wish to build.

The next obvious question is "given a particular machine that has all the packages I want (from me adding packages one-by-one) how do I get a list of PKGPATH for each package?" The following seems to work for me:

/usr/sbin/pkg_info | cut -d " " -f 1 | \
xargs /usr/sbin/pkg_info -Q PKGPATH | \
sed 's/^/SITE_SPECIFIC_PKGS+= /' > pkglist


Which generates a list that looks like:

SITE_SPECIFIC_PKGS+= misc/screen
SITE_SPECIFIC_PKGS+= pkgtools/pkg_install
SITE_SPECIFIC_PKGS+= pkgtools/digest
SITE_SPECIFIC_PKGS+= shells/tcsh
SITE_SPECIFIC_PKGS+= mail/mutt-devel
...