[CentOS-devel] dist tag in rebuild SRPM

Wed Jul 16 13:41:08 UTC 2014
Johnny Hughes <johnny at centos.org>

On 07/16/2014 08:27 AM, David Mansfield wrote:
> On 07/15/2014 02:15 PM, Johnny Hughes wrote:
>> On 07/15/2014 10:02 AM, David Mansfield wrote:
>>> Hi All,
>>>
>>> Congrats on Centos 7, and thanks a million!
>>>
>>> This may have been answered before but I can't seem to discover...
>>>
>>> I did:
>>>
>>> yumdownloader --source sssd
>>> rpmbuild --rebuild sssd-1.11.2-68.el7_0.5.src.rpm
>>>
>>> And the packages I got had a different "dist" tag than the installed
>>> versions.
>>>
>>> Installed versions are ".el7_0" and the built ones were ".el7.centos".
>>>
>>> sssd-1.11.2-68.el7_0.5.x86_64                <== in repo
>>> sssd-1.11.2-68.el7.centos.5.x86_64       <== rebuilt locally
>>>
>>> Is there a reason for this mismatch and is in intentional or an error?
>>> It's a pain in the butt because I often want to replace existing package
>>> version using 'rpm --replacepkgs --oldpackage' while testing fixes and
>>> this makes it close to impossible due to huge dependency issues.
>>>
>>> (also, it seems like the default rebuild of the above package "forgets"
>>> to generate one of the necessary packages: python-sssdconfig, but thats
>>> a different issue).
>>>
>> You need to define your own dist variable for each rpm built, if you do
>> not want the default.  You can do it via rpmbuild:
>>
>> rpmbuild --define "dist .el7_0" <other stuff>
>>
>> ...OR... you can do a default in your .rpmmacros
>>
>> The system default dist (as you found) is .el7.centos if it is not modified.
>>
> But why is the system default not the same as what the installed 
> packages were built with? Surely that's a regression from any prior 
> Centos platform.  Is there an "upstreamy" reason for this (like they use 
> inconsistent dist tag or something?).

They us all kinds of inconsistent dist tags yes

They use .el7, .el7_0, etc.

We use .el7 and .el7_0 and .el7.centos

(and all the other things for other versions .. .el5 or .el5_[0-10] or
.el5.centos, ... same for 6)

If CentOS changes a package, it becomes .el7.centos (or .el6.centos or
.el5.centos) .. otherwise (if we don't change a package) we match what
upstream has, which can be any number of things.  So that means every
single package has to have its dist tag checked.  This is nothing new,
it has been around and the policy since the beginning of CentOS-4.



-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: OpenPGP digital signature
URL: <http://lists.centos.org/pipermail/centos-devel/attachments/20140716/645ac048/attachment-0007.sig>