{"thread":{"id":"2946","subject":"[PATCH] rpmbuild doesn't like '-' in version strings","startedAt":"2005-12-30T17:29:10Z","lastAt":"2006-01-16T09:15:54Z","messageCount":11,"participants":["John Ellson","Junio C Hamano","Andreas Ericsson","Johannes Schindelin","Ryan Anderson","Linus Torvalds"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"14101","messageId":"dp3qpb$7uk$1@sea.gmane.org","threadId":"2946","inReplyTo":null,"subject":"[PATCH] rpmbuild doesn't like '-' in version strings","fromName":"John Ellson","fromEmail":"ellson@research.att.com","sentAt":"2005-12-30T17:29:10Z","receivedAt":"2005-12-30T17:29:10Z","isPatch":true,"sender":{"key":"ellson@research.att.com","avatar":null},"body":"Problem:\n\n\tellson@ellson:git> make rpm\n\tGIT_VERSION = 1.0.6-g58e3\n\tsed -e 's/@@VERSION@@/1.0.6-g58e3/g' < git.spec.in > git.spec\n\t./git-tar-tree HEAD git-1.0.6-g58e3 > git-1.0.6-g58e3.tar\n\ttar rf git-1.0.6-g58e3.tar git-1.0.6-g58e3/git.spec\n\tgzip -f -9 git-1.0.6-g58e3.tar\n\trpmbuild -ta git-1.0.6-g58e3.tar.gz\n\terror: line 3: Illegal char '-' in version: Version:    1.0.6-g58e3\n\tmake: *** [rpm] Error 1\n\n\nSuggested fix:  Use '_' instead of '-'\n\nThere is probably a cleaner implementation of the fix, but this works for me.\n\n----------------------------------------\n\n\ndiff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN\nindex 845b9dc..e4e0ab1 100755\n--- a/GIT-VERSION-GEN\n+++ b/GIT-VERSION-GEN\n@@ -3,7 +3,9 @@\n  GVF=GIT-VERSION-FILE\n\n  VN=$(git-describe --abbrev=4 HEAD 2>/dev/null) || VN=v1.0.GIT\n-VN=$(expr \"$VN\" : v'\\(.*\\)')\n+VN1=$(expr \"$VN\" : '[^-]*-\\(.*\\)')\n+VN=$(expr \"$VN\" : v'\\([^-]*\\)')\n+test \"$VN1\" = \"\" || VN=\"$VN\"_\"$VN1\"\n  if test -r $GVF\n  then\n         VC=$(sed -e 's/^GIT_VERSION = //' <$GVF)\n\n\n--------------------------------------------\n\n\nSigned-off-by: John Ellson <ellson@research.att.com>\n"},{"id":"14202","messageId":"7voe2prniw.fsf@assigned-by-dhcp.cox.net","threadId":"2946","inReplyTo":"dp3qpb$7uk$1@sea.gmane.org","subject":"Re: [PATCH] rpmbuild doesn't like '-' in version strings","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2006-01-06T22:37:27Z","receivedAt":"2006-01-06T22:37:27Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"John Ellson <ellson@research.att.com> writes:\n\n> Suggested fix:  Use '_' instead of '-'\n\nI wonder if the right fix is to change the git-describe output\nbefore the current output becomes too widespread.  After all,\nsomebody might be tempted to use 1.0.6-g58e3 as a tagname ;-).\nFor example, if we say \"1.0.6:58e3\" there is no ambiguity, but\nprobably binary packagers would not like colon either X-<.\n\nMore seriously, I do not think git-describe based versioning\nscheme meshes well with binary packagers.  There is no guaranee\n1.0.6-g58e3 comes before 1.0.6-g4e7a2 (it does not).  To really\nfix this problem, I think the rpm target of the main Makefile\nneeds to be modified to include something monotonicly increasing\n(e.g. number of seconds since the base commit encoded in base26,\nor something silly like that) between the base version and the\nabbreviated object name, but the development being distributed,\nmy today's version on top of 1.0.6 may be way behind your\nyesterday's version, so some centralized coordination (read:\nmanual version assignment by the maintainer, or automated\nassignment but only reserved for the maintainer and unavailable\nto mere mortals) might be needed to truly solve this.  In that\nsense, maybe leaving the interim version unbuildable for binary\npackaging might be considered a feature.\n\nWhat Linus did with git-describe is good for people who do not\ninstall prebuilt binaries, or know how to override (false)\ndowngrade refusal by package managers.\n\nI vaguely recall that Debian does not like underscores at random\nplaces, but we know both RPM and Debian can handle multiple\ndots, so if you insist using the git-describe based version to\nbuild binary packages, I suspect dot instead of underscore would\nbe a better choice.  Since I do not understand what that \"g\"\nstands for anyway, how about doing something like this instead?\n\nNote that the part about \"describe --stamp\" is not really a\nserious counterproposal.  If I cut a binary package out of my\nmaster and then one of my topic branches, it is very likely they\nwill get confused time ordering when they happen to find the\nsame base revision.  This patch is for discussion only and I\nwill not even keep it in the proposed updates branch.  I would\nhowever welcome if somebody polishes it up and makes it suitable\nfor binary packaging purposes ;-).\n\n-- >8 --\n[PATCH] sanitize describe output used in GIT_VERSION\n\nIt is reported that RPM does not like '-' in version name, which\nunfortunately is what the new \"git-describe\" based interim\nversioning scheme gives.\n\nThis does three things:\n\n - GIT-VERSION-GEN avoids '-' characters and replaces them with '.'.\n\n - git-describe --stamp flag adds number of seconds since the\n   base revision until the named revision, between the base\n   revision name and the abbreviated object name.\n\n - GIT-VERSION-GEN uses describe --stamp to make commits\n   monotonically increasing to keep binary package managers\n   happier, unless you have multiple branches or skewed clocks.\n\n---\ndiff --git a/Documentation/git-describe.txt b/Documentation/git-describe.txt\nindex 0efe82a..ca0e781 100644\n--- a/Documentation/git-describe.txt\n+++ b/Documentation/git-describe.txt\n@@ -8,7 +8,7 @@ git-describe - Show the most recent tag \n \n SYNOPSIS\n --------\n-'git-describe' [--all] [--tags] [--abbrev=<n>] <committish>...\n+'git-describe' [--all] [--tags] [--abbrev=<n>] [--stamp] <committish>...\n \n DESCRIPTION\n -----------\n@@ -35,6 +35,12 @@ OPTIONS\n \tInstead of using the default 8 hexadecimal digits as the\n \tabbreviated object name, use <n> digits.\n \n+--stamp::\n+\tAdd a timestamp string, expressed as number of seconds\n+\tbetween the commit times of the base commit and the\n+\tnamed commit, encoded in base26 (a-z), between the base\n+\tversion name and abbreviated object name.\n+\n \n EXAMPLES\n --------\ndiff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN\nindex 845b9dc..f6ed589 100755\n--- a/GIT-VERSION-GEN\n+++ b/GIT-VERSION-GEN\n@@ -2,8 +2,8 @@\n \n GVF=GIT-VERSION-FILE\n \n-VN=$(git-describe --abbrev=4 HEAD 2>/dev/null) || VN=v1.0.GIT\n-VN=$(expr \"$VN\" : v'\\(.*\\)')\n+VN=$(git-describe --abbrev=4 --stamp HEAD 2>/dev/null) || VN=v1.0.GIT\n+VN=$(echo \"$VN\" | sed -e 's/^v//' -e 's/-g\\([^-]*\\)$/-\\1/' -e 's/-/./g')\n if test -r $GVF\n then\n \tVC=$(sed -e 's/^GIT_VERSION = //' <$GVF)\ndiff --git a/describe.c b/describe.c\nindex 84d96b5..0414100 100644\n--- a/describe.c\n+++ b/describe.c\n@@ -13,6 +13,7 @@ static int tags = 0;\t/* But allow any ta\n \n #define DEFAULT_ABBREV 8 /* maybe too many */\n static int abbrev = DEFAULT_ABBREV;\n+static int stamp = 0; /* show timestamps between base and abbrev */\n \n static int names = 0, allocs = 0;\n static struct commit_name {\n@@ -98,6 +99,39 @@ static int compare_names(const void *_a,\n \treturn (a_date > b_date) ? -1 : (a_date == b_date) ? 0 : 1;\n }\n \n+static void describe_it(struct commit *cmit, struct commit_name *name)\n+{\n+\tconst char *ab = find_unique_abbrev(cmit->object.sha1, abbrev);\n+\tif (stamp) {\n+\t\tunsigned long t1 = name->commit->date;\n+\t\tunsigned long t2 = cmit->date;\n+\t\tchar tstamp[11]; /* 26^13 < 2^64 < 26^14 */\n+\t\tint i;\n+\n+\t\t/* It had better be the former unless there is something\n+\t\t * really really screwy with your clock.\n+\t\t */\n+\t\tif (t1 < t2) {\n+\t\t\tunsigned long t = t2 - t1;\n+\t\t\tfor (i = 0; i < sizeof(tstamp) && t; i++) {\n+\t\t\t\tunsigned long d = t % 26;\n+\t\t\t\tt /= 26;\n+\t\t\t\ttstamp[i] = d + 'a';\n+\t\t\t}\n+\t\t}\n+\t\telse {\n+\t\t\ttstamp[0] = '0';\n+\t\t\ti = 1;\n+\t\t}\n+\t\tprintf(\"%s-\", name->path);\n+\t\twhile (0 < i)\n+\t\t\tputchar(tstamp[--i]);\n+\t\tprintf(\"-g%s\\n\", ab);\n+\t}\n+\telse\n+\t\tprintf(\"%s-g%s\\n\", name->path, ab);\n+}\n+\n static void describe(struct commit *cmit)\n {\n \tstruct commit_list *list;\n@@ -122,8 +156,7 @@ static void describe(struct commit *cmit\n \t\tstruct commit *c = pop_most_recent_commit(&list, SEEN);\n \t\tn = match(c);\n \t\tif (n) {\n-\t\t\tprintf(\"%s-g%s\\n\", n->path,\n-\t\t\t       find_unique_abbrev(cmit->object.sha1, abbrev));\n+\t\t\tdescribe_it(cmit, n);\n \t\t\treturn;\n \t\t}\n \t}\n@@ -146,6 +179,10 @@ int main(int argc, char **argv)\n \t\t\ttags = 1;\n \t\t\tcontinue;\n \t\t}\n+\t\tif (!strcmp(arg, \"--stamp\")) {\n+\t\t\tstamp = 1;\n+\t\t\tcontinue;\n+\t\t}\n \t\tif (!strncmp(arg, \"--abbrev=\", 9)) {\n \t\t\tabbrev = strtoul(arg + 9, NULL, 10);\n \t\t\tif (abbrev < 4 || 40 <= abbrev)\n"},{"id":"14217","messageId":"43BF05A3.8060407@op5.se","threadId":"2946","inReplyTo":"7voe2prniw.fsf@assigned-by-dhcp.cox.net","subject":"Re: [PATCH] rpmbuild doesn't like '-' in version strings","fromName":"Andreas Ericsson","fromEmail":"ae@op5.se","sentAt":"2006-01-07T00:04:51Z","receivedAt":"2006-01-07T00:04:51Z","isPatch":true,"sender":{"key":"ae@op5.se","avatar":"https://gravatar.com/avatar/426e89595c75a8f5252dd0c989e5fabe5bcac616e68557427ad9aef6b0ca342a?d=mp&s=160"},"body":"Junio C Hamano wrote:\n> John Ellson <ellson@research.att.com> writes:\n> \n> \n>>Suggested fix:  Use '_' instead of '-'\n> \n> \n> I wonder if the right fix is to change the git-describe output\n> before the current output becomes too widespread.\n\n\nI don't think there's any major risk of the current output being very \nwidespread. It's not very useful for scripting.\n\n\n>  To really\n> fix this problem, I think the rpm target of the main Makefile\n> needs to be modified to include something monotonicly increasing\n> (e.g. number of seconds since the base commit encoded in base26,\n> or something silly like that)\n\n\nWhy not keep it super-simple and just print the number of commits since \nwhatever tag is found? It only counts commits on the current branch, so \na merge shows up as a single commit. That should more or less be ok \nthough and goes well with the topic branch model.\n\n\n>  If I cut a binary package out of my\n> master and then one of my topic branches, it is very likely they\n> will get confused time ordering when they happen to find the\n> same base revision.\n\n\nI suppose this could happen when counting commits as well. People who \nbuild packages from different branches should be shot on sight though, \nso I wouldn't worry about it.\n\n-- \nAndreas Ericsson                   andreas.ericsson@op5.se\nOP5 AB                             www.op5.se\nTel: +46 8-230225                  Fax: +46 8-230231\n"},{"id":"14221","messageId":"Pine.LNX.4.63.0601070142570.30029@wbgn013.biozentrum.uni-wuerzburg.de","threadId":"2946","inReplyTo":"43BF05A3.8060407@op5.se","subject":"Re: [PATCH] rpmbuild doesn't like '-' in version strings","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2006-01-07T00:47:13Z","receivedAt":"2006-01-07T00:47:13Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nwe still could go back to \\d.\\d.\\d.GIT, you know?\n\nUsing the output of git-describe only helps if you use git from the \nofficial repository. But when you have a private branch, they are only \nmisleading. And if you use git from the official repository, you are more \nlikely to take official versions anyway.\n\nCiao,\nDscho\n"},{"id":"14222","messageId":"20060107012221.GA7730@mythryan2.michonline.com","threadId":"2946","inReplyTo":"7voe2prniw.fsf@assigned-by-dhcp.cox.net","subject":"Re: [PATCH] rpmbuild doesn't like '-' in version strings","fromName":"Ryan Anderson","fromEmail":"ryan@michonline.com","sentAt":"2006-01-07T01:22:21Z","receivedAt":"2006-01-07T01:22:21Z","isPatch":true,"sender":{"key":"ryan@michonline.com","avatar":null},"body":"On Fri, Jan 06, 2006 at 02:37:27PM -0800, Junio C Hamano wrote:\n>\n> Since I do not understand what that \"g\"\n> stands for anyway, how about doing something like this instead?\n\nI'm pretty sure the \"g\" is my fault, indirectly.  When I submitted the\n\"AUTO_LOCALVERSION\" patch to Linux, I prepended a -g to it, so it would\nbe possible to tell versions based off of a git tree apart from versions\nbased off of a CVS tree that used md5 to make a short, semi-unique\nindicator.  Presumably, a CVS variant would've done something like\n-c012345678, etc.\n\nSo, it's just a little mnemonic to hint that the extra version string\ncame from a git tree, as opposed to some other semi-random source. It's\nvalue is rather dubious, overall, though.\n\n-- \n\nRyan Anderson\n  sometimes Pug Majere\n"},{"id":"14651","messageId":"43C91B25.9030707@research.att.com","threadId":"2946","inReplyTo":"7voe2prniw.fsf@assigned-by-dhcp.cox.net","subject":"Re: [PATCH] rpmbuild doesn't like '-' in version strings","fromName":"John Ellson","fromEmail":"ellson@research.att.com","sentAt":"2006-01-14T15:39:17Z","receivedAt":"2006-01-14T15:39:17Z","isPatch":true,"sender":{"key":"ellson@research.att.com","avatar":null},"body":"Junio C Hamano wrote:\n> John Ellson <ellson@research.att.com> writes:\n> \n>> Suggested fix:  Use '_' instead of '-'\n> \n> I wonder if the right fix is to change the git-describe output\n> before the current output becomes too widespread.  After all,\n> somebody might be tempted to use 1.0.6-g58e3 as a tagname ;-).\n> For example, if we say \"1.0.6:58e3\" there is no ambiguity, but\n> probably binary packagers would not like colon either X-<.\n> \n> More seriously, I do not think git-describe based versioning\n> scheme meshes well with binary packagers.  There is no guaranee\n> 1.0.6-g58e3 comes before 1.0.6-g4e7a2 (it does not).  To really\n> fix this problem, I think the rpm target of the main Makefile\n> needs to be modified to include something monotonicly increasing\n> (e.g. number of seconds since the base commit encoded in base26,\n> or something silly like that) between the base version and the\n> abbreviated object name, but the development being distributed,\n> my today's version on top of 1.0.6 may be way behind your\n> yesterday's version, so some centralized coordination (read:\n> manual version assignment by the maintainer, or automated\n> assignment but only reserved for the maintainer and unavailable\n> to mere mortals) might be needed to truly solve this.  In that\n> sense, maybe leaving the interim version unbuildable for binary\n> packaging might be considered a feature.\n\n\nWhat happened to this?   I don't particularly like my fix either, but\nsome kind of fix is needed for the \"make rpm\" target to work.  Its still broken \nbecause of the '-' in the version string.\n\n\nThe need in rpm versioning is to be able to distinguish and monotonically\norder, locally built rpms.   There is no particular need to disambiguate against\nsomebody else's rpms since if you are merging someone else's changes you\nwould be doing it in git and not by intermixing rpms.\n\nI think that distinguishing between local branches is not likely to be a prolem. \n  Most developers are likely to use only one for rpm construction, or if there \nis a second experimental branch, then it is likely to contain more-recent \nchanges anyway.\n\nSo a count of minutes since last tag is probably sufficient.\n\nThis could have a hash appended if it is essential to make the rpm version \nunique without losing the ordering of the timestamp.\n\nSomething like:\n\n\t1.1.2_123456_g9e9b\n\n\nJohn\n"},{"id":"14657","messageId":"Pine.LNX.4.64.0601140951230.13339@g5.osdl.org","threadId":"2946","inReplyTo":"43C91B25.9030707@research.att.com","subject":"Re: [PATCH] rpmbuild doesn't like '-' in version strings","fromName":"Linus Torvalds","fromEmail":"torvalds@osdl.org","sentAt":"2006-01-14T17:53:19Z","receivedAt":"2006-01-14T17:53:19Z","isPatch":true,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Sat, 14 Jan 2006, John Ellson wrote:\n> \n> What happened to this?   I don't particularly like my fix either, but\n> some kind of fix is needed for the \"make rpm\" target to work.  Its still\n> broken because of the '-' in the version string.\n\nDo a \"sed\" for rpmbuild.\n\nThere's absolutely no point in trying to make git-describe use \"_\" instead \nof \"-\", since having a \"-\" in a tag-name is very common (\"my-version\"), \nand it would be a horrible mistake to munge the tag-names. So even if we \nchanged \"-g\" into \"_g\" it wouldn't help anything, and just make things \nuglier.\n\nThis is an RPM versioning problem, and nothing more. So it should be \nhandled by rpmbuild.\n\n\t\tLinus\n"},{"id":"14659","messageId":"7v1wzaliv0.fsf@assigned-by-dhcp.cox.net","threadId":"2946","inReplyTo":"43C91B25.9030707@research.att.com","subject":"Re: [PATCH] rpmbuild doesn't like '-' in version strings","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2006-01-14T19:17:23Z","receivedAt":"2006-01-14T19:17:23Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"John Ellson <ellson@research.att.com> writes:\n\n>> ...  In that\n>> sense, maybe leaving the interim version unbuildable for binary\n>> packaging might be considered a feature.\n>\n> What happened to this?\n\nI consider leaving the interim version unbuildable for binary packaging\nconsider a feature.\n\nIf you want to build your own version, I think you could locally\ntag that head and build, like:\n\n\t$ git tag -a \"John's GIT 1.1.2+frotz patch\" v1.1.2.John0114\n\t$ make rpmbuild\n\nOf course you can keep a patch with the sed -e 's/-/_/' in\nGIT-VERSION-GEN as Linus suggested in your development branch.\nI am not yet convinced being able to build a random\nunidentifiable binary package is a good thing, and \"the number\nof minutes/seconds monotonicity\" would not work in multiple\nbranches case (i.e. still leaves the result unordered).\n"},{"id":"14664","messageId":"43C95E25.3070006@research.att.com","threadId":"2946","inReplyTo":"7v1wzaliv0.fsf@assigned-by-dhcp.cox.net","subject":"Re: [PATCH] rpmbuild doesn't like '-' in version strings","fromName":"John Ellson","fromEmail":"ellson@research.att.com","sentAt":"2006-01-14T20:25:09Z","receivedAt":"2006-01-14T20:25:09Z","isPatch":true,"sender":{"key":"ellson@research.att.com","avatar":null},"body":"Junio C Hamano wrote:\n> John Ellson <ellson@research.att.com> writes:\n>   \n> I consider leaving the interim version unbuildable for binary packaging\n> consider a feature.\n>   \nNot a very helpful feature IMO.    Who is protected by this?\n> If you want to build your own version, I think you could locally\n> tag that head and build, like:\n>\n> \t$ git tag -a \"John's GIT 1.1.2+frotz patch\" v1.1.2.John0114\n> \t$ make rpmbuild\n>\n> Of course you can keep a patch with the sed -e 's/-/_/' in\n> GIT-VERSION-GEN as Linus suggested in your development branch.\n>   \nThats basically all I'm looking for.   I agree that is only necessary to \nfix the \"make rpm\" target.\nFurther changes are not strictly necessary.   I don't understand why it \nwould only be useful to me?\n\n> I am not yet convinced being able to build a random\n> unidentifiable binary package is a good thing, and \"the number\n> of minutes/seconds monotonicity\" would not work in multiple\n> branches case (i.e. still leaves the result unordered).\n>   \nSince disparate branches are intrinsically unordered I was suggesting \nthat the\nhash field would be used to ensure uniqueness only.   The timestamp \nfield is only for ordering within a branch.\n\nSo if someone builds rpms from two different branches, they might still \nhave to force the particular\nselection they want with \"rpm -Uvh --oldpackage ...\", but I think this \nis the best that can be done\nin the absence of any intrinsic ordering.\n\nAnyway, this is above and beyond doing something with sed to fix the '-' \nissue.\n\nJohn\n>\n>\n>   \n"},{"id":"14667","messageId":"7vslrqfsz8.fsf@assigned-by-dhcp.cox.net","threadId":"2946","inReplyTo":"43C95E25.3070006@research.att.com","subject":"Re: [PATCH] rpmbuild doesn't like '-' in version strings","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2006-01-14T20:35:23Z","receivedAt":"2006-01-14T20:35:23Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"John Ellson <ellson@research.att.com> writes:\n\n> Anyway, this is above and beyond doing something with sed to\n> fix the '-' issue.\n\nWhat I am saying is that until that issue of ordering is\nresolved (and I highly suspect it is unsolvable) I think it is\ndangerous and more confusing to let binary packages be built,\nand it is better to simply forbid it like in the current\nscheme.\n\nBTW, if we _were_ to do a sed, please do s/-/./g instead; the\nunderscore breaks Debian if I am not mistaken.\n"},{"id":"14718","messageId":"7vwth0wn1x.fsf@assigned-by-dhcp.cox.net","threadId":"2946","inReplyTo":"43C95E25.3070006@research.att.com","subject":"Re: [PATCH] rpmbuild doesn't like '-' in version strings","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2006-01-16T09:15:54Z","receivedAt":"2006-01-16T09:15:54Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"John Ellson <ellson@research.att.com> writes:\n\n>> Of course you can keep a patch with the sed -e 's/-/_/' in\n>> GIT-VERSION-GEN as Linus suggested in your development branch.\n>>\n> Thats basically all I'm looking for.   I agree that is only necessary\n> to fix the \"make rpm\" target.\n> Further changes are not strictly necessary.   I don't understand why\n> it would only be useful to me?\n\nOK, if somebody is RPM savvy enough to do his own binary RPM and\ninstall it, he would know how to override the downgrade guard\nthe binary package manager would give him, so it probably is not\nsuch a big deal.  A patch to do \"sed -e 's/-/./g'\" will be\npushed out in the \"master\" branch shortly.\n\nI hope if we later see complains on the list that some RPM cut\nfrom an interim snapshot would not install, somebody would take\ntime to answer such complaints, pretty please?\n"}]}