Bugzilla – Bug 1106478
Rebuild without Version update
Last modified: 2024-01-09 13:58:10 UTC
The devel:languages:python project (or at least parts of it) have experienced a rebuild of the packages without a bump of the version number. As we use this repository in Pulp (which also stages repositories), this led to mismatches between the packages and their checksums. Besides that it also goes against best practices. This should never happen, as any change to a package which results in a different checksum should also result in a higher package version (even if just epoch), but NEVRA seems to be partially ignored by the project as well. I hereby request the adherence to NEVRA and established best practices. Before the rebuild: <package type="rpm"> <name>python-pyparsing</name> <arch>noarch</arch> <version epoch="0" rel="1.4" ver="2.2.0" /> <checksum pkgid="YES" type="sha256">443ce7c1a7a6c1dd9d2559bf045be8e11c28f951f4ab2336fbc83a53ee667a4f</checksum> <summary>Grammar Parser Library for Python</summary> <description>The pyparsing module is an alternative approach to creating and executing simple grammars, vs. the traditional lex/yacc approach, or the use of regular expressions. The pyparsing module provides a library of classes that client code uses to construct the grammar directly in Python code.</description> <packager /> <url>http://pyparsing.wikispaces.com/</url> <time build="1523550890" file="1523550908" /> <size archive="790600" installed="788413" package="150209" /> <location href="Packages/p/python-pyparsing-2.2.0-1.4.noarch.rpm"/> <format> <rpm:license>MIT and GPL-2.0+ and GPL-3.0+</rpm:license> <rpm:vendor>obs://build.opensuse.org/devel:languages:python</rpm:vendor> <rpm:group>Development/Languages/Python</rpm:group> <rpm:buildhost>obs-power8-05</rpm:buildhost> <rpm:sourcerpm>python-pyparsing-2.2.0-1.4.src.rpm</rpm:sourcerpm> <rpm:header-range end="33480" start="440" /> <rpm:provides> <rpm:entry epoch="0" flags="EQ" name="python-parsing" ver="2.2.0" /> <rpm:entry epoch="0" flags="EQ" name="python-pyparsing" rel="1.4" ver="2.2.0" /> <rpm:entry epoch="0" flags="EQ" name="python2-pyparsing" rel="1.4" ver="2.2.0" /> </rpm:provides> <rpm:requires> <rpm:entry epoch="0" flags="EQ" name="python(abi)" ver="2.7" /> <rpm:entry name="python-base" /> </rpm:requires> <rpm:obsoletes> <rpm:entry epoch="0" flags="LT" name="python-parsing" ver="2.2.0" /> </rpm:obsoletes> </format> </package> After the rebuild: <package type="rpm"> <name>python-pyparsing</name> <arch>noarch</arch> <version epoch="0" rel="1.4" ver="2.2.0" /> <checksum pkgid="YES" type="sha256">f0cb17cd16db6711cfc6a746fbe5bdf09fab61a516326b72b48270219174b332</checksum> <summary>Grammar Parser Library for Python</summary> <description>The pyparsing module is an alternative approach to creating and executing simple grammars, vs. the traditional lex/yacc approach, or the use of regular expressions. The pyparsing module provides a library of classes that client code uses to construct the grammar directly in Python code.</description> <packager /> <url>http://pyparsing.wikispaces.com/</url> <time build="1523554579" file="1523554593" /> <size archive="790600" installed="788413" package="150252" /> <location href="Packages/p/python-pyparsing-2.2.0-1.4.noarch.rpm"/> <format> <rpm:license>MIT and GPL-2.0+ and GPL-3.0+</rpm:license> <rpm:vendor>obs://build.opensuse.org/devel:languages:python</rpm:vendor> <rpm:group>Development/Languages/Python</rpm:group> <rpm:buildhost>lamb10</rpm:buildhost> <rpm:sourcerpm>python-pyparsing-2.2.0-1.4.src.rpm</rpm:sourcerpm> <rpm:header-range end="33464" start="440" /> <rpm:provides> <rpm:entry epoch="0" flags="EQ" name="python-parsing" ver="2.2.0" /> <rpm:entry epoch="0" flags="EQ" name="python-pyparsing" rel="1.4" ver="2.2.0" /> <rpm:entry epoch="0" flags="EQ" name="python2-pyparsing" rel="1.4" ver="2.2.0" /> </rpm:provides> <rpm:requires> <rpm:entry epoch="0" flags="EQ" name="python(abi)" ver="2.7" /> <rpm:entry name="python-base" /> </rpm:requires> <rpm:obsoletes> <rpm:entry epoch="0" flags="LT" name="python-parsing" ver="2.2.0" /> </rpm:obsoletes> </format> </package> Due to NEVRA, both packages are seen as the same, although they are clearly not.
OBS is always increasing build numbers on rebuild, but you can trick him as a packager (eg. by removing container and readding it) or overwrite it in sources. Sorry, not my job until someone has a reproducer that OBS is really doing something wrong here.
It wasn't a rebuild, but coming from a different arch in the same repository (a noarch package is still built for all archs separately). <rpm:buildhost>obs-power8-05</rpm:buildhost> <rpm:buildhost>lamb10</rpm:buildhost>