* Jolan Luff <[EMAIL PROTECTED]> [051102 20:13]: > On Thu, Nov 03, 2005 at 12:04:15AM +0100, Marc Espie wrote: > > In order to get you more confused, we've got more bright ideas about > > version numbering... > > > > Right now, we mostly use the `vendor' number scheme, and we add a simple > > p* suffix to denote what's going on with the OpenBSD port. > > > > As we've noticed, some times, vendor version numbers go backwards, or we > > don't plan enough in advance, and it gets confusing. > > > > For instance, kde uses a scheme like 3.4.3, 3.4.92, 3.5, which is fine. > > > > gcc is going from gcc-3.3.20050920 to gcc-3.3.6 (release). > > > > The idea is to add some v* suffix each time the numbering scheme changes. > > > > So, if pkg_add can compare version numbers on its one, we don't need any > > suffix for that. > > > > If it can't, then we need to bump v*. As expected, we start with an empty > > v* suffix... > > > > So, with that scheme, gcc would go from 3.3.20050920 to 3.3.6v0 > > > > Some comments: > > - we still need the p* stuff to denote OpenBSD specific changes. > > - v* versions mean we can go backwards. If we find a security issue, > > and we have to go back from foo-2.0 to foo-1.9, then we just bump v* so > > that it becomes foo-1.9v0, which is higher than foo-2.0... > > > > The main objection you can have is that this is too complicated, but so > > far, we haven't been able to find any hole in that scheme... > > > > Opinions ? > > I was actually just thinking about this. I am in the process of > updating multimedia/libdvdnav from 0.1.10 to a cvs snap versioned > 20051102. I was wondering how the pkg update stuff would handle that if > 0.1.11 came out. > > Your solution makes sense but there are still some things that are weird > to me with how things are done now: > > 1) x11/xglobe's Makefile has: > > DISTNAME= xglobe-0.5p2 > PKGNAME= ${DISTNAME:S/p2/p10/} > > Seems sort of silly to have to strip vendor versioning in order to preserve > our own notation. > > 2) The pkg tools make lots of assumptions based upon the package name > and yet the pkg tools don't care if invalid package names are being > used. It would be nice if pkg_create detected invalid package names and > bombed out. > > I'll admit that neither of these are particularly important issues, but > since we're talking about changes in this area I thought it would be a > good time to mention them. > > I think ideally it would be nice to have something like: > > REVISION=epoch_seconds_when_package_was_last_changed (any sort of > monotonically increasing value would do) > > and embed this identifier in the package as a true version > identifier and completely do away with package names, OpenBSD patch > level, v0, etc. and just use the vendor versioning mechanism strictly as > a name but look at REVISION for the real "is this newer or not" > information. This would require adding such an identifier to every > package and subpackage which could be a lot of work. > > Again, I think your idea makes sense and is relatively cheap to > implement. But it would be cool to solve this sort of stuff > once-and-for-all rather than increase the dependencies and complexity of > parsing the embedded version information that is contained in the > package name. >
I was thinking something similar. DNS sequence numbers were the first thing coming to my mind. I just hadn't thought it out much at all. Personally, I like the idea of "monotonically increasing values" but that's the database purist in me peeking out. The value of my input is proportional to the number of ports I maintain. Meaning, I bow to the porting masters and their experience. Jim