Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 933521 - dev-java/java-config-2.3.3-r1: launcher.bash is installed in the wrong location in PREFIX
Summary: dev-java/java-config-2.3.3-r1: launcher.bash is installed in the wrong locati...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo/Alt
Classification: Unclassified
Component: Prefix Support (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo Prefix
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-06-04 10:34 UTC by Benjamin Block
Modified: 2024-06-27 07:23 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Fix-launcher-location-in-Gentoo-prefix-installations.patch (0001-Fix-launcher-location-in-Gentoo-prefix-installations.patch,1.47 KB, patch)
2024-06-12 19:47 UTC, Florian Schmaus
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Benjamin Block 2024-06-04 10:34:35 UTC
With the update to `dev-java/java-config-2.3.3-r1` the file `launcher.bash` is now installed into the wrong location:

     * java-config-2.3.3.tar.gz BLAKE2B SHA512 size ;-) ... [ ok ]
     * checking ebuild checksums ;-) ...                    [ ok ]
     * checking miscfile checksums ;-) ...                  [ ok ]
    >>> Unpacking source...
    >>> Unpacking java-config-2.3.3.tar.gz to /home/share/gentoo/var/tmp/portage/dev-java/java-config-2.3.3-r1/work
    >>> Source unpacked in /home/share/gentoo/var/tmp/portage/dev-java/java-config-2.3.3-r1/work
    >>> Preparing source in /home/share/gentoo/var/tmp/portage/dev-java/java-config-2.3.3-r1/work/java-config-2.3.3 ...
    >>> Source prepared.
    >>> Configuring source in /home/share/gentoo/var/tmp/portage/dev-java/java-config-2.3.3-r1/work/java-config-2.3.3 ...
     * python3_12: running my_src_configure
    meson setup -Db_lto=false --libdir lib64 --localstatedir /home/share/gentoo/var/lib --prefix /home/share/gentoo/usr --sysconfdir /home/share/gentoo/etc --wrap-mode nodownload --build.pkg-config-path /home/share/gentoo/var/tmp/portage/dev-java/java-config-2.3.3-r1/temp/python3.12/pkgconfig:/home/share/gentoo/usr/share/pkgconfig --pkg-config-path /home/share/gentoo/var/tmp/portage/dev-java/java-config-2.3.3-r1/temp/python3.12/pkgconfig:/home/share/gentoo/usr/share/pkgconfig --native-file /home/share/gentoo/var/tmp/portage/dev-java/java-config-2.3.3-r1/temp/meson.x86_64-pc-linux-gnu.amd64.ini -Db_pch=false -Dwerror=false -Dbuildtype=plain -Darch=amd64 -Dpython-only=false -Deprefix=/home/share/gentoo /home/share/gentoo/var/tmp/portage/dev-java/java-config-2.3.3-r1/work/java-config-2.3.3 /home/share/gentoo/var/tmp/portage/dev-java/java-config-2.3.3-r1/work/java-config-2.3.3-python3_12
    The Meson build system
    Version: 1.4.1
    Source dir: /home/share/gentoo/var/tmp/portage/dev-java/java-config-2.3.3-r1/work/java-config-2.3.3
    Build dir: /home/share/gentoo/var/tmp/portage/dev-java/java-config-2.3.3-r1/work/java-config-2.3.3-python3_12
    Build type: native build
    Project name: java-config
    Project version: 2.3.3
    Host machine cpu family: x86_64
    Host machine cpu: x86_64
    Program python3 found: YES (/home/share/gentoo/var/tmp/portage/dev-java/java-config-2.3.3-r1/temp/python3.12/bin/python3)
    Configuring __init__.py using configuration
    Configuring launcher.bash using configuration
    Configuring jdk-defaults.conf using configuration
    Configuring java-config-2.1 using configuration
    Build targets in project: 0
    
    java-config 2.3.3
    
      User defined options
        Native files         : /home/share/gentoo/var/tmp/portage/dev-java/java-config-2.3.3-r1/temp/meson.x86_64-pc-linux-gnu.amd64.ini
        build.pkg_config_path: /home/share/gentoo/var/tmp/portage/dev-java/java-config-2.3.3-r1/temp/python3.12/pkgconfig:/home/share/gentoo/usr/share/pkgconfig
        buildtype            : plain
        libdir               : lib64
        localstatedir        : /home/share/gentoo/var/lib
        pkg_config_path      : /home/share/gentoo/var/tmp/portage/dev-java/java-config-2.3.3-r1/temp/python3.12/pkgconfig:/home/share/gentoo/usr/share/pkgconfig
        prefix               : /home/share/gentoo/usr
        sysconfdir           : /home/share/gentoo/etc
        werror               : false
        wrap_mode            : nodownload
        b_lto                : false
        b_pch                : false
        arch                 : amd64
        eprefix              : /home/share/gentoo
        python-only          : false
    
    Found ninja-1.12.1 at /home/share/gentoo/usr/bin/ninja
    >>> Source configured.
    >>> Compiling source in /home/share/gentoo/var/tmp/portage/dev-java/java-config-2.3.3-r1/work/java-config-2.3.3 ...
     * python3_12: running meson_src_compile
    meson compile --jobs 33 --load-average 16 --verbose
    ninja: no work to do.
    INFO: autodetecting backend as ninja
    INFO: calculating backend command to run: /home/share/gentoo/usr/bin/ninja -j 33 -l 16.0 -v
    >>> Source compiled.
     * Skipping make test/check due to ebuild restriction.
    >>> Test phase [disabled because of RESTRICT=test]: dev-java/java-config-2.3.3-r1
    
    >>> Install dev-java/java-config-2.3.3-r1 into /home/share/gentoo/var/tmp/portage/dev-java/java-config-2.3.3-r1/image
     * python3_12: running my_src_install
    meson install --destdir /home/share/gentoo/var/tmp/portage/dev-java/java-config-2.3.3-r1/image --no-rebuild
    ...
    Installing /home/share/gentoo/var/tmp/portage/dev-java/java-config-2.3.3-r1/work/java-config-2.3.3-python3_12/src/launcher.bash to /home/share/gentoo/var/tmp/portage/dev-java/java-config-2.3.3-r1/image/home/share/gentoo/share/java-config-2/launcher
    ...

