Description of problem: Please branch python-geoip2 to EPEL. I am willing to take over maintainership for it in that branch.
Just requested a new branch for the package: https://pagure.io/releng/fedora-scm-requests/issue/6909 It would be nice to maintain only one specfile in all branches so you can try to prepare it and send a PR. What do you think?
I work with whatever the parent owner of the package wants. If you want them to be the same thing so that master can be merged to EL7 as much as possible, I can do so. If you never want to hear the word EL ever again and never want to see any of those %if in anything Fedora related.. I can do so also.
Because it means additional work for you, it's up to you. If you want me to update epel7 branch whenever I'll update the latest Fedora, it would be nice to have only one specfile for all branches. If you want to have epel branch under control completely without any help from me, keep it as simple as possible for you. So, feel free to send a PR to master or epel7.
OK will figure out how to make proper PR and do so this weekend. [I am used to doing this all myself so my PRs are few.]
Let me know if you'd need any help.
The blocker here is that RHEL7's requests is only 2.6. geoip2 requires requests>=2.9. https://github.com/maxmind/GeoIP2-python/blob/v2.9.0/requirements.txt
I've taken a look in git logs and I see no reason for increasing version limit of requests package so I tried it with requests==2.6 and it works. $ pip freeze maxminddb==1.4.0 requests==2.6.0 $ python setup.py test running test Searching for requests_mock>=0.5 Best match: requests-mock 1.5.0 Processing requests_mock-1.5.0-py3.6.egg Using /home/lbalhar/Software/GeoIP2-python/.eggs/requests_mock-1.5.0-py3.6.egg Searching for six Best match: six 1.11.0 Processing six-1.11.0-py3.6.egg Using /home/lbalhar/Software/GeoIP2-python/.eggs/six-1.11.0-py3.6.egg running egg_info creating geoip2.egg-info writing geoip2.egg-info/PKG-INFO writing dependency_links to geoip2.egg-info/dependency_links.txt writing requirements to geoip2.egg-info/requires.txt writing top-level names to geoip2.egg-info/top_level.txt writing manifest file 'geoip2.egg-info/SOURCES.txt' reading manifest file 'geoip2.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no directories found matching 'docs/html' writing manifest file 'geoip2.egg-info/SOURCES.txt' running build_ext test_200_error (tests.webservice_test.TestClient) ... ok test_300_error (tests.webservice_test.TestClient) ... ok test_500_error (tests.webservice_test.TestClient) ... ok test_account_id_required (tests.webservice_test.TestClient) ... ok test_account_id_unkown (tests.webservice_test.TestClient) ... ok test_auth_invalid (tests.webservice_test.TestClient) ... ok test_bad_body_error (tests.webservice_test.TestClient) ... ok test_bad_ip_address (tests.webservice_test.TestClient) ... ok test_city_ok (tests.webservice_test.TestClient) ... ok test_country_ok (tests.webservice_test.TestClient) ... ok test_insights_ok (tests.webservice_test.TestClient) ... ok test_ip_address_not_found (tests.webservice_test.TestClient) ... ok test_ip_address_required (tests.webservice_test.TestClient) ... ok test_ip_address_reserved (tests.webservice_test.TestClient) ... ok test_license_key_required (tests.webservice_test.TestClient) ... ok test_me (tests.webservice_test.TestClient) ... ok test_missing_constructor_args (tests.webservice_test.TestClient) ... ok test_named_constructor_args (tests.webservice_test.TestClient) ... ok test_no_body_error (tests.webservice_test.TestClient) ... ok test_out_of_queries_error (tests.webservice_test.TestClient) ... ok test_permission_required (tests.webservice_test.TestClient) ... ok test_request (tests.webservice_test.TestClient) ... ok test_unknown_error (tests.webservice_test.TestClient) ... ok test_user_id_required (tests.webservice_test.TestClient) ... ok test_user_id_unkown (tests.webservice_test.TestClient) ... ok test_weird_body_error (tests.webservice_test.TestClient) ... ok test_anonymous_ip (tests.database_test.TestAutoReader) ... ok test_asn (tests.database_test.TestAutoReader) ... ok test_city (tests.database_test.TestAutoReader) ... ok test_connection_type (tests.database_test.TestAutoReader) ... ok test_context_manager (tests.database_test.TestAutoReader) ... ok test_country (tests.database_test.TestAutoReader) ... ok test_domain (tests.database_test.TestAutoReader) ... ok test_enterprise (tests.database_test.TestAutoReader) ... ok test_invalid_address (tests.database_test.TestAutoReader) ... ok test_isp (tests.database_test.TestAutoReader) ... ok test_language_list (tests.database_test.TestAutoReader) ... ok test_unknown_address (tests.database_test.TestAutoReader) ... ok test_wrong_database (tests.database_test.TestAutoReader) ... ok test_anonymous_ip (tests.database_test.TestExtensionReader) ... ok test_asn (tests.database_test.TestExtensionReader) ... ok test_city (tests.database_test.TestExtensionReader) ... ok test_connection_type (tests.database_test.TestExtensionReader) ... ok test_context_manager (tests.database_test.TestExtensionReader) ... ok test_country (tests.database_test.TestExtensionReader) ... ok test_domain (tests.database_test.TestExtensionReader) ... ok test_enterprise (tests.database_test.TestExtensionReader) ... ok test_invalid_address (tests.database_test.TestExtensionReader) ... ok test_isp (tests.database_test.TestExtensionReader) ... ok test_language_list (tests.database_test.TestExtensionReader) ... ok test_unknown_address (tests.database_test.TestExtensionReader) ... ok test_wrong_database (tests.database_test.TestExtensionReader) ... ok test_anonymous_ip (tests.database_test.TestFileReader) ... ok test_asn (tests.database_test.TestFileReader) ... ok test_city (tests.database_test.TestFileReader) ... ok test_connection_type (tests.database_test.TestFileReader) ... ok test_context_manager (tests.database_test.TestFileReader) ... ok test_country (tests.database_test.TestFileReader) ... ok test_domain (tests.database_test.TestFileReader) ... ok test_enterprise (tests.database_test.TestFileReader) ... ok test_invalid_address (tests.database_test.TestFileReader) ... ok test_isp (tests.database_test.TestFileReader) ... ok test_language_list (tests.database_test.TestFileReader) ... ok test_unknown_address (tests.database_test.TestFileReader) ... ok test_wrong_database (tests.database_test.TestFileReader) ... ok test_anonymous_ip (tests.database_test.TestMMAPReader) ... ok test_asn (tests.database_test.TestMMAPReader) ... ok test_city (tests.database_test.TestMMAPReader) ... ok test_connection_type (tests.database_test.TestMMAPReader) ... ok test_context_manager (tests.database_test.TestMMAPReader) ... ok test_country (tests.database_test.TestMMAPReader) ... ok test_domain (tests.database_test.TestMMAPReader) ... ok test_enterprise (tests.database_test.TestMMAPReader) ... ok test_invalid_address (tests.database_test.TestMMAPReader) ... ok test_isp (tests.database_test.TestMMAPReader) ... ok test_language_list (tests.database_test.TestMMAPReader) ... ok test_unknown_address (tests.database_test.TestMMAPReader) ... ok test_wrong_database (tests.database_test.TestMMAPReader) ... ok test_anonymous_ip (tests.database_test.TestMemoryReader) ... ok test_asn (tests.database_test.TestMemoryReader) ... ok test_city (tests.database_test.TestMemoryReader) ... ok test_connection_type (tests.database_test.TestMemoryReader) ... ok test_context_manager (tests.database_test.TestMemoryReader) ... ok test_country (tests.database_test.TestMemoryReader) ... ok test_domain (tests.database_test.TestMemoryReader) ... ok test_enterprise (tests.database_test.TestMemoryReader) ... ok test_invalid_address (tests.database_test.TestMemoryReader) ... ok test_isp (tests.database_test.TestMemoryReader) ... ok test_language_list (tests.database_test.TestMemoryReader) ... ok test_unknown_address (tests.database_test.TestMemoryReader) ... ok test_wrong_database (tests.database_test.TestMemoryReader) ... ok test_city_full (tests.models_test.TestModels) ... ok test_insights_full (tests.models_test.TestModels) ... ok test_insights_min (tests.models_test.TestModels) ... ok test_unknown_keys (tests.models_test.TestModels) ... ok test_german (tests.models_test.TestNamess) ... ok test_names (tests.models_test.TestNamess) ... ok test_three_locales (tests.models_test.TestNamess) ... ok test_two_locales (tests.models_test.TestNamess) ... ok test_unknown_locale (tests.models_test.TestNamess) ... ok ---------------------------------------------------------------------- Ran 100 tests in 0.131s OK The situation is the same with Python 2.
Excellent, thanks for digging into that Lumír. I noticed another issue, python-requests-mock doesn't have an epel7 branch yet. We'll need that to keep the test suite enabled on EL7. I'll open a bugzilla and send a pull request to that spec file to resolve it.
https://src.fedoraproject.org/rpms/python-geoip2/pull-request/2
python-geoip2-2.9.0-3.el7 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2018-a99806ff9a
python-geoip2-2.9.0-3.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2018-a99806ff9a
python-geoip2-2.9.0-3.el7 has been pushed to the Fedora EPEL 7 stable repository. If problems still persist, please make note of it in this bug report.