DFSG NEW Queue

DFSG, Licensing & New Packages Team

scala-debian-helper 0.1

Package Information

Descriptiondebhelper build system for Scala libraries

scala-debian-helper builds Scala libraries for Debian without sbt. A short debian/scala-build file lists, for each artifact and Scala binary version (2.12, 2.13 or 3), the source directories, the compiler options copied from upstream's build.sbt and the dependencies, given as Maven coordinates resolved in /usr/share/maven-repo. scala-debian-helper compiles the Scala and Java sources with the Scala compiler from the archive, writes reproducible jars and installs them with maven-repo-helper under their Maven artifact names (such as scala-xml_2.13).

To use it, build-depend on dh-sequence-scala and the Scala compiler package, and call "dh $@ --buildsystem=scala" in debian/rules.

MaintainerDebian Java Maintainers <pkg-java-maintainers@lists.alioth.debian.org>
Changed ByJuan Manuel Méndez Rey <juan.mendezr@proton.me>
Sponsortsimonq2@debian.org
Distributionunstable
Architectureall
VCSgit: https://salsa.debian.org/java-team/scala-debian-helper.git (browse)
Closes#1152350
Trackerhttps://tracker.debian.org/pkg/scala-debian-helper
Uploaded3 hours ago

New Package Report

.changes◂
Changed-ByJuan Manuel Méndez Rey <juan.mendezr@proton.me>
Architecturesource all
Distributionunstable
DateSat, 03 Oct 2026 03:48:36 +0200
Sourcescala-debian-helper
Version0.1
Changelog◂
scala-debian-helper (0.1) unstable; urgency=medium
 .
   * Initial release. (Closes: #1152350)
   * Add dh-make-scala, a generator of Scala library packages from Maven
     Central POMs and upstream git tags, as a second binary package.
.dsc◂
Componentmain
Package-Listdh-make-scala deb devel optional arch=all
scala-debian-helper deb devel optional arch=all
Sectiondevel
Priorityoptional
debian/copyright◂
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: scala-debian-helper

Files: *
Copyright: 2026 Juan Manuel Méndez Rey <juan.mendezr@proton.me>
License: GPL-3+

Files:
 lib/Debian/DhScala/Make/Copyright.pm
 t/lib.pl
 t/make-copyright.t
 t/make-package.t
 t/make.expected/debian/copyright
Copyright: 2026 Juan Manuel Méndez Rey <juan.mendezr@proton.me>
License: GPL-3+
Comment: These files are not under the Apache-2.0, BSD-3-clause or EPL-1.0
 licences that licensecheck finds in them. Copyright.pm holds the Apache-2.0
 header text that dh-make-scala writes into the debian/copyright of the
 packages it generates. t/lib.pl builds a fictional upstream project for the
 tests, with the holder "Example Corp." and an Apache-2.0 header;
 t/make.expected/debian/copyright is the debian/copyright expected for that
 project, and t/make-package.t checks it. t/make-copyright.t builds a
 fictional project with a BSD-3-clause LICENSE and checks the licence names
 and paragraphs dh-make-scala writes.

Files: .perltidyrc
Copyright: 2021-2025 Russ Allbery <eagle@eyrie.org>
 2012-2013 The Board of Trustees of the Leland Stanford Junior University
License: FSFAP
Comment: From rra-c-util (https://www.eyrie.org/~eagle/software/rra-c-util/),
 as used by dh-golang.

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 <https://www.gnu.org/licenses/>.
 .
 On Debian systems, the complete text of the GNU General Public
 License version 3 can be found in "/usr/share/common-licenses/GPL-3".

License: FSFAP
 Copying and distribution of this file, with or without modification, are
 permitted in any medium without royalty provided the copyright notice and
 this notice are preserved.  This file is offered as-is, without any
 warranty.

DFSG Assistant LLM REVIEW 0 blocker, 0 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 2 hours ago.

Report◂

DFSG NEW review for scala-debian-helper version 0.1

Summary

  • Licensing is DFSG-compliant and debian/copyright is accurate: Yes
  • Packaging is of good quality: Yes
  • Issues: 0 blocker, 0 important, 1 minor
  • debian/watch: absent (native package)
  • debian/copyright: machine-readable
  • Scan before the review: nothing found

Licensing

debian/copyright is DEP-5 and covers the whole tree: Files: * gives GPL-3+, 2026 Juan Manuel Mendez Rey for the package's own code, a late stanza gives .perltidyrc its real holders (Russ Allbery, Leland Stanford Junior University) and FSFAP with the full permission text, and a stanza with a Comment covers the five files that embed third-party licence wording as test data. No file has a contradicting notice, there is no non-free term, and the only third-party file (.perltidyrc, from rra-c-util) is freely modifiable and its text is reproduced. The holders the prescan reported are fictional names in test fixtures.

Packaging

Debhelper compat 14 with a two-package arch:all split, Build-Depends-Indep with <!nocheck> on test-only tools, complete runtime Depends, no maintainer scripts, install/manpages/docs/examples files that match the tree, five autopkgtests, a sane initial changelog, correct Vcs fields and a current Standards-Version (4.7.4 against Policy 4.7.4.1). The man pages are built from the shipped POD with a fixed date. One minor thing is wrong: Testsuite: autopkgtest-pkg-perl cannot produce the pkg-perl test suite here, so debian/tests/pkg-perl/smoke-files is dead.

Issues

1. [minor] [packaging] Testsuite: autopkgtest-pkg-perl generates no tests: autodep8 needs Makefile.PL or Build.PL, which this source has neither of

  • Files: debian/control:17, debian/tests/pkg-perl/smoke-files, t/build.t:32
  • Basis: checked, in the package or with a reference tool
  • Evidence: /usr/share/autodep8/support/perl/detect is test \( -d t -o -f test.pl \) -a \( -f Makefile.PL -o -f Build.PL \); the tree has t/ but no Makefile.PL and no Build.PL, and it ships its own debian/tests/control.
  • Problem: The pkg-perl autopkgtest suite is generated by autodep8 from the Testsuite field only for sources that pass that check (the autopkgtest control specification states the same: a t/ directory and Makefile.PL or Build.PL), and autopkgtest only uses the implicit control file when debian/tests/control is absent. So the declared suite is never run: the t/ tests are not run against the installed modules as README.md and t/build.t:32 say, and debian/tests/pkg-perl/smoke-files (t/, examples/, debian/changelog) is used by nothing.
  • Fix: Drop Testsuite: autopkgtest-pkg-perl and debian/tests/pkg-perl/ (the package's own debian/tests/control is what runs), or, if the installed-module run is wanted, add it explicitly to debian/tests/control with Depends: @, @builddeps@, pkg-perl-autopkgtest and Test-Command: /usr/share/pkg-perl-autopkgtest/runner build-deps.

Verified

  • Inventoried all 95 paths; read debian/ in full, both .pod sources, the heads of every lib/ module, dh_scala, dh-make-scala, smoke/ and the test fixtures, and searched the whole tree for licence/copyright wording and for loaded modules and executed commands.
  • debian/copyright begins with the exact DEP-5 Format URL. Files: * (GPL-3+, 2026 Juan Manuel Mendez Rey) covers every path not named later, debian/* included; every module and script carries the same GPL-3+ header.
  • The later .perltidyrc stanza matches that file: 2021-2025 Russ Allbery eagle@eyrie.org, 2012-2013 The Board of Trustees of the Leland Stanford Junior University, SPDX FSFAP; FSFAP is not in /usr/share/common-licenses, and its full permission text is in the License: FSFAP paragraph. The file is a modified copy of rra-c-util's, which FSFAP allows.
  • The prescan holders are fictional test data: t/lib.pl:158-161 (fixture_upstream_repo) write Copyright 2020 Example Corp. into a temporary tree, t/make-package.t:238 asserts it from licensecheck, t/make-copyright.t:23,61 use an EPFL BSD-3-clause LICENSE as a fixture, and t/make.expected/debian/copyright:13 expects Copyright: 2026 A B <a@example.org> in generated output. Those files are the uploader's own; debian/copyright:8-19 declares them GPL-3+ with a Comment explaining the embedded Apache-2.0/BSD/EPL wording.
  • lib/Debian/DhScala/Make/Copyright.pm embeds hand-written licence-name tables and the standard Apache-2.0 header string, not copied third-party code; nothing in lib/ is vendored from debhelper, dh-golang or licensecheck.
  • No non-free terms anywhere; GPL-3+ combined with FSFAP is fine; no file lacks a licence and none lacks its preferred form (there are no built files, images, fonts or generated sources in the tree).
  • Runtime Depends cover what the installed code loads: Archive::Zip, Dpkg::* (libdpkg-perl), XML::LibXML, HTTP::Tiny with libio-socket-ssl-perl/libnet-ssleay-perl/ca-certificates, debhelper, maven-repo-helper and default-jdk-headless for the build system; git, licensecheck, xz-utils, libdpkg-perl for dh-make-scala; apt-file is only a Recommends, used by estimate.
  • Build-Depends(-Indep) match actual use and the test-only tools are <!nocheck> (git, licensecheck, xz-utils, libfile-stripnondeterminism-perl); the build itself compiles nothing, only generating man pages with pod2man from perl.
  • debhelper 14.5 on the reviewing system provides debhelper-compat (= 14), the recommended level, so debhelper-compat (= 14) is satisfiable; Policy is 4.7.4.1, so Standards-Version 4.7.4 is current.
  • At compat 14 dh skips override_dh_auto_test on nocheck by itself, so the explicit ifeq is redundant but harmless; dh_missing --fail-missing only sees files in debian/tmp, which this build leaves empty, so t/, the .pod files and the dotfiles are not a missing-file failure.
  • Source format 3.0 (native), version 0.1, distribution unstable, changelog date Sat 2026-10-03 is a real Saturday; no maintainer scripts; the install/manpages/docs/examples files match the installed layout; the one lintian override (Depends: debhelper) is justified for a debhelper add-on providing dh-sequence-scala.
  • scala-2.13 and scala-library-2.13 are not in the archive lists but are built by source package scala-2.13 waiting in NEW, so the autopkgtest Depends on them is not a fault.
  • Coverage limit: t/*.t other than build.t and make-copyright.t, the bodies of most lib/ modules and the contents of the example trees were searched, not read line by line; no additional copyright holders, licence names or external commands surfaced.
  • There is no debian/watch, and the package is native, so none is needed.
  • Every pointer of debian/copyright to /usr/share/common-licenses names a file that is there (GPL-3).

Not confirmed

  • scala3 is in neither the archive lists nor the NEW queue, yet two autopkgtest stanzas depend on it; if it is not accepted, build-library 3 and build-library cross cannot run.
  • Whether examples/scala-xml-2.12/rules.before is entirely the uploader's own work: it is presented as the hand-written rules it replaced in scala-xml-2.12, and debian/copyright attributes it (through Files: *) to the uploader, which I could not check against another source.

Proposed changes

None.

Uploader's response to the LLM review

This looks like a false positive.

TestSuite: autopkgtest-pkg-perl in debian/control makes autodep8 generate perl tests without Makefile.PL
Also, autodep8-perl-build-deps runs t/ against the installed modules, so all the 169 tests pass.

— Juan Manuel Méndez Rey (mendezr), 2 hours ago

Back to Dashboard | View all reviews for this package