The final location `/home/share/gentoo/share/java-config-2/launcher` is missing `/usr` after `/home/share/gentoo`.

In `src/meson.build` I saw this artifact:

    launcherdir_rel =  'share' / 'java-config-2' / 'launcher'
    launcherdir = system_wide ? eprefix / launcherdir_rel \
                             : datadir / eprefix / launcherdir_rel
    
    launcher_bash = configure_file(
      input: 'launcher.bash',
      output: 'launcher.bash',
      configuration: conf_data,
    )
    
    install_data(
      [launcher_bash],
      install_dir: launcherdir,
    )

I suspect either `launcherdir_rel` or `launcherdir` is missing the component in question. But I didn't check what other things might be wrong.

Also worth noting that this still works with `dev-java/java-config-2.3.1-r1`.

Reproducible: Always
Comment 1 Florian Schmaus gentoo-dev 2024-06-12 19:47:18 UTC
Created attachment 895712 [details, diff]
Fix-launcher-location-in-Gentoo-prefix-installations.patch

I do not have a prefix installation to test this right now, but I wonder if the attached patch may fixes it.

Could you maybe drop the attached patch in /etc/portage/patches/dev-java/java-config, re-emerge java-config, and see if it fixes the issue?
Comment 2 Benjamin Block 2024-06-13 10:20:46 UTC
(In reply to Florian Schmaus from comment #1)
> Created attachment 895712 [details, diff] [details, diff]
> Fix-launcher-location-in-Gentoo-prefix-installations.patch
> 
> I do not have a prefix installation to test this right now, but I wonder if
> the attached patch may fixes it.
> 
> Could you maybe drop the attached patch in
> /etc/portage/patches/dev-java/java-config, re-emerge java-config, and see if
> it fixes the issue?

Seems to work as far as I can tell. `launcher.bash` is again put into `.../gentoo/usr/share/java-config-2/launcher/`; I also re-emerged `dev-java/qdox` which was failing before, because it couldn't fine `launcher.bash`, and that also merges fine with the patched ebuild in place.

So yeah, looks good to me.
Comment 3 Larry the Git Cow gentoo-dev 2024-06-15 20:35:38 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/proj/java-config.git/commit/?id=fb3906c1fc78e99756dd025578d7fc96fe36b39b

commit fb3906c1fc78e99756dd025578d7fc96fe36b39b
Author:     Florian Schmaus <flow@gentoo.org>
AuthorDate: 2024-06-12 16:24:40 +0000
Commit:     Florian Schmaus <flow@gentoo.org>
CommitDate: 2024-06-12 19:24:43 +0000

    Fix launcher location in Gentoo-prefix installations
    
    The launcher was installed in $EPREFIX/share/java-config-2/launcher,
    when it should be $EPREFIX/usr/share/java-config-2/launcher.
    
    Bug: https://bugs.gentoo.org/933521
    Signed-off-by: Florian Schmaus <flow@gentoo.org>

 NEWS            | 1 +
 src/meson.build | 6 ++++--
 2 files changed, 5 insertions(+), 2 deletions(-)
Comment 4 Larry the Git Cow gentoo-dev 2024-06-27 07:23:13 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c84f380e2ec6f72d024acf61a675d8a9826cb37c

commit c84f380e2ec6f72d024acf61a675d8a9826cb37c
Author:     Florian Schmaus <flow@gentoo.org>
AuthorDate: 2024-06-27 07:13:41 +0000
Commit:     Florian Schmaus <flow@gentoo.org>
CommitDate: 2024-06-27 07:17:09 +0000

    dev-java/java-config: add 2.3.4
    
    Closes: https://bugs.gentoo.org/933521
    Signed-off-by: Florian Schmaus <flow@gentoo.org>

 dev-java/java-config/Manifest                 |  1 +
 dev-java/java-config/java-config-2.3.4.ebuild | 80 +++++++++++++++++++++++++++
 2 files changed, 81 insertions(+)