• [gentoo-dev] [PATCH] linux-info.eclass: Fix building modules when /lib/

    From James Le Cuirot@21:1/5 to All on Fri Jun 6 12:20:01 2025
    /lib/modules/*/build is often a symlink. get_version is usually run in pkg_setup as root, so fully resolve it then in case the unprivileged
    user doesn't have permission to do it later.

    Closes: https://bugs.gentoo.org/957187
    Signed-off-by: James Le Cuirot <chewi@gentoo.org>
    ---
    eclass/linux-info.eclass | 7 ++++++-
    1 file changed, 6 insertions(+), 1 deletion(-)

    diff --git a/eclass/linux-info.eclass b/eclass/linux-info.eclass
    index a2b38d604b21..6dd3f81a6dfb 100644
    --- a/eclass/linux-info.eclass
    +++ b/eclass/linux-info.eclass
    @@ -574,7 +574,12 @@ get_version() {
    # We cannot use the local version to find the output directory
    # because that is where it is written to.
    KV_OUT_DIR+="/lib/modules/${KV_FULL}/build"
    - [[ -d ${KV_OUT_DIR} ]] && break
    + # build is often a symlink. This function is usually run in
    + # pkg_setup as root, so fully resolve it now in case the
    + # unprivileged user doesn't have permission to do it later. If we
    + # don't have permission now, then this will fall back to KV_DIR
    + # below, which is probably where the build symlink points to anyway.
    + KV_OUT_DIR=$(realpath -q -e "${KV_OUT_DIR}") && break
    done
    fi

    --
    2.49.0

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