DFSG NEW Queue

DFSG, Licensing & New Packages Team

Review: libgbwtgraph 1.5-1

Package Information

DescriptionGBWT-backed handle graph - shared library

GBWTGraph is a handle graph based on the Graph BWT (GBWT). Its data model is based on the graph as an alignment of haplotypes. The GBWT index provides the graph topology, while the node sequences are stored in plain form for fast extraction. Construction extracts the sequences from another graph implementing the libhandlegraph HandleGraph interface.

This package contains the shared library.

MaintainerDebian Med Packaging Team <debian-med-packaging@lists.alioth.debian.org>
Changed ByAndreas Tille <tille@debian.org>
Sponsortille@debian.org
Distributionunstable
Architectureany
VCSgit: https://salsa.debian.org/med-team/libgbwtgraph.git (browse)
Closes#1152193
Trackerhttps://tracker.debian.org/pkg/libgbwtgraph
Uploaded12 days ago

New Package Report

.changes◂
Sourcelibgbwtgraph
Version1.5-1
Changed-ByAndreas Tille <tille@debian.org>
Architecturesource amd64
Distributionunstable
DateMon, 26 Oct 2026 19:51:29 +0100
Changelog◂
libgbwtgraph (1.5-1) unstable; urgency=medium
 .
   * Initial release (Closes: #1152193).
.dsc◂
Sectionscience
Priorityoptional
Componentmain
Package-Listgbwtgraph deb science optional arch=any
libgbwtgraph-dev deb libdevel optional arch=any
libgbwtgraph1 deb libs optional arch=any
debian/copyright◂
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: gbwtgraph
Source: https://github.com/jltsiren/gbwtgraph

Files: *
Copyright: 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026 Jouni Siren and other authors
License: Expat

Files: debian/*
Copyright: 2026 Andreas Tille <tille@debian.org>
License: Expat

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.

DFSG Assistant LLM REVIEW 0 blocker, 1 important, 0 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 11 days ago.

Report◂

DFSG NEW review for libgbwtgraph version 1.5-1

Summary

  • Licensing is DFSG-compliant and debian/copyright is accurate: Yes
  • Packaging is of good quality: No
  • Issues: 0 blocker, 1 important, 0 minor
  • debian/watch: version 5
  • debian/copyright: machine-readable
  • Scan before the review: nothing found

Licensing

The tree is MIT/Expat throughout: the root LICENSE carries the Expat text and the single copyright line 'Jouni Siren and other authors', and no other licence or holder appears anywhere (grep for Copyright, (C), ©, SPDX, GNU, Apache, MPL, public-domain and reserved-rights wording hit only LICENSE and debian/copyright). debian/copyright is DEP-5, uses the correct canonical Format URL, and its Files: * plus Files: debian/* stanzas cover every path; the Expat text is reproduced in full. No vendored third-party code, no built or minified files, and test data are plain GFA text.

Packaging

Mostly competent packaging: compat 14, hardening=+all, d-shlibs for a proper libgbwtgraph1/libgbwtgraph-dev split with SONAME libgbwtgraph.so.1, four DEP-3 patches, an autopkgtest, salsa-ci and a sane changelog. But Build-Depends and libgbwtgraph-dev's Depends require libsdsl-dev (>= 2.4) while the archive's libsdsl-dev is 2.1.1+dfsg-6+b1, so the build dependency is unsatisfiable and the -dev package would be uninstallable even if the package built. That must be fixed before upload.

Issues

important packaging 1. libsdsl-dev (>= 2.4) cannot be satisfied; the archive has libsdsl-dev 2.1.1+dfsg-6+b1 ◂
  • Files: debian/control:13, debian/control:44
  • Basis: checked, in the package or with a reference tool
  • Evidence: Build-Depends: ... libsdsl-dev (>= 2.4), ... and libgbwtgraph-dev Depends: ... libsdsl-dev (>= 2.4), while apt-cache show libsdsl-dev gives Version: 2.1.1+dfsg-6+b1, Source: libsdsl (2.1.1+dfsg-6) — the only version in the reviewing system's unstable/experimental lists of 2026-10-27.
  • Problem: dpkg version comparison puts 2.1.1+dfsg-6+b1 below 2.4, so the build-dependency is unsatisfiable: the package cannot be built on the buildds, and libgbwtgraph-dev, whose Depends repeats the restriction, could not be installed even if it were built. debian/patches/use_debian_sdsl explicitly switches the build to the system libsdsl-dev, so the >= 2.4 floor is inconsistent with what Debian ships.
  • Fix: Depend on the libsdsl-dev version that actually exists (drop the version or use the archive's), after confirming that version provides everything the code needs; the tree uses sdsl::simple_sds pervasively, so if 2.1.1 lacks <sdsl/simple_sds.hpp> the package needs a libsdsl that provides it, or simple-sds packaged/bundled instead.
Verified ◂
  • The prescan listed no file: its author check scanned 78 files and found every copyright holder already named in debian/copyright, so there is no file to account for individually.
  • Full inventory of the upstream tree (78 files, .pc/ excluded): Makefile, install.sh, README.md, SERIALIZATION.md, LICENSE, .gitignore, an empty .gitmodules, 13 headers under include/gbwtgraph/, 20 .cpp under src/, 11 test programs plus shared.h, the GFA fixtures in tests/gfas/ and tests/gfas/set-pggname.py. All are text source or plain test data; there are no archives, object files, shared objects, bytecode, PDFs or minified JS/CSS.
  • A tree-wide grep for Copyright, (C), ©, SPDX-License-Identifier, Licensed under, permission notices, GNU/Apache/MPL wording, public domain and All rights reserved returned matches only in LICENSE and debian/copyright. The root LICENSE (Expat, 'Jouni Siren and other authors') is the only upstream licensing statement; set-pggname.py and the GFA fixtures carry no separate terms and are covered by it.
  • src/canonical_gfa.cpp is shipped but is not in LIBOBJS in the Makefile, so it is not compiled; the <handlegraph/algorithms/canonical_gfa.hpp> include removed from tests/test_gfa.cpp by the patch is not needed by anything that is built. gbwt_to_canonical_gfa() itself lives in src/gfa.cpp and uses no such header.
  • Shared-library packaging: debian/rules builds libgbwtgraph.so.1.5 with SONAME libgbwtgraph.so.1 and uses d-shlibmove --multiarch --devunversioned to split it into libgbwtgraph1 (runtime) and libgbwtgraph-dev (headers under /usr/include/gbwtgraph plus the linker symlink), which matches the SONAME and Policy 8; gbwtgraph.install installs bin/*, and the Makefile builds seven tools.
  • Dependencies that are visible in the sources: include/gbwtgraph/utils.h includes <openssl/evp.h>, so libssl-dev in Build-Depends and in the -dev Depends is justified; libgtest-dev is needed by tests/Makefile; pkgconf is needed by the Makefile's pkg-config probe; d-shlibs is needed by rules.
  • debhelper compat 14: relationship substvars are added by dh_gencontrol itself, so the ${shlibs:Depends}/${misc:Depends} naming in control and their absence elsewhere is not an issue; dh_missing defaults to --fail-missing; dh skips override_dh_auto_test on DEB_BUILD_OPTIONS=nocheck, and the extra check in rules is harmless. Standards-Version 4.7.4 against Policy 4.7.4.1 matches in its first two components.
  • Patch review: the four patches in debian/patches/series all have Description, Author and Last-Update; build_shared_library adds the shared object and -fPIC, add_ldflags_cppflags passes CPPFLAGS/CXXFLAGS/LDFLAGS into the test build, use_debian_sdsl removes the SDSL_DIR/Make.helper includes, drop_canonical_gfa_tool removes the canonical_gfa program and its test.
  • The autopkgtest (debian/tests/control, debian/tests/smoke, smoke.cpp) builds a small program against libgbwtgraph and runs gfa2gbwt -c and gbz_stats -g: -c is the documented compress-GFA mode that writes .gbz, and gbz_stats -g prints the 'Nodes' line the grep looks for.
  • debian/changelog is a well-formed 1.5-1 unstable entry closing #1152193; debian/source/format is 3.0 (quilt); Vcs-Git, Vcs-Browser, Homepage and debian/upstream/metadata are present and consistent.
  • uscan found the packaged version as the newest upstream release (upstream 1.5, packaged 1.5).
Not confirmed ◂
  • libgbwt-dev and libhandlegraph-dev appear nowhere in the archive lists used here (as of 2026-10-27) and are not in ftp-master's NEW list either, so their existence and versions could not be checked; if they are not yet accepted the build dependency cannot be resolved.
  • libgbwtgraph-dev depends on libhandlegraph-dev (>= 20261019), while debian/patches/drop_canonical_gfa_tool states that the libhandlegraph packaged in Debian is a 2024-11-22 snapshot that lacks canonical_gfa.hpp. If that is still the packaged version the -dev package is uninstallable; if a newer snapshot exists, the patch has become obsolete. Neither state could be verified.
  • The tree uses sdsl::simple_sds and debian/tests/smoke.cpp includes <sdsl/simple_sds.hpp>; the archive's libsdsl-dev is built from simongog/sdsl-lite 2.1.1, which may predate simple-sds entirely. libsdsl-dev is not installed on this system, so its contents could not be inspected; a build would show whether the header and namespace exist.
  • d-shlibmove is not installed here, so it could not be checked whether its arguments lib/libgbwtgraph.so and include/gbwtgraph are resolved against the build tree: nothing stages files into debian/tmp (the upstream Makefile has no install target and debian/rules has no override_dh_auto_install), so a build would show whether execute_after_dh_install finds them.
Proposed changes ◂

None.

Uploader's response to the LLM review

Seems the apt cache the LLM is using is outdated. Please accept.

— Andreas Tille (tille), 11 days ago

Review Information

accepted — allocated to awm 11 days ago, started 11 days ago, completed 11 days ago.

Final Comment

Back to Dashboard | View all reviews for this package