View Issue Details

IDProjectCategoryView StatusLast Update
0008488CentOS-5-OTHERpublic2015-06-16 16:28
Reportercarl.george 
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
PlatformOSCentOSOS Version5
Product Version5.11 
Target VersionFixed in Version5.11 
Summary0008488: remove GeoIP from extras
DescriptionI believe that the GeoIP packages in extras on CentOS 5 should be removed. It is provided by EPEL at a newer version. In addition, the packages in extras cause some dependency confusion for the new packages in EPEL testing.

extras:
GeoIP-1.4.5-1.el5.centos.x86_64.rpm
GeoIP-data-20090201-1.el5.centos.x86_64.rpm
GeoIP-devel-1.4.5-1.el5.centos.x86_64.rpm

epel:
GeoIP-1.4.8-1.el5.x86_64.rpm
GeoIP-devel-1.4.8-1.el5.x86_64.rpm

epel-testing:
GeoIP-1.6.5-1.el5.x86_64.rpm
GeoIP-devel-1.6.5-1.el5.x86_64.rpm
GeoIP-GeoLite-data-2015.04-1.el5.noarch.rpm
GeoIP-GeoLite-data-extra-2015.04-1.el5.noarch.rpm
geoipupdate-2.2.1-2.el5.x86_64.rpm
geoipupdate-cron-2.2.1-2.el5.x86_64.rpm
geoipupdate-cron6-2.2.1-2.el5.x86_64.rpm
Steps To ReproduceThe new GeoIP package in epel-testing depends on GeoIP-data, which is provided by GeoIP-GeoLite-data.

# repoquery --disablerepo=* --enablerepo=epel-testing --requires GeoIP.x86_64 | grep data
GeoIP-data
# repoquery --disablerepo=* --enablerepo=epel-testing --whatprovides GeoIP-data
GeoIP-GeoLite-data-0:2015.04-1.el5.noarch

However, the much older GeoIP-data package in extras is fulfilling this dependency instead when you try to install.

========================================================================================================
 Package Arch Version Repository Size
========================================================================================================
Installing:
 GeoIP x86_64 1.6.5-1.el5 epel-testing 124 k
Installing for dependencies:
 GeoIP-data x86_64 20090201-1.el5.centos extras 565 k
 geoipupdate x86_64 2.2.1-2.el5 epel-testing 28 k
Additional InformationThe GeoIP-data package in extras has older and less complete information. In particular, it is missing IPv6 information.

# repoquery --disablerepo=* --enablerepo=extras --list GeoIP-data
/var/lib/GeoIP/GeoIP.dat
# repoquery --disablerepo=* --enablerepo=epel-testing --list GeoIP-GeoLite-data{,-extra}
/usr/share/GeoIP
/usr/share/GeoIP/GeoLiteCountry.dat
/usr/share/GeoIP/GeoIPASNum.dat
/usr/share/GeoIP/GeoIPASNumv6.dat
/usr/share/GeoIP/GeoIPv6.dat
/usr/share/GeoIP/GeoLiteASNum.dat
/usr/share/GeoIP/GeoLiteASNumv6.dat
/usr/share/GeoIP/GeoLiteCity.dat
/usr/share/GeoIP/GeoLiteCityv6.dat
TagsNo tags attached.

Activities

arrfab

arrfab

2015-04-17 08:11

administrator   ~0022797

Hi,

While I understand your statement, what about CentOS 5 users probably using that package (installed through their kickstarts/$cfg_mgmt/$whatever) only through default CentOS repositories, and so not consuming Epel ? Simply dropping that package would then hurt those people (who expect a package to stay).
Other solution is to bump the version we have in C5-extras and test that everything works as expected
pghmcfc

pghmcfc

2015-04-17 14:38

reporter   ~0022803

I'm going to try adding an epoch in the Provides: GeoIP-data for the EPEL GeoIP-GeoLite-data package, which should resolve the issue for EPEL users and not affect CentOS 5 Extras users that don't consume EPEL.

The CentOS and EPEL packages have their data in different places so they really don't want to be mixing together.
carl.george

carl.george

2015-04-21 14:42

reporter   ~0022850

That approach does not appear to work. I downloaded the RPMs, verified the epoch in the provides, and used createrepo/httpd to serve them locally. Attempting to install GeoIP from epel-testing still resolves to the GeoIP-data from CentOS Extras instead of from my local repo.
carl.george

carl.george

2015-04-21 15:21

reporter   ~0022851

# yum -e10 -d10 --enablerepo=epel-testing install GeoIP.x86_64

