scala-debian-helper 0.1
Package Information
| Description | debhelper 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. |
|---|---|
| Maintainer | Debian Java Maintainers <pkg-java-maintainers@lists.alioth.debian.org> |
| Changed By | Juan Manuel Méndez Rey <juan.mendezr@proton.me> |
| Sponsor | tsimonq2@debian.org |
| Distribution | unstable |
| Architecture | all |
| VCS | git: https://salsa.debian.org/java-team/scala-debian-helper.git (browse) |
| Closes | #1152350 |
| Tracker | https://tracker.debian.org/pkg/scala-debian-helper |
| Uploaded | 3 hours ago |
New Package Report
.changes
| Changed-By | Juan Manuel Méndez Rey <juan.mendezr@proton.me> |
|---|---|
| Architecture | source all |
| Distribution | unstable |
| Date | Sat, 03 Oct 2026 03:48:36 +0200 |
| Source | scala-debian-helper |
| Version | 0.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
| Component | main |
|---|---|
| Package-List | dh-make-scala deb devel optional arch=all scala-debian-helper deb devel optional arch=all |
| Section | devel |
| Priority | optional |
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/copyrightis 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-perland 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 withDepends: @, @builddeps@, pkg-perl-autopkgtestandTest-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
.perltidyrcstanza 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 expectsCopyright: 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/copyrightto /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 3andbuild-library crosscannot 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