Your message dated Thu, 07 May 2026 10:49:03 +0000
with message-id <[email protected]>
and subject line Bug#1134305: fixed in python-localzone 0.9.8-4
has caused the Debian Bug report #1134305,
regarding python-localzone: FTBFS: E           ValueError: tok must be a string 
or a Tokenizer
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1134305: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1134305
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: src:python-localzone
Version: 0.9.8-3
Severity: serious
Tags: ftbfs forky sid

Dear maintainer:

During a rebuild of all packages in unstable, this package failed to build.

Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:

https://people.debian.org/~sanvila/build-logs/202604/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you cannot reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:python-localzone, so that this is still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean --buildsystem=pybuild
   dh_auto_clean -O--buildsystem=pybuild
I: pybuild base:385: python3.14 setup.py clean 
/usr/lib/python3/dist-packages/setuptools/dist.py:759: 
SetuptoolsDeprecationWarning: License classifiers are deprecated.
!!

        
********************************************************************************
        Please consider removing the following classifiers in favor of a SPDX 
license expression:

        License :: OSI Approved :: BSD License

        See 
https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license 
for details.
        
********************************************************************************

!!
  self._finalize_license_expression()
running clean
removing '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build' (and everything under 
it)
'build/bdist.linux-x86_64' does not exist -- can't clean it
'build/scripts-3.14' does not exist -- can't clean it
I: pybuild base:385: python3.13 setup.py clean 
/usr/lib/python3/dist-packages/setuptools/dist.py:759: 
SetuptoolsDeprecationWarning: License classifiers are deprecated.
!!

        
********************************************************************************
        Please consider removing the following classifiers in favor of a SPDX 
license expression:

        License :: OSI Approved :: BSD License

        See 
https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license 
for details.
        
********************************************************************************

!!
  self._finalize_license_expression()
running clean
removing '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build' (and everything under 
it)
'build/bdist.linux-x86_64' does not exist -- can't clean it
'build/scripts-3.13' does not exist -- can't clean it
   dh_autoreconf_clean -O--buildsystem=pybuild
   dh_clean -O--buildsystem=pybuild
 debian/rules binary
dh binary --buildsystem=pybuild
   dh_update_autotools_config -O--buildsystem=pybuild
   dh_autoreconf -O--buildsystem=pybuild
   dh_auto_configure -O--buildsystem=pybuild
I: pybuild base:385: python3.14 setup.py config 
/usr/lib/python3/dist-packages/setuptools/dist.py:759: 
SetuptoolsDeprecationWarning: License classifiers are deprecated.
!!

        
********************************************************************************
        Please consider removing the following classifiers in favor of a SPDX 
license expression:

        License :: OSI Approved :: BSD License

        See 
https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license 
for details.
        
********************************************************************************

!!
  self._finalize_license_expression()
running config
I: pybuild base:385: python3.13 setup.py config 
/usr/lib/python3/dist-packages/setuptools/dist.py:759: 
SetuptoolsDeprecationWarning: License classifiers are deprecated.
!!

        
********************************************************************************
        Please consider removing the following classifiers in favor of a SPDX 
license expression:

        License :: OSI Approved :: BSD License

        See 
https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license 
for details.
        
********************************************************************************

!!
  self._finalize_license_expression()
running config
   dh_auto_build -O--buildsystem=pybuild
I: pybuild base:385: /usr/bin/python3.14 setup.py build 
/usr/lib/python3/dist-packages/setuptools/dist.py:759: 
SetuptoolsDeprecationWarning: License classifiers are deprecated.
!!

        
********************************************************************************
        Please consider removing the following classifiers in favor of a SPDX 
license expression:

        License :: OSI Approved :: BSD License

        See 
https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license 
for details.
        
********************************************************************************

!!
  self._finalize_license_expression()
running build
running build_py
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build/localzone
copying localzone/__version__.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build/localzone
copying localzone/context.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build/localzone
copying localzone/__init__.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build/localzone
copying localzone/util.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build/localzone
copying localzone/models.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build/localzone
running egg_info
creating localzone.egg-info
writing localzone.egg-info/PKG-INFO
writing dependency_links to localzone.egg-info/dependency_links.txt
writing requirements to localzone.egg-info/requires.txt
writing top-level names to localzone.egg-info/top_level.txt
writing manifest file 'localzone.egg-info/SOURCES.txt'
reading manifest file 'localzone.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'localzone.egg-info/SOURCES.txt'
I: pybuild base:385: /usr/bin/python3 setup.py build 
/usr/lib/python3/dist-packages/setuptools/dist.py:759: 
SetuptoolsDeprecationWarning: License classifiers are deprecated.
!!

        
********************************************************************************
        Please consider removing the following classifiers in favor of a SPDX 
