File:  [NetBSD Developer Wiki] / wikisrc / pkgsrc / how_to_clean_all_pkgsrc_work_directories.mdwn
Revision 1.1: download - view: text, annotated - select for diffs
Sun Nov 20 20:28:27 2011 UTC (2 years, 5 months ago) by mspo
Branches: MAIN
CVS tags: HEAD
import a bunch of pkgsrc articles from the old pkgsrc.se wiki

When working with pkgsrc, pkgsrc leaves working directories called work in the application directory. If you invoke the build with clean, then this directory is cleaned, but not the working directories of the dependencies. To avoid this problem, you should set [[DISTDIR|pkgsrc/How to use pkgsrc]] and [[WRKOBJDIR|pkgsrc/How to use pkgsrc]] in mk.conf.

    # make install clean

If you want to clean the directories of the dependencies aswell you have to run:

    # make install clean clean-depends

Either way, sometimes it is not possible or wanted to clean the working directories. You can clean them all using this one line shell command:

    # find /usr/pkgsrc -name work -exec rm -r {} \;

or this one (it is a bit longer but works much faster in most cases):

    # find /usr/pkgsrc -maxdepth 3 -mindepth 3 -name work -print0 | xargs -0 rm -r

You can also change the place where the work directories are created by setting WORKOBJDIR in /etc/mk.conf. However, the above command will still be useful, as symlinks to the actual work directory are created during the build process.

You can clean them using make clean in the parent directory, but this is not advised. It takes a very long time. Using pkgclean is another option.
#See also

* [[pkgsrc/How to use pkgsrc]]
* [[basics/rm]]
* [[bascis/find]]

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb