libsdsl 2.4+dfsg-1
Package Information
| Description | succinct 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. |
|---|---|
| Maintainer | Debian Science Maintainers <debian-science-maintainers@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/science-team/libsdsl.git (browse) |
| Popcon Installs | 396 |
| Binary NEW | Yes (new binary packages of a source already in sid) |
| Tracker | https://tracker.debian.org/pkg/libsdsl |
| Uploaded | 3 hours ago |
Potential Library Transition
This binary NEW upload drops binary packages that currently have reverse dependencies in unstable. A library transition may need to be coordinated with the Release Team before accepting this package.
| Dropped Binary | Rdeps in unstable |
|---|---|
libsdsl3 | 3: btllib-tools, fsm-lite, mmmulti |
The maintainer says no transition is needed and asked us to review anyway.
I have tested all three rdepends and Git on Salsa is prepared ready for uploading the rebuilds (even the current packages are building against the new library but for sure the rebuild is needed to bump the dependencies). In short: Please proceed with this package. Thanks a lot.
— tille, 2 hours ago
New Package Report
.changes
| Distribution | unstable |
|---|---|
| Date | Thu, 22 Oct 2026 08:36:31 +0200 |
| Source | libsdsl |
| Version | 2.4+dfsg-1 |
| Changed-By | Andreas Tille <tille@debian.org> |
| Architecture | source amd64 |
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.dsc
| Priority | optional |
|---|---|
| Component | main |
| Package-List | libsdsl-dev deb libdevel optional arch=any libsdsl4 deb libs optional arch=any |
| Section | libdevel |
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: 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 1 blocker, 2 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 1 hour ago.
Report
DFSG NEW review for libsdsl version 2.4+dfsg-1
Summary
- Licensing is DFSG-compliant and
debian/copyrightis accurate: No - Packaging is of good quality: Yes
- Issues: 1 blocker, 2 important, 0 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 code is DFSG-free: virtually everything is GPL-3+ and the two exceptions (hyb_vector.hpp, MIT; qsufsort.hpp, a permissive notice) are also free and GPL-compatible, so the combined library is freely redistributable. However debian/copyright is inaccurate and incomplete: its single Files: * catch-all credits only 2007-2014 Simon Gog under GPL-3+, yet several files have other or additional copyright holders, and at least two files carry permissive licences (MIT, and N. Jesper Larsson's custom notice) whose notices must be reproduced and are not. debian/copyright therefore does not accurately describe the licensing of every file.
Packaging
Packaging is in good shape: machine-readable source format, debhelper-compat 14 with correct substvars, hardening=+all, sensible 64-bit build restriction via architecture-is-64-bit, d-shlibs/d-shlibmove for the shared/static library split, SONAME bumped to 4 with matching libsdsl4 runtime package, coherent Multi-Arch: same, and a smoke autopkgtest exercising both shared and static linkage. The three patches are clearly described with DEP-3 headers. Standards-Version 4.7.4 matches current Policy. No sponsor-blocking packaging problems found.
Issues
1. [blocker] [licensing] Files: * catch-all misstates the licence of hyb_vector.hpp (MIT) and qsufsort.hpp (permissive notice)
- Files:
debian/copyright (Files: * stanza); include/sdsl/hyb_vector.hpp:2-31; include/sdsl/qsufsort.hpp:1-14 - Basis: checked, in the package or with a reference tool
- Evidence:
debian/copyrightassignsFiles: *+License: GPL-3+. Buthyb_vector.hppopensCopyright (c) 2014 Juha Karkkainen, Dominik Kempa and Simon J. Puglisifollowed byPermission is hereby granted, free of charge ... THE SOFTWARE IS PROVIDED "AS IS"(the MIT licence), andqsufsort.hppcarriesCopyright 1999, N. Jesper Larsson, all rights reservedwithThis software may be used freely for any purpose ... the copyright notice must be retained and any alterations in the code must be clearly marked. - Problem: Two files are licensed under permissive terms with notices that must be reproduced in any distribution, but the GPL-3+ catch-all both misdescribes them and omits the required notice texts. This makes
debian/copyrightinaccurate: a MIT-licensed file is claimed to be GPL-3+ and its permission notice is not reproduced. - Fix: Add a
Files:stanza forinclude/sdsl/hyb_vector.hppwithCopyright: 2014 Juha Karkkainen, Dominik Kempa and Simon J. PuglisiandLicense: MITplus a standalone MITLicense:paragraph reproducing the notice, and a stanza forinclude/sdsl/qsufsort.hpprecordingCopyright: 1999 N. Jesper Larsson(with the sdsl GPL-3+ header) and reproducing the permissive notice.
2. [important] [licensing] Several copyright holders named in file notices are missing from debian/copyright
- Files:
debian/copyright (Files: * stanza); include/sdsl/k2_tree.hpp:2; sd_vector.hpp:3-4; construct_lcp.hpp:3; lib/construct_lcp.cpp:3; simple_sds.hpp:2; copy of holders in hyb_vector.hpp and qsufsort.hpp (blocker) - Basis: checked, in the package or with a reference tool
- Evidence: The
Files: *stanza names onlyCopyright: 2007-2014 Simon Gog. Grep of the tree shows files crediting Francisco Montoto (2016, k2_tree.hpp/k2_tree_helper.hpp), Timo Beller (2013, construct_lcp.hpp/cpp, nn_dict_dynamic.hpp, wt_hutu.hpp), Matthias Petri (2012, bit_vector_il.hpp, uint128_t.hpp), Markus Brenner (2013, wt_hutu.hpp), Genome Research Ltd (2015, sd_vector.hpp), Jouni Siren (2021, sd_vector.hpp, simple_sds.hpp, COPYING), Juha Karkkainen/Dominik Kempa/Simon J. Puglisi (2014, hyb_vector.hpp) and N. Jesper Larsson (1999, qsufsort.hpp). - Problem: A
debian/copyrightFiles: *paragraph that credits only one of several holders is inaccurate; holders named in file notices must be represented. - Fix: Restate the
Files: *holder range (e.g.2007-2021 Simon Gog) and add the missing holders to the appropriateFiles:stanzas, consistent with the licence fix above.
3. [important] [packaging] 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/watchand correct it. If uscan is run on it by hand, do that with caution.
Verified
- Scan archive
test/test_cases/faust.txt.tar.gzandmoby.int.tar.gzare gzip-compressed test inputs shipped by upstream (for populating larger test inputs), not built artefacts; their source form is the tarball itself. Not an issue. - Scan binary files
test/test_cases/abc_abc_abc.txt(12 B, repeatingabc_abc_abc...),abc_abc_abc2.txt,all_symbols.txt(256 B) andkeeper.int(504 B) are small text test fixtures not recognised by the scanner; they are test data, not built files. Not an issue. - Scan PDF
extras/cheatsheet/viz.pdfis a small (21.5 KB) documentation figure shipped intentionally by upstream (kept non-ignored inextras/cheatsheet/.gitignoreas!viz.pdf) and embedded bysdsl-cheatsheet.tex:660. Not an issue. external/googletest/is an empty unpopulated submodule directory; nothing is shipped from it.Files-Excluded: external/libdivsufsort*, external/d3*matches the repack; libdivsufsort is provided by Debian's libdivsufsort package and d3 by libjs-d3, both in Build-Depends/Depends.- Licence across the rest of the tree is uniformly GPL-3+ (each header carries the
GNU General Public License ... version 3 ... or any later versiontext); the only exceptions are hyb_vector.hpp (MIT) and qsufsort.hpp (permissive notice + GPL header), covered in the issues. COPYING(Jouni Siren 2021, Simon Gog 2007-2019, GPL-3-or-later) is GPL-3+, consistent with the package licence.- All licences (GPL-3+, MIT, Larsson permissive) are DFSG-free and pairwise compatible for combination in one binary.
- Every pointer of
debian/copyrightto /usr/share/common-licenses names a file that is there (GPL-3).
Not confirmed
None.
Proposed changes
None.
Uploader's response to the LLM review
Held for the uploader's response until 2026-10-23 09:09 UTC, because the review found serious issues. It is not shown in the review lists until then, or until the uploader comments.