qblike 0+git20261108+ds-1
Package Information
| Description | QBasic compatible interpreter and compiler including IDE This is a QBasic 1.1 compatible programming environment. It is a clean-room reimplementation: it contains no Microsoft code. It was written from the language documentation and from the observable behavior of QBasic. |
|---|---|
| Maintainer | Alex Myczko <tar@debian.org> |
| Changed By | Alex Myczko <tar@debian.org> |
| Sponsor | tar@debian.org |
| Distribution | unstable |
| Architecture | any |
| VCS | git: https://salsa.debian.org/debian/qblike.git (browse) |
| Closes | #1153456 |
| Tracker | https://tracker.debian.org/pkg/qblike |
| Uploaded | 3 hours ago |
New Package Report
.changes
| Date | Sun, 08 Nov 2026 19:12:39 +0100 |
|---|---|
| Source | qblike |
| Version | 0+git20261108+ds-1 |
| Changed-By | Alex Myczko <tar@debian.org> |
| Architecture | source arm64 |
| Distribution | unstable |
Changelog
qblike (0+git20261108+ds-1) unstable; urgency=medium . * Initial release. (Closes: #1153456)
.dsc
| Section | interpreters |
|---|---|
| Priority | optional |
| Component | main |
| Package-List | qblike deb interpreters optional arch=any |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Source: https://github.com/mojontwins/qblike Upstream-Name: qblike Upstream-Contact: mojontwins Files: * Copyright: 2026 mojontwins License: MIT Files: src/doslike/* Copyright: 2021 Mattias Gustavsson License: MIT or public-domain License: MIT 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. License: public-domain Public Domain (www.unlicense.org) . This is free and unencumbered software released into the public domain. . Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means. . In jurisdictions that recognize copyright laws, the author or authors of this software dedicate any and all copyright interest in the software to the public domain. We make this dedication for the benefit of the public at large and to the detriment of our heirs and successors. We intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this software under copyright law. . 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 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. Files: debian/* Copyright: 2026 Alex Myczko <tar@debian.org> License: MIT
DFSG Assistant LLM REVIEW 5 blocker, 2 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 1 hour ago.
Report
DFSG NEW review for qblike version 0+git20261108+ds-1
Summary
- Licensing is DFSG-compliant and
debian/copyrightis accurate: No - Packaging is of good quality: No
- Issues: 5 blocker, 2 important, 1 minor
- debian/watch: version 5
- debian/copyright: machine-readable
- Scan before the review: 18 found, 5 not mentioned in this report
Licensing
The licence grant is free, but debian/copyright does not describe the tree. The single Files: src/doslike/* stanza files all of src/doslike/ as 'MIT or public-domain' (c) 2021 Mattias Gustavsson, while the vendored headers under src/doslike/libs/ are under Zlib, BSD-3-Clause, BSD-2-Clause, WTFPL-2 and Unlicense/MIT-0 with seven other copyright holders; dos.h also contains Paul Heckbert's Graphics Gems floodfill, src/fonts.h is dos-like material outside that pattern, and two lots of third-party data (a 1 MB AWE32 soundfont and the DirectQB test fonts and logo) carry no licence at all. debian/copyright must be rewritten as one stanza per licence group with the licence texts reproduced (Policy 12.5); the unlicensed data must be licenced or repacked out.
Packaging
The packaging is small and mostly conventional (compat 13, 3.0 quilt format, no patches, clean debian/install, debian/clean and debian/examples, the globs in the latter two expanded by debhelper, Standards-Version 4.7.4 current against Policy 4.7.4.1). But it builds with its own shell script that hardcodes gcc -O2 and sdl2-config, bypassing dpkg-buildflags entirely, so no hardening flags, no DEB_BUILD_OPTIONS=noopt and no DEB_HOST_GNU_TYPE compiler apply; and neither installed program has a manual page, which Policy 12.1 calls a bug.
Issues
blocker licensing 1. Files: src/doslike/* calls the vendored libraries MIT or public-domain, but they are Zlib, BSD-2/3-Clause, WTFPL-2 and Unlicense/MIT-0, and seven holders are missing ◂
- Files:
debian/copyright:12-15,src/doslike/libs/tml.h:16-26,src/doslike/libs/tsf.h:22-25,src/doslike/libs/opl.h:2861-2902,src/doslike/libs/dr_wav.h:7888-7919,src/doslike/libs/jar_mod.h:1,47-55,src/doslike/libs/opblib.h:11-13,src/doslike/libs/stb_textedit.h:1,1393-1394,src/doslike/libs/gif_load.h:5-8 - Basis: checked, in the package or with a reference tool
- Evidence: Stanza
Files:/src/doslike/*/Copyright: 2021 Mattias Gustavsson/License: MIT or public-domain, against tml.h:16LICENSE (ZLIB)andCopyright (C) 2017, 2018, 2020 Bernhard Schelling; opl.h:2863BSD 3-Clause License,Copyright (c) 2021, Aaron Giles, and opl.h:2901Copyright (C) 2015-2016 Mateusz Visteunder a BSD-2-Clause grant; dr_wav.h:7888 choice of public domain or MIT-0,Copyright 2020 David Reid; jar_mod.h:1public domain C0 - Joshua Reisenauerand :52 WTFPL version 2, written by Jean-Francois DEL NERO; tsf.h:24-25 Bernhard Schelling and Steve Folta (SFZero); opblib.h:13Copyright (c) 2021 Eniko Fox/Emma Maassen; stb_textedit.h:1394Copyright (c) 2017 Sean Barrett; gif_load.h:5-8 hidefromkgb, Unlicense. - Problem: The stanza gives the wrong licence for seven files it covers (Zlib, BSD-3-Clause, BSD-2-Clause, WTFPL-2, and Unlicense or MIT-0 instead of MIT or public-domain), names none of the holders but Mattias Gustavsson (the prescan flags Aaron Giles, Bernhard Schelling, David Reid, Eniko Fox/Emma Maassen, Mateusz Viste, Sean Barrett and Steve Folta), and reproduces none of the licence texts, which Policy 12.5 requires in /usr/share/doc/qblike/copyright for every licence not in /usr/share/common-licenses. debian/copyright is therefore inaccurate for these files, a blocker on its own.
- Fix: Replace the blanket stanza with one Files stanza per licence group, naming all holders and years (tml.h: Zlib, Bernhard Schelling; tsf.h and stb_textedit.h: MIT, Bernhard Schelling/Steve Folta and Sean Barrett; opblib.h: MIT, Eniko Fox/Emma Maassen and Mattias Gustavsson; dr_wav.h: Unlicense or MIT-0, David Reid; opl.h: BSD-3-Clause Aaron Giles and BSD-2-Clause Mateusz Viste; jar_mod.h: WTFPL-2, Jean-Francois DEL NERO and Joshua Adam Reisenauer; gif_load.h: Unlicense, hidefromkgb; the remaining Mattias Gustavsson files: MIT or Unlicense), and add a stand-alone License paragraph with the full text of every short name used.
blocker licensing 2. Paul Heckbert's Graphics Gems notice in src/doslike/dos.h is not named in debian/copyright ◂
- Files:
debian/copyright:12-15,src/doslike/dos.h:1453-1467 - Basis: checked, in the package or with a reference tool
- Evidence: dos.h:1453
* LICENSEfollowed by* The Graphics Gems code is copyright-protected. In other words, you cannot claim the text of the code as your own and resell it. Using the code is permitted in any program, product, or library, non-commercial or commercial., abovevoid floodfill( int x, int y ), headedby Paul Heckbertandfrom Graphics Gems, Academic Press, 1990. - Problem: dos.h is not wholly MIT or public-domain by Mattias Gustavsson: the floodfill routine is third-party code with its own notice and holder, and that notice must be reproduced with the package. Debian ships this text elsewhere (golang-github-jung-kurt-gofpdf-dev/copyright carries it as pre_open_source), so the licence is acceptable; only its documentation is missing.
- Fix: Give src/doslike/dos.h its own Files stanza with
Copyright: 1988 Paul Heckbertin addition to Mattias Gustavsson, and add a stand-alone License paragraph quoting the Graphics Gems notice verbatim.
blocker licensing 3. src/fonts.h is Mattias Gustavsson's dos-like data, but the only stanza naming him covers src/doslike/* ◂
- Files:
src/fonts.h:1,debian/copyright:6-10,debian/copyright:12-15 - Basis: checked, in the package or with a reference tool
- Evidence: src/fonts.h:1
/* Fonts and default VGA palette extracted from dos-like (c) Mattias Gustavsson, MIT/Public Domain */; the stanza naming Mattias Gustavsson is anchored atsrc/doslike/*(copyright-format 6.9: patterns are anchored at the top of the tree, so src/doslike/* does not match src/fonts.h), so this file falls through toFiles: */Copyright: 2026 mojontwins/License: MIT. - Problem: The copyright file attributes the fonts and VGA palette to mojontwins under MIT alone, contradicting the file's own header, and omits Mattias Gustavsson as holder.
- Fix: Add a Files stanza for src/fonts.h with
Copyright: 2015-2021 Mattias GustavssonandLicense: MIT or Unlicense.
blocker licensing 4. src/doslike/libs/awe32rom.h is a 1 MB third-party AWE32 soundfont blob with no licence, claimed as MIT by Files: * ◂
- Files:
src/doslike/libs/awe32rom.h:1,src/doslike/dos.h:272-273,debian/copyright:6-10 - Basis: checked, in the package or with a reference tool
- Evidence: src/doslike/libs/awe32rom.h:1
unsigned char awe32rom[ 1093878 ] = {82,73,70,70,...}, whose RIFF chunks readAweGROM v1.0,AWE32-style ROM patches without hardware ROM chips,Assembled by Skie,SBAWE32; the file has no comment, copyright or licence. dos.h:272QBLike: the built-in AWE32 General MIDI SoundFont (libs/awe32rom.h, 1 MB) is left out; the only other reference is the commented-out bin2arr call for aweromgm.sf2 at dos.h:3970. - Problem: A megabyte of third-party data with no licence and an undocumented provenance cannot be distributed: the wording shows it reproduces AWE32 ROM patch content, which would be Creative's, and it is not covered by Mattias Gustavsson's MIT/PD grant for dos-like, which ships it as data generated from aweromgm.sf2. The MIT claim in
Files: *is untrue for it as well. The build does not use the file, so nothing depends on keeping it. - Fix: Repack it out (Files-Excluded: src/doslike/libs/awe32rom.h in debian/copyright, then re-tar the .orig under the new +ds version) with a comment recording why, or establish and document a licence and holder if it is kept.
blocker licensing 5. DirectQB test data (ECLOGO.PCX and three .FNT fonts) has no licence, only a freeware statement ◂
- Files:
lib/directqb/tests/ECLOGO.PCX,lib/directqb/tests/HITECH.FNT,lib/directqb/tests/SCRIPT.FNT,lib/directqb/tests/SMALL.FNT,lib/directqb/README.md - Basis: checked, in the package or with a reference tool
- Evidence: lib/directqb/README.md, Credits:
DirectQB is freeware by Angelo Mottola - Enhanced Creations 1998-99. Its author asked games made with it to credit himandthe fonts and ECLOGO.PCX in tests come from the DirectQB package; no licence text accompanies them, and debian/copyright's only statement about them is the blanketFiles: */Copyright: 2026 mojontwins/License: MIT. - Problem: Freeware says something about price, not about the rights the DFSG requires: nothing permits distributing modified versions or, clearly, redistribution at all, and the files are third-party (Angelo Mottola), so the MIT claim in Files: * is wrong. They are only test fixtures, but they are part of the source package, which must be distributable.
- Fix: Find and document the terms under which DirectQB was released (the original package's licence or readme) and record holder and licence in debian/copyright; failing that, remove the four files from the repacked tarball and adjust lib/directqb/tests/mkdata.py and T_IO.BAS, which use HITECH.FNT and ECLOGO.PCX.
important packaging 6. Build bypasses dpkg-buildflags and the compiler variables: no hardening, no noopt, no cross-build ◂
- Files:
debian/rules:14-15,build_linux.sh:7-10 - Basis: checked, in the package or with a reference tool
- Evidence: debian/rules:14-15
override_dh_auto_build:thenbash -x build_linux.sh; build_linux.sh:7-10FLAGS=-O2 -DDISABLE_SCREEN_FRAME -DDISABLE_SYSTEM_CURSOR,LIBS=sdl2-config --libs --cflags-lGLEW -lGL -lm -lpthread,gcc $FLAGS -o qblike .... The hardening exports at debian/rules:5,8,11 are commented out and would not help anyway, since nothing passes CFLAGS or LDFLAGS to gcc. - Problem: The override never runs dh_auto_build and the script names gcc literally, so the binaries carry none of dpkg-buildflags' defaults (-O2 without -D_FORTIFY_SOURCE, no -fstack-protector-strong, no -Wl,-z,relro/now, no PIE), DEB_BUILD_OPTIONS=noopt and DEB_CFLAGS_MAINT_APPEND are ignored, and the host-prefixed compiler is never used, so the package cannot be cross-built. A blhc run reports the missing hardening.
- Fix: Have the script use the flags it is given: pass CPPFLAGS, CFLAGS and LDFLAGS from debian/rules (dh_auto_build supplies them from dpkg-buildflags), replace the literal gcc with the configured compiler, and move the two -D options into CPPFLAGS instead of hardcoding -O2.
important packaging 7. uscan reports a warning for debian/watch ◂
-
Files:
debian/watch -
Basis: found by the review tooling's own checks
-
Evidence:
In debian/watch no matching files for watch source https://api.github.com/repos/mojontwins/qblike/git/matching-refs/tags/ -
Problem: uscan must run without errors or warnings and find the upstream releases.
-
Fix: Correct
debian/watchso thatuscan --reportruns cleanly.
minor packaging 8. No manual pages for the installed programs qblike and qbrun ◂
- Files:
debian/install,debian/rules - Basis: checked, in the package or with a reference tool
- Evidence: debian/install installs
qbrun usr/binandqblike usr/bin; there is no debian/manpages, no section 1 page in the tree, and debian/rules adds none from the built-in help, although qblike --help-dump exists (tools/help2md.py consumes it). - Problem: Policy 12.1: each program should have an associated manual page in the same package or a dependency, and the lack is considered a bug.
- Fix: Ship qblike.1 (and qbrun.1, or a symlink, since both are in the package) and list it in debian/manpages, or generate one from the help dump.
Verified ◂
- Coverage: 66 upstream files (top-level .md files, build_linux.sh, build_macos.sh, build_windows.bat, examples/, lib/directqb/, src/, src/doslike/, tools/) and every file of debian/ except watch, which is out of scope; .pc/ and debian/cargo-checksum.json were not read.
- debian/copyright is DEP-5 (Format line exact), and its
Files:then*layout is the form shown in copyright-format 5.2, so there is no format issue. No Files-Excluded field and no patches. - Binary test data: lib/directqb/tests/T_ANIM.FLI, T_DATA.DQB and T_SOUND.WAV are the outputs of lib/directqb/tests/mkdata.py, which writes exactly those three names at its end; HITECH.FNT is read by it as input.
- Wording the scan called commercial-use restrictions is permission, not restriction: debian/copyright:43 and the matches in src/doslike/dos.h, src/doslike/libs/app.h, crtemu_pc.h, dr_wav.h, frametimer.h, gif_load.h, mus.h, pixelfont.h, stb_textedit.h and thread.h are the Unlicense or MIT-or-public-domain grant, for any purpose, commercial or non-commercial, from dos-like and from those vendored headers. The match at src/doslike/dos.h:1456 is the Graphics Gems notice, reported above.
- src/doslike/libs/crtframe.h is a generated C array holding the dos-like CRT-frame GIF (crtframealpha, a GIF87a stream); the bytes are the image data itself and the file is covered by the dos-like stanza, so nothing is missing for modification.
- src/doslike/libs/awe32rom.h is referenced only by the commented-out bin2arr call at src/doslike/dos.h:3970, and dos.h:272 records it as left out of the build.
- Globs in debian/docs (all .md files) and debian/examples (examples/) are expanded by debhelper: dh_installdocs and dh_installexamples call filearray() with glob_expand_error_handler_reject at this compat level, so examples/ installs the eight .BAS files and not a nested examples directory.
- File > Make EXE finds the runtime next to the running binary (src/exepack.c:157-171), and debian/install puts qblike and qbrun in /usr/bin together, so that feature works from the package.
- Standards-Version 4.7.4 matches Policy 4.7.4.1 (first two components) and is current; the changelog distribution is unstable, correct for an initial upload, and the weekday in its timestamp matches.
- There are no maintainer scripts, maintscripts, tests/control, gbp.conf or lintian overrides under debian/; Build-Depends (libsdl2-dev, libglew-dev which brings libgl-dev for -lGL) covers what build_linux.sh links.
Not confirmed ◂
- Whether awe32rom.h really contains Creative AWE32 ROM content; only its own RIFF metadata (AWE32-style ROM patches) says so, and the originating aweromgm.sf2 is not in the package.
- Whether DirectQB 1.61 shipped a licence file granting redistribution and modification; the original package is not in the tree and no URL in it may be fetched.
- The version
0+git20261108+ds-1says the upstream tarball was repacked, butdebian/copyrighthas noFiles-Excludedanddebian/watchdoes no repacking, so how it was repacked could not be established. debian/watchlooks atgithub.com/mojontwins/@package@, but theSourcefield ofdebian/copyrightnamesgithub.com/mojontwins/qblike. Whether these are the same upstream was not checked.debian/watchlooks atgithub.com/mojontwins/@package@, butRepositoryindebian/upstream/metadatanamesgithub.com/mojontwins/qblike. Whether these are the same upstream was not checked.- What these files are. The scan made before the review picked them out (built files, minified code, archives, licence wording that is rarely free, or licences that are not accepted), and this report does not mention them:
src/doslike/libs/crtemu_pc.h:1374(terms restricting commercial use);src/doslike/libs/frametimer.h:303(terms restricting commercial use);src/doslike/libs/mus.h:322(terms restricting commercial use);src/doslike/libs/pixelfont.h:507(terms restricting commercial use);src/doslike/libs/thread.h:1572(terms restricting commercial use).
Proposed changes ◂
None.
Uploader's response to the LLM review
Waiting for the uploader's response until , because the review found serious issues.