<TRIMMED OUTPUT>

--> Processing Dependency: GeoIP-data for package: GeoIP
Searching pkgSack for dep: GeoIP-data
Potential match for GeoIP-data from GeoIP-GeoLite-data-2015.04-1.el5.noarch
Matched GeoIP-GeoLite-data-2015.04-1.el5.noarch to require for GeoIP-data
Potential match for GeoIP-data from GeoIP-data-20090201-1.el5.centos.x86_64
Matched GeoIP-data-20090201-1.el5.centos.x86_64 to require for GeoIP-data
Potential match for GeoIP-data from GeoIP-GeoLite-data-2015.04-2.el5.noarch
Matched GeoIP-GeoLite-data-2015.04-2.el5.noarch to require for GeoIP-data
Running compare_providers() for [<YumAvailablePackageSqlite : GeoIP-data-20090201-1.el5.centos.x86_64 (0x36a4f50)>, <YumAvailablePackageSqlite : GeoIP-GeoLite-data-2015.04-2.el5.noarch (0x2c90bd0)>]
archdist compared GeoIP-data-20090201-1.el5.centos.x86_64 to GeoIP-GeoLite-data-2015.04-2.el5.noarch on x86_64
  Winner: GeoIP-data-20090201-1.el5.centos.x86_64
archdist compared GeoIP-data-20090201-1.el5.centos.x86_64 to GeoIP-GeoLite-data-2015.04-2.el5.noarch on ia32e
  Winner: GeoIP-data-20090201-1.el5.centos.x86_64
base package GeoIP is installed for GeoIP-data-20090201-1.el5.centos.x86_64
common prefix of 5 between GeoIP-data-20090201-1.el5.centos.x86_64 and GeoIP-1.6.5-1.el5.x86_64
better arch in po GeoIP-data-20090201-1.el5.centos.x86_64
archdist compared GeoIP-GeoLite-data-2015.04-2.el5.noarch to GeoIP-data-20090201-1.el5.centos.x86_64 on x86_64
  Winner: GeoIP-data-20090201-1.el5.centos.x86_64
better arch in po GeoIP-data-20090201-1.el5.centos.x86_64
archdist compared GeoIP-GeoLite-data-2015.04-2.el5.noarch to GeoIP-data-20090201-1.el5.centos.x86_64 on ia32e
  Winner: GeoIP-data-20090201-1.el5.centos.x86_64
common prefix of 5 between GeoIP-GeoLite-data-2015.04-2.el5.noarch and GeoIP-1.6.5-1.el5.x86_64
Best Order: [(<YumAvailablePackageSqlite : GeoIP-data-20090201-1.el5.centos.x86_64 (0x36a4f50)>, 15), (<YumAvailablePackageSqlite : GeoIP-GeoLite-data-2015.04-2.el5.noarch (0x2c90bd0)>, -8)]
TSINFO: Marking GeoIP-data-20090201-1.el5.centos.x86_64 as install for GeoIP-1.6.5-1.el5.x86_64
pghmcfc

pghmcfc

2015-04-22 09:24

reporter   ~0022860

If you allow the install of GeoIP-data-20090201-1.el5.centos to go ahead and then run "yum update", does it get replaced? It should do, as a result of the versioned obsolete in the GeoIP-GeoLite-data package.
pghmcfc

pghmcfc

2015-04-22 09:34

reporter   ~0022861

This looks like a yum bug fixed in a later version than the one in EL-5: https://bugzilla.redhat.com/show_bug.cgi?id=502401

If the "yum update" doesn't replace the old package, I guess the next thing to try would be to make the EL-5 version of GeoIP-GeoLite-data an arched package instead of a noarch one.
carl.george

carl.george

2015-04-22 20:02

reporter   ~0022880

Just tried the -3 scratch build. GeoIP-data from extras still wins.


--> Processing Dependency: GeoIP-data for package: GeoIP
Searching pkgSack for dep: GeoIP-data
Potential match for GeoIP-data from GeoIP-GeoLite-data-2015.04-1.el5.noarch
Matched GeoIP-GeoLite-data-2015.04-1.el5.noarch to require for GeoIP-data
Potential match for GeoIP-data from GeoIP-data-20090201-1.el5.centos.x86_64
Matched GeoIP-data-20090201-1.el5.centos.x86_64 to require for GeoIP-data
Potential match for GeoIP-data from GeoIP-GeoLite-data-2015.04-3.el5.x86_64
Matched GeoIP-GeoLite-data-2015.04-3.el5.x86_64 to require for GeoIP-data
Running compare_providers() for [<YumAvailablePackageSqlite : GeoIP-data-20090201-1.el5.centos.x86_64 (0x13535110)>, <YumAvailablePackageSqlite : GeoIP-GeoLite-data-2015.04-1.el5.noarch (0x13c8d210)>, <YumAvailablePackageSqlite : GeoIP-GeoLite-data-2015.04-3.el5.x86_64 (0x13c8ddd0)>]
archdist compared GeoIP-data-20090201-1.el5.centos.x86_64 to GeoIP-GeoLite-data-2015.04-1.el5.noarch on x86_64
  Winner: GeoIP-data-20090201-1.el5.centos.x86_64
