DFSG NEW Queue

DFSG, Licensing & New Packages Team

qblike 0+git20261108+ds-1

Package Information

DescriptionQBasic 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.

MaintainerAlex Myczko <tar@debian.org>
Changed ByAlex Myczko <tar@debian.org>
Sponsortar@debian.org
Distributionunstable
Architectureany
VCSgit: https://salsa.debian.org/debian/qblike.git (browse)
Closes#1153456
Trackerhttps://tracker.debian.org/pkg/qblike
Uploaded3 hours ago

New Package Report

.changes◂
DateSun, 08 Nov 2026 19:12:39 +0100
Sourceqblike
Version0+git20261108+ds-1
Changed-ByAlex Myczko <tar@debian.org>
Architecturesource arm64
Distributionunstable
Changelog◂
qblike (0+git20261108+ds-1) unstable; urgency=medium
 .
   * Initial release. (Closes: #1153456)
.dsc◂
Sectioninterpreters
Priorityoptional
Componentmain
Package-Listqblike 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/copyright is 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:16 LICENSE (ZLIB) and Copyright (C) 2017, 2018, 2020 Bernhard Schelling; opl.h:2863 BSD 3-Clause License, Copyright (c) 2021, Aaron Giles, and opl.h:2901 Copyright (C) 2015-2016 Mateusz Viste under a BSD-2-Clause grant; dr_wav.h:7888 choice of public domain or MIT-0, Copyright 2020 David Reid; jar_mod.h:1 public domain C0 - Joshua Reisenauer and :52 WTFPL version 2, written by Jean-Francois DEL NERO; tsf.h:24-25 Bernhard Schelling and Steve Folta (SFZero); opblib.h:13 Copyright (c) 2021 Eniko Fox/Emma Maassen; stb_textedit.h:1394 Copyright (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 * LICENSE followed 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., above void floodfill( int x, int y ), headed by Paul Heckbert and from 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 Heckbert in 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 at src/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 to Files: * / 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 Gustavsson and License: 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 read AweGROM v1.0, AWE32-style ROM patches without hardware ROM chips, Assembled by Skie, SBAWE32; the file has no comment, copyright or licence. dos.h:272 QBLike: 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 him and the 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 blanket Files: * / 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: then bash -x build_linux.sh; build_linux.sh:7-10 FLAGS=-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/watch so that uscan --report runs 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/bin and qblike 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-1 says the upstream tarball was repacked, but debian/copyright has no Files-Excluded and debian/watch does no repacking, so how it was repacked could not be established.
  • debian/watch looks at github.com/mojontwins/@package@, but the Source field of debian/copyright names github.com/mojontwins/qblike. Whether these are the same upstream was not checked.
  • debian/watch looks at github.com/mojontwins/@package@, but Repository in debian/upstream/metadata names github.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.

Back to Dashboard | View all reviews for this package