Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1019164

Summary: GeoIP.dat conflicts during rpm install
Product: [Fedora] Fedora Reporter: Georg Wild <georg.wild>
Component: GeoIPAssignee: Paul Howarth <paul>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 19CC: espen, ingvar, john.r.moser, paul, philipp
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-07-03 22:34:20 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Georg Wild 2013-10-15 08:54:16 UTC
Description of problem:
GeoIP-1.4.8-6.fc19.x86_64 and geoip-geolite-2013.04-1.fc19.noarch RPMs provide both /usr/share/GeoIP/GeoIP.dat.

This results in the following problem during install:
file /usr/share/GeoIP/GeoIP.dat from install of geoip-geolite-2013.04-1.fc19.noarch conflicts with file from package GeoIP-1.4.8-6.fc19.x86_64

Comment 1 john.r.moser 2014-01-16 14:06:22 UTC
This is also a bug on EPEL:

Transaction Check Error:
  file /usr/share/GeoIP/GeoIP.dat from install of geoip-geolite-2013.04-1.el6.noarch conflicts with file from package GeoIP-1.4.8-1.el6.x86_64

Comment 2 Espen Braastad 2014-07-01 20:40:32 UTC
Confirming that this is still an issue.

Comment 3 Philip Prindeville 2014-07-01 22:02:23 UTC
Paul: are we doing an EPEL (EL6) build?

Comment 4 Ingvar Hagelund 2014-07-02 07:40:48 UTC
This patch will fix the issue, given that the two variants of GeoIP.dat can be used interchangeably.

http://fpaste.org/114914/42866591/

Ingvar

Comment 5 Philip Prindeville 2014-07-03 22:10:46 UTC
(In reply to Ingvar Hagelund from comment #4)
> This patch will fix the issue, given that the two variants of GeoIP.dat can
> be used interchangeably.
> 
> http://fpaste.org/114914/42866591/
> 
> Ingvar

No, it won't. Packages aren't allowed to overlap (unless they're both subpackages of the same parent, and even then it's ill-advised), as this would confuse the heck out of "repoquery --whatprovides ..." and also make it hard to resolve dependencies.

You're also not allowed to remove or alter an existing file from another package, as this would cause "rpm -V pkg" to fail.

Comment 6 Ingvar Hagelund 2014-07-03 22:23:55 UTC
(In reply to Philip Prindeville from comment #5)
> (In reply to Ingvar Hagelund from comment #4)
> > This patch will fix the issue, given that the two variants of GeoIP.dat can
> > be used interchangeably.
> > 
> > http://fpaste.org/114914/42866591/
> > 
> > Ingvar
> 
> No, it won't. Packages aren't allowed to overlap

Well, that is the problem, isn't it? And that's what my patch fixes :-)

> unless they're both
> subpackages of the same parent, and even then it's ill-advised), as this
> would confuse the heck out of "repoquery --whatprovides ..." and also make
> it hard to resolve dependencies.
> 
> You're also not allowed to remove or alter an existing file from another
> package, as this would cause "rpm -V pkg" to fail.

Eh? Did you try to apply the patch at all?

My patch removes the file from GeoIP, and makes the package depend on geoip-geolite, as that package provides the file. I think this is the correct way to fix this in the running distros. I observe that this is fixed in f20+

The change in the patch is done at rpm build time. That is, _before_ any package system is aware of anything. During rpm package install, no files are of course touched or removed.

Applying this patch makes the package install (and verify) fine on my f19 systems. The only thing that could possibly be a problem is if the 
GeoIP.dat variants from the two packages are of different quality or format.

Ingvar

Comment 7 Philip Prindeville 2014-07-03 22:34:20 UTC

*** This bug has been marked as a duplicate of bug 968074 ***

Comment 8 Philip Prindeville 2014-07-03 23:29:02 UTC
(In reply to Ingvar Hagelund from comment #6)

> Applying this patch makes the package install (and verify) fine on my f19
> systems. The only thing that could possibly be a problem is if the 
> GeoIP.dat variants from the two packages are of different quality or format.

geoip-lite was retired because it duplicates a subset of the functionality of GeoIP.

I've built GeoIP-1.5.1-5 for EL6 and F19 here:

http://fedorapeople.org/~philipp/

for x86_64. If you have another architecture let me know.

Comment 9 Philip Prindeville 2014-07-10 00:40:24 UTC
Ingvar: I've provided EL6 and F19 builds (even though F19 is deprecated) for you.

Without a response about whether they address your issues, it's hard to assist you any further.

Comment 10 Espen Braastad 2014-07-10 07:08:51 UTC
Hi Philip,

I guess you didn't get any feedback since you closed the bug report.

The rebuilt package (GeoIP for EL6) seems to work in my test environment. It provides the content which geoip-geolite already provides, and as such makes it not unecessary to install geoip-geolite.

Rebuilt:
> [root@centos6-amd64 ~]# rpm -qp --provides GeoIP-1.5.1-5.el6.x86_64.rpm
> config(GeoIP) = 1.5.1-5.el6
> geoip = 1.5.1-5.el6
> geoip-geolite = 2013.04-2
> libGeoIP.so.1()(64bit)
> libGeoIPUpdate.so.0()(64bit)
> GeoIP = 1.5.1-5.el6
> GeoIP(x86-64) = 1.5.1-5.el6

Current:
> [root@centos6-amd64 ~]# rpm -qp --provides GeoIP-1.4.8-1.el6.x86_64.rpm
> config(GeoIP) = 1.4.8-1.el6
> geoip = 1.4.8-1.el6
> libGeoIP.so.1()(64bit)
> libGeoIPUpdate.so.0()(64bit)
> GeoIP = 1.4.8-1.el6
> GeoIP(x86-64) = 1.4.8-1.el6
>
> [root@centos6-amd64 ~]# rpm -qp --provides geoip-geolite-2013.04-1.el6.noarch.rpm
> geoip-geolite = 2013.04-1.el6

Are you planning to push the rebuilt package to the EL6 repository? If so, I'd be grateful.

Comment 11 Espen Braastad 2014-07-10 07:13:32 UTC
(In reply to Espen Braastad from comment #10)
> [...] and as such makes it not unecessary to install geoip-geolite.

Oh sorry, a typo there. It is obviously unecessary to install the package geoip-geolite when using your updated GeoIP package. Thank you.