DFSG NEW Queue

DFSG, Licensing & New Packages Team

Review: libsdsl 2.4+dfsg-1

Package Information

Descriptionsuccinct data structure library - development files

The Succinct Data Structure Library (SDSL) is a powerful and flexible C++11 library implementing succinct data structures. In total, the library contains the highlights of 40 research publications. Succinct data structures can represent an object (such as a bitvector or a tree) in space close the information-theoretic lower bound of the object while supporting operations of the original object efficiently. The theoretical time complexity of an operations performed on the classical data structure and the equivalent succinct data structure are (most of the time) identical.

This package installs development files.

MaintainerDebian Science Maintainers <debian-science-maintainers@lists.alioth.debian.org>
Changed ByAndreas Tille <tille@debian.org>
Sponsortille@debian.org
Distributionunstable
Architectureany
VCSgit: https://salsa.debian.org/science-team/libsdsl.git (browse)
Popcon Installs400
Binary NEWYes (new binary packages of a source already in sid)
Trackerhttps://tracker.debian.org/pkg/libsdsl
Uploaded15 days ago

Potential Library Transition

The maintainer says no transition is needed and asked us to review anyway.

As explained previously the thre Rdeps are under control.

— tille, 15 days ago

New Package Report

.changes◂
Version2.4+dfsg-1
Changed-ByAndreas Tille <tille@debian.org>
Architecturesource amd64
Distributionunstable
DateThu, 22 Oct 2026 08:36:31 +0200
Sourcelibsdsl
Changelog◂
libsdsl (2.4+dfsg-1) unstable; urgency=medium
 .
   * Development of this library moved to
     https://github.com/vgteam/sdsl-lite/
   * New upstream version
   * Standards-Version: 4.7.4 (routine-update)
   * Reflow Uploaders field (cme)
   * Remove Priority field (cme)
   * debputy lint --auto-fix (routine-update)
   * Rebase CMake patch for the new upstream build system
   * Install sdsl-lite.pc with corrected multiarch paths
   * Refresh use_debian_packaged_d3.patch
   * Drop typo_caught_by_gcc15.patch and cmake-4.patch, fixed upstream
   * Bump the SONAME to 4 and rename the runtime package to libsdsl4
     because the 2.4.0 ABI is not compatible with 2.1.1
   * Fix the runtime package description
   * Add an autopkgtest smoke test covering the shared and static libraries
   * Fix d/copyright after automated DFSG review
   * Enhanced d/copyright thanks to dfsg-author-check
.dsc◂
Sectionlibdevel
Priorityoptional
Componentmain
Package-Listlibsdsl-dev deb libdevel optional arch=any
libsdsl4 deb libs optional arch=any
debian/copyright◂
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: libsdsl
Source: https://github.com/vgteam/sdsl-lite/
Files-Excluded: external/libdivsufsort*
                external/d3*

Files: *
Copyright: 2007-2014 Simon Gog
License: GPL-3+

Files: include/sdsl/hyb_vector.hpp
Copyright: 2014 Juha Karkkainen, Dominik Kempa and Simon J. Puglisi
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.
Comment: Simon Gog made the following changes:
  - replace std::vectors by int_vectors
  - add support for rank0
  - added naive implementation of method get_int
  - TODO: added a naive implementation of select

Files: include/sdsl/qsufsort.hpp
Copyright: 1999, N. Jesper Larsson
           2012 Simon Gog
License: GPL-3+
Comment: Jesper Larsson left the following statement in qsufsort.c
 This file contains an implementation of the algorithm presented in "Faster
 Suffix Sorting" by N. Jesper Larsson (jesper@cs.lth.se) and Kunihiko
 Sadakane (sada@is.s.u-tokyo.ac.jp).
 .
 This software may be used freely for any purpose. However, when distributed,
 the original source must be clearly stated, and, when the source code is
 distributed, the copyright notice must be retained and any alterations in
 the code must be clearly marked. No warranty is given regarding the quality
 of this software.