archdist compared GeoIP-data-20090201-1.el5.centos.x86_64 to GeoIP-GeoLite-data-2015.04-1.el5.noarch on ia32e
  Winner: GeoIP-data-20090201-1.el5.centos.x86_64
base package GeoIP is installed for GeoIP-data-20090201-1.el5.centos.x86_64
common prefix of 5 between GeoIP-data-20090201-1.el5.centos.x86_64 and GeoIP-1.6.5-1.el5.x86_64
better arch in po GeoIP-data-20090201-1.el5.centos.x86_64
archdist compared GeoIP-GeoLite-data-2015.04-1.el5.noarch to GeoIP-data-20090201-1.el5.centos.x86_64 on x86_64
  Winner: GeoIP-data-20090201-1.el5.centos.x86_64
better arch in po GeoIP-data-20090201-1.el5.centos.x86_64
archdist compared GeoIP-GeoLite-data-2015.04-1.el5.noarch to GeoIP-data-20090201-1.el5.centos.x86_64 on ia32e
  Winner: GeoIP-data-20090201-1.el5.centos.x86_64
better arch in po GeoIP-GeoLite-data-2015.04-3.el5.x86_64
archdist compared GeoIP-GeoLite-data-2015.04-1.el5.noarch to GeoIP-GeoLite-data-2015.04-3.el5.x86_64 on x86_64
  Winner: GeoIP-GeoLite-data-2015.04-3.el5.x86_64
better arch in po GeoIP-GeoLite-data-2015.04-3.el5.x86_64
archdist compared GeoIP-GeoLite-data-2015.04-1.el5.noarch to GeoIP-GeoLite-data-2015.04-3.el5.x86_64 on ia32e
  Winner: GeoIP-GeoLite-data-2015.04-3.el5.x86_64
common prefix of 5 between GeoIP-GeoLite-data-2015.04-1.el5.noarch and GeoIP-1.6.5-1.el5.x86_64
archdist compared GeoIP-GeoLite-data-2015.04-3.el5.x86_64 to GeoIP-GeoLite-data-2015.04-1.el5.noarch on x86_64
  Winner: GeoIP-GeoLite-data-2015.04-3.el5.x86_64
archdist compared GeoIP-GeoLite-data-2015.04-3.el5.x86_64 to GeoIP-GeoLite-data-2015.04-1.el5.noarch on ia32e
  Winner: GeoIP-GeoLite-data-2015.04-3.el5.x86_64
common prefix of 5 between GeoIP-GeoLite-data-2015.04-3.el5.x86_64 and GeoIP-1.6.5-1.el5.x86_64
Best Order: [(<YumAvailablePackageSqlite : GeoIP-data-20090201-1.el5.centos.x86_64 (0x13535110)>, 15), (<YumAvailablePackageSqlite : GeoIP-GeoLite-data-2015.04-3.el5.x86_64 (0x13c8ddd0)>, 2), (<YumAvailablePackageSqlite : GeoIP-GeoLite-data-2015.04-1.el5.noarch (0x13c8d210)>, -2056)]
TSINFO: Marking GeoIP-data-20090201-1.el5.centos.x86_64 as install for GeoIP-1.6.5-1.el5.x86_64


After installation, a `yum update` does replace GeoIP-data with GeoIP-GeoLite-data. I don't think we should rely on that behavior though, as not all users will run a `yum update` immediately after installing GeoIP. My opinion is that there are two clear options.

* have GeoIP require GeoIP-GeoLite-data by name (not GeoIP-data)
* remove the out of date GeoIP packages from CentOS Extras
pghmcfc

pghmcfc

2015-04-22 20:16

reporter   ~0022881

Can you try excluding GeoIP-GeoLite-data-2015.04-1.el5.noarch from the contest for "yum install GeoIP" and see what happens?
carl.george

carl.george

2015-04-22 20:26

reporter   ~0022884

Sure. I did that by leaving epel-testing disabled, and adding the packages to my local repo.

