• Bug#1105984: kotlin package and optional dependencies

    From Federico Kircheis@21:1/5 to All on Sun May 18 14:30:01 2025
    Package: kotlin
    Version: 1.3.31+ds1-3
    Severity: normal
    X-Debbugs-Cc: federico@kircheis.it

    Dear Maintainer,


    I'm using the kotlin package since I wanted to use the kotlinc compiler,
    and noticed that it lists following packages as dependencies

    * ant
    * libmaven-compiler-plugin-java
    * libmaven-plugin-tools-java
    * libmaven3-core-java
    I'm not using ant or maven, so this install (through transitive
    dependencies) over 300 MB of unnecessary data:

    ----
    Summary:
    Upgrading: 0, Installing: 76, Removing: 0, Not Upgrading: 959
    Download size: 69.8 MB
    Space needed: 324 MB
    ----


    If I force the installation without those packages, I get following summary:

    ----
    Summary:
    Upgrading: 0, Installing: 3, Removing: 0, Not Upgrading: 959
    Download size: 0 B / 6,380 B
    Space needed: 27.6 kB
    ----


    Since the kotlin compiler does not depend on
    libmaven-compiler-plugin-java libmaven-plugin-tools-java
    libmaven3-core-java ant, would it make sense to move those dependencies
    to recommended, or remove them altogether?

    The complete list of installed transitive dependencies is

    ant libcommons-parent-java libjsoup-java
    libmaven3-core-java libplexus-utils2-java
    libaopalliance-java libcommons-text-java libjsr305-java
    libplexus-ant-factory-java libplexus-velocity-java
    libapache-pom-java libdoxia-core-java libjtidy-java libplexus-archiver-java libplexus-xml-java
    libasm-java liberror-prone-java
    libjuniversalchardet-java libplexus-bsh-factory-java libqdox2-java
    libatinject-jsr330-api-java libgeronimo-annotation-1.3-spec-java libmaven-archiver-java libplexus-build-api-java
    libsisu-inject-java
    libbsh-java libgeronimo-interceptor-3.0-spec-java libmaven-compiler-plugin-java libplexus-cipher-java libsisu-plexus-java
    libcdi-api-java libguava-java
    libmaven-file-management-java libplexus-classworlds-java libslf4j-java
    libcommons-cli-java libguice-java libmaven-jar-plugin-java
    libplexus-compiler-java libsnappy-java
    libcommons-codec-java libhttpclient-java libmaven-parent-java
    libplexus-component-annotations-java libsnappy-jni
    libcommons-collections3-java libhttpcore-java
    libmaven-plugin-tools-java libplexus-container-default-java libtrove-intellij-java
    libcommons-compress-java libjansi-java
    libmaven-reporting-api-java libplexus-container-default1.5-java libvavr0-java
    libcommons-io-java libjetbrains-annotations-java libmaven-resolver-java libplexus-interpolation-java libwagon-provider-api-java
    libcommons-lang-java libjline3-java libmaven-shared-incremental-java libplexus-io-java libxbean-reflect-java
    libcommons-lang3-java libjna-java libmaven-shared-io-java libplexus-languages-java libxz-java
    libcommons-logging-java libjna-jni libmaven-shared-utils-java
    libplexus-sec-dispatcher-java velocity

    -- System Information:
    Debian Release: trixie/sid
    APT prefers testing
    APT policy: (400, 'testing'), (50, 'unstable')
    Architecture: amd64 (x86_64)

    Kernel: Linux 6.12.27-amd64 (SMP w/8 CPU threads; PREEMPT)
    Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
    Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en
    Shell: /bin/sh linked to /usr/bin/dash
    Init: systemd (via /run/systemd/system)
    LSM: AppArmor: enabled

    Versions of packages kotlin depends on:
    ii ant 1.10.15-1
    ii libatinject-jsr330-api-java 1.0+ds1-6
    ii libgeronimo-annotation-1.3-spec-java 1.3-1
    ii libjansi-java 2.4.1-2
    ii libjetbrains-annotations-java 23.0.0-2
    ii libjline3-java 3.3.1-4
    ii libmaven-compiler-plugin-java 3.13.0-1
    ii libmaven-plugin-tools-java 3.10.2-2
    ii libmaven3-core-java 3.9.9-1
    ii libtrove-intellij-java 1.0.20190514-2
    ii libvavr0-java 0.10.3-2

    kotlin recommends no packages.

    kotlin suggests no packages.

    -- no debconf information

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Emmanuel Bourg@21:1/5 to Federico Kircheis on Mon May 19 09:00:02 2025
    Hi Federico,

    On 18/05/2025 14:17, Federico Kircheis wrote:

    I'm using the kotlin package since I wanted to use the kotlinc compiler,
    and noticed that it lists following packages as dependencies

     * ant
     * libmaven-compiler-plugin-java
     * libmaven-plugin-tools-java
     * libmaven3-core-java

    Thank you for reporting this issue. These dependencies were added
    because the package contains an Ant task and a Maven plugin. However Ant
    is a a runtime for the task and shouldn't be specified in the
    dependencies, and the Maven plugin should be moved into it own package.


    I'm not using ant or maven, so this install (through transitive
    dependencies) over 300 MB of unnecessary data:

    ----
    Summary:
      Upgrading: 0, Installing: 76, Removing: 0, Not Upgrading: 959
      Download size: 69.8 MB
      Space needed: 324 MB

    That's odd because in sid installing these 4 packages requires 229 MB of
    disk space, or only 26 MB if Java is already installed.

    Emmanuel Bourg

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)