On Thu, December 13, 2007 6:03 pm, markd@macports.org wrote:
I was refining the guide part about epochs, and after gleaning information from the FreeBSD ports collection documentation I followed their lead and wrote the final part below for our guide. But do we consider this a good practice? Or is it only a FreeBSD thing?
"An epoch is not needed for most ports, and good use of a port's version can make using an epoch unnecessary even for application distributions without official version numbers. For example, if an application version 1.5 is superseded by a snapshot release 20081022, the new release could be given version number 1.5.20081022, rather than 20081022, so the newer release will have a numericaly greater value."
(For those who want to read the above quotation in context, see Section 5.2.2.2 of the _FreeBSD Porter's Handbook_ [1].) I think that what we (and they) want to occur could be more clearly expressed as something like "only increase epoch when the version number of goes down"; we could then cite the kind of example that you quote as a particular case to be careful of, along with the rationale for doing it the way that they describe. In the above case, I imagine that a look at the official version numbers would show that official releases are tagged 1.5, 1.5.1, 1.6, and so on, but that they only label snapshot releases in between official ones by date, in which case the practice that FreeBSD recommends could be appropriate. I'd also like to note that: (a) I think that our division between "foo" and "foo-devel" makes the above scenario unlikely -- snapshot releases would clearly go into "foo-devel", unless upstream decided that they were going to release an "official" or "critical" update but tag it only with their snapshot number, which seems very unlikely; and (b) one could also consider incrementing our port's revision number instead, as has been done previously with silent upstream updates where no revision number change is announced at all -- though it's a bit of a violation of the intended meaning of that number, the practical effect is the same. (I wouldn't recommend changing the revision number to the date of snapshot; that violation of intended meaning would be too much for me :) ) There might be other scenarios that one should be wary of with respect to epoch, but I can't think of any that would be likely to arise. I hope that helps. Kind regards, Maun Suang [1] http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/makefile-n...