[Fedora-packaging] Using of date in snapshot versions
Jason L Tibbitts III
tibbs at math.uh.edu
Fri Apr 13 01:05:14 UTC 2007
>>>>> "JLT" == Jason L Tibbitts <tibbs at math.uh.edu> writes:
JLT> Well, I've had this exact discussion at least twice before and
JLT> it's always come down to precisely the scheme I indicated.
Some bits from my IRC logs:
[Sat Aug 12 2006] [22:50:27] <tibbs> Hmmm, why do we mandate a date for the alphatag of an SVN checkout when the tree revision number actually makes more sense?
[Sun Aug 13 2006] [02:13:27] <abadger1999> tibbs: Michael Schwendt explained on the list at one point that the date is portable in case upstream migrates to a different revision control system whereas the revision number is only
applicable as long as they keep using subversion. A proposal was made to use DATEsvnREV# if you wanted to include the rev# information and some people have used that (but I don't think it made it into the official guidelines.)
[Sun Aug 13 2006] [09:13:14] <tibbs> abadger1999: I think that's rather pointless given that you'd just bump the number that comes before the alphatag.
[Sun Aug 13 2006] [09:13:57] <tibbs> It's like arguing that they could switch from SVN to CVS one day, and worrying about the version going backwards because CVS < SVN.
[Sun Aug 13 2006] [10:02:07] <f13> are svn revisions rpmsortable ?
[Sun Aug 13 2006] [10:08:27] <tibbs> Do they need to be?
[Sun Aug 13 2006] [10:08:56] <tibbs> You're supposed to bump the number before the alphatag anyway. So sortability of the alphatag shouldn't make a difference.
[Sun Aug 13 2006] [10:09:33] <tibbs> In any case, they're a monotonically increasing integer. I don't know if that's rpmsortable.
[Sun Aug 13 2006] [10:30:31] <f13> if they increase thats fine
[Sun Aug 13 2006] [10:30:47] <f13> as long as it isn't something with checksums (mercerial)
[Sun Aug 13 2006] [10:41:34] <tibbs> Even then I don't see the problem. It's a string which (supposedly) uniquely identifies the checkout.
[Sun Aug 13 2006] [10:41:47] <tibbs> The number before the alphatag is what imposes the ordering.
[Sun Aug 13 2006] [10:42:15] <tibbs> Using dates is ambiguous in any case; CVS just doesn't provide anything better unless you tag every commit.
[Sun Aug 13 2006] [10:42:45] <tibbs> I don't see why something better couldn't be used for version control systems which provide it (which is pretty much everything except CVS).
[Sun Aug 13 2006] [10:51:22] <f13> tibbs: think of cases were nothing changes but the snapshot number
[Sun Aug 13 2006] [11:00:58] <tibbs> So you bump the number before the alphatag. I don't see the problem.
[Sun Aug 13 2006] [11:01:39] <tibbs> The naming guidelines say that you have to do that every time the snapshot number changes.
[Sun Aug 13 2006] [11:05:15] <f13> do they?
[Sun Aug 13 2006] [11:05:32] <tibbs> I'm looking at the kismet example:
[Sun Aug 13 2006] [11:05:34] <tibbs> kismet-1.0-4.20050515cvs (bugfix to the post-release cvs checkout)
[Sun Aug 13 2006] [11:05:39] <tibbs> kismet-1.0-5.20050517cvs (new cvs checkout, note the increment of %{X})
[Sun Aug 13 2006] [11:05:48] <tibbs> Looks like an increment just because the snapshot changed.
[Sun Aug 13 2006] [11:06:19] <f13> looks like they do yeah.
[Sun Aug 13 2006] [11:06:23] <tibbs> The examples seem consistent in that.
[Sun Aug 13 2006] [11:06:35] <f13> nod
[Sun Aug 13 2006] [11:06:47] <tibbs> It looks like everything expects that the alphatag does not impose a strict ordering.
[Sun Aug 13 2006] [11:06:58] <f13> I don't have really any objections, it'll just get fun if we special case each and every SCM possibility
[Sun Aug 13 2006] [11:10:33] <tibbs> I'm not sure we'd need to.
[Sun Aug 13 2006] [11:11:18] <tibbs> If the SCM in use provides an identifier which uniquely specifies a particular checkout, then use it. There should still be room for common sense.
[Sun Aug 13 2006] [11:11:59] <tibbs> The real problem is that dates don't uniquely identify checkouts.
[Sun Aug 13 2006] [11:12:52] <tibbs> But of course in some cases using dates may just be simpler. SVN is kind of special, I think, because it's the only one that provides a monotonically increasing serial number.
[Sun Aug 13 2006] [11:13:04] <f13> oh boy, I can't wait to see the first package that has a mercerial sha1sum in the release string.
[Sun Aug 13 2006] [11:13:21] <tibbs> Well, a date would be completely useless there in any case.
[Sun Aug 13 2006] [11:14:00] <f13> nod.
[Sun Aug 13 2006] [11:14:14] <tibbs> Nothing we have allows specification of things like branches anyway.
[Sun Aug 13 2006] [11:15:08] <tibbs> So perhaps the point isn't that the date tells you what to check out.
[Sun Aug 13 2006] [11:15:31] <tibbs> (I wasn't around for the original discussion. I can't imagine that this kind of thing wasn't covered already.)
[Sun Aug 13 2006] [11:15:34] <f13> nod, more of when the snapshot was taken.
[Sun Aug 13 2006] [11:15:46] <f13> i wasn't around either.
[Sun Aug 13 2006] [11:16:15] <tibbs> Perhaps it's best to leave additional data like that for comments in the spec file.
[Sun Aug 13 2006] [11:17:30] <tibbs> What's confusing is that the name of the SCM gets put in the alphatag, which makes it look like the date somehow refers to some kind of SCM identifier.
[Sun Aug 13 2006] [11:18:00] <f13> yeah, it was probably not really discussed regarding the other SCMs
[Sun Aug 13 2006] [11:19:46] <tibbs> It's not as if a particular package is going to have more than one upstream SCM.
[Sun Aug 13 2006] [11:20:34] <tibbs> So what's the point of even including it? Just to indicate that it was pulled from the SCM instead of from some released snapshot?
[Sun Aug 13 2006] [11:26:27] <f13> not sure
[Sun Aug 13 2006] [11:26:32] <f13> best would be to ask spot
[Sun Aug 13 2006] [12:57:08] <abadger1999> tibbs: spot would be the only one to know all the reasoning behind the original naming.
[Sun Aug 13 2006] [12:57:18] <abadger1999> Here's mschwendt's post: https://www.redhat.com/archives/fedora-extras-list/2006-January/msg00447.html
[Sun Aug 13 2006] [12:58:58] <abadger1999> FWIW I agree that there's supposed to be an integer in the Release: before we get to this portion of the tag but you'll have to ask spot/mschwendt if there's something else going on.
- J<
More information about the packaging
mailing list