FS#62851 - [ktorrent] Use system GeoIP database

Attached to Project: Arch Linux
Opened by Matthias Lisin (matthias.lisin) - Sunday, 09 June 2019, 12:16 GMT
Last edited by Antonio Rojas (arojas) - Sunday, 09 June 2019, 12:28 GMT
Task Type Feature Request
Category Packages: Extra
Status Closed
Assigned To Antonio Rojas (arojas)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

the ktorrent package doesn't use the system provided GeoIP.dat, instead stat()s lots of directories tries to download it's own database.

Strace:
statx(AT_FDCWD, "/home/ml/.local/share/ktorrent/geoip.dat", AT_STATX_SYNC_AS_STAT, STATX_ALL, 0x7ffe30936900) = -1 ENOENT (No such file or directory)
statx(AT_FDCWD, "/usr/share/ktorrent/geoip.dat", AT_STATX_SYNC_AS_STAT, STATX_ALL, 0x7ffe30936900) = -1 ENOENT (No such file or directory)
statx(AT_FDCWD, "/usr/local/share/ktorrent/geoip.dat", AT_STATX_SYNC_AS_STAT, STATX_ALL, 0x7ffe30936900) = -1 ENOENT (No such file or directory)
statx(AT_FDCWD, "/home/ml/.local/share/ktorrent/GeoIP.dat", AT_STATX_SYNC_AS_STAT, STATX_ALL, 0x7ffe30936900) = -1 ENOENT (No such file or directory)
statx(AT_FDCWD, "/usr/share/ktorrent/GeoIP.dat", AT_STATX_SYNC_AS_STAT, STATX_ALL, 0x7ffe30936900) = -1 ENOENT (No such file or directory)
statx(AT_FDCWD, "/usr/local/share/ktorrent/GeoIP.dat", AT_STATX_SYNC_AS_STAT, STATX_ALL, 0x7ffe30936900) = -1 ENOENT (No such file or directory)
access("/home/ml/.local/share/ktorrent/GeoIP.dat.gz", F_OK) = -1 ENOENT (No such file or directory)
statfs("/home/ml/.local/share/ktorrent/GeoIP.dat.gz", 0x7ffe30935e70) = -1 ENOENT (No such file or directory

Additional info:
* extra/ktorrent 5.1.1-1
* no special configuration

Steps to reproduce:
1. Install ktorrent
2. Start ktorrent
3. See GeoIP download fail
4. optionally have a look at strace output

Proposal:
Add -DWITH_SYSTEM_GEOIP=ON to the cmake build command to make use of the system GeoIP database and skip download-attempt.
And of course add geoip{,database} as optional dependencies.

Strace after adding option:
openat(AT_FDCWD, "/usr/lib/libGeoIP.so.1", O_RDONLY|O_CLOEXEC) = 25
openat(AT_FDCWD, "/usr/share/GeoIP/GeoIP.dat", O_RDONLY) = 25
This task depends upon

Closed by  Antonio Rojas (arojas)
Sunday, 09 June 2019, 12:28 GMT
Reason for closing:  Implemented
Additional comments about closing:  ktorrent 5.1.1-2

Loading...