# ls -1 /srv/repo/
GeoIP-1.6.5-1.el5.x86_64.rpm
GeoIP-devel-1.6.5-1.el5.x86_64.rpm
GeoIP-GeoLite-data-2015.04-3.el5.x86_64.rpm
GeoIP-GeoLite-data-extra-2015.04-3.el5.x86_64.rpm
geoipupdate-2.2.1-2.el5.x86_64.rpm
geoipupdate-cron-2.2.1-2.el5.x86_64.rpm
geoipupdate-cron6-2.2.1-2.el5.x86_64.rpm
repodata

Same result.

# yum -e10 -d10 install GeoIP.x86_64
<TRIMMED OUTPUT>
--> Processing Dependency: GeoIP-data for package: GeoIP
Searching pkgSack for dep: GeoIP-data
Potential match for GeoIP-data from GeoIP-data-20090201-1.el5.centos.x86_64
Matched GeoIP-data-20090201-1.el5.centos.x86_64 to require for GeoIP-data
Potential match for GeoIP-data from GeoIP-GeoLite-data-2015.04-3.el5.x86_64
Matched GeoIP-GeoLite-data-2015.04-3.el5.x86_64 to require for GeoIP-data
Running compare_providers() for [<YumAvailablePackageSqlite : GeoIP-data-20090201-1.el5.centos.x86_64 (0xc46c310)>, <YumAvailablePackageSqlite : GeoIP-GeoLite-data-2015.04-3.el5.x86_64 (0xcb4bcd0)>]
base package GeoIP is installed for GeoIP-data-20090201-1.el5.centos.x86_64
common prefix of 5 between GeoIP-data-20090201-1.el5.centos.x86_64 and GeoIP-1.6.5-1.el5.x86_64
common prefix of 5 between GeoIP-GeoLite-data-2015.04-3.el5.x86_64 and GeoIP-1.6.5-1.el5.x86_64
Best Order: [(<YumAvailablePackageSqlite : GeoIP-data-20090201-1.el5.centos.x86_64 (0xc46c310)>, 5), (<YumAvailablePackageSqlite : GeoIP-GeoLite-data-2015.04-3.el5.x86_64 (0xcb4bcd0)>, -8)]
TSINFO: Marking GeoIP-data-20090201-1.el5.centos.x86_64 as install for GeoIP-1.6.5-1.el5.x86_64
<TRIMMED OUTPUT>
========================================================================================================
 Package Arch Version Repository Size
========================================================================================================
Installing:
 GeoIP x86_64 1.6.5-1.el5 local 124 k
Installing for dependencies:
 GeoIP-data x86_64 20090201-1.el5.centos extras 565 k
 geoipupdate x86_64 2.2.1-2.el5 local 28 k
pghmcfc

pghmcfc

2015-04-29 08:00

reporter   ~0022941

There is a new GeoIP package in EPEL 5 testing that should resolve this now.
carl.george

carl.george

2015-04-29 13:42

reporter   ~0022945

The new build in epel-testing works for me. Thanks!
pghmcfc

pghmcfc

2015-06-16 13:44

reporter   ~0023411

The GeoIP package in EPEL-5 should now pull in the intended GeoIP-data package from EPEL-5 rather than the old CentOS one (testing package now pushed to stable).

I think this ticket can be closed.
tigalch

tigalch

2015-06-16 16:28

manager   ~0023416

Thus marking as solved.

Issue History

Date Modified Username Field Change
2015-04-16 21:52 carl.george New Issue
2015-04-17 08:11 arrfab Note Added: 0022797
2015-04-17 14:38 pghmcfc Note Added: 0022803
2015-04-21 14:42 carl.george Note Added: 0022850
2015-04-21 15:21 carl.george Note Added: 0022851
2015-04-22 09:24 pghmcfc Note Added: 0022860
2015-04-22 09:34 pghmcfc Note Added: 0022861
2015-04-22 20:02 carl.george Note Added: 0022880
2015-04-22 20:16 pghmcfc Note Added: 0022881
2015-04-22 20:26 carl.george Note Added: 0022884
2015-04-29 08:00 pghmcfc Note Added: 0022941
2015-04-29 13:42 carl.george Note Added: 0022945
2015-06-16 13:44 pghmcfc Note Added: 0023411
2015-06-16 16:28 tigalch Note Added: 0023416
2015-06-16 16:28 tigalch Status new => resolved
2015-06-16 16:28 tigalch Fixed in Version => 5.11
2015-06-16 16:28 tigalch Resolution open => fixed