Subject: Re: Package naming and major versions [was Re: CVS commit:
To: Johnny C. Lam <>
From: Julio M. Merino Vidal <>
List: tech-pkg
Date: 10/03/2004 11:23:44
On Sun, 3 Oct 2004 03:37:02 +0000
"Johnny C. Lam" <> wrote:

> I think we should fix up pkgsrc to allow subdirectories of arbitrary
> depth containing packages within each category.  Then you could do
> something like:
>     devel
>      |-- GConf
>      |    |-- GConf-1.x
>      |    `-- GConf-2.x
>      |-- automake
>      |    |-- automake-1.4.x
>      |    |-- automake-1.7.x
>      |    `-- automake-1.9.x
>      |-- cdk
>      |-- cvs
>      `-- glib
>           |-- glib-1.x
>           `-- glib-2.x
> We would need to hash out the proper way to name package directories,
> where I think we want to the somehow encode the "major" version number
> as you noted above.  I offer no plan for transitioning to such a
> structure, and clearly there are several other problems that would
> need to be solved, e.g. locations for files, how to
> write dependencies in a package Makefile, etc., but it would be nice
> to figure out what we would like in an ideal world, and then figure
> out how much work it would be to make it come true.

Humm, yes, that sounds much better!  This'd allow us to keep conflicting
versions as well as development ones of the same package.  But we still
need to have a way to name the binary packages.  I.e., both glib1 and
glib2 can be installed at once (so they should have different binary
names), while gnome1-panel and gnome-panel can't (same binary name or
set up conflicts...)

AFAIK, OpenBSD's ports and Gentoo's portage support this feature, so we
might look at how they handle it...


Julio M. Merino Vidal <>
The NetBSD Project -