DFSG NEW Queue

DFSG, Licensing & New Packages Team

Review: jline4 4.0.14+ds2-1

Package Information

Descriptionconsole input handling library for Java (JLine 4)

JLine is a Java library for handling console input. It is similar in functionality to BSD editline and GNU readline but with additional features that bring it on par with the ZSH line editor.

This package contains JLine 4: the line reader (org.jline.reader), the terminal abstraction (org.jline.terminal) and its JNI terminal provider, and the native library loader. It can be installed together with JLine 3 (libjline3-java).

MaintainerDebian Java Maintainers <pkg-java-maintainers@lists.alioth.debian.org>
Changed ByJuan Manuel Méndez Rey <juan.mendezr@proton.me>
Sponsortsimonq2@debian.org
Distributionunstable
Architectureany all
VCSgit: https://salsa.debian.org/java-team/jline4.git (browse)
Closes#1149767
Trackerhttps://tracker.debian.org/pkg/jline4
Uploaded10 days ago

New Package Report

.changes◂
Sourcejline4
Version4.0.14+ds2-1
Changed-ByJuan Manuel Méndez Rey <juan.mendezr@proton.me>
Architecturesource all amd64
Distributionunstable
DateFri, 02 Oct 2026 19:06:50 +0200
Changelog◂
jline4 (4.0.14+ds2-1) unstable; urgency=medium
 .
   * Initial release. (Closes: #1149767)
.dsc◂
Sectionjava
Priorityoptional
Componentmain
Package-Listlibjline4-java deb java optional arch=all
libjline4-jni deb java optional arch=any
debian/copyright◂
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: JLine
Upstream-Contact: Guillaume Nodet <gnodet@gmail.com>
Source: https://github.com/jline/jline3
Comment:
 The orig tarball is repacked (+ds2) to drop:
  - prebuilt native libraries for every platform (the JNI library is built
    from native/src/main/native at build time);
  - demo/wget.exe, a prebuilt Windows executable;
  - .mvn, .mvx, mvx and mvx.cmd: Maven extensions (git versioning, release
    tooling) and a launcher that downloads Maven, none usable offline;
  - website/, the documentation web site (not used by the build);
  - the help texts of the nano and less builtins and three nano syntax
    files, copied from GNU nano and less without their licence notices;
    they belong to the builtins, demo and groovy modules, which this
    package does not build;
  - other third-party copies in modules not built here: nano syntax
    (sh-repl.nanorc, test nano/java.nanorc and xml.nanorc), the Readline
    manual's sample inputrc (test config1, config2), a Stack Overflow answer
    (PackageHelper.java) and an unlicensed gist (SystemRegistryImpl.java).
Files-Excluded:
 .mvn
 .mvx
 mvx
 mvx.cmd
 demo/wget.exe
 native/src/main/resources/org/jline/nativ/FreeBSD
 native/src/main/resources/org/jline/nativ/Linux
 native/src/main/resources/org/jline/nativ/Mac
 native/src/main/resources/org/jline/nativ/Windows
 website
 builtins/src/main/resources/org/jline/builtins/*-help.txt
 demo/src/main/scripts/nanorc/groovy.nanorc
 demo/src/main/scripts/nanorc/java.nanorc
 demo/src/main/scripts/nanorc/xml.nanorc
 groovy/src/main/resources/org/jline/groovy/java.nanorc
 demo/src/main/scripts/nanorc/sh-repl.nanorc
 builtins/src/test/resources/nano/java.nanorc
 builtins/src/test/resources/nano/xml.nanorc
 builtins/src/test/resources/org/jline/builtins/config1
 builtins/src/test/resources/org/jline/builtins/config2
 groovy/src/main/java/org/jline/script/PackageHelper.java
 console/src/main/java/org/jline/console/impl/SystemRegistryImpl.java

Files: *
Copyright: 2002-2026, the original author(s)
           2002-2026, the original author or authors
License: BSD-3-clause
Comment:
 Most files carry the short JLine header ("This software is distributable
 under the BSD license"), which refers to LICENSE.txt.

Files: console-ui/*
Copyright: 2020, Andreas Wegmann
           2025, the original author(s)
License: BSD-3-clause
Comment:
 ConsoleUI was written by Andreas Wegmann and merged into JLine
 (console-ui/README.md); its sources now carry the JLine BSD-3-clause
 header. This module is not built by this package.

Files: console-ui/LICENSE.txt
       docs/ConsoleUI-Logo.png
Copyright: 2016-2020, Andreas Wegmann
License: Apache-2.0
Comment: Licence file and logo of the original ConsoleUI project.

Files: native/src/main/native/clibrary.c
       native/src/main/native/kernel32.c
       native/src/main/resources/org/jline/nativ/jlinenative.properties
       terminal/src/main/resources/META-INF/jline/README.md
       terminal/src/main/resources/META-INF/jline/providers/dumb
       terminal/src/main/resources/META-INF/jline/providers/exec
       terminal/src/main/resources/META-INF/services/org.jline.terminal.spi.TerminalProvider
       terminal-ffm/src/main/resources/META-INF/jline/providers/ffm
       terminal-ffm/src/main/resources/META-INF/services/org.jline.terminal.spi.TerminalProvider
       terminal-jni/src/main/resources/META-INF/jline/providers/jni
       terminal-jni/src/main/resources/META-INF/services/org.jline.terminal.spi.TerminalProvider
Copyright: 2009-2026, the original author(s)
           2019, the original author or authors
License: Apache-2.0

Files: .github/dependabot.yml
       .github/release-drafter-3x.yml
       .github/release-drafter.yml
       .github/workflows/master-build.yml
       demo/etc/logging.properties
       demo/etc/logging-verbose.properties
       native/Makefile
       native/Makefile.common
Copyright: The Apache Software Foundation
License: Apache-2.0
Comment:
 These files carry the Apache Software Foundation licence header, which
 has no copyright line; the ASF is the holder it refers to.

Files: builtins/src/main/java/org/jline/builtins/Options.java
       builtins/src/test/java/org/jline/builtins/OptionsTest.java
       demo/src/main/java/org/apache/felix/gogo/jline/Posix.java
       demo/src/main/java/org/apache/felix/gogo/jline/Shell.java
Copyright: the original author(s)
           The Apache Software Foundation
License: BSD-3-clause and Apache-2.0
Comment:
 These files carry the JLine BSD-3-clause header and, below it, the
 Apache Software Foundation licence header. Both licences apply.

Files: native/src/main/java/org/jline/nativ/JLineNativeLoader.java
       native/src/main/java/org/jline/nativ/OSInfo.java
Copyright: the original author(s)
           The Apache Software Foundation
           2007-2008, Taro L. Saito
License: BSD-3-clause and Apache-2.0
Comment: JLine and ASF headers; code by Taro L. Saito, via Jansi.

Files: native/src/main/java/org/jline/nativ/CLibrary.java
       native/src/main/java/org/jline/nativ/Kernel32.java
       native/src/main/native/jlinenative.h
       terminal/src/main/java/org/jline/utils/AnsiWriter.java
       terminal-ffm/src/main/java/org/jline/terminal/impl/ffm/WindowsAnsiWriter.java
       terminal-jni/src/main/java/org/jline/terminal/impl/jni/win/WindowsAnsiWriter.java
Copyright: the original author(s)
           2009, Progress Software Corporation and/or its subsidiaries or affiliates
License: BSD-3-clause and Apache-2.0
Comment: Adapted from Jansi (https://github.com/fusesource/jansi).

Files: jansi-core/src/main/java/org/jline/jansi/Ansi.java
       jansi-core/src/main/java/org/jline/jansi/AnsiColors.java
       jansi-core/src/main/java/org/jline/jansi/AnsiConsole.java
       jansi-core/src/main/java/org/jline/jansi/AnsiMain.java
       jansi-core/src/main/java/org/jline/jansi/AnsiMode.java
       jansi-core/src/main/java/org/jline/jansi/AnsiPrintStream.java
       jansi-core/src/main/java/org/jline/jansi/AnsiRenderer.java
       jansi-core/src/main/java/org/jline/jansi/AnsiType.java
       jansi-core/src/main/java/org/jline/jansi/io/AnsiOutputStream.java
       jansi-core/src/main/java/org/jline/jansi/io/AnsiProcessor.java
       jansi-core/src/main/java/org/jline/jansi/io/ColorsAnsiProcessor.java
       jansi-core/src/main/java/org/jline/jansi/io/WindowsAnsiProcessor.java
       jansi-core/src/main/resources/org/jline/jansi/jansi.txt
       jansi-core/src/test/java/org/jline/jansi/AnsiConsoleExample.java
       jansi-core/src/test/java/org/jline/jansi/AnsiConsoleExample2.java
       jansi-core/src/test/java/org/jline/jansi/AnsiRendererTest.java
       jansi-core/src/test/java/org/jline/jansi/AnsiStringTest.java
       jansi-core/src/test/java/org/jline/jansi/AnsiTest.java
       jansi-core/src/test/java/org/jline/jansi/EncodingTest.java
       jansi-core/src/test/java/org/jline/jansi/io/AnsiOutputStreamTest.java
       jansi-core/src/test/resources/jansi.ans
Copyright: 2009-2023, the original author(s)
           2009, Progress Software Corporation and/or its subsidiaries or affiliates
License: BSD-3-clause and Apache-2.0
Comment: Jansi 2.4 (Apache-2.0) relabelled with the JLine header; not built.

Files: builtins/src/main/java/org/jline/builtins/PosixCommands.java
       builtins/src/main/java/org/jline/builtins/ScreenTerminal.java
       demo/src/main/java/org/apache/felix/gogo/runtime/Reflective.java
       demo/src/main/java/org/jline/demo/FunctionConverter.java
       remote-ssh/src/main/java/org/jline/builtins/ssh/ShellCommand.java
       remote-ssh/src/main/java/org/jline/builtins/ssh/ShellFactoryImpl.java
       remote-telnet/src/main/java/org/jline/builtins/telnet/Telnet.java
       style/src/main/java/org/jline/style/InterpolationHelper.java
       terminal/src/test/java/org/jline/utils/ScreenTerminal.java
Copyright: the original author(s)
           The Apache Software Foundation
License: BSD-3-clause and Apache-2.0
Comment: Adapted from Apache Felix gogo/utils and Apache Karaf; not built.

Files: demo/src/main/java/org/jline/demo/consoleui/BasicDynamic.java
       prompt/src/main/java/org/jline/prompt/impl/DefaultPrompter.java
Copyright: the original author(s)
           2020, Andreas Wegmann
License: BSD-3-clause
Comment: Partly adapted from the ConsoleUI sources in console-ui/.

Files: terminal/src/main/java/org/jline/utils/InputStreamReader.java
Copyright: the original author(s)
           The Apache Software Foundation
License: BSD-3-clause and Apache-2.0
Comment: Adapted from Apache Harmony's java.io.InputStreamReader.

Files: terminal/src/main/java/org/jline/utils/WCWidth.java
Copyright: the original author(s)
           2007, Markus Kuhn
License: BSD-3-clause and Kuhn-wcwidth
Comment: Java port of https://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c.

Files: terminal/src/main/resources/org/jline/utils/ansi.caps
       terminal/src/main/resources/org/jline/utils/dumb.caps
       terminal/src/main/resources/org/jline/utils/rxvt-basic.caps
       terminal/src/main/resources/org/jline/utils/rxvt-unicode-256color.caps
       terminal/src/main/resources/org/jline/utils/rxvt-unicode.caps
       terminal/src/main/resources/org/jline/utils/rxvt.caps
       terminal/src/main/resources/org/jline/utils/screen-256color.caps
       terminal/src/main/resources/org/jline/utils/screen.caps
       terminal/src/main/resources/org/jline/utils/xterm-256color.caps
       terminal/src/main/resources/org/jline/utils/xterm.caps
Copyright: 1998-2018, Free Software Foundation, Inc.
           2018-2020, Thomas E. Dickey
License: X11-distribute-modifications-variant
Comment: Printed by infocmp from the ncurses terminfo database.

Files: remote-telnet/src/main/java/org/jline/builtins/telnet/Connection.java
       remote-telnet/src/main/java/org/jline/builtins/telnet/ConnectionData.java
       remote-telnet/src/main/java/org/jline/builtins/telnet/ConnectionEvent.java
       remote-telnet/src/main/java/org/jline/builtins/telnet/ConnectionFilter.java
       remote-telnet/src/main/java/org/jline/builtins/telnet/ConnectionListener.java
       remote-telnet/src/main/java/org/jline/builtins/telnet/ConnectionManager.java
       remote-telnet/src/main/java/org/jline/builtins/telnet/PortListener.java
       remote-telnet/src/main/java/org/jline/builtins/telnet/TelnetIO.java
Copyright: 2000-2005, Dieter Wimberger
           the original author(s)
License: BSD-3-clause and BSD-3-clause-telnetd
Comment:
 Code from the Java TelnetD library: the JLine BSD-3-clause header and the
 original TelnetD licence (text below). Both apply. This module is not
 built by this package.

Files: demo/src/main/scripts/nanorc/dark.nanorctheme
       demo/src/main/scripts/nanorc/light.nanorctheme
Copyright: 2016, Yuri Sakhno
           2021, the original author(s)
License: CC0-1.0 and BSD-3-clause
Comment: Adapted from https://github.com/YSakhno/nanorc themes (CC0-1.0).

Files: debian/*
Copyright: 2026, Juan Manuel Méndez Rey <juan.mendezr@proton.me>
License: BSD-3-clause

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:
 .
 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: BSD-3-clause-telnetd
 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 the author 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 HOLDER 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 REGENTS 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: 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 version 2.0 license
 can be found in "/usr/share/common-licenses/Apache-2.0".

License: CC0-1.0
 To the extent possible under law, the author(s) have dedicated all
 copyright and related and neighboring rights to this software to the
 public domain worldwide. This software is distributed without any
 warranty.
 .
 On Debian systems, the complete text of the CC0 1.0 Universal license
 can be found in "/usr/share/common-licenses/CC0-1.0".

License: Kuhn-wcwidth
 Permission to use, copy, modify, and distribute this software
 for any purpose and without fee is hereby granted. The author
 disclaims all warranties with regard to this software.

License: X11-distribute-modifications-variant
 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, distribute with modifications, 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 ABOVE 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.
 .
 Except as contained in this notice, the name(s) of the above copyright
 holders shall not be used in advertising or otherwise to promote the
 sale, use or other dealings in this Software without prior written
 authorization.

DFSG Assistant LLM REVIEW 0 blocker, 0 important, 0 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 10 days ago.

Report◂

DFSG NEW review for jline4 version 4.0.14+ds2-1

Summary

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

Licensing

debian/copyright is DEP-5 (Format, Upstream-Name, Source, a documented Files-Excluded list) with a Files: * catch-all in BSD-3-clause, sixteen further stanzas and six stand-alone License paragraphs covering every short name used, including inline text for the three non-common-licences (BSD-3-clause-telnetd, Kuhn-wcwidth, X11-distribute-modifications-variant) and /usr/share/common-licenses pointers for Apache-2.0 and CC0-1.0. I found no file whose header contradicts its stanza: the JLine BSD header covers the mass of the tree, and every ASF-headed file, the Jansi/TelnetD/Kuhn/ConsoleUI/ncurses-derived files and the nano themes are each in a stanza that names the right holder and licence. Nothing in the tree is non-free, nothing lacks a licence grant, and all licences combined in the two binaries (BSD-3-clause, Apache-2.0, X11-variant) are mutually compatible.

Packaging

The packaging is careful and current: debhelper compat 14 via debhelper-compat with dh, a clean arch/indep split (JNI .so built from source into /usr/lib//jni/jline4, jars built with maven-debian-helper), Multi-Arch: same on libjline4-jni, a versioned same-source dependency expressed with ${source:Version}, two DEP-3 patches with clear purpose, an autopkgtest that exercises the installed reader, JNI loader and JNI provider, Standards-Version 4.7.4 (current; debian-policy is 4.7.4.1), Vcs-*, upstream/metadata, gbp.conf and a README.source explaining the repack, module selection and Maven/JNI layout. The only choices a sponsor might debate (empty override_dh_auto_test because upstream needs JUnit 6, and building only four modules) are documented and compensated by the autopkgtest.

Issues

None.

Verified ◂
  • The prescan reported no missing copyright holders and no built, minified or PDF files; the only binary file in the tree is docs/ConsoleUI-Logo.png (42 KB PNG), recorded by name and not opened, with its Apache-2.0/Andreas Wegmann attribution taken from console-ui/LICENSE.txt and console-ui/README.md.
  • debian/copyright: DEP-5 header with Format, Upstream-Name, Upstream-Contact, Source, a Comment and Files-Excluded; Files: * in BSD-3-clause with the holders the file headers use (the original author(s) / the original author or authors), then sixteen more specific paragraphs (later ones override, so console-ui/LICENSE.txt and the logo correctly override console-ui/*), and stand-alone License paragraphs for BSD-3-clause, BSD-3-clause-telnetd, Apache-2.0, CC0-1.0, Kuhn-wcwidth and X11-distribute-modifications-variant.
  • Every path named in a Files stanza exists, including the less obvious ones: demo/src/main/java/org/apache/felix/gogo/runtime/Reflective.java, demo/src/main/java/org/jline/demo/FunctionConverter.java and consoleui/BasicDynamic.java, prompt/src/main/java/org/jline/prompt/impl/DefaultPrompter.java, style/src/main/java/org/jline/style/InterpolationHelper.java, remote-ssh/.../ShellCommand.java and ShellFactoryImpl.java, remote-telnet/.../Telnet.java, terminal/src/test/java/org/jline/utils/ScreenTerminal.java, terminal-jni/.../META-INF/services/org.jline.terminal.spi.TerminalProvider, terminal-ffm/.../META-INF/jline/providers/ffm.
  • Every Files-Excluded entry is absent from the unpacked tree: .mvn, .mvx, mvx, mvx.cmd, website/, demo/wget.exe, the four prebuilt native libraries under native/src/main/resources/org/jline/nativ/, builtins/src/main/resources/org/jline/builtins/-help.txt, the demo and builtins nano syntax files, builtins test config1/config2 and nano/.nanorc, groovy/.../PackageHelper.java and console/.../SystemRegistryImpl.java.
  • The ten .caps files in the tree are exactly those beginning # Reconstructed via infocmp from file:; windows.caps, windows-256color.caps, windows-conemu.caps, windows-vtp.caps and dumb-color.caps have no infocmp line (hand-written JLine entries) and are correctly left in the Files: * BSD-3-clause stanza rather than the ncurses one.
  • The ncurses attribution was checked against /usr/share/doc/ncurses-base/copyright: terminfo data is MIT/X11 (distribute, distribute with modifications, sublicense, and/or sell ... Except as contained in this notice, the name(s) of the above copyright holders shall not be used in advertising), i.e. the text debian/copyright gives as X11-distribute-modifications-variant, with Copyright 1998-2018 Free Software Foundation, Inc. and Thomas E. Dickey; the year ranges differ only cosmetically.
  • Every file with an Apache Software Foundation header is in an Apache-2.0 or dual stanza: .github/dependabot.yml, .github/release-drafter.yml, .github/release-drafter-3x.yml, .github/workflows/master-build.yml, builtins/.../Options.java, builtins/.../OptionsTest.java, demo/etc/logging.properties, demo/etc/logging-verbose.properties, demo/.../felix/gogo/jline/Posix.java and Shell.java, native/Makefile, native/Makefile.common, native/.../JLineNativeLoader.java and OSInfo.java. The dual-licence comment is accurate where checked: Posix.java and Options.java carry the JLine BSD header above the ASF header; Reflective.java and ScreenTerminal.java carry only the JLine header but are listed with the ASF/Karaf source in their Comment.
  • File-level licences match their stanzas: native/src/main/native/clibrary.c and kernel32.c start with the Apache-2.0 header and are in the Apache-2.0 paragraph; jlinenative.c and jlinenative.h carry the JLine BSD header; remote-telnet's eight Connection*.java/PortListener/TelnetIO files contain Dieter Wimberger's TelnetD text exactly as reproduced in BSD-3-clause-telnetd; WCWidth.java names Markus Kuhn and his permission notice is reproduced as Kuhn-wcwidth; console-ui/LICENSE.txt is the Apache-2.0 text with Copyright 2020 Andreas Wegmann.
  • jansi-core files not named in its dual stanza (io/Colors.java, io/FastBufferedOutputStream.java, module-info.java, InstallUninstallTest.java, jansi.properties, native-image metadata) are JLine wrappers or extensions carrying the JLine BSD header, so the Files: * BSD-3-clause claim for them is accurate.
  • The files removed for licensing reasons leave dangling references in modules this package does not build: console/.../SimpleSystemRegistryImpl.java and ConsoleDispatcherBuilder.java extend/use the removed SystemRegistryImpl, groovy/.../GroovyEngine.java calls the removed PackageHelper, and builtins InputRCTest.java loads the removed config1/config2. Those modules are --ignored in debian/libjline4-java.poms and absent from JLINE_MODULES, and the removals are documented in the copyright Comment, so no built code is affected.
  • debian/patches: series has 0001 and 0002, both with Description, Author, Forwarded: not-needed and Last-Update DEP-3 headers; 0001 adds the jline4 subdirectory lookup to JLineNativeLoader and 0002 replaces ${nisse.jgit.dynamicVersion} with 4.0.14 in the root POM and the four built modules, matching their stated purpose.
  • debian/rules: dh $@ at compat 14; the arch build compiles native/src/main/native/clibrary.c and jlinenative.c with dpkg-buildflags into debian/native/libjlinenative.so and installs it at usr/lib/$(DEB_HOST_MULTIARCH)/jni/jline4/ for libjline4-jni; the indep build packages only -pl native,terminal,terminal-jni,reader; MVN_ARGS supplies nisse.jgit.dynamicVersion (4.0.14, stripped of +ds2) and a SOURCE_DATE_EPOCH-derived build date; execute_after_dh_auto_clean removes debian/native.
  • debian/control: compat 14 (debhelper-compat), Standards-Version 4.7.4 against debian-policy 4.7.4.1, Section java, Vcs-Git/Vcs-Browser/Homepage present; libjline4-jni is Architecture: any with Multi-Arch: same and ${shlibs:Depends}; libjline4-java is Architecture: all and depends on libjline4-jni (>= ${source:Version}), which is the correct substvar for an arch:all package depending on an arch:any one (a binNMU leaves the arch:all package at the source version).
  • Build-Depends all exist in unstable: libmaven-bundle-plugin-java 5.1.9 and maven-debian-helper 2.8.1 (apt-cache); the 6.0.2 maven-bundle-plugin pin in pom.xml is reconciled with the archive's 5.1.9 by the maven buildsystem's mh_patchpoms ... --maven-repo step (/usr/share/perl5/Debian/Debhelper/Buildsystem/maven.pm), and maven.ignoreRules drops the enforcer/spotless/exec/graal plugins and junit/easymock, so the JUnit 6 vs 5.10 difference cannot affect the build.
  • debian/tests/control and debian/tests/readline: the test compiles and runs against APIs that exist in the built modules (JLineNativeLoader.initialize() and getNativeLibraryPath(), DumbTerminal(InputStream,OutputStream), TerminalBuilder.builder()/system(boolean)/provider(String), TerminalExt) and uses the /usr/share/java/jline4-*.jar names created by --usj-name= in debian/libjline4-java.poms; Depends covers script (bsdutils), dpkg-architecture (dpkg-dev) and default-jdk-headless, and libjline4-jni arrives through libjline4-java's Depends.
  • debian/changelog is an initial unstable upload closing the ITP (#1149767) with a valid date; debian/source/format is 3.0 (quilt); debian/gbp.conf and debian/upstream/metadata are consistent with the source; debian/README.source documents the repack, the four built modules, the JUnit 6 reason for not running upstream tests and the Maven/JNI coexistence with jline3.
  • Files: debian/* covers the packaging (including debian/lrc.config and debian/tests/readline); the stray upstream file prompt/pom.xml.bak is an unbuilt copy of that module's POM and is under the Files: * BSD-3-clause stanza.
  • uscan found upstream releases with debian/watch; a newer upstream version is available (upstream 4.4.8, packaged 4.0.14+ds2), which is not a fault of the package.
  • Every pointer of debian/copyright to /usr/share/common-licenses names a file that is there (Apache-2.0, CC0-1.0).
Not confirmed ◂
  • The +ds2 repack cannot be compared with a pristine upstream tarball (only the repacked orig is shipped), so I cannot prove that Files-Excluded is exhaustive; the excluded paths themselves are all absent, as listed above.
  • Provenance of files that may be Jansi-derived beyond what debian/copyright records (terminal-ffm/src/main/java/org/jline/terminal/impl/ffm/CLibrary.java and Kernel32.java, terminal-jni/src/main/java/org/jline/terminal/impl/jni/win/NativeWinSysTerminal.java and NativeWinConsoleWriter.java, terminal-ffm's NativeWinConsoleWriter). CLAUDE.md states that a formatting hook rewrites every Java header mechanically, so a JLine header does not prove JLine authorship; checking this would need Jansi's sources, which are not available on the reviewing system.
  • docs/ConsoleUI-Logo.png is a binary image and was not opened; its licence and holder rest on console-ui/LICENSE.txt and README.md.
  • The existence of the salsa repositories named in Vcs-Git/Vcs-Browser was not checked, and the Maven repository versions installed (4.0.14 vs 4.x via --has-package-version and debian/maven.rules) and the patched loader's behaviour were not run; an autopkgtest run would show the latter.
Proposed changes ◂

None.

Uploader's response to the LLM review

The uploader was emailed about the review 10 days ago.

Review Information

accepted — allocated to mechtilde 10 days ago, started 10 days ago, completed 10 days ago.

Final Comment

Other Reviews of this Package

VersionHashAllocatedCompletedReviewerStatusDetails
4.0.14+ds-1 5e22dbf3… 2026-10-28 10:06 2026-10-28 10:06 dfsg-uploader rejected VIEW

Public Notes

10 days ago ● public

Load licenses database

Command: dnq license-check -prepare
Exit code: 0

License check [main]:

Found 6 unique license identifier(s) in debian/copyright:

COMPATIBLE (4):
  Apache-2.0                          [Note: not compatible with GPL-2]
  BSD-3-clause
  CC0-1.0
  X11-distribute-modifications-variant [X11 distribute modifications variant; permissive]

UNKNOWN (not in DFSG license database):
  BSD-3-clause-telnetd                (manually verify DFSG compatibility)
  Kuhn-wcwidth                        (manually verify DFSG compatibility)

Result: ATTENTION REQUIRED
  - 2 unrecognized license(s) require manual review

Back to Dashboard | View all reviews for this package