On Thu, Nov 15, 2007 at 09:27:52AM -0800, Bart Smaalders wrote:
> Note that adopting Gentoo's scheme would not solve your problem;
> as far as I can tell 0.9.8g is not a Gentoo-legal version specifier,

No, it is a valid Gentoo (and Debian) version specifier.  Both allow
a character at the end of the dot sequence which is compared by
ASCII value if the dot sequences are identical.  This should be a
trivial (and backward compatible) addition to the present IPS
versioning scheme.

The basic Gentoo format is "version[_suffix[XX]]", where version
is a dot sequence followed by an optional letter and suffix is one
of "alpha", "beta", "pre", "rc" and "p" followed by an optional
integer.  For example, 0.9.8g_pre10 is a valid Gentoo version
specifier.

The hierarchy is like this:
alpha < beta < pre < rc < (no suffix) < p

One way of adapting this to IPS would result in package names like
this:

[EMAIL PROTECTED],rc7

This would mean a non-backward-compatible change in the build
specifier which would no longer be a dot sequence, but I guess we
are early enough in the cycle to be able to accommodate this.
Personally, I find this way of representing builds more
human-parsable.

> If you want the packaging
> system to be able to do anything else with the version numbering other
> than returning the exact one you asked for, you must impose structure/
> meaning on the versioning that is the same across packages as writing 
> custom version comparison functions for each package versioning scheme
> isn't going to work - especially since they often change over time.

Oh, definitely.  That way lies madness.  But the Gentoo scheme does
impose structure and a hierarchy that is the same across packages.

I keep harping on the Gentoo/Debian way of handling this because
they have had to deal with the same issues we are trying to, and
both have come up with feasible alternatives.  I prefer the Gentoo
one because it is a little more structured (too structured, maybe?)
and it accomodates all mainstream packages and pretty much most of
the others too.

> In addition, package versioning often doesn't reflect compatibility
> issues accurately, OpenSSL being a prime example.  By assigning our
> own version strings we can correct such difficulties.

Sure.  Cases where we've forked the code significantly, we can
always come up with a version which fits our scheme better.  I'm
more concerned with packages where we'd be using vanilla code,
especially given that IPS is a generic packaging system and not an
OpenSolaris-specific one.

Venky.
_______________________________________________
pkg-discuss mailing list
pkg-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

Reply via email to