tech-pkg archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: binary pkg "variants" ? [was: Re: Package split or package options?]
On Sat, Jan 18, 2014 at 03:28:52PM +0100, Anthony Mallet wrote:
> Here are the 3 patches for pkgtools/pkg_install implementing the
> aforementioned
> naming scheme in robotpkg. As such, the patches are supposed to be harmless,
> i.e. pkgsrc/pkg_install will work exactly as before (but of course implement
> the necessary bits for the new naming scheme, mostly affecting pkg_admin
> pmatch).
>
> Patches 1 & 2 are just code refactoring, patch 3 implements the real stuff.
> There is my git commit message in the patch, hopefully explaining what is
> implemented.
>
> http://www.netbsd.org/~tho/0001-pkgtools-pkg_install-Factorize-code-adding-a-version.patch
Ok, commit this after the branch.
> http://www.netbsd.org/~tho/0002-pkgtools-pkg_install-Do-not-reinvent-pkg_match-for-m.patch
Good too.
> http://www.netbsd.org/~tho/0003-pkgtools-pkg_install-Introduce-the-tags-package-suff.patch
From the patch age I assume you've been running this for years, so commit this
too please.
> Examples:
> pkg_admin pmatch 'x>=1.0~a' x-1.0 ->false
> pkg_admin pmatch 'x>=1.0~a' x-1.0~a ->true
> pkg_admin pmatch 'x>=1.0~a' x-0.0~a ->false
>
> pkg_admin pmatch 'x~!a' x-1.0~a ->false
> pkg_admin pmatch 'x~!a' x-1.0 ->true
>
> pkg_admin pmatch 'x~a+b' x-1.0 ->false
> pkg_admin pmatch 'x~a+b' x-1.0~a ->false
>
> pkg_admin pmatch 'x~*' x-1.0 ->true
> pkg_admin pmatch 'x~*' x-1.0~a ->true
>
> pkg_admin pmatch 'x~!*' x-1.0 ->true
> pkg_admin pmatch 'x~!*' x-1.0~a ->false
>
> etc.
>
> Some remarks:
> - The matching algorithm with patterns on boolean variables is in general a
> complex problem (known as SAT, I think), and the one implemented tries to
> keep things simple and intuitve. But it's not been formalized, so there must
> be some caveats ...
>
> - As wiz@ already noted, the use of the not operator `!' might be replaced by
> a
> `^' to avoid quoting issues, and instead of using pkgname-version~options,
> one could also use pkgname~options-version¹.
I'd like some feedback from others here too what they prefer.
Has anyone looked what Debian or OpenBSD use here?
Cheers,
Thomas
Home |
Main Index |
Thread Index |
Old Index