On Tue, Dec 12, 2006 at 01:07:36AM +0000, Mikolaj Kucharski wrote:
> Hi,
> 
> I found via pkg_create(1) that there is @pkgpath option, but I cannot
> manage to get it working.

You have one small piece of the whole picture.

- the simplest one is the package stem. Take a package name, say
foo-1.2-flavor. Cut off the flavor and version part, you're left with
the stem: foo.  Packages with the same stem are supposed to be distinct
versions of the same package.

- when deciding which packages to replace, pkg_add  solves conflicts. By
default, packages with the same stem conflict (but see 
@option no-default-conflict), and further @conflict annotations may trigger
further replacements.  Currently pkg_add does updates one package at a time,
which is a limitation long term... Some times, you have two update two
packages simultaneously.

- For updates, pkg_add does not look at packages with different stems.
There will probably be a mechanism to extend that in the future,
but that's the half of your problem that can't be solved now.

- After finding packages with the same stem, pkg_add also looks for a
matching @pkgpath. This means it will update packages to packages with the
same @pkgpath. This is a necessary condition, not sufficient...  this prevents
pkg_add from updating packages to distinct branches.

- pkg_add has no real notion of version numbers, this will change.

- pkg_add is meant to use one single repository which holds a consistent 
snapshot of packages. Dumping lots more packages in the same repository
doesn't work well. Having several repositories in the PKG_PATH doesn't quite
work like I'd want it to.

Suffice it to say, what you want does not currently exist, and there is
still at least one hazy area in those design ideas...

Reply via email to