license expression:

        License :: OSI Approved :: BSD License

        See 
https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license 
for details.
        
********************************************************************************

!!
  self._finalize_license_expression()
running build
running build_py
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/localzone
copying localzone/__version__.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/localzone
copying localzone/context.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/localzone
copying localzone/__init__.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/localzone
copying localzone/util.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/localzone
copying localzone/models.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/localzone
running egg_info
writing localzone.egg-info/PKG-INFO
writing dependency_links to localzone.egg-info/dependency_links.txt
writing requirements to localzone.egg-info/requires.txt
writing top-level names to localzone.egg-info/top_level.txt
reading manifest file 'localzone.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'localzone.egg-info/SOURCES.txt'
   dh_auto_test -O--buildsystem=pybuild
I: pybuild base:385: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build; 
python3.14 -m pytest tests
============================= test session starts ==============================
platform linux -- Python 3.14.4, pytest-9.0.3, pluggy-1.6.0
rootdir: /<<PKGBUILDDIR>>
plugins: typeguard-4.4.4
collected 22 items

tests/test_context.py ...                                                [ 13%]
tests/test_models.py .........F.....                                     [ 81%]
tests/test_util.py ....                                                  [100%]

=================================== FAILURES ===================================
_______________________ test_zone_add_record_no_content ________________________

    def test_zone_add_record_no_content():
        with localzone.manage(ZONEFILE, ORIGIN) as z:
            with pytest.raises((AttributeError, DNSSyntaxError)):
>               z.add_record("test", "txt", None)

tests/test_models.py:82: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
localzone/models.py:195: in add_record
    rdata = dns.rdata.from_text(rdclass, rdtype, content, origin=self.origin)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

rdclass = <RdataClass.IN: 1>, rdtype = <RdataType.TXT: 16>, tok = None
origin = <DNS name example.com.>, relativize = True, relativize_to = None
idna_codec = None

    def from_text(
        rdclass: dns.rdataclass.RdataClass | str,
        rdtype: dns.rdatatype.RdataType | str,
        tok: dns.tokenizer.Tokenizer | str,
        origin: dns.name.Name | None = None,
        relativize: bool = True,
        relativize_to: dns.name.Name | None = None,
        idna_codec: dns.name.IDNACodec | None = None,
    ) -> Rdata:
        """Build an rdata object from text format.
    
        This function attempts to dynamically load a class which
        implements the specified rdata class and type.  If there is no
        class-and-type-specific implementation, the GenericRdata class
        is used.
    
        Once a class is chosen, its from_text() class method is called
        with the parameters to this function.
    
        If *tok* is a ``str``, then a tokenizer is created and the string
        is used as its input.
    
        *rdclass*, a ``dns.rdataclass.RdataClass`` or ``str``, the rdataclass.
    
        *rdtype*, a ``dns.rdatatype.RdataType`` or ``str``, the rdatatype.
    
        *tok*, a ``dns.tokenizer.Tokenizer`` or a ``str``.
    
        *origin*, a ``dns.name.Name`` (or ``None``), the
        origin to use for relative names.
    
        *relativize*, a ``bool``.  If true, name will be relativized.
    
        *relativize_to*, a ``dns.name.Name`` (or ``None``), the origin to use
        when relativizing names.  If not set, the *origin* value will be used.
    
        *idna_codec*, a ``dns.name.IDNACodec``, specifies the IDNA
        encoder/decoder to use if a tokenizer needs to be created.  If
        ``None``, the default IDNA 2003 encoder/decoder is used.  If a
        tokenizer is not created, then the codec associated with the tokenizer
        is the one that is used.
    
        Returns an instance of the chosen Rdata subclass.
    
        """
        if isinstance(tok, str):
            tok = dns.tokenizer.Tokenizer(tok, idna_codec=idna_codec)
        if not isinstance(tok, dns.tokenizer.Tokenizer):
>           raise ValueError("tok must be a string or a Tokenizer")
E           ValueError: tok must be a string or a Tokenizer

