NetBSD Wiki/pkgsrc/
targets
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 options.mk
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"
Add a comment