Review: sludge 2.3.1-1
Package Information
| Description | Compiler for SLUDGE adventure games SLUDGE is an open source adventure game engine. It combines a scripting language with IDE tools. This package contains the command line SLUDGE compiler and is mainly intended as build dependency for SLUDGE game packages. Developers can use the Project Manager included in the Dev Kit for compiling games. |
|---|---|
| Maintainer | Debian Games Team <pkg-games-devel@lists.alioth.debian.org> |
| Changed By | Tobias Hansen <thansen@debian.org> |
| Distribution | unstable |
| Architecture | any all |
| VCS | git: https://salsa.debian.org/games-team/sludge.git (browse) |
| Closes | #1038561 |
| Popcon Installs | 103 |
| Binary NEW | Yes (new binary packages of a source already in sid) |
| Tracker | https://tracker.debian.org/pkg/sludge |
| Uploaded | 2 hours ago |
New Package Report
.changes
| Date | Sun, 01 Nov 2026 11:20:34 +0000 |
|---|---|
| Source | sludge |
| Version | 2.3.1-1 |
| Changed-By | Tobias Hansen <thansen@debian.org> |
| Architecture | source amd64 all |
| Distribution | unstable |
Changelog
sludge (2.3.1-1) unstable; urgency=medium
.
* New upstream release.
* Build with CMake, which upstream now uses for the engine, the Dev
Kit and the documentation.
* Update Build-Depends: the engine now uses SDL 3 instead of SDL 1.2,
OpenAL, Alure and GLEW (Closes: #1038561),
and the Dev Kit uses GTK 3 and libepoxy.
* Bring back sludge-devkit, which upstream has ported from GTK 2 to
GTK 3. Its build no longer depends on GTK 2 or GtkGLExt (see
#967747).
* Drop all patches, which upstream has applied or which no longer
apply to the new build.
* The engine builds its shaders into the executable, so we no longer
install them to /usr/share/sludge.
* Manual pages: point to the upstream issue tracker for bugs, and
document the new engine option -L and the shortcut Alt+C.
* debian/copyright: Drop the paragraph of the removed eglport code.
* debian/watch: Download the source tarball that upstream publishes
with each release, sludge-<version>.tar.gz, instead of the archive
of the tag..dsc
| Component | main |
|---|---|
| Package-List | sludge-compiler deb devel optional arch=any sludge-devkit deb devel optional arch=any sludge-doc deb doc optional arch=all sludge-engine deb games optional arch=any |
| Section | devel |
| Priority | optional |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: SLUDGE
Upstream-Contact: Tobias Hansen <tobias.han@gmx.de>
Source: https://opensludge.github.io
Copyright: 2000 - 2014 Hungry Software and contributors
Files: *
Copyright: 2000 - 2008 Tim Furnish (Hungry Software)
2008 - 2013 Rikard Peterson
2010 - 2014 Tobias Hansen
License: LGPL-2.1
Files: debian/*
GTK_Dev_Kit/*
Copyright: 2010 - 2014 Tobias Hansen
License: GPL-3+
Files: debian/engine/icons/*
doc/SLUDGEDevKitHelp/images/sludge300.png
doc/SLUDGEDevKitHelp/images/Sludge_128x128x32.png
GTK_Dev_Kit/support/16x16/*
GTK_Dev_Kit/support/32x32/*
GTK_Dev_Kit/support/48x48/*
GTK_Dev_Kit/support/128x128/*
images/*
Copyright: 2008 - 2011 Erwin Broekhuis
License: LGPL-2.1
Files: GTK_Dev_Kit/support/sludge.lang
Copyright: 2005 - 2007 Marco Barisione
2005 - 2007 Emanuele Aina
2010 Tobias Hansen
License: LGPL-2.1
Files: doc/SLUDGEDevKitHelp/HtmlMenu.html
Copyright: 2005 DHTMLGoodies.com, Alf Magne Kalleland
2010 - 2011 Tobias Hansen
License: LGPL-2.1+
Files: source/Engine/libwebm/*
Copyright: 2010, Google Inc.
License: BSD-3-clause
Files: source/Engine/libvorbis/*
Copyright: 1994 - 2009 by the Xiph.Org Foundation http://www.xiph.org/
License: BSD-3-clause
License: LGPL-2.1
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License, version 2.1, as published by the Free Software Foundation.
.
This program 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
Lesser General Public License for more details.
.
You should have received a copy of the GNU Lesser General Public
License along with this program. If not, see https://www.gnu.org/licenses/.
.
On Debian systems, the complete text of the GNU Lesser General
Public License can be found in the file
`/usr/share/common-licenses/LGPL-2.1'.
License: GPL-3+
This program 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 program 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.
.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
.
On Debian systems, the full text of the GNU General Public
License version 3 can be found in the file
`/usr/share/common-licenses/GPL-3'.
License: LGPL-2.1+
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
.
This library 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
Lesser General Public License for more details.
.
You should have received a copy of the GNU Lesser General Public
License along with this program. If not, see https://www.gnu.org/licenses/.
License: BSD-3-clause
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
.
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
.
* Neither the name of <organization> nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
DFSG Assistant LLM REVIEW 1 blocker, 0 important, 3 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.
Proposes a replacement debian/watch:
debian/watch in version 5 format
Report
DFSG NEW review for sludge version 2.3.1-1
Summary
- Licensing is DFSG-compliant and
debian/copyrightis accurate: No - Packaging is of good quality: Yes
- Issues: 1 blocker, 0 important, 3 minor
- debian/watch: old format (version 4)
- debian/copyright: machine-readable
- Scan before the review: 28 found
Licensing
Nothing in the tree is non-free: the bulk is LGPL-2.1, the GTK Dev Kit and the Debian files are GPL-3+, libvorbis and libwebm are BSD-3 with their notices present, the DHTMLGoodies menu script is LGPL-2.1+, and source/CommonCode/utf8.cpp is public domain. The DFSG is satisfied. debian/copyright is nevertheless not fully accurate: Files: * describes source/CommonCode/utf8.cpp as LGPL-2.1 under the SLUDGE authors although the file is public domain by Jeff Bezanson, and the libwebm stanza names only Google Inc. while the file headers name The WebM project authors. Both are fixed with small stanzas.
Packaging
The packaging is clean and current: debhelper compat 13 with a plain dh $@, complete Build-Depends for what the CMake files look for, correct package split and relationships, man pages generated from DocBook sources, desktop/MIME/icon integration, an install-file set that matches the CMake install destinations, and no patches. The one real defect is that the engine embeds a 2010 copy of libwebm's mkvparser even though Debian ships libwebm-dev, which Policy 4.13 says to link against instead.
Issues
1. [blocker] [licensing] Files: * calls source/CommonCode/utf8.cpp LGPL-2.1 by the SLUDGE authors; it is public domain by Jeff Bezanson
- Files:
source/CommonCode/utf8.cpp:1-4,debian/copyright:7-11 - Basis: checked, in the package or with a reference tool
- Evidence: utf8.cpp begins
Basic UTF-8 manipulation routines/by Jeff Bezanson/placed in the public domain Fall 2005, whileFiles: *saysCopyright: 2000 - 2008 Tim Furnish (Hungry Software) ... 2010 - 2014 Tobias HansenandLicense: LGPL-2.1. - Problem: The file is compiled into both sludge-engine and sludge-devkit (
COMMON_DIR/utf8.cppin CMakeLists.txt,SOURCE_DIR/CommonCode/utf8.cppin GTK_Dev_Kit/CMakeLists.txt), so the copyright shipped in the binary packages is wrong: the author is omitted and a public-domain work is described as LGPL-2.1. DEP-5 §6.8 requires public-domain status to be recorded; Policy 4.5 requires the copyright file to carry the package's copyright information. - Fix: Add, after the
Files: *stanza, a stanza such asFiles: source/CommonCode/utf8.cpp/Copyright: 2005 Jeff Bezanson/License: public-domainwith a short paragraph quotingBasic UTF-8 manipulation routines ... placed in the public domain Fall 2005(and note that it contains a routine based on PCRE'svalid_utf8by Philip Hazel).
2. [minor] [licensing] libwebm stanza omits the holder named in the file notices, The WebM project authors
- Files:
source/Engine/libwebm/mkvparser.cpp:1,source/Engine/libwebm/mkvreader.cpp:1,debian/copyright:36-38 - Basis: checked, in the package or with a reference tool
- Evidence:
// Copyright (c) 2010 The WebM project authors. All Rights Reserved.in mkvparser.cpp, mkvparser.hpp, mkvreader.cpp and mkvreader.hpp; stanza saysFiles: source/Engine/libwebm/*/Copyright: 2010, Google Inc.. - Problem: The Copyright field should collect the notices that the files actually carry (DEP-5 §6.8); the licence and its text are right, but the holder stated in the headers is not named.
- Fix: Make the Copyright field
2010, Google Inc.and2010 The WebM project authors.
3. [minor] [packaging] Engine embeds a 2010 copy of libwebm's mkvparser although Debian packages libwebm
- Files:
source/Engine/libwebm/mkvparser.cpp,source/Engine/libwebm/mkvparser.hpp,source/Engine/libwebm/mkvreader.cpp,CMakeLists.txt:104-106 - Basis: checked, in the package or with a reference tool
- Evidence:
libwebm/mkvparser.cpp libwebm/mkvreader.cppare compiled into sludge-engine;apt-cache show libwebm-devgivesSource: libwebm, version1.0.0.32-1,Section: libdevel, withlibwebm1. - Problem: Policy 4.13 says that where the included code is already in the archive as a library,
the Debian packaging should ensure that binary packages reference the libraries already in Debian and the convenience copy is not used. The files are a verbatim 2010 libwebm snapshot (mkvparser,mkvreader) rather than Debian's library, so security and bug fixes to libwebm do not reach the package. - Fix: Build-Depend on
libwebm-dev, dropsource/Engine/libwebm/mkvparser.*, and usemkvreader/mkvparserfrom/usr/include(upstreaming the change if the localMkvReader::Open(int)shim is still needed).
4. [minor] [packaging] debian/watch is in the old version 4 format
- Files:
debian/watch - Basis: found by the review tooling's own checks
- Evidence:
version=4 - Problem: Version 5 is the current format of
debian/watch. - Fix: Convert it to version 5; a mechanical conversion is under Proposed changes.
Verified
- Read every file in
debian/in full, includingcontrol,rules,copyright, all.install/.manpages/.doc-base/.sharedmimeinfo/.xml,source/formatandsource/include-binaries; licence notices were grepped acrosssource/,GTK_Dev_Kit/,doc/,tests/,cmake/andpackaging/, and everyLICENSE/COPYING/GPLfile read. COPYINGis the LGPL-2.1 text andGPLthe GPL-3 text;READMEanddoc/SLUDGEDevKitHelp/Copyright.htmlgrant LGPL 2.1 for SLUDGE except the GTK Dev Kit, which isGPL 3 or later; this matches theFiles: *(LGPL-2.1) anddebian/* GTK_Dev_Kit/*(GPL-3+) stanzas. No MIT, Apache, MPL, CC or other licence family occurs anywhere in the tree.source/Engine/libvorbis/holdsCOPYING(BSD-3,Copyright (c) 2002-2008 Xiph.org Foundation),vorbis_misc.handvorbis_os.h((C) COPYRIGHT 1994-2009 by the Xiph.Org Foundation); the stanza names Xiph.Org Foundation and reproduces the BSD-3 text. The two headers are needed becausesource/Engine/movie.cppuses thevorbis_fpu_setround/vorbis_ftoimacros, which libvorbis-dev does not ship.GTK_Dev_Kit/support/sludge.langcarries an LGPL-2.1 notice (Marco Barisione, Emanuele Aina, Tobias Hansen) anddoc/SLUDGEDevKitHelp/HtmlMenu.htmlan LGPL-2.1-or-later notice (DHTMLGoodies.com, Alf Magne Kalleland, Tobias Hansen); both have their own stanzas, and the Erwin Broekhuis stanza correctly overrides the GTK-Dev-Kit anddebian/*stanzas for the icons and images it lists.__MyCompanyName__(source/DevKit/GraphicalTools/floormaker.cpp,floormaker.h,source/DevKit/TranslationEditor/translator.cpp,translator.h,source/Engine/shaders.h) is an unedited Xcode template placeholder, not a holder; the files were created by Rikard Peterson, who is named inFiles: *.SLUDGE Developersinsource/Engine/movie.cpp/movie.his upstream's collective name for the same authors.doc/Credits.htmlanddoc/Credits.rtfare a credits page reproducing the licences of the libraries SLUDGE uses; the holders the scan found in them (Andreas Dilger, Glenn Randers-Pehrson, Guy Eric Schalnat/Group 42, Jean-loup Gailly and Mark Adler, Ben Davis with Robert J Ohannessian and Julien Cugniere, Ben Woodhouse, the FSF and the59 Temple Placeaddress) are authors of libpng, zlib, DUMB, GLee, the LGPL and the GPL quoted there, not holders of the document. Everydoc/SLUDGEDevKitHelp/*.htmlpage ends withSLUDGE and this SLUDGE documentation are copyright Hungry Software and contributors 2000-2012, covered byFiles: *.- Example-project sprite banks and images, covered by
Files: *(LGPL-2.1) and by upstream's Erwin Broekhuis credit for the artwork:doc/ExampleProjects/VerbCoin/demofont.duc,doc/ExampleProjects/VerbCoin/nicupfontsmall.duc,doc/ExampleProjects/VerbCoin/ego/alien.duc,doc/ExampleProjects/VerbCoin/outside/duck.duc,doc/ExampleProjects/VerbCoin/iface/mouse.duc,doc/ExampleProjects/VerbCoin/iface/mushroom.duc,doc/ExampleProjects/VerbCoin/iface/invback.tga,doc/ExampleProjects/VerbCoin/iface/verbcoin.tga. They are SLUDGE.ducfont and sprite banks and TGA interface art of the bundled VerbCoin example. doc/ExampleProjects/VerbCoin/inside/room.tgaanddoc/ExampleProjects/VerbCoin/outside/room.tgaare the background TGA images of the two rooms, anddoc/ExampleProjects/VerbCoin/inside/room.zbuanddoc/ExampleProjects/VerbCoin/outside/room.zbutheir SLUDGE z-buffer files (Szbdata);doc/ExampleProjects/Welcome/image.tgais the background of the Welcome example. All are example data underFiles: *(LGPL-2.1).doc/ExampleProjects/VerbCoin/inside/music.modanddoc/ExampleProjects/VerbCoin/outside/music.modare the tracker-module originals, anddoc/ExampleProjects/VerbCoin/inside/music.xmanddoc/ExampleProjects/VerbCoin/outside/music.xmthe FastTracker versions the examples play;doc/CMakeLists.txtexcludes*.mod(and*.helpindex) from installation, so only the.xmfiles ship. Covered byFiles: *.images/ARROWS.CUR,images/BIGARROW.cur,images/BLOKEY.CUR,images/CROSS.CUR,images/INVIS.CUR,images/MOVER.CUR,images/NOWAY.CURandimages/TARGET.CURare Windows cursor resources included byimages/SLUDGE.RC, which is only compiled on Windows; they fall underFiles: images/*(Erwin Broekhuis, LGPL-2.1).doc/SLUDGE Dev Kit Help.chwis a compiled Windows HTML Help index anddoc/SLUDGEDevKitHelp/SLUDGEDevKitHelp.helpindexa macOS help index; their source,doc/SLUDGE Dev Kit Help.hhp,SLUDGE Dev Kit Help.hhk,Table of Contents.hhcand the HTML pages, is all present, and neither binary is installed into a package.tests/devkit/fixtures/zbuffer.tgais the input fixture oftests/devkit/view_test.cpp, next to the reference images intests/devkit/references/, and is covered byFiles: *.debian/source/include-binarieslists exactly the eight PNGs added underdebian/engine/icons/, whichdebian/sludge-engine.installinstalls tousr/share/icons/hicolor, matching theapplication/x-sludge-gameMIME icons andIcon=sludge-engineof the desktop file.- Build-Depends cover what the build looks for: SDL3, ogg/vorbis, PNG, DUMB, vpx, GTK 3, glib, epoxy, OpenGL, pkgconf for
CMakeLists.txt,cmake/Dependencies.cmakeandGTK_Dev_Kit/CMakeLists.txt, and docbook-xml/docbook-xsl/xsltproc for the man pages;libsdl3-dev(3.4.18) andlibdumb1-devwere verified in the archive. override_dh_auto_test: dh_auto_test -- "ARGS+=-E devkit_views"is correct:cmake.pmtest()prependsARGS+=make variables, so CTest is invoked with-E devkit_views, and the override is skipped undernocheckat compat 13.- Each file CMake installs is matched by an
.installor.manpagesfile (devkit glade/png icons and five desktop files, the five tools and the compiler, the engine moved fromusr/bintousr/games, docs tousr/share/doc/sludge), anddh_installmimehandles the two.sharedmimeinfofiles; Policy 10.1 grandfathers the existing/usr/gamesinstallation. - The man pages generated from
debian/*.1.xmlmatch the code:-f/--fullscreen,-w/--window,-L/--list-languages,-l/--language,-a/--antialias,-d/--debug,-h/--helpare exactly the options ofparseCmdlineParameters()insource/Engine/posixstuff.cpp, and the documented Alt+Enter/Alt+A/Alt+C shortcuts exist insource/Engine/main.cpp. - Relationship sanity:
sludge-devkitdepends onsludge-enginebecauseSludgeProjectManager.cpprunssludge-engineviaG_SPAWN_SEARCH_PATH; the compiler is a separate binary linkingGTK_Dev_Kit/CompilerMain.cpp(GPL-3+) with the LGPL-2.1 DevKit code, which LGPL-2.1 §3 permits. No patches,3.0 (quilt),Standards-Version: 4.7.4against Policy 4.7.4.1, changelog version2.3.1-1inunstable. - uscan found the packaged version as the newest upstream release (upstream
2.3.1, packaged2.3.1). - Every pointer of
debian/copyrightto /usr/share/common-licenses names a file that is there (GPL-3,LGPL-2.1).
Not confirmed
- The provenance of the example projects' music and sound files (
doc/ExampleProjects/VerbCoin/inside/music.mod,doc/ExampleProjects/VerbCoin/inside/music.xm,doc/ExampleProjects/VerbCoin/outside/music.mod,doc/ExampleProjects/VerbCoin/outside/music.xm,doc/ExampleProjects/VerbCoin/iface/pop.wav,doc/ExampleProjects/Welcome/tada.wav) and of the two font sprite banks (doc/ExampleProjects/VerbCoin/demofont.duc,doc/ExampleProjects/VerbCoin/nicupfontsmall.duc): they are binary and were not opened, and upstream's Credits credits only Erwin Broekhuis for graphics, so a third-party origin thatFiles: *would not cover cannot be ruled out from the text files. - Whether the 2010
mkvparser/mkvreadercode would compile against Debian's libwebm 1.0.0.32 unmodified; only a build would show, so the Policy 4.13 fix may need a small compatibility shim. - docbook-xsl is not installed on the reviewing system, so I could not check that its XML catalog resolves the
http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xslURL used withxsltproc --nonet; the build chroot installs docbook-xsl, which normally provides that mapping.
Proposed: debian/watch in version 5 format
debian/watch is in an old format. This is the conversion made by uscan --update-watchfile, which has not been run against the upstream site: some defaults differ in version 5, so test it with uscan --report before use.
Version: 5
# Upstream publishes sludge-<version>.tar.gz with each release on GitHub.
# Pre-releases have tags such as 2.4.0-rc1, which we turn into 2.4.0~rc1.
Source: https://api.github.com/repos/opensludge/opensludge/releases?per_page=100
Matching-Pattern: https://github.com/opensludge/opensludge/releases/download/[^/]+/sludge-@ANY_VERSION@@ARCHIVE_EXT@
Searchmode: plain
Uversionmangle: s/-/~/
Uploader's response to the LLM review
The uploader rejected this upload in response to the review.
Review Information
rejected — allocated to dfsg-uploader 0 hours ago, started 0 hours ago, completed 0 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.