#1149808 fmtlib: please define a <!nodoc> build profile

#1149808#5
Date:
2026-10-03 10:28:57 UTC
From:
To:
Dear Maintainer,

fmtlib is a key package, which absolutelty OK.

https://release.debian.org/key-packages.html

That means it is also transitively pulling in
more packages into this key package set.

Please define a <!nodoc> (and <!nocheck>) build profiles to avoid this.

Please find hereunder some generic example to do this.

I can also provide a proper patch on request.


Greetings

Alexandre



d/rules:
""""""""

ifeq (,$(findstring nodoc, $(DEB_BUILD_OPTIONS)))
	doxygen ...
	sphinx-build ...
endif


d/control:
""""""""""

Build-Depends-Arch:
 cmake,
 googletest <!nocheck>,
Build-Depends-Indep:
 doxygen <!nodoc>,
 libjs-bootstrap <!nodoc>,
 node-clean-css <!nodoc>,
 node-less <!nodoc>,
 python3-breathe <!nodoc>,
 python3-sphinx <!nodoc>,
Rules-Requires-Root: no

d/salsa.yml:
""""""""""""
---
include:
  - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/recipes/debian.yml

variables:
  SALSA_CI_ENABLE_BUILD_PACKAGE_PROFILES: 1

test-build-profiles:
  extends: .test-build-package-profiles
  parallel:
    matrix:
      - BUILD_PROFILES: nodoc
      - BUILD_PROFILES: nocheck

#1149808#10
Date:
2026-10-08 02:57:32 UTC
From:
To:
The Debian NEW review of fmtlib 12.1.0+ds1-1 has been completed.

Decision: ACCEPTED
Reviewer: Andrew McMillan

Review comment:

Hi,

Minor issues - please fix on your next upload.

1 (real, accuracy): include/fmt/chrono.h is wrongly attributed in debian/copyright. The stanza beginning at Files: include/fmt/chrono.h … test/fuzzing/… declares Copyright: 2019 Paul Dreik and, being later than Files: *, overrides it for chrono.h. But include/fmt/chrono.h:2-4 reads // Copyright (c) 2012 - present, Victor Zverovich / All rights reserved. — Zverovich is the file's holder, with a safe_duration_cast sub-section at chrono.h:38 attributed Copyright Paul Dreik 2019. As written, Debian's records list only Paul Dreik for a Zverovich header. Fix: drop include/fmt/chrono.h from the Dreik stanza (it then falls under the Zverovich catch-all) and optionally note the Dreik source of the safe_duration_cast block there.  (Year drift on chrono-timepoint.cc says 2021 vs 2019 — noted, not worth changing.)

2 (real, completeness): the shipped documentation carries PSF terms that debian/copyright neither lists nor provides text for. README.md "# Documentation License" states the Format String Syntax section derives from Python's string module docs and "is distributed under the Python Software Foundation license available in doc/python-license.txt". doc/syntax.md indeed reproduces the Python "Format Specification Mini-Language" grammar and prose more or less verbatim (e.g. syntax.md:76-93).  Debian ships this doc in libfmt-doc, but the PSF text (doc/python-license.txt) is listed in Files-Excluded and removed, and no PSF stanza is in the copyright file. The PSF licence is DFSG-free and lives in /usr/share/common-licenses/PSF, so this is not a DFSG violation — but the file is incomplete. Fix: add a Files: doc/* (or doc/syntax.md) stanza with Copyright: 2012-present Victor Zverovich and {fmt} contributors and License: Expat... + a PSF reference (common-licenses), or keep the PSF text instead of excluding it.


Some nits that you may want to also address...

- watch file: version 4 (debian/watch:1). One-sentence note: it should be converted to version 5. Syntax reviewed otherwise: it targets fmtlib/fmt tags, dversionmangle=auto + repacksuffix=+ds1 correctly yield 12.1.0+ds1 matching the changelog, and Files-Excluded is present, so the +ds1 suffix is consistent. No debian/upstream/ metadata or signing key; acceptable.

 - Minor — debian/patches/0003-mkdocstrings.patch lacks DEP-3 Forwarded:/Description: (the other two have Forwarded: not-needed). The patch is a 267/148-line rewrite of the cxx handler to adapt to mkdocstrings 1.0 (#1135498); it is a genuine compatibility fix that should be forwarded upstream, currently unlabeled.

- Minor/real — the shipped docs reference an external CDN. support/mkdocs.yml sets extra_javascript: https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.7.2/highlight.min.js (and matching extra_css), and use_pygments: false makes the HTML rely on that JS. The built libfmt-doc pages therefore embed links to cdnjs.cloudflare.com — a privacy/offline concern for shipped docs. [INFERENCE] standard mkdocs behaviour; not executed. Fix: patch mkdocs.yml to drop the CDN entries (and enable Pygments for highlighting).

- Minor — debian/doxygen.conf is dead. Nothing in debian/ or the build references it; the mkdocstrings cxx handler now generates its own doxygen config inline (support/python/mkdocstrings_handlers/cxx/__init__.py:261-305), writing XML to build/doxyxml. Leftover from the Sphinx-era build.

- Minor/cosmetic — libfmt-dev Description says "include the static library" but rules sets BUILD_SHARED_LIBS=on and only libfmt.so is installed; no static archive is built. Stale upstream text; harmless.


Thanks!

Full review details: https://dfsg-new-queue.debian.org/reviews/fmtlib

#1149808#15
Date:
2026-10-08 03:09:22 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
fmtlib, 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 1149808@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Shengjing Zhu <zhsj@debian.org> (supplier of updated fmtlib 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 ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Thu, 08 Oct 2026 02:59:21 +0800
Source: fmtlib
Binary: libfmt-dev libfmt-doc libfmt12 libfmt12-dbgsym
Architecture: source amd64 all
Version: 12.1.0+ds1-1
Distribution: experimental
Urgency: medium
Maintainer: Shengjing Zhu <zhsj@debian.org>
Changed-By: Shengjing Zhu <zhsj@debian.org>
Description:
 libfmt-dev - fast type-safe C++ formatting library -- development files
 libfmt-doc - fast type-safe C++ formatting library -- documentation
 libfmt12   - fast type-safe C++ formatting library -- library
Closes: 1149808
Changes:
 fmtlib (12.1.0+ds1-1) experimental; urgency=medium
 .
   * New upstream version 12.1.0+ds1
   * Update SO version to 12.
   * Update d/copyright.
   * Define nodoc and nocheck build profiles. (Closes: #1149808)
Checksums-Sha1:
 d344a9c2349d99f6d84bd474f483c7201c565b70 1546 fmtlib_12.1.0+ds1-1.dsc
 d6db9dfb6d830bca431bac663f92772376038497 267556 fmtlib_12.1.0+ds1.orig.tar.xz
 4ba83e383adc3540e429eeb8e961991ab2641e46 13572 fmtlib_12.1.0+ds1-1.debian.tar.xz
 fcb52d00917da0759410160a699bc7c661cd1724 8556 fmtlib_12.1.0+ds1-1_amd64.buildinfo
 71113352579b59e96f762d01110c3d06f9967503 147448 libfmt-dev_12.1.0+ds1-1_amd64.deb
 47bf337029471b947addb210f99307cb3a8ba9be 263392 libfmt-doc_12.1.0+ds1-1_all.deb
 532c307920646b6900ab36b117dc812afb35406e 487772 libfmt12-dbgsym_12.1.0+ds1-1_amd64.deb
 a152e345a9ce3be849710729439d42bb6a4d63bd 94660 libfmt12_12.1.0+ds1-1_amd64.deb
Checksums-Sha256:
 f687182e8d9faa0b9ff8134cc9c5861b9c9bbb3f27835325182ded730eb02975 1546 fmtlib_12.1.0+ds1-1.dsc
 d8f66c4422985ff0b7b42ec567e3001e32ac909eeebadf88dc48922650dd4f55 267556 fmtlib_12.1.0+ds1.orig.tar.xz
 24c06e1ac5fb5ef1893979e83b0ea8cca238b14918d012700cf5af731dab9b07 13572 fmtlib_12.1.0+ds1-1.debian.tar.xz
 7743584612b88a7504af0aba6f7dcbf5453c03a0a96560c3c1bf8a1e72f7c489 8556 fmtlib_12.1.0+ds1-1_amd64.buildinfo
 b27bf7cc4a98d8e8b1651acc82e05f8b93eb26a08e4d948a510149ce9c5fa34e 147448 libfmt-dev_12.1.0+ds1-1_amd64.deb
 d6514f7e150def5d9753df856d6ec22e914704499237b2f9fff7b4edd64e5e39 263392 libfmt-doc_12.1.0+ds1-1_all.deb
 f2a1b54102b620174b787e4b91dbc709f9c9da77d7842df804bb7b93271998cc 487772 libfmt12-dbgsym_12.1.0+ds1-1_amd64.deb
 f23321e7c6f3fcaa169546602c4ab88240910f4f491346b5b0e3f6668539859d 94660 libfmt12_12.1.0+ds1-1_amd64.deb
Files:
 9e5190701a60667f8cf170dc574264f2 1546 devel optional fmtlib_12.1.0+ds1-1.dsc
 8978c3e7a3c656399d1e0111557814a0 267556 devel optional fmtlib_12.1.0+ds1.orig.tar.xz
 ca11968a0557bbe963584cbf769aa907 13572 devel optional fmtlib_12.1.0+ds1-1.debian.tar.xz
 16f6bb5a5ea947bb2e84238b32fdec51 8556 devel optional fmtlib_12.1.0+ds1-1_amd64.buildinfo
 e249778a58e3ac2d7389f7ee6769c75e 147448 libdevel optional libfmt-dev_12.1.0+ds1-1_amd64.deb
 8a12c144a41b95df8449009d930dd30e 263392 doc optional libfmt-doc_12.1.0+ds1-1_all.deb
 0d0c8611943dc7ba2bdd847306329f05 487772 debug optional libfmt12-dbgsym_12.1.0+ds1-1_amd64.deb
 fc59d7a1946b2ab753d972ba29d8f9b6 94660 libs optional libfmt12_12.1.0+ds1-1_amd64.deb
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQQDd7ZVPtkLISR2GtI+VZ1MrPKt2AUCasacOAAKCRA+VZ1MrPKt
2Lk+AP9hPGHMLBA7qmsp4Mt5/vZDV5egbl19EvEvIrvKreEudAEArzsaWAMtApP9
vcXXTRM9s539nFQ9PN8YpxzecsLJvQ8=
=xNyr
-----END PGP SIGNATURE-----