/usr/lib/python3/dist-packages/dns/rdata.py:772: ValueError
=========================== short test summary info ============================
FAILED tests/test_models.py::test_zone_add_record_no_content - ValueError: to...
========================= 1 failed, 21 passed in 0.11s =========================
E: pybuild pybuild:485: test: plugin distutils failed with: exit code=1: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build; python3.14 -m pytest tests
I: pybuild base:385: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build; 
python3.13 -m pytest tests
============================= test session starts ==============================
platform linux -- Python 3.13.12, pytest-9.0.3, pluggy-1.6.0
rootdir: /<<PKGBUILDDIR>>
plugins: typeguard-4.4.4
collected 22 items

tests/test_context.py ...                                                [ 13%]
tests/test_models.py .........F.....                                     [ 81%]
tests/test_util.py ....                                                  [100%]

=================================== FAILURES ===================================
_______________________ test_zone_add_record_no_content ________________________

    def test_zone_add_record_no_content():
        with localzone.manage(ZONEFILE, ORIGIN) as z:
            with pytest.raises((AttributeError, DNSSyntaxError)):
>               z.add_record("test", "txt", None)

tests/test_models.py:82: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
localzone/models.py:195: in add_record
    rdata = dns.rdata.from_text(rdclass, rdtype, content, origin=self.origin)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

rdclass = <RdataClass.IN: 1>, rdtype = <RdataType.TXT: 16>, tok = None
origin = <DNS name example.com.>, relativize = True, relativize_to = None
idna_codec = None

    def from_text(
        rdclass: dns.rdataclass.RdataClass | str,
        rdtype: dns.rdatatype.RdataType | str,
        tok: dns.tokenizer.Tokenizer | str,
        origin: dns.name.Name | None = None,
        relativize: bool = True,
        relativize_to: dns.name.Name | None = None,
        idna_codec: dns.name.IDNACodec | None = None,
    ) -> Rdata:
        """Build an rdata object from text format.
    
        This function attempts to dynamically load a class which
        implements the specified rdata class and type.  If there is no
        class-and-type-specific implementation, the GenericRdata class
        is used.
    
        Once a class is chosen, its from_text() class method is called
        with the parameters to this function.
    
        If *tok* is a ``str``, then a tokenizer is created and the string
        is used as its input.
    
        *rdclass*, a ``dns.rdataclass.RdataClass`` or ``str``, the rdataclass.
    
        *rdtype*, a ``dns.rdatatype.RdataType`` or ``str``, the rdatatype.
    
        *tok*, a ``dns.tokenizer.Tokenizer`` or a ``str``.
    
        *origin*, a ``dns.name.Name`` (or ``None``), the
        origin to use for relative names.
    
        *relativize*, a ``bool``.  If true, name will be relativized.
    
        *relativize_to*, a ``dns.name.Name`` (or ``None``), the origin to use
        when relativizing names.  If not set, the *origin* value will be used.
    
        *idna_codec*, a ``dns.name.IDNACodec``, specifies the IDNA
        encoder/decoder to use if a tokenizer needs to be created.  If
        ``None``, the default IDNA 2003 encoder/decoder is used.  If a
        tokenizer is not created, then the codec associated with the tokenizer
        is the one that is used.
    
        Returns an instance of the chosen Rdata subclass.
    
        """
        if isinstance(tok, str):
            tok = dns.tokenizer.Tokenizer(tok, idna_codec=idna_codec)
        if not isinstance(tok, dns.tokenizer.Tokenizer):
>           raise ValueError("tok must be a string or a Tokenizer")
E           ValueError: tok must be a string or a Tokenizer

