jaraco.packaging 10.4.0-1
Package Information
| Description | Sphinx extension to interpolate project metadata This package provides an extension for the Sphinx documentation system. The extension interrogates the project's package metadata, and interpolates these values into the Sphinx configuration: * project * author * copyright * version * release * package_url |
|---|---|
| Maintainer | Ben Finney <bignose@debian.org> |
| Changed By | Ben Finney <bignose@debian.org> |
| Distribution | unstable |
| Architecture | all |
| VCS | git: https://salsa.debian.org/bignose/pkg-jaraco.packaging/.git (browse) |
| Closes | #1151194 |
| Blocked Bugs | #783396 (normal) |
| Tracker | https://tracker.debian.org/pkg/jaraco.packaging |
| Uploaded | 2 hours ago |
New Package Report
.changes
| Source | jaraco.packaging |
|---|---|
| Version | 10.4.0-1 |
| Changed-By | Ben Finney <bignose@debian.org> |
| Architecture | source all |
| Distribution | unstable |
| Date | Sun, 18 Oct 2026 20:16:20 +1100 |
Changelog
jaraco.packaging (10.4.0-1) unstable; urgency=medium
.
* Initial Debian release.
Closes: bug#1151194..dsc
| Package-List | python3-sphinxcontrib-jaraco.packaging deb python optional arch=all |
|---|---|
| Section | python |
| Priority | optional |
| Component | main |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: jaraco.packaging
Upstream-Contact: Jason R. Coombs <jaraco@jaraco.com>
Source: https://github.com/jaraco/jaraco.packaging/
Files: *
Copyright:
© 2013–2026 Jason R. Coombs <jaraco@jaraco.com>
License: Expat
Files: debian/*
Copyright:
© 2010–2026 Ben Finney <bignose@debian.org>
License: GPL-3+
License-Grant:
This is free software: you may copy, modify, and/or distribute this work
under the terms of the GNU General Public License as published by the
Free Software Foundation; version 3 of that license or any later version.
No warranty expressed or implied.
License: Expat
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
License: GPL-3+
On Debian systems, the complete text of the GNU General Public License
version 3 can be found in the file ‘/usr/share/common-licenses/GPL-3’.
# Local variables:
# coding: utf-8
# mode: debian-copyright
# fill-column: 78
# End:
# vim: fileencoding=utf-8 textwidth=78 :
DFSG Assistant LLM REVIEW 0 blocker, 1 important, 4 minor
This is an LLM based review using a Debian Inference based workflow. It was not written by a member of the DFSG team and has not been checked by one. It is not a decision on the package: it may be wrong, and it may have missed things.
Reviewed 1 hour ago.
Proposes a replacement debian/watch:
debian/watch in version 5 format
Report
DFSG NEW review for jaraco.packaging version 10.4.0-1
Summary
- Licensing is DFSG-compliant and
debian/copyrightis accurate: Yes - Packaging is of good quality: No
- Issues: 0 blocker, 1 important, 4 minor
- debian/watch: old format (version 4)
- debian/copyright: machine-readable
- Scan before the review: nothing found
Licensing
The tree is MIT/Expat throughout: LICENSE is the complete Expat text, and no file carries a conflicting notice or third-party code. debian/copyright is DEP-5, matches Files: * to Expat with the upstream holder, overrides debian/* with GPL-3+, contains the full Expat text and points to /usr/share/common-licenses/GPL-3 for the packaging, and the packaging files' own headers agree. The only wrinkle is upstream's LICENSE, which has an unsubstituted <copyright holders> placeholder; the holder it omits is named in debian/copyright and in pyproject.toml, so the Debian description is accurate, and this is an upstream defect, not a DFSG problem.
Packaging
The packaging is tidy (compat 14, pybuild/pyproject, no patches, correct maintainer scripts and changelog) but has one defect a sponsor would require fixed: pyproject.toml's build system requires setuptools_scm for the dynamic version, and neither Build-Depends nor Build-Depends-Indep installs python3-setuptools-scm; pybuild builds with --no-isolation --skip-dependency-check, so the build has no way to obtain the version. The autopkgtest the maintainer clearly intended is also inert because debian/control lacks the Testsuite: field that makes autopkgtest call autodep8, and the shipped helper file is a deprecated form. debian/README.source is copied from a different package.
Issues
1. [important] [packaging] Build-Depends lacks python3-setuptools-scm required by the pyproject build system
- Files:
debian/control:3-16,pyproject.toml:1-6,pyproject.toml:33 - Basis: inferred from what was read, not seen directly
- Evidence:
pyproject.toml:requires = ["setuptools>=77", "setuptools_scm[toml]>=3.4.1", ...],dynamic = ["version"]and a[tool.setuptools_scm]table;debian/controllistspython3-setuptools (>= 77)andpython3-coherent.licensedbut nopython3-setuptools-scm. dh-python builds withpython3 -m build --skip-dependency-check --no-isolation --wheel(/usr/share/dh-python/dhpython/build/plugin_pyproject.py:147). - Problem: With isolation disabled, the backend requirements in
build-system.requiresare not installed;setuptoolsmust itself provide the version from thesetuptools_scmintegration, but the module/entry point is absent from a clean build environment, so the dynamicversioncannot be resolved and the build fails. Nothing else in the declared build dependencies pulls inpython3-setuptools-scm(python3-setuptoolsandpython3-coherent.licenseddo not depend on it). - Fix: Add
python3-setuptools-scmtoBuild-Depends-Indep(the only binary isArchitecture: all), and, if a build from the unpacked source has no SCM metadata, setSETUPTOOLS_SCM_PRETEND_VERSIONfrom the changelog or otherwise ensure the version is found.
2. [minor] [packaging] No autopkgtests run: source stanza lacks Testsuite: autopkgtest-pkg-python
- Files:
debian/control:1-6,debian/tests/pkg-python/import-name:5 - Basis: checked, in the package or with a reference tool
- Evidence:
debian/controlhas noTestsuite:field and there is nodebian/tests/control; the only test material isdebian/tests/pkg-python/import-namecontainingjaraco.packaging. autodep8(1): "autodep8 can be automatically called by autopkgtest. To achieve that, you must set the Testsuite: field in the source package paragraph to autopkgtest-pkg-TYPE". - Problem: autodep8's pkg-python generator is only invoked when the source stanza declares the package type, so the shipped configuration is never used and the package has no automatic smoke test at all (Policy 5.6.30 notes
Testsuiteis added to the.dsconly whendebian/tests/controlexists). Additionally, autodep8 warns thatdebian/tests/pkg-python/import-nameis deprecated in favour ofdebian/tests/autopkgtest-pkg-python.conf, which the man page documents (import_name). - Fix: Add
Testsuite: autopkgtest-pkg-pythonto the source stanza, then replacedebian/tests/pkg-python/import-namewithdebian/tests/autopkgtest-pkg-python.confcontainingimport_name = jaraco.packaging.
3. [minor] [packaging] Upstream's build[virtualenv] runtime extra is not represented in Depends/Recommends
- Files:
pyproject.toml:27-29,debian/control:17-25 - Basis: inferred from what was read, not seen directly
- Evidence: Metadata declares
Requires-Dist: build[virtualenv]; dh_python3 ignores extras unless asked with--depends-section(/usr/share/dh-python/dhpython/pydist.py:743-751), so the binary only getspython3-build.apt-cache show python3-buildshows onlySuggests: python3-pip, python3-venv. - Problem:
jaraco.packaging.sphinxcallsmetadata.load, whose default is an isolated metadata build (jaraco/packaging/sphinx.py:132-136,jaraco/packaging/metadata.py:7-10;BUILD_ENVIRONMENT=currentis the documented opt-out). Withoutvirtualenvand with Debian'spython3lackingensurepipunlesspython3-venvis installed, the default path cannot create its build environment, so the extension's normal use fails on a plain installation. - Fix: Add
Recommends: python3-virtualenv(matching upstream's[virtualenv]extra) or, at least,python3-venvandpython3-pip, so the documented default mode works.
4. [minor] [packaging] debian/README.source names the wrong package
- Files:
debian/README.source:2 - Basis: checked, in the package or with a reference tool
- Evidence:
Debian source package for ‘jaraco.logging’under a rule of equal signs. - Problem: The file is copied from another package and misidentifies the source package under review as jaraco.logging.
- Fix: Change the title to
Debian source package for ‘jaraco.packaging’.
5. [minor] [packaging] debian/watch is in the old version 4 format
- Files:
debian/watch - Basis: found by the review tooling's own checks
- Evidence:
version = 4 - Problem: Version 5 is the current format of
debian/watch. - Fix: Convert it to version 5; a mechanical conversion is under Proposed changes.
Verified
- The scan before the review listed no files: its author check found every holder in the tree and all are covered by
debian/copyright; there was nothing to account for. - Inventory: every upstream file (31, excluding
debian/and the ignored.pc/) was examined; all are text and none is binary, minified, vendored third-party code or a built artifact other thanPKG-INFOandjaraco.packaging.egg-info/, which are metadata regenerated frompyproject.toml/PKG-INFOand removed bydebian/clean. LICENSE(both in the tree and injaraco.packaging_10.4.0.orig.tar.gz) is the complete Expat text; itsCopyright (c) 2026 <copyright holders>is an unsubstituted upstream placeholder, butpyproject.tomlandPKG-INFOname Jason R. Coombs anddebian/copyright'sFiles: *gives© 2013–2026 Jason R. Coombs <jaraco@jaraco.com>, so the Debian description is not inaccurate.- License evidence across the tree: no SPDX tags or copyright headers in the Python sources,
docs/,.github/or config files;debian/rules,debian/upstream/metadataanddebian/README.sourceeach state GPL-3+, matching thedebian/*stanza; no non-free wording (non-commercial, no-modification, field-of-use) anywhere. debian/copyrightis DEP-5 with the exact 1.0 Format URL, aFiles: *stanza and a laterdebian/*stanza (correct override order), the full Expat licence text and aGPL-3+pointer to/usr/share/common-licenses/GPL-3; extra fields are permitted by copyright-format §4, soLicense-Grantis not a format error.debian/changelog(10.4.0-1, unstable, ITP bug #1151194),debian/source/format(3.0 quilt),debian/rules,debian/gbp.conf,debian/salsa-ci.yaml,debian/source/lintian-overridesanddebian/upstream/metadatawere read; there are no patches.- Standards-Version 4.7.4 matches the reviewing system's Policy 4.7.4.1 in the first two components, and debhelper compat 14 is the recommended level; the
single-binaryadd-on used byrulesexists at compat 14. debian/rules'soverride_dh_auto_testis defensible:conftest.pydownloadssampleprojectfrom the network, and upstream's doctests build the project, so the suite cannot run in a build chroot;pytestis listed<nocheck>but the target is skipped anyway at compat 14.Enhances:names${python3:Enhances}and${misc:Enhances}, which nothing defines; dpkg's Substvars drops undefined variables (with a warning) anddeps_parseskips the resulting empty list elements, so the field reduces topython3-sphinxand does not break the build.docs/history.rstincludes../NEWS (links).rst, which is generated byrst.linkerand absent from the tree; the Debian package does not build the docs (no-docpackage, no doc override), so this affects only upstream's readthedocs build.- No build or test was run; the packaging was judged from
debian/, the source tree, the.dsc/orig tarball, and the reviewing system's dh-python, dpkg and autodep8 sources. - uscan found the packaged version as the newest upstream release (upstream
10.4.0, packaged10.4.0). - Every pointer of
debian/copyrightto /usr/share/common-licenses names a file that is there (GPL-3).
Not confirmed
- Whether, once
python3-setuptools-scmis build-depended,setuptools_scmcan take version 10.4.0 from the shippedPKG-INFOwithout a.gitcheckout, or whetherSETUPTOOLS_SCM_PRETEND_VERSIONis also needed; a build would show. - Whether the default isolated metadata path in fact fails without
python3-venv/python3-pip/python3-virtualenvon an installed system; that is the reasoning behind thebuild[virtualenv]issue and a runtime test would confirm it.
Proposed: debian/watch in version 5 format
debian/watch is in an old format. This is the conversion made by uscan --update-watchfile, which has not been run against the upstream site: some defaults differ in version 5, so test it with uscan --report before use.
Version: 5
# debian/watch
# Debian UScan configuration for this package.
# Manual page: ‘uscan(1)’.
# Version of the UScan configuration format for this file.
# Public releases at Debian redirector for Python Package Index.
Source: https://pypi.debian.net/@PACKAGE@/
Matching-Pattern: @PACKAGE@-@ANY_VERSION@@ARCHIVE_EXT@
Pgpmode: none
Update-Script: uupdate
Uversionmangle: s/(\d)-?((?:rc|a|b|c)\d*)$/$1~$2/