DFSG NEW Queue

DFSG, Licensing & New Packages Team

Review: gcsa2 1.4+dfsg-1

Package Information

DescriptionBWT-based index for graphs

A reimplementation of the Generalized Compressed Suffix Array (GCSA), a BWT-based index for directed graphs. The implementation is based on the Succinct Data Structures Library 2.0 (SDSL)

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/gcsa2.git (browse)
Closes#1151599
Trackerhttps://tracker.debian.org/pkg/gcsa2
Uploaded16 days ago

New Package Report

.changes◂
Distributionunstable
DateThu, 22 Oct 2026 11:30:29 +0200
Sourcegcsa2
Version1.4+dfsg-1
Changed-ByAndreas Tille <tille@debian.org>
Architecturesource amd64
Changelog◂
gcsa2 (1.4+dfsg-1) unstable; urgency=medium
 .
   * Initial release. (Closes: #1151599)
.dsc◂
Sectionscience
Priorityoptional
Componentmain
Package-Listgcsa2 deb science optional arch=any
libgcsa2-1 deb libs optional arch=any
libgcsa2-dev deb libdevel optional arch=any
debian/copyright◂
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: gcsa2
Source: https://github.com/jltsiren/gcsa2
Files-Excluded: paper

Files: *
Copyright: 2018, Jouni Siren
 2015-2017, Genome Research Ltd.
License: Expat

Files: debian/*
Copyright: © 2018 Michael R. Crusoe <michael.crusoe@gmail.com>
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, 0 important, 2 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 16 days ago.

Report◂

DFSG NEW review for gcsa2 version 1.4+dfsg-1

Summary

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

Licensing

All upstream files are MIT/Expat, held by Jouni Siren and Genome Research Ltd., both named in Files: *; the full Expat text is included. The only non-free file found in the previous version (paper/ltexpprt.sty, a no-modification SIAM macro) is now gone: Files-Excluded: paper is declared and the tree contains no paper/ directory (version is 1.4+dfsg for the repacked tarball). No built/minified/binary/vendored files exist and the pre-review scan's author check (31 files) confirmed every holder is named. The only wrinkle is that the Files: debian/* stanza omits Andreas Tille, who authored the changelog and the build_shared_library patch (minor).

Packaging

Solid Debian Med packaging: debhelper-compat 14 with dh $@ and hardening=+all (also applied through the patched Makefile's buildflags.mk include), a coherent three-way binary split (gcsa2 tools / libgcsa2-1 SONAME .so.1 / libgcsa2-dev with static lib, headers and dev symlink), Multi-Arch: same on both library packages, correct Sections, a shared+static autopkgtest, Vcs-*/Homepage, Standards-Version 4.7.4 matching current Policy 4.7.4.1, and a sane initial changelog closing #1151599. Build-Depends libsdsl-dev (>= 2.4) is satisfiable by the libsdsl 2.4+dfsg-1 upload now in NEW (archive carries 2.1.1+dfsg-6+b1). d-shlibmove installs the libraries/headers and generates the shlibs dependency; the SONAME matches the package name. Only nit: the four Debian-specific patches lack DEP-3 Forwarded/Origin fields (minor).

Issues

minor licensing 1. debian/* copyright stanza names only Michael R. Crusoe, omitting Andreas Tille ◂
  • Files: debian/copyright:12, debian/changelog:5, debian/patches/build_shared_library:3-4
  • Basis: checked, in the package or with a reference tool
  • Evidence: Copyright: © 2018 Michael R. Crusoe <michael.crusoe@gmail.com>; -- Andreas Tille <tille@debian.org> Thu, 22 Oct 2026 in changelog; Author: Andreas Tille <tille@debian.org> on build_shared_library.
  • Problem: Several Debian packaging files (the 2026 changelog entry, the build_shared_library patch, rules) are authored by Andreas Tille, so the Files: debian/* stanza understates the packaging copyright: it omits a holder and antedates the packaging work to 2018. A missing holder is more than year drift.
  • Fix: Extend the stanza, e.g. Copyright: 2018, Michael R. Crusoe; 2026, Andreas Tille (or attribute to the Debian Med Packaging Team).
minor packaging 2. Patches lack DEP-3 Forwarded/Origin headers ◂
  • Files: debian/patches/use_debian_sdsl, debian/patches/drop_unneeded_divsufsort, debian/patches/add_ldflags_cppflags, debian/patches/build_shared_library
  • Basis: checked, in the package or with a reference tool
  • Evidence: Each patch has only Description, Author, Last-Update; none carries Forwarded:, Origin: or Bug:.
  • Problem: DEP-3 recommends Forwarded (and Origin) so a reviewer can see at a glance whether a patch should go upstream; here all four are inherently Debian-only (system SDSL, drop divsufsort, buildflags, shared library) and will never be forwarded, but that is not recorded.
  • Fix: Add Forwarded: not-needed (and Origin: where known) to each patch header.
Verified ◂
  • debian/copyright read in full: DEP-5 (Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/), header Upstream-Name: gcsa2, Source: https://github.com/jltsiren/gcsa2, Files-Excluded: paper; stanzas Files: * (Jouni Siren, Genome Research Ltd., Expat), Files: debian/* (Michael R. Crusoe, Expat), and a complete stand-alone Expat License text.
  • Pre-review scan listed only the dfg-author-check result: 31 files scanned, and it concluded every holder found is named in debian/copyright; it flagged no non-free wording and no built/binary/minified files. Accounted for in full.
  • Full-tree glob (46 files, .pc/ and debian/ excluded) shows only C++ sources/headers, Makefiles, README.md, LICENSE, install.sh and .gitignore: no binaries, minified code, fonts/images, PDFs, archives or generated files, so no preferred-form-of-modification issue. The paper/ directory is absent, consistent with Files-Excluded: paper and the 1.4+dfsg repack.
  • LICENSE is the complete Expat text listing only Jouni Siren (2018,2019,2021,2025,2026) and Genome Research Ltd. (2015-2017). Every src/.cpp, include/gcsa/.h and benchmark/*.cpp either carries that identical MIT header or (src/dbg.cpp, src/internal.cpp, src/lcp.cpp, src/path_graph.cpp, src/support.cpp, include/gcsa/{dbg,files,gcsa,internal,lcp,path_graph,support,utils}.h) has none, and is covered by the top-level LICENSE, so none is unlicensed; holders are only Siren/GRL. debian/copyright's condensed years are minor drift, not a missing holder.
  • No embedded third-party code: patches use Debian's libsdsl (use_debian_sdsl removes the ../sdsl-lite references) and drop the divsufsort link line; Debian's libsdsl3 carries no runtime libdivsufsort dependency, so -ldivsufsort is genuinely unneeded.
  • Packaging verified from the tree and reference tools: debian/control split (gcsa2 / libgcsa2-1 libs / libgcsa2-dev libdevel, all Architecture: any, Multi-Arch: same on both library packages), Build-Depends debhelper-compat (= 14), d-shlibs, libsdsl-dev (>= 2.4); apt-cache shows libsdsl-dev at 2.1.1+dfsg-6+b1 with a 2.4+dfsg-1 upload in NEW that satisfies the versioned dependency, runtime lib is libsdsl3.
  • debian/rules: dh $@, compat 14 via debhelper-compat, hardening=+all exported (also set in the patched Makefile through buildflags.mk, so CPPFLAGS/CXXFLAGS/LDFLAGS reach objects, the shared library and the programs); dh_auto_build passes MY_CXX=g++ INC_DIR=/usr/include LIB_DIR=/usr/lib; execute_after_dh_install creates the .so symlinks then runs d-shlibmove --commit --multiarch --devunversioned --exclude-la --override 's/libsdsl4-dev/libsdsl-dev/' --movedev include/gcsa usr/include lib/libgcsa2.so; Makefile has no install target so dh_auto_install is a no-op and dh_install(1) finds bin/* in the source root (compat-14 fallback), as gcsa2.install expects.
  • SONAME libgcsa2.so.1 (build_shared_library patch) matches package libgcsa2-1; binaries statically link libgcsa2.a and need only libsdsl/libstdc++/libgomp at runtime via dh_shlibdeps.
  • debian/source/format 3.0 (quilt); debian/upstream/metadata present; debian/tests/control Tests: compile-link with Depends (libgcsa2-1, libgcsa2-dev, build-essential, libsdsl-dev), matching the dsc's Testsuite-Triggers; smoke.cpp compiles and runs against both the shared (-lgcsa2) and static (/usr/lib/$MULTIARCH/libgcsa2.a) library.
  • debian/changelog: 1.4+dfsg-1 unstable; initial release (Closes: #1151599) with valid date/author. Standards-Version 4.7.4 is current (Policy reads 4.7.4.1). Vcs-Git/Vcs-Browser point at salsa.debian.org/med-team/gcsa2; Homepage correct. Substvars are named explicitly in control, harmless at compat 14.
  • uscan found the packaged version as the newest upstream release (upstream 1.4, packaged 1.4+dfsg).
Not confirmed ◂
  • The build and d-shlibmove were not run: the shared library's placement in the Multi-Arch path and the exact generated dependencies (including the libsdsl3 runtime dependency) are inferred from the tooling and package layout, not observed.
  • d-shlibmove(1) is not installed on the reviewing system, so --movedev/--override semantics were not verified first-hand.
Proposed changes ◂

None.

Uploader's response to the LLM review

I've added myself in Files: debian/* copyright

— Andreas Tille (tille), 16 days ago

Review Information

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

Final Comment

Other Reviews of this Package

VersionHashAllocatedCompletedReviewerStatusDetails
1.4-1 30b3d562… 2026-10-22 10:54 2026-10-22 10:54 dfsg-uploader rejected VIEW

Back to Dashboard | View all reviews for this package