Review: gcsa2 1.4-1
Package Information
| Description | BWT-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) |
|---|---|
| Maintainer | Debian Med Packaging Team <debian-med-packaging@lists.alioth.debian.org> |
| Changed By | Andreas Tille <tille@debian.org> |
| Sponsor | tille@debian.org |
| Distribution | unstable |
| Architecture | any |
| VCS | git: https://salsa.debian.org/med-team/gcsa2.git (browse) |
| Closes | #1151599 |
| Tracker | https://tracker.debian.org/pkg/gcsa2 |
| Uploaded | 5 hours ago |
New Package Report
.changes
| Date | Thu, 22 Oct 2026 11:30:29 +0200 |
|---|---|
| Source | gcsa2 |
| Version | 1.4-1 |
| Changed-By | Andreas Tille <tille@debian.org> |
| Architecture | source amd64 |
| Distribution | unstable |
Changelog
gcsa2 (1.4-1) unstable; urgency=medium . * Initial release. (Closes: #1151599)
.dsc
| Section | science |
|---|---|
| Priority | optional |
| Component | main |
| Package-List | gcsa2 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: * 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, 1 important, 1 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 4 hours ago.
Report
DFSG NEW review for gcsa2 version 1.4-1
Summary
- Licensing is DFSG-compliant and
debian/copyrightis accurate: No - Packaging is of good quality: Yes
- Issues: 0 blocker, 1 important, 1 minor
- debian/watch: version 5
- debian/copyright: machine-readable
- Scan before the review: nothing found
Licensing
The software itself is entirely MIT/Expat: the top-level LICENSE and every C++ header/source carry the standard MIT grant, held by Jouni Siren and Genome Research Ltd., both named in debian/copyright. No minified, built, binary or vendored files are present. However, one bundled file, paper/ltexpprt.sty, is a third-party SIAM macro 'may be freely distributed but may not be altered in any way' — a no-modification (non-free) term that fails DFSG-3 and contradict the Files: * stanza, which wrongly describes it as Expat and omits its holder. Everything else in debian/copyright is accurate and DEP-5-compliant (correct Format value, full MIT text included, correct short name).
Packaging
Packaging is of good quality: clean three-way binary split (gcsa2 / libgcsa2-1 / libgcsa2-dev) with correct Multi-Arch: same, compat 14, hardening=+all, dh_install picks the compiled binaries up from the source root and d-shlibmove installs the shared/static libraries and headers, an autopkgtest that links and runs against both the shared and static library, and Standards-Version 4.7.4 against current Policy 4.7.4.1. The build flow is coherent and not a build failure. The only nit is that the four patches, all Debian-specific, lack DEP-3 Forwarded/Origin fields.
Issues
1. [important] [licensing] paper/ltexpprt.sty has a no-modification licence and is misdescribed as Expat in debian/copyright
- Files:
gcsa2-1.4/paper/ltexpprt.sty:4-6; gcsa2-1.4/debian/copyright:8-9 - Basis: checked, in the package or with a reference tool
- Evidence:
% This file may be freely distributed but may not be altered in any way.(header), a SIAM/ACM-SIAM macro (Donna Witzleben, SIAM). debian/copyrightFiles: *covers it asLicense: Expatwith holders 'Jouni Siren' / 'Genome Research Ltd.'. - Problem: The file is shipped in the source yet is under a no-modification term (fails DFSG-3), and debian/copyright does not accurately describe every file: it mislabels this file as Expat and names a holder that never claimed it. It is an ancillary LaTeX typesetting style for the paper rather than functional code, so the core software licensing is unaffected, but it must be accounted for.
- Fix: Repack the upstream tarball excluding the paper/ directory via Files-Excluded (or drop the file), or add a dedicated stanza documenting the SIAM copyright and obtain/confirm a DFSG-free grant; do not claim it is Expat.
2. [minor] [packaging] Patches lack DEP-3 Forwarded/Origin headers
- Files:
gcsa2-1.4/debian/patches/{use_debian_sdsl,drop_unneeded_divsufsort,add_ldflags_cppflags,build_shared_library} - Basis: checked, in the package or with a reference tool
- Evidence: Each has only
Description,Author,Last-Update; none hasForwarded:,Origin:orBug:. - Problem: DEP-3 recommends Forwarded/Origin so reviewers can see whether a patch should go upstream. These four are inherently Debian-only (use Debian SDSL, drop divsufsort, honour buildflags, build a shared library) and will never be forwarded.
- Fix: Add
Forwarded: not-needed(andOrigin, e.g. the source of each patch) to each patch header.
Verified
- debian/copyright read in full; DEP-5 (
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/) withFiles: *(Jouni Siren, Genome Research Ltd., Expat),Files: debian/*(M. R. Crusoe, Expat) and a full stand-alone Expat License text; all holders named. Software files carry the identical MIT text. - Every C++ source/header and benchmark file carries an MIT per-file notice; holders are only Jouni Siren and Genome Research Ltd. (name spellings match). LICENSE years (e.g. 2018,2019,2021,2025,2026) vs the condensed
Copyright: 2018, Jouni Sirenline are minor year drift, not a missing holder. - No minified/built/binary/vendored files in the tree: all files are C++ (.cpp/.h), Makefiles, the design/paper sources (.ipe/.isy/.tex/.bib are text), LICENSE, install.sh, .gitignore. No embedded copy of sdsl-lite or divsufsort (patch
use_debian_sdslremoves the bundled-tree references;drop_unneeded_divsufsortdrops the extra link libs). - Packaging build flow verified: dh_auto_build builds into ./bin and ./lib; the Makefile has no
installtarget so dh_auto_install does nothing; dh_install(1) falls back to the current directory for files, sobin/*in gcsa2.install is found in the source root and copied to usr/bin; execute_after_dh_install then creates the .so symlinks and d-shlibmove moves the shared lib to the Multi-Arch path, the static lib and headers (include/gcsa -> usr/include) into the -dev package. Coherent; not a build failure. - Binary split and Multi-Arch are correct: gcsa2 links libgcsa2 statically (only libsdsl/libstdc++ at runtime, via ${shlibs:Depends}); libgcsa2-1 (Multi-Arch: same) ships the SONAME libgcsa2.so.1; libgcsa2-dev (Multi-Arch: same) Depends libgcsa2-1 (= ${binary:Version}) and libsdsl-dev.
- debian/rules:
dh $@, compat 14, hardening=+all exported and also set in the patched Makefile (consistent, via buildflags.mk); dh's make build system passes CPPFLAGS/CXXFLAGS/LDFLAGS so hardening applies. Substvars are named explicitly (harmless at compat 14). - Standards-Version 4.7.4 is current (Policy 4.7.4.1); Vcs-Git/Vcs-Browser point at salsa. debian/changelog is a sane initial release closing #1151599.
- autopkgtest
compile-linkexists in debian/tests/control; it compiles smoke.cpp against both the shared (-lgcsa2) and static (/usr/lib/<multiarch>/libgcsa2.a) library and runs both; Depends (libgcsa2-1, libgcsa2-dev, build-essential, libsdsl-dev) is adequate. - debhelper compat 14 confirmed; no Files-Excluded present in debian/copyright (relevant because none is needed except for the ltexpprt.sty paper file).
- debian/watch, debian/cargo-checksum.json and .pc/ are out of scope and not reviewed.
- uscan found the packaged version as the newest upstream release (upstream
1.4, packaged1.4).
Not confirmed
None.
Proposed changes
None.
Uploader's response to the LLM review
The uploader rejected this upload in response to the review.
Review Information
rejected — allocated to dfsg-uploader 3 hours ago, started 3 hours ago, completed 3 hours ago.
Final Comment
The uploader rejected this upload in response to the automated (LLM) review of it, so that they can fix the problems it found and upload again.
The uploader said:
I'll remove the whole paper/ dir which is not needed for the package