Compare commits

...
Sign in to create a new pull request.

113 commits

Author SHA1 Message Date
Python Maint
398bc5a3a1 Rebuilt for Python 3.14.0rc3 bytecode 2025-09-19 13:11:50 +02:00
Python Maint
66df8eba2b Rebuilt for Python 3.14.0rc2 bytecode 2025-08-15 13:38:37 +02:00
Fedora Release Engineering
9de8403851 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 07:39:27 +00:00
Python Maint
82f71c1257 Rebuilt for Python 3.14 2025-06-06 18:00:29 +02:00
Felix Schwarz
fb10e373de update to 3.21.1 2025-04-28 21:36:13 +02:00
Felix Schwarz
29a0225dc0 update to 3.21.0 2025-04-19 11:39:28 +02:00
Felix Schwarz
1a62987559 rework %check so that most tests are run 2025-01-23 10:02:37 +01:00
Felix Schwarz
74a28a6262 re-enable (most) tests 2025-01-23 10:02:37 +01:00
Felix Schwarz
23bd76152a update to 3.20.1 2025-01-23 10:02:36 +01:00
Fedora Release Engineering
0b0ac66461 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-18 13:49:07 +00:00
Nick Bebout
bf63b51a3c Disable tests more 2024-11-23 12:00:08 -06:00
Nick Bebout
8f77d4b3d5 Disable tests for now 2024-11-23 11:48:28 -06:00
Nick Bebout
5bd84d818f Try fix by excluding GoDaddyProviderTests 2024-11-23 11:33:21 -06:00
Ben Maconi
7ff4c68fbe added global forgeversion 2024-11-23 11:18:17 -06:00
Ben Maconi
d5eb57c3de Updated to 3.18.0 2024-11-23 09:56:30 -06:00
Fedora Release Engineering
11f7c31776 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-19 11:10:38 +00:00
Python Maint
f6d9375c48 Rebuilt for Python 3.13 2024-06-27 19:37:28 +02:00
Jonathan Wright
c3dde8dbb4 update build version for epel9 2024-02-28 23:05:16 -06:00
Fedora Release Engineering
76ecac728b Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-26 03:41:47 +00:00
Fedora Release Engineering
c072a10b22 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-22 00:54:37 +00:00
Nick Bebout
c327bd5bee Update to 3.17.0 - remove ddns and duckdns because apparently upstream removed them 2023-11-17 13:24:40 -06:00
jonathanspw
9079654b2f update to 3.15.1 2023-10-13 10:59:20 -05:00
spike
ad3c57536b Update to 3.13.0 2023-08-08 04:33:27 +02:00
Fedora Release Engineering
b539d27ed0 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-21 09:10:05 +00:00
Python Maint
7dc3ff8bbb Rebuilt for Python 3.12 2023-07-04 11:42:52 +02:00
spike
4baebb6953 Update to 3.12.0
Add new duckdns extra package
Add localzone and oci extra packages since dependancies are now available on Fedora
2023-06-12 02:14:39 +02:00
Fedora Release Engineering
17fa249bdd Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-20 12:49:22 +00:00
spike
a795a1cd8c Update to 3.11.7 2022-10-27 06:05:53 +02:00
spike
67248f13f2 Update to 3.11.6 2022-10-12 00:16:26 +02:00
jonathanspw
918a73fca4 update to 3.11.4 2022-08-11 18:44:00 -05:00
Fedora Release Engineering
b41a8291a5 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-22 18:05:41 +00:00
spike
9c9f30f893 Update to 3.11.3 2022-06-23 21:54:44 +02:00
Python Maint
c069f85024 Rebuilt for Python 3.11 2022-06-15 15:35:34 +02:00
spike
b559a51e41 Disable OciInstancePrincipalProviderTests 2022-05-18 06:28:03 +02:00
spike
9dad35013c Update to 3.11.2 2022-05-18 06:11:35 +02:00
spike
ce9260f368 Disable tests that use tldextract until "suffix_list_url" cli flag is available 2022-05-09 18:59:09 +02:00
spike
70566cc5f6 Update to 3.11.0 2022-05-09 17:05:54 +02:00
spike
0c57b8ff24 Update to 3.10.0 2022-05-01 10:50:13 +02:00
spike
199cba562a Add "tests" conditional to make tests optional on EPEL
Ensure that BuildRequires resolve correctly and only relevant tests run when building without extras
2022-04-28 08:37:57 +02:00
spike
8866a64eb5 Reenable tests for GoDady, Transip, Namecheap and NamecheapManaged providers
Add gransy and ddns extra packages
Remove explicit BuildRequires (handled by the pyproject_buildrequires macro)
Remove explicit extra package Requires (handled by automatic dependency generator)
Remove unused rhel7 macro
2022-04-27 04:06:36 +02:00
spike
f5b5f9d7cf update to 3.9.5 2022-04-19 16:37:09 +02:00
spike
119e8954a9 update to 3.9.4 2022-02-15 09:05:14 +01:00
Fedora Release Engineering
3c3d472106 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-21 11:48:48 +00:00
spike
63982ab459 update to 3.9.2 2022-01-17 21:09:34 +01:00
spike
c94d9f0000 update to 3.9.1 2022-01-17 20:53:12 +01:00
spike
494e59f6c5 update to 3.9.0 2022-01-06 22:44:51 +01:00
spike
db25f69ed5 update to 3.8.5 2021-12-29 21:56:42 +01:00
spike
82203bad43 update to 3.8.4 2021-12-28 20:40:08 +01:00
Felix Schwarz
b654a336aa update to 3.8.3 (#2020433) 2021-11-13 09:19:58 +01:00
Felix Schwarz
7637ab31c1 update to 3.8.1 (#2014726) 2021-10-16 23:01:19 +02:00
Felix Schwarz
76f19ee3fd update to 3.8.0
fixes rhbz #2010418
2021-10-04 22:37:20 +02:00
Felix Schwarz
5e9310e208 update to 3.7.0 2021-08-19 22:41:44 +02:00
Fedora Release Engineering
962c321830 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-23 06:10:23 +00:00
Python Maint
992b2ace34 Rebuilt for Python 3.10 2021-06-04 20:30:33 +02:00
Fedora Release Engineering
81286e00c6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-27 10:24:38 +00:00
Felix Schwarz
f0aef2dde0 update to 3.5.3 2021-01-06 00:10:15 +01:00
Felix Schwarz
304146277d update to 3.5.2 2020-11-24 17:12:45 +01:00
Felix Schwarz
2459b2015d update to 3.5.1 (#1764339)
also run test suite and use poetry
2020-11-17 00:47:06 +01:00
Felix Schwarz
6bb36982c5 drop support for Python 2 subpackages: lexicon 3.4.0 will not support Python 2.7 anymore 2020-08-19 09:59:44 +02:00
Felix Schwarz
6e7d48dae2 run tests in %check (Fedora only) 2020-08-19 09:58:32 +02:00
Fedora Release Engineering
b444fb7d59 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-29 00:46:39 +00:00
Miro Hrončok
2c1eb2c145 Add metadata for Python extras subpackages 2020-07-14 15:38:36 +00:00
Miro Hrončok
9dc5771548 Replace Python version glob with macro (needed for Python 3.10+)
See https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/PQIGCQCRNBYNXBX2ICWEM3PLDLNOG2ZT/

Co-authored-by: Tomas Hrnciar <thrnciar@redhat.com>
2020-07-13 21:04:31 +02:00
Miro Hrončok
99a200b2fe Rebuilt for Python 3.9 2020-05-26 03:12:37 +02:00
Felix Schwarz
7172684d0f support Python 2 only with EPEL 7 2020-03-14 10:21:44 +01:00
Felix Schwarz
2e4c20682d epel 7: do not use "setup(…, extras_require=…) because python2-setuptools is too old on EPEL7 2020-03-13 18:43:25 +01:00
Felix Schwarz
e91d028428 use %setup instead of %autosetup so we can apply patches conditionally
That way the srpm contains all patches and the srpm can be rebuilt for
all supported distributions.
2020-03-13 18:41:46 +01:00
Felix Schwarz
4c83c53bb0 add missing buildrequires 2020-03-13 18:22:25 +01:00
Felix Schwarz
74d8c88164 initial version for epel8 2020-03-13 18:01:56 +01:00
Felix Schwarz
2f7b79adfc add missing sources 2020-03-04 22:20:24 +01:00
Felix Schwarz
721e6c7432 Update to 3.3.17 (#1764339) 2020-03-04 00:25:01 +01:00
Felix Schwarz
335aabff8b simplify spec file by removing support for Fedora <= 28 2020-03-04 00:25:01 +01:00
Felix Schwarz
53da38093f use "%{pypi_source}" instead of hard-coding the download url 2020-03-04 00:19:52 +01:00
Felix Schwarz
4ef858e306 Add package.cfg with no targets
This prevents warnings about a missing package.cfg but enables us
to keep all branches in sync (fast-forward merging)
2020-03-04 00:14:12 +01:00
Fedora Release Engineering
4084220252 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-30 11:51:03 +00:00
Gwyn Ciesla
29e7721cd7 "Adding package.cfg file" 2019-10-08 10:13:00 -05:00
Eli Young
bdbe509e13 Rebuild due to Koji issues 2019-10-07 17:44:33 -07:00
Eli Young
c41af878ae Support EPEL8 builds 2019-10-07 16:47:22 -07:00
Eli Young
c388df920c Update to 3.3.4 (#1725208) 2019-10-07 16:27:29 -07:00
Miro Hrončok
71218283ab Rebuilt for Python 3.8.0rc1 (#1748018) 2019-10-03 14:10:11 +02:00
Miro Hrončok
a08baceaa7 Rebuilt for Python 3.8 2019-08-19 10:35:35 +02:00
Fedora Release Engineering
14939053d2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-26 13:12:40 +00:00
Eli Young
7ce3bb9d1a Update to 3.2.8 (#1722190) 2019-06-27 14:28:29 -07:00
Eli Young
d3c2798657 Update to 3.2.6 (#1685778) 2019-05-28 12:00:37 -07:00
Eli Young
a5e4545843 Add meta-subpackkages for specific providers 2019-02-15 16:04:12 -08:00
Eli Young
f15bc48a75 Update to 3.1.5 (#1671162) 2019-02-15 12:13:59 -08:00
Fedora Release Engineering
3089b76d47 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-02 06:31:08 +00:00
Eli Young
125b3d784e Remove Python 2 package in Fedora 30+ 2018-12-14 15:20:13 -08:00
Eli Young
407a7890b8 Declare conflict with python-lexicon 2018-12-14 15:20:13 -08:00
Eli Young
2ac3612c4d Update to 3.0.6 2018-12-14 15:19:02 -08:00
Eli Young
2740ab12c4 Fix dependencies on Fedora 28 2018-11-14 13:44:03 -08:00
Eli Young
929d07fe99 Update to 3.0.2 2018-11-14 13:23:53 -08:00
Eli Young
1ce3f1b852 Update to 2.7.9 (#1637142) 2018-10-08 11:11:33 -07:00
Eli Young
b535777484 Add dependency on python-cryptography (#1622418) 2018-08-27 10:19:58 -07:00
Nick Bebout
4cff8531b8 Merge branch 'master' into epel7 2018-07-23 10:44:33 -05:00
Nick Bebout
4c1fcbdd50 Update to 2.7.0 2018-07-23 10:37:23 -05:00
Nick Bebout
077c46c354 Update to 2.7.0 2018-07-23 10:36:30 -05:00
Fedora Release Engineering
0a5ff541b8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-14 00:05:28 +00:00
Eli Young
4d33d4c510 Clean up RPM spec 2018-07-10 11:01:18 -07:00
Eli Young
6a8dd0857b Update to 2.4.5 (#1599479) 2018-07-10 10:50:29 -07:00
Miro Hrončok
a4669ac87c Rebuilt for Python 3.7 2018-07-02 18:23:19 +02:00
Eli Young
2366c6d995 Remove unnecessary shebang
This pacifies rpmlint.
2018-06-26 16:32:51 -07:00
Eli Young
c265004ebb Update to 2.4.4 (#1594777) 2018-06-26 15:48:24 -07:00
Eli Young
341f422a53 Update to 2.4.3 (#1592158) 2018-06-19 10:39:21 -07:00
Miro Hrončok
b7cefb2d04 Rebuilt for Python 3.7 2018-06-19 11:00:14 +02:00
Eli Young
890d6e93ba Update to 2.4.0 (#1589596) 2018-06-11 10:25:44 -07:00
Eli Young
40411b51fa Update to 2.3.0 (#1582799) 2018-05-29 13:00:11 -07:00
Eli Young
59999db6a7 Update to 2.2.3 (#1575598) 2018-05-07 12:23:46 -07:00
Eli Young
816cfbd797 Update to 2.2.2 (#1574265) 2018-05-03 13:11:11 -07:00
Eli Young
25f330b612 Use Python 3 by default when available 2018-03-26 16:24:28 -07:00
Eli Young
97227dd4f8 Update to 2.2.1 2018-03-26 16:22:03 -07:00
Nick Bebout
4109e79775 Add epel compatibility 2018-02-19 12:58:05 -06:00
Nick Bebout
657ddbde50 Initial build 2018-02-19 12:30:57 -06:00
7 changed files with 640 additions and 0 deletions

3
.gitignore vendored Normal file
View file

@ -0,0 +1,3 @@
/dns-lexicon-*.tar.gz
/lexicon-*.tar.gz

38
create-local-tld-cache.py Normal file
View file

@ -0,0 +1,38 @@
#!/usr/bin/python3
from pathlib import Path
import json
import os
import subprocess
import sys
if len(sys.argv) != 2:
sys.stderr.write('usage: %s <buildroot-sitelib>\n' % sys.argv[0])
buildroot_sitelib_dir = sys.argv[1]
sys.path.insert(0, buildroot_sitelib_dir)
from tldextract.cache import get_cache_dir, DiskCache
if 'TLDEXTRACT_CACHE' not in os.environ:
raise ValueError('must set "TLDEXTRACT_CACHE" environment variable')
local_cache = Path('/usr/share/publicsuffix/public_suffix_list.dat')
if not local_cache.exists():
raise FileNotFoundError(local_cache)
url_local_cache = f'file://{local_cache}'
subprocess.run(['/usr/bin/tldextract', '--update', f'--suffix_list_url={url_local_cache}'], check=True)
cache = DiskCache(cache_dir=get_cache_dir())
namespace = 'publicsuffix.org-tlds'
cache_with_local_data = cache._key_to_cachefile_path(namespace, {'urls': (url_local_cache,), 'fallback_to_snapshot': True})
func = lambda **kwargs: json.loads(Path(cache_with_local_data).read_text())
kwargs = {
'cache': cache,
'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'),
'fallback_to_snapshot': True,
}
cache.run_and_cache(func, namespace=namespace, kwargs=kwargs, hashed_argnames=('urls', 'fallback_to_snapshot'))

View file

@ -0,0 +1,85 @@
diff -uNr lexicon-3.17.0/pyproject.toml lexicon-3.17.0.mod/pyproject.toml
--- lexicon-3.17.0/pyproject.toml 2023-11-06 16:21:46.000000000 -0600
+++ lexicon-3.17.0.mod/pyproject.toml 2024-02-01 04:28:53.861285119 -0600
@@ -61,32 +61,6 @@
# Extra "full" list must contain all other extras
full = ["boto3", "localzone", "softlayer", "zeep", "oci"]
-[tool.poetry.group.dev.dependencies]
-esbonio = "*"
-packaging = "*"
-pytest = "*"
-pytest-cov = "*"
-pytest-xdist = "*"
-vcrpy = "*"
-# We add flake8 conditionally to recent Python version to get modern versions
-# of flake8 cleaned of several issues. It just means that linting cannot be done
-# on the initial release of Python 3.8 (version 3.8.0). This is a decent constraint.
-flake8 = { version = "*", python = ">=3.8.1" }
-isort = "*"
-tox = ">=4"
-black = "*"
-mypy = "*"
-toml = "*"
-types-PyYAML = "*"
-types-pytz = "*"
-types-requests = "*"
-types-toml = "*"
-
-[tool.poetry.group.docs.dependencies]
-sphinx = "*"
-sphinx_rtd_theme = "*"
-toml = "*"
-
[tool.poetry.scripts]
lexicon = "lexicon._private.cli:main"
diff -uNr lexicon-3.17.0/setup.cfg lexicon-3.17.0.mod/setup.cfg
--- lexicon-3.17.0/setup.cfg 2023-11-06 16:21:46.000000000 -0600
+++ lexicon-3.17.0.mod/setup.cfg 2024-02-01 04:05:39.191101574 -0600
@@ -5,45 +5,3 @@
[tox:tox]
envlist = cover,lint,mypy
isolated_build = true
-
-# Standard env will run all test available for all providers.
-[testenv]
-allowlist_externals = poetry
-extras =
- full
-setenv =
- PYTEST_ADDOPTS = {env:PYTEST_ADDOPTS:--numprocesses auto}
- PYTHONHASHSEED = 0
-commands_pre =
- poetry install --extras full --no-root --sync
-commands =
- poetry run pytest tests/ \
- --junitxml=junit/test-results.xml --dist=loadfile
-
-# Cover env will run all test available for all providers with coverage enabled.
-[testenv:cover]
-commands =
- poetry run pytest tests/ \
- --junitxml=junit/test-results.xml --dist=loadfile \
- --cov=lexicon --cov-report=term-missing --cov-report=xml
-
-# Light env will run all tests except for providers with optional dependencies.
-[testenv:light]
-extras =
-commands_pre =
- poetry install --no-root --sync
-commands =
- poetry run pytest tests/ \
- --junitxml=junit/test-results.xml --dist=loadfile \
- --xfail-providers-with-missing-deps
-
-# Lint env will check for code quality and errors, and fails if it does not match the minimal requirements.
-[testenv:lint]
-commands =
- poetry run flake8 src tests
-
-
-# Mypy env will check for types in the Lexicon codebase.
-[testenv:mypy]
-commands =
- poetry run mypy src tests

2
package.cfg Normal file
View file

@ -0,0 +1,2 @@
[koji]
targets =

View file

@ -0,0 +1,14 @@
diff --git a/pyproject.toml b/pyproject.toml
index 4122ff9..936bbdc 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -126,8 +126,7 @@ extend-ignore = [ "E203", "E501" ]
envlist = [ "cover", "lint" , "mypy" ]
[tool.tox.env_run_base]
-runner = "uv-venv-lock-runner"
-with_dev = true
+with_dev = false
extras = [ "full" ]
setenv.PYTEST_ADDOPTS = "--numprocesses auto"
setenv.PYTHONHASHSEED = "0"

497
python-dns-lexicon.spec Normal file
View file

@ -0,0 +1,497 @@
%global forgeurl https://github.com/dns-lexicon/dns-lexicon
%global forgeversion 3.21.1
Version: %{forgeversion}
%forgemeta
%global pypi_name dns-lexicon
%if 0%{?rhel} >= 8
# EPEL is currently missing dependencies used by the extras metapackages
# EPEL is currently missing dependencies used by the tests
%bcond_with tests
%bcond_with extras
%else
%bcond_without tests
%bcond_without extras
%endif
# disable tests for now
%bcond_without tests
Name: python-%{pypi_name}
Release: 5%{?dist}
Summary: Manipulate DNS records on various DNS providers in a standardized/agnostic way
License: MIT
URL: %{forgeurl}
# pypi releases don't contain necessary data to run the tests
Source0: %{forgesource}
Source1: create-local-tld-cache.py
Patch: python-dns-lexicon-tox-config.patch
BuildArch: noarch
BuildRequires: python3-devel
# epel is missing full poetry and light packages needed for tests
%if 0%{?rhel >= 8}
#Patch: disable-poetry-light.patch
%endif
# required to run the test suite
%if %{with tests}
BuildRequires: python3-pytest
BuildRequires: python3-pytest-vcr
BuildRequires: python3-pytest-xdist
BuildRequires: publicsuffix-list
BuildRequires: python3-tldextract
%endif
%description
Lexicon provides a way to manipulate DNS records on multiple DNS providers in a
standardized way. Lexicon has a CLI but it can also be used as a python
library.
%package -n python3-%{pypi_name}
Summary: %{summary}
%{?python_provide:%python_provide python3-%{pypi_name}}
# Both packages install a Python module named lexicon
# TODO: Remove this once resolved upstream (see upstream #222)
Conflicts: python3-lexicon
# These "extras" were previously present in upstream lexicon but are not there
# anymore.
# {{{
%if %{with extras}
Obsoletes: python3-%{pypi_name}+easyname < 3.4
Provides: python3dist(%{pypi_name}[easyname]) = %{version}
Provides: python%{python3_version}dist(%{pypi_name}[easyname]) = %{version}
Obsoletes: python3-%{pypi_name}+gratisdns < 3.4
Provides: python3dist(%{pypi_name}[gratisdns]) = %{version}
Provides: python%{python3_version}dist(%{pypi_name}[gratisdns]) = %{version}
Obsoletes: python3-%{pypi_name}+henet < 3.4
Provides: python3dist(%{pypi_name}[henet]) = %{version}
Provides: python%{python3_version}dist(%{pypi_name}[henet]) = %{version}
Obsoletes: python3-%{pypi_name}+hetzner < 3.4
Provides: python3dist(%{pypi_name}[hetzner]) = %{version}
Provides: python%{python3_version}dist(%{pypi_name}[hetzner]) = %{version}
# lexicon 3.6.0 removed the xmltodict dependency (and the "plesk" extra)
Obsoletes: python3-%{pypi_name}+plesk < 3.6
Provides: python3dist(%{pypi_name}[plesk]) = %{version}
Provides: python%{python3_version}dist(%{pypi_name}[plesk]) = %{version}
%endif
# }}}
%description -n python3-%{pypi_name}
Lexicon provides a way to manipulate DNS records on multiple DNS providers in a
standardized way. Lexicon has a CLI but it can also be used as a python
library.
This is the Python 3 version of the package.
%package -n python3-%{pypi_name}+gransy
Summary: Meta-package for python3-%{pypi_name} and gransy provider
%{?python_provide:%python_provide python3-%{pypi_name}+gransy}
Requires: python3-%{pypi_name} = %{version}-%{release}
%description -n python3-%{pypi_name}+gransy
This package installs no files. It requires python3-%{pypi_name} and all
dependencies necessary to use the gransy provider.
%package -n python3-%{pypi_name}+localzone
Summary: Meta-package for python3-%{pypi_name} and localzone provider
%{?python_provide:%python_provide python3-%{pypi_name}+localzone}
Requires: python3-%{pypi_name} = %{version}-%{release}
%description -n python3-%{pypi_name}+localzone
This package installs no files. It requires python3-%{pypi_name} and all
dependencies necessary to use the localzone provider.
%package -n python3-%{pypi_name}+oci
Summary: Meta-package for python3-%{pypi_name} and oci provider
%{?python_provide:%python_provide python3-%{pypi_name}+oci}
Requires: python3-%{pypi_name} = %{version}-%{release}
%description -n python3-%{pypi_name}+oci
This package installs no files. It requires python3-%{pypi_name} and all
dependencies necessary to use the oci provider.
%package -n python3-%{pypi_name}+route53
Summary: Meta-package for python3-%{pypi_name} and Route 53 provider
%{?python_provide:%python_provide python3-%{pypi_name}+route53}
Requires: python3-%{pypi_name} = %{version}-%{release}
%description -n python3-%{pypi_name}+route53
This package installs no files. It requires python3-%{pypi_name} and all
dependencies necessary to use the Route 53 provider.
%prep
%autosetup -n %{pypi_name}-%{version} -p1
# Remove bundled egg-info
rm -rf %{pypi_name}.egg-info
rm -f uv.lock
%generate_buildrequires
%if %{with extras}
%pyproject_buildrequires -r -t -e light -x gransy,localzone,oci,route53
%else
%pyproject_buildrequires -r
%endif
%build
# remove shebang
sed -i '1d' src/lexicon/_private/cli.py
%pyproject_wheel
%if %{with tests}
%check
export TLDEXTRACT_CACHE=%{_builddir}/tldextract-cache
# tldextract tries to fetch "public_suffix_list.dat" from the internet on first
# invocation.
# (see https://github.com/john-kurkowski/tldextract/tree/master#note-about-caching)
# The "publicsuffix-list" package provides that data however we need to use
# that to populate a local cache directory.Most of the work is done via:
# $ tldextract --update --suffix_list_url "file:///usr/share/publicsuffix/public_suffix_list.dat"
#
# However tldextract uses the "file://" url as cache key while the tests use
# "https://publicsuffix.org/list/public_suffix_list.dat". I did not find a way
# get tldextract to use the https url so a small Python script will handle that.
/usr/bin/python3 %{SOURCE1} %{buildroot}%{python3_sitelib}
# lexicon providers which do not work in Fedora due to missing dependencies:
# - SoftLayerProviderTests
TEST_SELECTOR="not SoftLayerProviderTests"
%if %{without extras}
TEST_SELECTOR+=" and not GransyProviderTests and not LocalzoneProviderTests and not OciProviderTests and not OciInstancePrincipalProviderTests and not Route53ProviderTests"
%endif
# We do not use "--xfail-providers-with-missing-deps" because we want to detect
# missing dependencies unless we already know that a certain provider will not
# work.
%pytest -v -k "${TEST_SELECTOR}" -n auto --dist=loadfile tests/
%endif
%install
%pyproject_install
install -pm 0755 %{buildroot}/%{_bindir}/lexicon %{buildroot}/%{_bindir}/lexicon-%{python3_version}
cd %{buildroot}/%{_bindir}
ln -s lexicon-%{python3_version} lexicon-3
%files -n python3-%{pypi_name}
%license LICENSE
%doc README.rst
%{_bindir}/lexicon
%{_bindir}/lexicon-3
%{_bindir}/lexicon-%{python3_version}
%{python3_sitelib}/lexicon
%{python3_sitelib}/dns_lexicon-%{version}.dist-info
# Extras meta-packages
# {{{
%if %{with extras}
%files -n python3-%{pypi_name}+gransy
%{?python_extras_subpkg:%ghost %{python3_sitelib}/dns_lexicon-%{version}.dist-info}
%files -n python3-%{pypi_name}+localzone
%{?python_extras_subpkg:%ghost %{python3_sitelib}/dns_lexicon-%{version}.dist-info}
%files -n python3-%{pypi_name}+oci
%{?python_extras_subpkg:%ghost %{python3_sitelib}/dns_lexicon-%{version}.dist-info}
%files -n python3-%{pypi_name}+route53
%{?python_extras_subpkg:%ghost %{python3_sitelib}/dns_lexicon-%{version}.dist-info}
%endif
# }}}
%changelog
* Fri Sep 19 2025 Python Maint <python-maint@redhat.com> - 3.21.1-5
- Rebuilt for Python 3.14.0rc3 bytecode
* Fri Aug 15 2025 Python Maint <python-maint@redhat.com> - 3.21.1-4
- Rebuilt for Python 3.14.0rc2 bytecode
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.21.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Fri Jun 06 2025 Python Maint <python-maint@redhat.com> - 3.21.1-2
- Rebuilt for Python 3.14
* Mon Apr 28 2025 Felix Schwarz <fschwarz@fedoraproject.org> - 3.21.1-1
- update to 3.21.1
* Sat Apr 19 2025 Felix Schwarz <fschwarz@fedoraproject.org> - 3.21.0-1
- update to 3.21.0
* Thu Jan 23 2025 Felix Schwarz <fschwarz@fedoraproject.org> - 3.20.1-1
- update to 3.20.1
* Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.18.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Sat Nov 23 2024 Ben Maconi <turboben@fedoraproject.org> - 3.18.0-1
- Updated to 3.18.0
* Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.17.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Thu Jun 27 2024 Python Maint <python-maint@redhat.com> - 3.17.0-5
- Rebuilt for Python 3.13
* Thu Feb 29 2024 Jonathan Wright <jonathan@almalinux.org> - 3.17.0-4
- Update spec for building on epel9
* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.17.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.17.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Nov 16 2023 Nick Bebout <nb@fedoraproject.org> - 3.17.0-1
- Update to 3.17.0
* Fri Oct 13 2023 Jonathan Wright <jonathan@almalinux.org> - 3.15.1-1
- Update to 3.15.1 rhbz#2232054
* Tue Aug 8 2023 Christian Schuermann <spike@fedoraproject.org> 3.13.0-1
- Update to 3.13.0
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.12.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Jul 04 2023 Python Maint <python-maint@redhat.com> - 3.12.0-2
- Rebuilt for Python 3.12
* Sun Jun 11 2023 Christian Schuermann <spike@fedoraproject.org> 3.12.0-1
- Update to 3.12.0
- Add new duckdns extra package
- Add localzone and oci extra packages since dependancies are now available on Fedora
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.11.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Oct 27 2022 Christian Schuermann <spike@fedoraproject.org> 3.11.7-1
- Update to 3.11.7
* Wed Oct 12 2022 Christian Schuermann <spike@fedoraproject.org> 3.11.6-1
- Update to 3.11.6
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.11.4-1
- Update to 3.11.4
- rhbz#2117798
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.11.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu Jun 23 2022 Christian Schuermann <spike@fedoraproject.org> 3.11.3-1
- Update to 3.11.3
* Wed Jun 15 2022 Python Maint <python-maint@redhat.com> - 3.11.2-2
- Rebuilt for Python 3.11
* Wed May 18 2022 Christian Schuermann <spike@fedoraproject.org> 3.11.2-1
- Update to 3.11.2
- Disable OciInstancePrincipalProviderTests
* Mon May 9 2022 Christian Schuermann <spike@fedoraproject.org> 3.11.0-2
- Disable tests that use tldextract until "suffix_list_url" cli flag is available
* Mon May 9 2022 Christian Schuermann <spike@fedoraproject.org> 3.11.0-1
- Update to 3.11.0
* Sun May 1 2022 Christian Schuermann <spike@fedoraproject.org> 3.10.0-1
- Update to 3.10.0
* Thu Apr 28 2022 Christian Schuermann <spike@fedoraproject.org> 3.9.5-3
- Add "tests" conditional to make tests optional on EPEL
- Ensure that BuildRequires resolve correctly and only relevant tests run when building without extras
* Tue Apr 26 2022 Christian Schuermann <spike@fedoraproject.org> 3.9.5-2
- Reenable tests for GoDady, Transip, Namecheap and NamecheapManaged providers
- Add gransy and ddns extra packages
- Remove explicit BuildRequires (handled by the pyproject_buildrequires macro)
- Remove explicit extra package Requires (handled by automatic dependency generator)
- Remove unused rhel7 macro
* Tue Apr 19 2022 Christian Schuermann <spike@fedoraproject.org> 3.9.5-1
- update to 3.9.5
* Tue Feb 15 2022 Christian Schuermann <spike@fedoraproject.org> 3.9.4-1
- update to 3.9.4
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.9.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Mon Jan 17 2022 Christian Schuermann <spike@fedoraproject.org> 3.9.2-1
- update to 3.9.2
* Mon Jan 17 2022 Christian Schuermann <spike@fedoraproject.org> 3.9.1-1
- update to 3.9.1
* Thu Jan 6 2022 Christian Schuermann <spike@fedoraproject.org> 3.9.0-1
- update to 3.9.0
* Wed Dec 29 2021 Christian Schuermann <spike@fedoraproject.org> 3.8.5-1
- update to 3.8.5
* Tue Dec 28 2021 Christian Schuermann <spike@fedoraproject.org> 3.8.4-1
- update to 3.8.4
* Sat Nov 13 2021 Felix Schwarz <fschwarz@fedoraproject.org> - 3.8.3-1
- update to 3.8.3 (#2020433)
* Sat Oct 16 2021 Felix Schwarz <fschwarz@fedoraproject.org> - 3.8.1-1
- update to 3.8.1 (#2014726)
* Mon Oct 04 2021 Felix Schwarz <fschwarz@fedoraproject.org> - 3.8.0-1
- update to 3.8.0
* Thu Aug 19 2021 Felix Schwarz <fschwarz@fedoraproject.org> - 3.7.0-1
- update to 3.7.0
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.5.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 3.5.3-3
- Rebuilt for Python 3.10
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.5.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Jan 5 2021 Felix Schwarz <fschwarz@fedoraproject.org> - 3.5.3-1
- update to 3.5.3
* Tue Nov 24 2020 Felix Schwarz <fschwarz@fedoraproject.org> - 3.5.2-1
- update to 3.5.2
* Mon Nov 16 2020 Felix Schwarz <fschwarz@fedoraproject.org> - 3.5.1-1
- update to 3.5.1
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.17-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Jul 10 2020 Miro Hrončok <mhroncok@redhat.com> - 3.3.17-4
- Add metadata for Python extras subpackages
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 3.3.17-3
- Rebuilt for Python 3.9
* Wed Mar 04 2020 Felix Schwarz <fschwarz@fedoraproject.org> - 3.3.17-2
- add missing sources
* Tue Mar 03 2020 Felix Schwarz <fschwarz@fedoraproject.org> - 3.3.17-1
- Update to 3.3.17 (#1764339)
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Oct 08 2019 Eli Young <elyscape@gmail.com> - 3.3.4-2
- Rebuild due to Koji issues
* Mon Oct 07 2019 Eli Young <elyscape@gmail.com> - 3.3.4-1
- Update to 3.3.4 (#1725208)
- Support EPEL8 builds
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 3.2.8-4
- Rebuilt for Python 3.8.0rc1 (#1748018)
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 3.2.8-3
- Rebuilt for Python 3.8
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.8-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Thu Jun 27 2019 Eli Young <elyscape@gmail.com> - 3.2.8-1
- Update to 3.2.8 (#1722190)
* Tue May 28 2019 Eli Young <elyscape@gmail.com> - 3.2.6-1
- Update to 3.2.6 (#1685778)
* Fri Feb 15 2019 Eli Young <elyscape@gmail.com> - 3.1.5-1
- Update to 3.1.5 (#1671162)
- Add meta-subpackages for specific providers
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Dec 14 2018 Eli Young <elyscape@gmail.com> - 3.0.6-1
- Update to 3.0.6
- Declare conflict with python-lexicon
- Remove Python 2 package in Fedora 30+
* Wed Nov 14 2018 Eli Young <elyscape@gmail.com> - 3.0.2-2
- Fix dependencies on Fedora 28
* Wed Nov 14 2018 Eli Young <elyscape@gmail.com> - 3.0.2-1
- Update to 3.0.2
* Mon Oct 08 2018 Eli Young <elyscape@gmail.com> - 2.7.9-1
- Update to 2.7.9 (#1637142)
* Mon Aug 27 2018 Eli Young <elyscape@gmail.com> - 2.7.0-2
- Add dependency on python-cryptography (#1622418)
* Mon Jul 23 2018 Nick Bebout <nb@fedoraproject.org> - 2.7.0-1
- Update to 2.7.0
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Tue Jul 10 2018 Eli Young <elyscape@gmail.com> - 2.4.5-1
- Update to 2.4.5 (#1599479)
* Mon Jul 02 2018 Miro Hrončok <mhroncok@redhat.com> - 2.4.4-3
- Rebuilt for Python 3.7
* Tue Jun 26 2018 Eli Young <elyscape@gmail.com> - 2.4.4-2
- Remove unnecessary shebang
* Tue Jun 26 2018 Eli Young <elyscape@gmail.com> - 2.4.4-1
- Update to 2.4.4 (#1594777)
* Tue Jun 19 2018 Eli Young <elyscape@gmail.com> - 2.4.3-1
- Update to 2.4.3 (#1592158)
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 2.4.0-2
- Rebuilt for Python 3.7
* Mon Jun 11 2018 Eli Young <elyscape@gmail.com> - 2.4.0-1
- Update to 2.4.0 (#1589596)
* Tue May 29 2018 Eli Young <elyscape@gmail.com> - 2.3.0-1
- Update to 2.3.0 (#1582799)
* Mon May 07 2018 Eli Young <elyscape@gmail.com> - 2.2.3-1
- Update to 2.2.3 (#1575598)
* Thu May 03 2018 Eli Young <elyscape@gmail.com> - 2.2.2-1
- Update to 2.2.2 (#1574265)
* Sat Mar 24 2018 Eli Young <elyscape@gmail.com> - 2.2.1-1
- Update to 2.2.1
- Use Python 3 by default when available
* Mon Feb 19 2018 Nick Bebout <nb@fedoraproject.org> - 2.1.19-1
- Initial package.

1
sources Normal file
View file

@ -0,0 +1 @@
SHA512 (dns-lexicon-3.21.1.tar.gz) = 0f53001edf2425afe7b7c4315e974ee47c956b659964998b942943788711c57634eea2d7974e21005be7f0edf16800e6577c49c8789e34f2133c4f5be8ac7ac1