pkgsrc targets

It was proposed that we document all pkgsrc targets, but this is unreasonable and useless. Most targets are ancilliary ones; they exist because that's how make(1) works. Only few of them are useful for regular work.

The following targets may be useful to invoke from keyboard:

  • depends to build and install dependencies
  • fetch to fetch distribution file(s)
  • checksum to fetch and check distribution file(s)
  • extract to look at unmodified source
  • patch to look at initial source
  • configure to stop after configure stage
  • all or build to stop after build stage
  • stage-install to install under stage directory
  • test to run package's self-tests, if any exist and supported
  • package to create binary package before installing it
  • replace to change (upgrade, downgrade, or just replace) installed package in-place
  • deinstall to deinstall previous package
  • package-install to install package and build binary package
  • install to install package
  • bin-install to attempt to skip building from source and use pre-built binary package
  • show-depends print dependencies for building
  • show-options print available options from

Cleanup targets (in separate section because of importance):

  • clean-depends to remove work directories for dependencies
  • clean to remove work directory
  • distclean to remove distribution file(s)
  • package-clean to remove binary package

The following targets are useful in development and thus may be useful for an advanced user:

  • makesum to fetch and generate checksum for distributed file(s)
  • makepatchsum to (re)generate checksum for patches
  • makedistinfo to (re)generate distinfo file (creating checksums for distributed file and patches)
  • mps short for makepatchsum
  • mdi short for makedistinfo
  • print-PLIST to attempt to generate correct packaging list (NB! It helps, but it doesn't eliminate manual work.)

For example, package updating looks like this:

su root -c "make depends clean-depends clean" # to catch new dependencies
rm -f distinfo && su root -c "make makesum clean" && make makepatchsum
make clean && make stage-install # build
# modify patches
make makepatchsum # and build again, or
make makepatchsum && make clean && make patch # until all patches apply, if they failed at first
make print-PLIST | diff -u PLIST -
# modify PLIST
make install-clean # to remove cached PLISTs and "installation done" marker
make stage-install
# modify PLIST again or build again
make test # just to check for regressions
su root -c "make package deinstall bin-install" # or
su root -c "make package replace"
Posted Saturday evening, December 11th, 2010

Wiki Page for Erik Berls (cyber)


  • next68k Portmaster
  • Cobalt Portmaster


  • Member Board of Directors
  • releng
  • regional-sfba@


  • Stuff

Ideas for people to steal and do

Posted late Tuesday evening, December 21st, 2010