scala-2.13 2.13.18+ds2-1
Package Information
| Description | compiler and tools for the Scala 2.13 programming language Scala is a programming language that scales with you: from small scripts to large multiplatform applications. This package provides the Scala 2.13 compiler (scalac), runner and interactive shell (scala), the documentation tool (scaladoc), the fast offline compiler (fsc) and the class-file decoder (scalap). It can be installed together with the Scala 2.12 package (scala); the commands are also available as scalac-2.13, scala-2.13, and so on. It is built from source with no sbt, by a two-pass self-hosting build. |
|---|---|
| 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-2.13.git (browse) |
| Closes | #1149766 |
| Tracker | https://tracker.debian.org/pkg/scala-2.13 |
| Uploaded | 3 hours ago |
New Package Report
.changes
| Architecture | source all |
|---|---|
| Distribution | unstable |
| Date | Wed, 28 Oct 2026 14:42:53 +0100 |
| Source | scala-2.13 |
| Version | 2.13.18+ds2-1 |
| Changed-By | Juan Manuel Méndez Rey <juan.mendezr@proton.me> |
Changelog
scala-2.13 (2.13.18+ds2-1) unstable; urgency=medium
.
* Initial release. (Closes: #1149766)
* Repack to drop spec/, a CI script and a test taken from Stack
Overflow..dsc
| Package-List | scala-2.13 deb devel optional arch=all scala-library-2.13 deb devel optional arch=all |
|---|---|
| Section | devel |
| Priority | optional |
| Component | main |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: scala
Upstream-Contact: https://github.com/scala/bug
Source: https://github.com/scala/scala
Comment:
The upstream tarball is repacked (+ds2). Files-Excluded, none of it used
by the build:
- native test fixtures and sbt-test jars: no source in the tree;
- spec/: the language specification, not built; it has a minified
highlight.js, non-free Luxi fonts, an encrypted CI key and a
stylesheet from an unlicensed gist;
- admin/files/scala-key.asc.enc: encrypted key of upstream's release CI;
- scripts/readproperties.awk: from a 2010 Stack Overflow answer
(CC-BY-SA-2.5, not DFSG free), upstream CI only;
- test/macro-annot/run/repl: test code from a Stack Overflow question
(CC-BY-SA-3.0); the test suite is not run.
.
Only the compiler and standard library JARs are shipped. The web fonts
below are scaladoc resources, documented for completeness.
Files-Excluded:
test/files/jvm/libnatives-32.so
test/files/jvm/libnatives-64.so
test/files/jvm/natives-32.dll
test/files/jvm/natives-64.dll
test/files/jvm/libnatives-x86.jnilib
test/files/jvm/libnatives-arm.jnilib
test/sbt-test/source-dependencies/canon/actual/a.jar
test/sbt-test/source-dependencies/canon/lib/a.jar
admin/files/scala-key.asc.enc
spec
scripts/readproperties.awk
test/macro-annot/run/repl
Files: *
Copyright: 2002-2025 EPFL
2002-2025 LAMP/EPFL
2009-2010 EPFL/LAMP
EPFL and Lightbend, Inc. dba Akka
EPFL and Lightbend, Inc.
2011-2025 Lightbend, Inc. dba Akka
2012-2014 Lightbend Inc. <http://www.lightbend.com>
2009-2015 Typesafe Inc. <http://www.typesafe.com>
2014 Contributor.
License: Apache-2.0
Comment:
The holder spellings above are the ones used in the source headers. A few
test files say "Copyright (c) 2014 Contributor." with no licence of their
own; they were contributed to the Scala project under its Apache-2.0
licence and contributor agreement. The CompletionLatch class in
src/library/scala/concurrent/impl/Promise.scala says it is inspired by
Doug Lea's public domain AbstractQueuedSynchronizer; the file itself is
under the Scala header. The files marked "imported from
scalamacros/paradise" come from the macro paradise plugin, whose only
holder is EPFL (BSD-3-clause, "Copyright (c) 2013-2015 EPFL"); EPFL
contributed them to Scala under Apache-2.0.
.
Provenance, licence unchanged: nsc/util/EditDistance.scala translates
Michael Gilleland's public domain Levenshtein code; patmat/Solving.scala
adapts an EPFL LARA course page; StringContext.glob reimplements
https://research.swtch.com/glob.
Files: src/reflect/scala/reflect/internal/util/AlmostFinalValue.java
Copyright: EPFL and Lightbend, Inc. dba Akka
Remi Forax
License: Apache-2.0
Comment:
The file says it is "Originally from the JSR-292 cookbook created by Remi
Forax" (the jsr292-cookbook project on the now closed Google Code,
published under the New BSD licence) and was since reworked by the Scala
team. Its
header is the Scala Apache-2.0 one; the original author is listed here.
Files: src/library/scala/math/BigInt.scala
Copyright: EPFL and Lightbend, Inc. dba Akka
2011 The Guava Authors
License: Apache-2.0
Comment:
The private longGcd method is adapted from Google Guava's LongMath.java,
whose notice the file quotes.
Files: src/sbt-bridge/*
Copyright: Scala Center, Lightbend dba Akka, and Mark Harrah
EPFL and Lightbend, Inc. dba Akka
License: Apache-2.0
Comment:
Compiler bridge for zinc (sbt's incremental compiler), kept in the Scala
tree. Not built by this package.
Files: test/tasty/neg/src-3/intent/Position.scala
Copyright: 2001-2013 Artima, Inc.
License: Apache-2.0
Comment: Test macro based on ScalaTest code, as stated in the file.
Files: test/jcstress/src/test/scala/example/APISample_01_Simple.scala
Copyright: 2016 Red Hat Inc.
License: GPL-2 with Classpath exception
Comment:
jcstress API sample used by upstream's concurrency stress tests; the
header says "GNU General Public License version 2 only" and that "Oracle
designates this particular file as subject to the Classpath exception".
Not built and not shipped.
Files: test/junit/scala/collection/StringParsersTest.scala
Copyright: EPFL and Lightbend, Inc. dba Akka
The Apache Software Foundation
License: Apache-2.0
Comment: Test strings taken from Apache Harmony's DoubleTest.java, as the file says.
Files: debian/*
Copyright: 2007-2009 Lex Spoon
2008-2009 Min Huang
2009-2011 Mehdi Dogguy
2015 Emmanuel Bourg <ebourg@apache.org>
2026 Juan Manuel Mendez Rey <juan.mendezr@proton.me>
License: BSD-3-clause
Comment:
The wrappers, maintainer scripts and poms are adapted from the scala
package (2.12), which carries these holders.
Files: src/scalap/scala/tools/scalap/scalax/rules/Memoisable.scala
src/scalap/scala/tools/scalap/scalax/rules/Result.scala
src/scalap/scala/tools/scalap/scalax/rules/Rule.scala
src/scalap/scala/tools/scalap/scalax/rules/Rules.scala
src/scalap/scala/tools/scalap/scalax/rules/SeqRule.scala
Copyright: 2005-2008 The Scalax Project.
License: BSD-3-clause
Comment:
Imported from Scalax, the Scala Community Library; the headers say
"released under the terms of the Revised BSD License". These files are
compiled into scalap.jar. The scalasig/ subdirectory next to them is
EPFL/Lightbend Apache-2.0 and is covered by Files: *.
Files: src/scaladoc/scala/tools/nsc/doc/html/resource/lib/lato-v11-latin-*
Copyright: 2010-2011 Lukasz Dziedzic
License: OFL-1.1
Comment:
Lato web font subset. The subset strips the copyright name record; the
holder is the one in Debian's fonts-lato package. The licence URL is kept
in the font (name ID 14).
Files: src/scaladoc/scala/tools/nsc/doc/html/resource/lib/source-code-pro-v6-latin-*
Copyright: Adobe Systems Incorporated
License: OFL-1.1
Comment:
Source Code Pro web font subset. The subset carries no copyright record,
only a link to Adobe's type licensing page (name ID 14); the holder and the
OFL 1.1 come from the upstream Adobe Source Code Pro project. No years are
given because the subset does not state them.
Files: src/scaladoc/scala/tools/nsc/doc/html/resource/lib/open-sans-v13-latin-*
Copyright: 2010-2011 Google Corporation
License: Apache-2.0
Comment:
Open Sans web font subset; the font carries the Apache-2.0 licence URL
(name ID 14). Holder from the upstream Open Sans project.
Files: src/scaladoc/scala/tools/nsc/doc/html/resource/lib/MaterialIcons-Regular.*
Copyright: 2015 Google, Inc.
License: Apache-2.0
Comment: Material Icons font; holder as stated in the font itself.
Files: doc/licenses/mit_jquery.txt
Copyright: JS Foundation and other contributors
License: Expat
Comment: License text bundled by upstream for the jQuery library.
Files: doc/licenses/bsd_asm.txt
Copyright: 2000-2011 INRIA, France Telecom
License: BSD-3-clause
Comment: License text bundled by upstream for the ASM library.
Files: doc/licenses/bsd_jline.txt
Copyright: 2002-2018 the original author or authors.
License: BSD-3-clause-jline
Comment: License text bundled by upstream for the JLine 3 library.
License: Apache-2.0
Licensed under the Apache License, Version 2.0 (the "License"); you may
not use this file except in compliance with the License. You may obtain
a copy of the License at
.
http://www.apache.org/licenses/LICENSE-2.0
.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
.
On Debian systems, the complete text of the Apache License Version 2.0
can be found in "/usr/share/common-licenses/Apache-2.0".
License: Expat
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: BSD-3-clause
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
.
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
.
3. Neither the name of the copyright holders nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
THE POSSIBILITY OF SUCH DAMAGE.
License: BSD-3-clause-jline
Redistribution and use in source and binary forms, with or
without modification, are permitted provided that the following
conditions are met:
.
Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
.
Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with
the distribution.
.
Neither the name of JLine nor the names of its contributors
may be used to endorse or promote products derived from this
software without specific prior written permission.
.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.
License: OFL-1.1
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is available with a FAQ at: https://openfontlicense.org
.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The fonts,
including any derivative works, can be bundled, embedded, redistributed
and/or sold with any software provided that any reserved names are not used
by derivative works. The fonts and derivatives, however, cannot be released
under any other type of license. The requirement for fonts to remain under
this license does not apply to any document created using the fonts or
their derivatives.
.
On Debian systems, the complete text of the SIL Open Font License version
1.1 can be found in "/usr/share/common-licenses/OFL-1.1".
License: GPL-2 with Classpath exception
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation.
.
This code 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
version 2 for more details.
.
On Debian systems, the complete text of the GNU General Public License
version 2 can be found in "/usr/share/common-licenses/GPL-2".
.
Classpath exception:
.
Linking this library statically or dynamically with other modules is
making a combined work based on this library. Thus, the terms and
conditions of the GNU General Public License cover the whole combination.
.
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent modules,
and to copy and distribute the resulting executable under terms of your
choice, provided that you also meet, for each linked independent module,
the terms and conditions of the license of that module. An independent
module is a module which is not derived from or based on this library. If
you modify this library, you may extend this exception to your version of
the library, but you are not obligated to do so. If you do not wish to do
so, delete this exception statement from your version.
DFSG Assistant LLM REVIEW 0 blocker, 1 important, 2 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 scala-2.13 version 2.13.18+ds2-1
Summary
- Licensing is DFSG-compliant and
debian/copyrightis accurate: Yes - Packaging is of good quality: No
- Issues: 0 blocker, 1 important, 2 minor
- debian/watch: version 5
- debian/copyright: machine-readable
- Scan before the review: 11 found
Licensing
debian/copyright is DEP-5 with the correct Format URL, a Files: * stanza for the EPFL/Lightbend Apache-2.0 code and separate stanzas for every third-party group I could find: the five Scalax files in scalap (BSD-3), the scaladoc web fonts (Lato and Source Code Pro under OFL-1.1, Open Sans and Material Icons under Apache-2.0), the jcstress OpenJDK sample (GPL-2 with Classpath exception), the Artima/ScalaTest, Apache Harmony and Guava bits, doc/licenses/* and debian/*. The non-free upstream material (spec/, scripts/readproperties.awk, test/macro-annot/run/repl) is named in Files-Excluded and is absent from the tree, and a sweep of the tree for licence wording found no other licence and no non-free terms. No missing holder, missing licence text or generated file without its source was found.
Packaging
Most of the packaging is careful and documented: a sbt-free two-pass self-hosted build with a checksummed stage-0 bootstrap in README.source, update-alternatives for the versioned commands, Maven POMs via maven-repo-helper, DEP-3 patches, an autopkgtest and current Standards-Version. But debian/maven.rules rewrites the POMs' own version to 2.13.x, so maven-repo-helper installs the jars as scala-library/reflect/compiler-2.13.x.jar while debian/rules and all five wrappers still name scala-library-2.13.18.jar and the 2.13 series links; the links dangle and the commands cannot start. There are also two smaller problems (the changelog targets unstable although the package's own README says the bootstrap must start in experimental, and the rebuilt jars lose upstream's Automatic-Module-Name).
Issues
1. [important] [packaging] maven.rules rewrites the jars' own version to 2.13.x, so dh_link and every command wrapper point at jars that are never installed
- Files:
debian/maven.rules:1,debian/scala-library-2.13.poms:1-2,debian/scala-2.13.poms:1,debian/rules (execute_after_dh_link),debian/scalac:4,debian/scala-runner:4,debian/scaladoc:4,debian/fsc:4,debian/scalap-wrapper:4 - Basis: checked, in the package or with a reference tool
- Evidence:
debian/maven.rules:1isorg.scala-lang * * s/2\.13\..*/2.13.x/ * *. maven-repo-helper's own reference (/usr/share/doc/maven-repo-helper/reference.html) gives the rule format<groupId> [artifactId] [type] [version] [classifier] [scope]and says rules alter "the version properties for the library and its dependencies"; the option that keeps the original version is-k --keep-pom-version("keep the original version of the POM"), not--has-package-version, which only records a hint./usr/bin/mh_installjarinstalls with--java-libas/usr/share/java/$name-$version.jar,<version>being the version in the cleaned POM unless--usj-versionis given; the .poms lines here pass no--usj-version. Installed examples of the result:/usr/share/maven-repo/org/apache/maven/maven-artifact/3.x/with/usr/share/java/maven-artifact-3.x.jar, and/usr/share/java/plexus-compiler-api-2.x.jar. Meanwhiledebian/ruleslinksusr/share/java/scala-library-$(VERSION).jar(2.13.18) to ...-2.13.jar, and the wrappers use/usr/share/java/scala-library-2.13.jar. - Problem: The jars the build installs are named scala-library-2.13.x.jar, scala-reflect-2.13.x.jar and scala-compiler-2.13.x.jar, but the dh_link calls name scala-library-2.13.18.jar etc. dh_link does not check that its target exists, so it silently ships dangling links scala-library-2.13.jar -> scala-library-2.13.18.jar (same for reflect and compiler); every /usr/bin command starts
java -cp /usr/share/java/scala-library-2.13.jar:..., so scalac, scala, scaladoc, fsc and scalap cannot find scala.tools.nsc.Main and the smoke autopkgtest fails. debian/README.source states the intended names (scala-library-2.13.18.jar, scala-library-2.13.jar), so the rule and the rest of the packaging disagree. - Fix: Make the two ends agree: either keep the 2.13.x repository version for Maven and name the /usr/share/java jars with the real version by adding
--usj-version=$(VERSION)(generated, as the POMs already are) to the .poms lines, or drop the own-version rewrite and use 2.13.18 in the repository too; then keep dh_link, the wrappers and the shipped series links on whichever names result.
2. [minor] [packaging] The first changelog entry targets unstable, while debian/README.source says the bootstrap must start in experimental
- Files:
debian/changelog:1,debian/README.source ("This is a NEW package" paragraph),debian/control (Build-Depends) - Basis: checked, in the package or with a reference tool
- Evidence:
scala-2.13 (2.13.18+ds2-1) unstable; urgency=medium, but README.source says "the bootstrap takes three uploads: -1 stage0 source+binary to experimental, -2 source+binary to unstable, -3 source-only" and "This is a NEW package, and NEW throws away the binaries of an accepted upload"; the normal-profileBuild-Depends: scala-2.13 (>= 2.13~) <!pkg.scala.stage0>cannot be met from the archive until that binary exists, and buildds do not pass the stage0 profile. - Problem: The -1 source as written cannot be rebuilt in unstable: its own binary is the STARR it build-depends on, and the documented stage-0 route that breaks the cycle requires the experimental upload first. The distribution field contradicts the package's own build procedure.
- Fix: Target experimental for the -1 entry as README.source describes, and add the unstable entry when the bootstrap binaries exist, or remove the self-Build-Depends in favour of the stage-0 profile alone.
3. [minor] [packaging] The rebuilt jars drop upstream's Automatic-Module-Name, so they are not the scala.library / scala.reflect / scala.tools.nsc modules
- Files: debian/build-driver.sh (the
jar cfcalls),project/AutomaticModuleName.scala:16,build.sbt:459,build.sbt:510,build.sbt:543 - Basis: checked, in the package or with a reference tool
- Evidence: build-driver.sh assembles each jar with a bare
jar cf "$J/scala-library.jar" ., which writes only the default manifest, while upstream setsCompile / packageBin / packageOptions += Package.ManifestAttributes("Automatic-Module-Name" -> name)forscala.library,scala.reflectandscala.tools.nsc(project/AutomaticModuleName.scala, applied at build.sbt:459,510,543). - Problem: A jar on the module path without the attribute gets a name derived from the file name, so code that says
requires scala.libraryno longer resolves against Debian's scala-library; the jars are not interchangeable with upstream's for JPMS users. This is a behaviour difference from the jars the package claims to rebuild, not a style point. - Fix: Have build-driver.sh write META-INF/MANIFEST.MF with the corresponding Automatic-Module-Name for the library, reflect and compiler jars (package options were lost with sbt).
Verified
- Read every file of debian/ except debian/watch (checked separately): control, rules, changelog, copyright, README.source, build-driver.sh, make-stage0-deb, gbp.conf, lrc.config, maven.rules, the three POM templates, the two .poms lists, the two .docs files, the five command wrappers, postinst, prerm, source/format, tests/control, tests/smoke, upstream/metadata, the two patches and their series.
- debian/copyright is DEP-5 with the exact Format URL, Files: *, 13 further Files stanzas and a stand-alone paragraph for each of Apache-2.0, Expat, BSD-3-clause, BSD-3-clause-jline, OFL-1.1 and GPL-2 with Classpath exception; read in full.
- Licence sweep of the tree (with .pc/ and debian/ excluded): no SPDX tags anywhere;
Permission is hereby grantedonly in doc/licenses/mit_jquery.txt;Redistribution and use in sourceonly in doc/licenses/bsd_asm.txt and bsd_jline.txt; GNU GPL wording only in the jcstress APISample_01_Simple.scala; no MPL/EPL/CDDL/ISC/zlib/CC wording anywhere. Every src/ header sampled (library, reflect, compiler, interactive, repl, repl-frontend, scaladoc, scalap, manual, partest-javaagent, sbt-bridge) is the EPFL and Lightbend Apache-2.0 header, as are src/scalap/scala/tools/scalap/scalax/rules/scalasig/ScalaSig.scala and the five Scalax files named in the BSD-3 stanza. - The prescan's 11 suspected holders (Gilles Dubochet, Johannes Rudolph, 'spiros', Marcin Kubala, Felix Mulder, Grzegorz Kossakowski, Martin Odersky, Paul Phillips, Stephane Micheloud, Carlos Loria, Lex Spoon) are all credited inside the EPFL/LAMP headers or are authors, not separate copyright holders; EPFL and LAMP/EPFL are both in Files: *.
- All Files-Excluded entries are absent from the tree: no spec/, no scripts/readproperties.awk, no test/macro-annot/run/repl, no admin/files/scala-key.asc.enc (admin/files holds only credentials-private-repo-netrc and gpg.sbt), no native libraries under test/files/jvm (the C sources natives.c/natives.h and mkLibNatives.sh are there), and no jar files anywhere in the tree.
- src/scaladoc/scala/tools/nsc/doc/html/resource/lib/MaterialIcons-Regular.eot: EOT web-font container for the Material Icons face, with its .ttf and .woff beside it; covered by the
MaterialIcons-Regular.*Apache-2.0 stanza. Not opened (binary). - src/scaladoc/scala/tools/nsc/doc/html/resource/lib/lato-v11-latin-100.eot: EOT web-font container for Lato 100, with its .ttf and .woff beside it; covered by the
lato-v11-latin-*OFL-1.1 stanza. Not opened (binary). - src/scaladoc/scala/tools/nsc/doc/html/resource/lib/lato-v11-latin-regular.eot: EOT web-font container for Lato regular, with its .ttf and .woff beside it; covered by the
lato-v11-latin-*OFL-1.1 stanza. Not opened (binary). - src/scaladoc/scala/tools/nsc/doc/html/resource/lib/open-sans-v13-latin-400i.eot: EOT web-font container for Open Sans 400 italic, with its .ttf and .woff beside it; covered by the
open-sans-v13-latin-*Apache-2.0 stanza. Not opened (binary). - src/scaladoc/scala/tools/nsc/doc/html/resource/lib/open-sans-v13-latin-700.eot: EOT web-font container for Open Sans 700, with its .ttf and .woff beside it; covered by the
open-sans-v13-latin-*Apache-2.0 stanza. Not opened (binary). - src/scaladoc/scala/tools/nsc/doc/html/resource/lib/open-sans-v13-latin-700i.eot: EOT web-font container for Open Sans 700 italic, with its .ttf and .woff beside it; covered by the
open-sans-v13-latin-*Apache-2.0 stanza. Not opened (binary). - src/scaladoc/scala/tools/nsc/doc/html/resource/lib/open-sans-v13-latin-regular.eot: EOT web-font container for Open Sans regular, with its .ttf and .woff beside it; covered by the
open-sans-v13-latin-*Apache-2.0 stanza. Not opened (binary). - src/scaladoc/scala/tools/nsc/doc/html/resource/lib/source-code-pro-v6-latin-700.eot: EOT web-font container for Source Code Pro 700, with its .ttf and .woff beside it; covered by the
source-code-pro-v6-latin-*OFL-1.1 stanza. Not opened (binary). - src/scaladoc/scala/tools/nsc/doc/html/resource/lib/source-code-pro-v6-latin-regular.eot: EOT web-font container for Source Code Pro regular, with its .ttf and .woff beside it; covered by the
source-code-pro-v6-latin-*OFL-1.1 stanza. Not opened (binary). - src/scaladoc/scala/tools/nsc/doc/html/resource/lib/type_tags.ai: Illustrator/PDF drawing shipped as an upstream resource (build.sbt:579 includes
*.aiin the resource filter); it is the editable form of the scaladoc diagrams, is not in HtmlFactory.libResources so it is not copied into generated documentation, and Files: * applies to it. Not a generated document; only carried in scala-compiler.jar as an unused resource because build-driver.sh copies every non-.scala/.java file. - test/files/run/StringConcat.check: partest expected output for StringConcat.scala (its U+0001/U+0002 characters are why the scan calls it binary); test data, not built and not shipped.
- Dependencies checked against the archive: scala-asm 9.9.0-scala-1-1 satisfies
>= 9.9.0; libjline3-java 3.3.1-5 is in unstable but 3.29.0+ds-1 is in the NEW queue and satisfies>= 3.29; default-jdk is openjdk-25 (matching the rules' comment); libjs-jquery 3.7.1 ships /usr/share/javascript/jquery/jquery.min.js, which the scaladoc patch reads; maven-repo-helper 1.13 provides dh-sequence-maven-repo-helper and its Sequence/maven_repo_helper.pm insertsmh_installafter dh_install, so the hook that places links after it is ordered correctly. - java-diff-utils is in no binary package in the archive, so debian/patches/0002 removing it is justified; both patches carry DEP-3 headers (Description, Author, Forwarded, Last-Update). Patch 0001 touches only HtmlFactory.copyWebjarResource, which is used solely for jquery.min.js, so the other scaladoc resources still come from the jar.
- The classes the wrappers call exist in the sources: src/compiler/scala/tools/nsc/fsc/CompileClient.scala, src/scaladoc/scala/tools/nsc/ScalaDoc.scala, src/scalap/scala/tools/scalap/Main.scala, and the man pages are generated by the rules from src/manual/scala/man1/*.scala and src/manual/scala/tools/docutil, which are present.
- Maintainer scripts: postinst/prerm install and remove the same alternative group
scalawith the same link path /usr/share/scala-2.13/bin/scala and matching slaves (commands and man pages), so they are consistent and idempotent. - Multi-Arch: foreign on scala-library-2.13 matches what the archive's scala-library (2.12.21+ds3-2) declares; Standards-Version 4.7.4 is current against Policy 4.7.4.1.
- debian/tests/smoke exercises scalac-2.13, scala-2.13 and scaladoc-2.13, including the libjs-jquery copy, and the test needs only the package's own binaries (Depends: @).
- The five Scalax files are matched by five single-path Files entries (no wildcard), so the BSD-3 stanza does not leak into scalasig/, exactly as its Comment says.
- uscan found the packaged version as the newest upstream release (upstream
2.13.18, packaged2.13.18+ds2). - Every pointer of
debian/copyrightto /usr/share/common-licenses names a file that is there (Apache-2.0,GPL-2,OFL-1.1).
Not confirmed
- The font binaries were not opened (instructions forbid it), so the Lato, Source Code Pro, Open Sans and Material Icons copyright and licence statements in debian/copyright rest on where the files sit and on the upstream font projects, not on the files' own name records.
- Whether the scala 2.12 package (2.12.21+ds3-2) registers /usr/bin/scala in the same update-alternatives group as this package's postinst assumes could not be checked: only its Packages control fields are available, not its file list or maintainer scripts.
- No build could be run, so the jar file names from issue 1 are derived from maven-repo-helper's documented version handling, /usr/bin/mh_installjar and installed examples (maven-artifact-3.x.jar, plexus-compiler-api-2.x.jar), not observed in this package's build output.
Proposed changes
None.
Uploader's response to the LLM review
The uploader was emailed about the review 0 hours ago.