Description of problem:
Building with the epel-7-x86_64 root produces a dist tag of ".el7.centos" instead of ".el7".
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. yumdownloader --source pv
2. mock -r epel-7-x86_64 --rebuild pv-1.5.1-1.fc20.src.rpm
3. cd /var/lib/mock/epel-7-x86_64/result/
4. ls pv-1*4.rpm
This has been reported to CentOS in <http://bugs.centos.org/view.php?id=7416> but they claim the build system should be overriding their dist tag.
Hmm, and why we should override it?
Dist tag is for marking *distribution* version of package. I.e. Fedora in Koji override dist tag. But why we should alter it. It does not have sense to me.
Well it would make sense to me, if we override it to something like ".el7.localbuild". But I guess people would like this even less.
FWIW, I don't like the 'centos' string there also - for me, mock tries to
simulate what is happening in koji including the results. And for epel-6 (and
oder?) the results contans '.el6' same as in koji.
If looked at such installed package, it seems that it is CentOS origin package
including some CentOS downstream changes.
- Packages are often intended for all EL-7 variants, not just CentOS, but the dist tag implies that a package is specialized for CentOS in some way. This affects private/third-party repositories that build their packages using mock. It seems pointless to force packagers to create a custom root just to fix the dist tag.
- It'd be good to stay consistent with EL-5, EL-6, Fedora, and koji builds for EL-7.
- The fact that epel-7 packages are built with CentOS is really an implementation detail that shouldn't be exposed in the package version.
> - The fact that epel-7 packages are built with CentOS is really an
> implementation detail that shouldn't be exposed in the package version.
This implementation detail, which matter. This is real intention and origin of dist tag. To mark from which distribution it somes. And yes epel-X-<arch> comes from CentOS.
And BTW you can still install packages with .el7.centos dist tag on real RHEL. There is nothing bad on this.
And another BTW - we are working on adding RHSM support to mock, which would allow you to user real RHEL as buildroot. But that is not finished yet.
According to <http://fedoraproject.org/wiki/Packaging:DistTag#.25.7Bdist.7D_in_the_Release:_field>, the dist tag marks a package as built *for* a particular distribution, not built *on* a particular distribution. The mechanics of how the package was built are indeed an implementation detail.
epel-5 and epel-6 are also built using CentOS but they don't put it in the dist tag.
I would suggest adding this line to the epel-7-x86_64.cfg file:
config_opts['macros']['%dist'] = ".el7"
I can confirm that #6 really works. So if somebody want .el7 you can either:
* put this line in your config
* use rhnplugin option in config and build against real RHEL.
But right now epel-7-x86_64 chroot builds against CentOS (and therefore for CentOS).