DFSG NEW Queue

DFSG, Licensing & New Packages Team

scala-2.13 2.13.18+ds2-1

Package Information

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

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-2.13.git (browse)
Closes#1149766
Trackerhttps://tracker.debian.org/pkg/scala-2.13
Uploaded3 hours ago

New Package Report

.changes◂
Architecturesource all
Distributionunstable
DateWed, 28 Oct 2026 14:42:53 +0100
Sourcescala-2.13
Version2.13.18+ds2-1
Changed-ByJuan 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-Listscala-2.13 deb devel optional arch=all
scala-library-2.13 deb devel optional arch=all
Sectiondevel
Priorityoptional
Componentmain
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/copyright is 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:1 is org.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_installjar installs with --java-lib as /usr/share/java/$name-$version.jar, <version> being the version in the cleaned POM unless --usj-version is 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. Meanwhile debian/rules links usr/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-profile Build-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 cf calls), 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 sets Compile / packageBin / packageOptions += Package.ManifestAttributes("Automatic-Module-Name" -> name) for scala.library, scala.reflect and scala.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.library no 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 granted only in doc/licenses/mit_jquery.txt; Redistribution and use in source only 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 *.ai in 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 inserts mh_install after 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 scala with 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, packaged 2.13.18+ds2).
  • Every pointer of debian/copyright to /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.

Back to Dashboard | View all reviews for this package