Subject: Converting dependencies
To: None <tech-pkg@netbsd.org>
From: None <joerg@britannica.bec.de>
List: tech-pkg
Date: 06/27/2006 14:33:19
Hi all,
one of the subprojects for the pkg_install rewrite is a cleanup of the
dependency specification and handling. The new syntax can be found at 
http://netbsd-soc.sourceforge.net/projects/pkg_install/doc/pkg_install.html#id2525854
and examples in the regression directory of the CVS tree.
An important part of the project is to allow automatic conversion of the
existing patterns. They fall into one of four categories:
(1) Alternative patterns
(2) Dewey patterns
(3) fnmmatch patterns
(4) direct matches

(1) and (4) are easy to handle, (2) doesn't need work at all. For (3) a
number of problems occur though. We have at least the following use
cases and possible conversion:
	foo-[0-9]*	=> foo
	foo-1.[0-9]*	=> foo~1.>=1.
	foo-*		=> foo (*)
	foo-1nb*	=> foo~1nb
We also have a few packages (e.g. for nmap dependencies) using
foo-[2-4]*, I'm not sure how appropiate the automatic conversion is for
those.

The general problem is that even the patterns above are not exact,
possible best explained by (*). (*) matches foo-1.2, but also
foo-bar-1.2, which can not be easily reproduced. I don't think it is a
problem within the current tree, but still a bit nasty.

What do you think?

Joerg