Review: nestopia 2.0.0-1
Package Information
| Description | Nintendo Entertainment System/Famicom emulator Nestopia is a cycle-accurate NES/Famicom emulator. It has a high compatibility rate and support for many peripherals and input devices. Features: * Save states * Movie recording * Game rewinding * GUI or command line interface * Emulation of NTSC, PAL, and Dendy systems * Support for NES Zapper games * Support for Famicom Disk System games |
|---|---|
| Maintainer | Debian Games Team <pkg-games-devel@lists.alioth.debian.org> |
| Changed By | Stephen Kitt <skitt@debian.org> |
| Sponsor | skitt@debian.org |
| Distribution | unstable |
| Architecture | any |
| VCS | git: https://salsa.debian.org/games-team/nestopia.git (browse) |
| Popcon Installs | 322 |
| Binary NEW | Yes (binary-only upload) |
| Tracker | https://tracker.debian.org/pkg/nestopia |
| Uploaded | 3 days ago |
New Package Report
.changes
| Source | nestopia |
|---|---|
| Version | 2.0.0-1 |
| Changed-By | Stephen Kitt |
| Architecture | source amd64 |
| Distribution | unstable |
| Date | Sun, 27 Sep 2026 18:44:58 +0200 |
Changelog
nestopia (2.0.0-1) unstable; urgency=medium
.
* New upstream release. Nestopia is now a Jolly Good plugin; the
nestopia package ships the plugin bundled with the QTea frontend, and
the new nestopia-jg package ships the plugin as a shared object,
usable with a frontend such as jollygood.
* Drop “Priority: optional” since it’s now the default.
* Drop “Rules-Requires-Root: no” since it’s now the default.
* Standards-Version 4.7.4, no further change required.
* Bump to debhelper compatibility level 14..dsc
| Priority | optional |
|---|---|
| Component | main |
| Package-List | nestopia deb games optional arch=any nestopia-jg deb games optional arch=any |
| Section | games |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: Nestopia UE
Source: <http://0ldsk00l.ca/nestopia>
Files: *
Copyright: 2003-2008 Martin Freij
2008-2018 Nestopia UE Contributors
2018 Phil Smith
2020-2026 Rupert Carmichael
License: GPL-2.0+
Files: nes_ntsc/*
Copyright: 2006-2007 Shay Green
License: LGPL-2.1+
Files: debian/*
Copyright: 2011-2018, 2020-2022, 2024-2026 Stephen Kitt <skitt@debian.org>
License: GPL-2.0+
License: GPL-2.0+
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 2 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.
.
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 complete text of the GNU General
Public License version 2 can be found in
"/usr/share/common-licenses/GPL-2".
License: LGPL-2.1+
This module 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 module 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
<http://www.gnu.org/licenses/>.
.
On Debian systems, the complete text of the GNU Lesser General Public
License version 2.1 can be found in
"/usr/share/common-licenses/LGPL-2.1".
Review Information
rejected — allocated to awm 2 days ago, started 2 days ago, completed 2 days ago.
Final Comment
Hi,
I've broken the issues into DFSG-issues and Packaging issues. While various of these are minor, not all of them are, and overall they contribute to a reject. I'm fairly easily persuaded that some of these have to be the way they are because of ... so by all means explain to
Licensing / DFSG
- The shipped binary bundles QTea, but debian/copyright never accounts for it (main issue).
The nestopia binary is not just Nestopia — it's a static build of the QTea frontend with the Nestopia core linked in (debian/rules:30-31 builds from /usr/share/qtea via qtea-src). Yet debian/copyright only covers , nes_ntsc/, and debian/* (lines 5-18). QTea is a separate project with its own copyright holders/license, and since it's statically linked into the distributed binary, the actual effective license of the shipped artifact is undocumented. This matters for DFSG: if QTea is e.g. GPL-3.0-only, the combination with the GPL-2.0-or-later core is only possible by relicensing the whole to GPL-3.0, and the copyright file should say so. As written, the licensing documentation is incomplete for the actual binary being distributed.
Since QTea is in Debian now (as of a few days ago) this should use the Debian version of QTea.
- nes_ntsc/test.bmp (62 KB binary) has undocumented provenance.
It's swept under the nes_ntsc LGPL-2.1+ claim (debian/copyright:12-14), but a binary test image has no license/provenance info in-tree, so it can't be confirmed as free. Worth verifying it isn't a copyrighted screenshot before considering the source DFSG-clean.
ROr you can just exclude it, if that's all too hard and the screenshot doesn't have great value.
- jg_compat.h (top-level) is from the separate Jolly Good API project and has no copyright/license header.
debian/copyright:5-10 claims it under GPL-2.0+ via the Files: * glob without verification. Minor, but a bundled third-party header whose license is unverified.
Since JG is also in Debian that copyright should be known, or - potentially - a build dependency.
Packaging quality
- Stale upstream metadata / homepage.
debian/upstream/metadata points to github.com/rdanbrook/nestopia (Repository, Repository-Browse, Bug-Database), but the project has moved — debian/watch:3 and README both say the repo now lives at gitlab.com/jgemu/nestopia. Similarly, Homepage: in debian/control:12 still references the old 0ldsk00l.ca site. The metadata was not updated for the 2.0.0 Jolly Good transition.
- debian/rules:30 uses mkdir build without -p.
Fails if build/ already exists. It's nominally covered by debian/clean, but mkdir -p would be more robust.
- Inconsistent doc-file cleanup.
The upstream DOCS (ChangeLog, COPYING, README — Makefile) are pruned three different ways: ChangeLog via debian/not-installed, COPYING/LICENSES via manual rm in debian/rules:39-41. Works, but the approach is inconsistent.
- debian/nestopia.install:3 explicitly installs usr/share/doc.
Debhelper already handles the doc directory automatically (copyright, changelog); explicitly globbing the whole usr/share/doc tree is redundant and can pull in unintended files.
Minor/notes (not blockers): nestopia-jg (control:33) declares no ${misc:Depends}/${shlibs:Depends} for its .so plugin; the copyright file lists "2018 Phil Smith" who isn't in the upstream LICENSES/README copyright notices.
Bottom line: The core Nestopia (GPL-2.0+) and nes_ntsc (LGPL-2.1+) licensing is correctly and DFSG-compatibly declared. The main licensing gap is the statically-linked QTea frontend not being reflected in debian/copyright, and the unverified test.bmp/jg_compat.h provenance. On packaging, the stale upstream/metadata + homepage and the fragile mkdir build are the clearest quality issues.
Hope that's useful :-)
Thanks!
Other Reviews of this Package
| Version | Hash | Allocated | Completed | Reviewer | Status | Details |
|---|---|---|---|---|---|---|
| 2.0.0+dfsg-1 | 23cd8083… | 2026-09-30 06:57 | awm | started | VIEW |