Subject: Re: pkgsrc download / individual strategies?
To: None <>
From: Morgan Reed <>
List: pkgsrc-users
Date: 09/02/2006 21:25:55
On 02 Sep 2006 08:54:30 GMT, Jamie <> wrote:
> Hello,
> I'm very new to pkgsrc. I installed DragonflyBSD and thought about
> exploring pkgsrc instead of the usual binary package approach.
> I like the idea, but I don't have a lot of drive space and most of
> the files will go unused, causing wasted bandwidth, etc..
> Wondering what some strategies are for downloading and updating only
> a subset of packages?
> For example, is there a way to download JUST shells/bash and then
> compile it? (and presumably some way of tracking updates on only
> the things I've installed) I'll never be using any X11 on this machine
> for example.
> Is there a way to tell it NOT to follow any dependancies? I'd really
> rather decide for myself on what to install, kind of scared to
> use it if there's a chance it'll install more than I bargained for.
> Sorry if these are dumb questions.
> Jamie
> --
>                    Custom web programming
> guhzo_42@lnubb.pbz (rot13)                User Management Solutions

pkgsrc is capable of building only individual packages (and this is
generally how it is used) or building an entire branch e.g. build
everything in net, or for that matter bulk-building the whole tree.

when you 'make' for an individual package the sources for it and it's
dependancies will be downloaded and built, there is no way to ignore
dependancies, however you will be told at the beginning of the build
what the dependancies of the package are and you can opt to cancel the
build should you not wish to build these packages, the dependancies
will change depending on which option(s) you have (de)selected.

As for upgrades the pkgsrc tree should be periodically updated via CVS
(whilst it is possible to update the tree via tarballs it is generally
a pain to do as you must remove the tree completely proir to
installing the new tree)

'lintpkgsrc -i' (built from pkgtools/pkglint) will tell you if they
are more recent versions of you packages available  (note that your
pkgsrc tree must be up-to-date for this to work), to update a package
all that is required is to navigate to it's directory in the tree and
issue a 'bmake update', this will re-build the package (and any
dependancies) from current sources.

to take your example of shells/bash;
cd /usr/pkgsrc
cd shells/bash
bmake all install clean

The sources will be fetched and built, if you really need to conserve
disk space also issue a 'bmake distclean' this will remove all the
distfiles (source tarballs) for the package.

The pkgsrc users guide is available here;