/usr/lib/python3/dist-packages/dns/rdata.py:772: ValueError
=========================== short test summary info ============================
FAILED tests/test_models.py::test_zone_add_record_no_content - ValueError: to...
========================= 1 failed, 21 passed in 0.11s =========================
E: pybuild pybuild:485: test: plugin distutils failed with: exit code=1: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build; python3.13 -m pytest tests
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.14 
3.13" --parallel=2 returned exit code 13
make: *** [debian/rules:5: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit 
status 2
--------------------------------------------------------------------------------

--- End Message ---
--- Begin Message ---
Source: python-localzone
Source-Version: 0.9.8-4
Done: Colin Watson <[email protected]>

We believe that the bug you reported is fixed in the latest version of
python-localzone, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Colin Watson <[email protected]> (supplier of updated python-localzone 
package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Thu, 07 May 2026 11:27:53 +0100
Source: python-localzone
Architecture: source
Version: 0.9.8-4
Distribution: unstable
Urgency: medium
Maintainer: Debian Python Team <[email protected]>
Changed-By: Colin Watson <[email protected]>
Closes: 1134305
Changes:
 python-localzone (0.9.8-4) unstable; urgency=medium
 .
   * Team upload.
   * Fix test_zone_add_record_no_content with dnspython 2.8.0 (closes:
     #1134305).
   * Use pybuild-plugin-pyproject.
   * Switch to autopkgtest-pkg-pybuild.
Checksums-Sha1:
 4aa04f7c827daaa13086c63a0889edc86e506f82 2632 python-localzone_0.9.8-4.dsc
 6aff7b4ad10f7c451fbf41cbc98aa20afb11a3d6 8868 
python-localzone_0.9.8-4.debian.tar.xz
 1be2dcb1c3d5de787a6c586fc1c60fb3c52d17a2 53928 
python-localzone_0.9.8-4.git.tar.xz
 837086edad3f47f32a930d37cf11ad48962386b1 17384 
python-localzone_0.9.8-4_source.buildinfo
Checksums-Sha256:
 1f3ef787814c8ff161dc2b1d4adbb69c48f9e25a2d4448782ff1eedfdca20e10 2632 
python-localzone_0.9.8-4.dsc
 5bf12093c2a3bd6301d3c4c820e989b67f353d1bcbf4267d26a769619e091f57 8868 
python-localzone_0.9.8-4.debian.tar.xz
 cb2fc207339016dbfdada8587b67bb2309a5921f0e4ce4757b30018063dffb8e 53928 
python-localzone_0.9.8-4.git.tar.xz
 33797b706687b9802916acda27a05bed41c9758d48c5a3ef2fd254562ad1fd57 17384 
python-localzone_0.9.8-4_source.buildinfo
Files:
 659adcd514c6b78b2aa2cb5b1f8d75dd 2632 python optional 
python-localzone_0.9.8-4.dsc
 aa8c22a6cfe297737de4f22f39d42190 8868 python optional 
python-localzone_0.9.8-4.debian.tar.xz
 858aaad06320f4d87c271bb232b46f35 53928 python optional 
python-localzone_0.9.8-4.git.tar.xz
 3c1f26b369aefe377e47a277857ece40 17384 python optional 
python-localzone_0.9.8-4_source.buildinfo
Git-Tag-Info: tag=bb2889029468ec247117d203ffecd061e0257bba 
fp=ac0a4ff12611b6fccf01c111393587d97d86500b
Git-Tag-Tagger: Colin Watson <[email protected]>

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEN02M5NuW6cvUwJcqYG0ITkaDwHkFAmn8aawACgkQYG0ITkaD
wHl8HRAAhzc1LtNyLea6ZPjzndJuii0nvu9hVnv5lcX/BB/8AUQcH6ElvqK3U8Ou
LpGepMDlX5ANOTmARKwHtcpgKKIaKh039OmFDPCfJ9PU/2AtEXYYz/bjWemJrxXR
L0Q8NntaQ20+zhU5TBdEZrgj0s2FfyvKSKz0axoFbXqxTbeqaBc5BpviBhZb1/B7
xmGIJn/gJ6j3xYw8kdgWnP7Hc5WE8b3NuHHgmySgI1tcd9Uv5SNIvH1YEprSkGdQ
FQMB6FiuaBOaQZWwO/NZBMmrmrDdfp29+wpohb3aynsexWsoXzPpmRThkyqfIBL7
pG/sFs6d7VehrE36QM/hEZ27Takd37Ofp6ZoznTLYPlz7DihaBthmx2STfls5XKW
efHkbQoBRnuIS9u7SoVpcBb415vB67lYNmCToUahkLLBAbTG4qwNY8/Jan4P2xeW
haN5jUErtq/7/e0gVWJVyCIqMC/bs6iqaPZPvpMRPVNmWq1N7JtIrKE+jSQTv4sF
BKIqx6H/Hw7B67XshQrWUP75lhx1O6Ln9HK5llVNoZ70fOluCsIvo2MO1m1i9rcD
YjgCnNchpq6E8Dtf9WfMLVNaBHRNiQe5lWEC8M9GvI80wPi+m2k0vLEN6aaad60J
rpaGHscDdJUWjFJcuoZqROnDV2Ar0UsdXL/5HBSSmQv8Nit0G14=
=GnPy
-----END PGP SIGNATURE-----

Attachment: pgpgUWQddABLh.pgp
Description: PGP signature


--- End Message ---

Reply via email to