Files: include/sdsl/k2_tree*
Copyright: 2016 Francisco Montoto
License: GPL-3+

Files: include/sdsl/sd_vector.hpp
Copyright: 2012-2014 Simon Gog
           2015 Genome Research Ltd.
           2021 Jouni Sirén
License: GPL-3+

Files: include/sdsl/simple_sds.hpp
Copyright: 2021 Jouni Sirén
License: GPL-3+

Files: include/sdsl/construct_lcp.hpp
       lib/construct_lcp.cpp
Copyright: 2010-2013 Simon Gog
           2013 Timo Beller
License: GPL-3+

Files: debian/*
Copyright: 2015 Tomasz Buchert <tomasz@debian.org>
           2018 Andreas Tille <tille@debian.org>
License: GPL-3+

License: GPL-3+
 This package is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 3 of the License, or
 (at your option) any later version.
 .
 This package is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 .
 On Debian systems, the complete text of the GNU General
 Public License version 3 can be found in "/usr/share/common-licenses/GPL-3".

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 15 days ago.

Report◂

DFSG NEW review for libsdsl version 2.4+dfsg-1

Summary

  • Licensing is DFSG-compliant and debian/copyright is accurate: Yes
  • Packaging is of good quality: Yes
  • Issues: 0 blocker, 1 important, 1 minor
  • debian/watch: version 5, refused by the checks made before uscan is run
  • debian/copyright: machine-readable
  • Scan before the review: 7 found

Licensing

The source is DFSG-compliant: the aggregate library is GPL-3+ (COPYING names Simon Gog and Jouni Sirén), with one permissive Expat file (hyb_vector.hpp, correctly given its own stanza with the MIT text), and specific stanzas for sd_vector.hpp, simple_sds.hpp, qsufsort.hpp and k2_tree* — all accurate. Files-Excluded removes external/libdivsufsort* and external/d3*; the googletest submodule is empty (not shipped), and libdivsufsort is pulled in from the Debian libdivsufsort-dev package. No non-free wording, no built blobs installed. The only defect is that a few GPL-3+ headers name co-holders (Matthias Petri, Markus Brenner) that debian/copyright's catch-all does not list.

Packaging

Packaging is good: debhelper-compat 14 supplied via dh with proper overrides, hardening=+all, d-shlibs for the shared/static split, SONAME bumped to 4 consistently with the libsdsl4 binary package, Multi-Arch: same, an autopkgtest smoke test exercising both shared and static linkage via pkg-config, salsa-ci, upstream metadata and DEP-3-ish patches. Standards-Version 4.7.4 matches current Policy 4.7.4.1. The Build-Depends entry architecture-is-64-bit [!x32] is a valid, deliberate construct: architecture-is-64-bit is a real virtual package provided by architecture-properties (verified via apt-cache), used to restrict building to 64-bit architectures while allowing x32.

Issues

important packaging 1. debian/watch was refused by the checks made before uscan is run ◂
  • Files: debian/watch
  • Basis: found by the review tooling's own checks
  • Evidence: - it contains a "transport::address" style git URL
  • Problem: These checks refuse what is not plausibly a watch file, and the values known to make uscan do something other than look at an upstream site. uscan was not run, so the file is untested.
  • Fix: Read debian/watch and correct it. If uscan is run on it by hand, do that with caution.
minor licensing 2. debian/copyright catch-all omits co-copyright holders Matthias Petri and Markus Brenner ◂
  • Files: debian/copyright (Files: * stanza, Copyright: 2007-2014 Simon Gog); include/sdsl/bit_vector_il.hpp; include/sdsl/uint128_t.hpp; include/sdsl/wt_hutu.hpp
  • Basis: checked, in the package or with a reference tool
  • Evidence: bit_vector_il.hpp/uint128_t.hpp carry Copyright (C) 2012 Simon Gog, Matthias Petri; wt_hutu.hpp carries Copyright (C) 2013 Simon Gog, Timo Beller and Markus Brenner. These files are covered only by the Files: * stanza, which names only Simon Gog.
  • Problem: debian/copyright should name every copyright holder of every file it covers. Matthias Petri and Markus Brenner (and Timo Beller, for wt_hutu.hpp) are not named in any stanza, so the file is incomplete/technically inaccurate. The licence (GPL-3+) is correct, so this is a completeness nit.
  • Fix: Name the co-holders in the Files: * stanza (e.g. add 2012 Simon Gog, Matthias Petri and 2013 Simon Gog, Timo Beller and Markus Brenner), or give these three files their own Files: stanzas.
Verified ◂
  • debian/copyright is machine-readable DEP-5, begins with the correct Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ line; every Files: stanza and its holder/licence summary was read in full.
  • Catch-all Files: * (GPL-3+) matches the header of the ~90 include/sdsl headers, lib/.cpp, test/, benchmark/, examples/, tutorial/, extras/ and root files, all of which carry the GPL-3+ notice; sd_vector.hpp, simple_sds.hpp, construct_lcp, k2_tree* and qsufsort.hpp each get a correct specific stanza.
  • hyb_vector.hpp is Expat (MIT) — verified its full permission notice matches the reproduced Expat text in the stanza.
  • Files-Excluded correctly names external/libdivsufsort* and external/d3*, which are not in the tree; only external/CMakeLists.txt and an empty external/googletest/ submodule remain (googletest not shipped). libdivsufsort is a Build-Depends.
  • qsufsort.hpp contains Larsson's 1999 permissive original notice plus Simon Gog's GPL-3+ adaptation; the stanza records his terms in a Comment — acceptable and DFSG-free.
  • Prescan files: test/test_cases/abc_abc_abc.txt (12 bytes), abc_abc_abc2.txt, all_symbols.txt (256 bytes, all byte values), keeper.int (504 bytes) and faust.txt.tar.gz / moby.int.tar.gz are small test-data fixtures / gzip-compressed test inputs, decompressible, not built artifacts, and never installed — not DFSG problems.
  • extras/cheatsheet/viz.pdf is a static figure used by \includegraphics{viz.pdf} in sdsl-cheatsheet.tex; its generating source (online space-vis) is not shipped. Never installed; a doc-figure-only nit, noted rather than raised as an issue.
  • architecture-is-64-bit [!x32] Build-Depends: the pseudo-package is a real virtual package provided by architecture-properties (apt-cache), whose own description documents the exact Build-Depends: architecture-is-64-bit usage — a valid, intentional 64-bit restriction.
  • SONAME bump patch (LIBRARY_VERSION_MAJOR+2 -> 4) is consistent with the libsdsl4 binary package; ABI-incompatible-symbol removal claim matches upstream 2.4.0 change.
  • Standards-Version 4.7.4 is current (Policy 4.7.4.1). debhelper compat 14; the runtime package correctly carries ${shlibs:Depends}/${misc:Depends} and Pre-Depends.
  • Autopkgtest smoke (Depends: @, g++, pkgconf) compiles and runs against both shared and static libraries via pkg-config and checks the d3.js runtime file.
  • Every pointer of debian/copyright to /usr/share/common-licenses names a file that is there (GPL-3).
Not confirmed ◂
  • Whether extras/cheatsheet/viz.pdf contains any unusual licensing text or provenance problem — it is a binary PDF that could not be opened; based on its role (a small figure embedded in the uninstalled cheatsheet doc) no practical impact is expected.
Proposed changes ◂

None.

Uploader's response to the LLM review

The uploader was emailed about the review 15 days ago.

Review Information

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

Final Comment

Hi,

Still seemingly two issues the LLM finds, but I'll let you decide if they're important.

Thanks!

Other Reviews of this Package

VersionHashAllocatedCompletedReviewerStatusDetails
2.4+dfsg-1 ddacd43c… 2026-10-23 05:38 2026-10-23 05:38 dfsg-uploader rejected VIEW

Back to Dashboard | View all reviews for this package