Is this also an issue in the master branch?  If so, you will need to
submit this patch for master first before I can take it for the
scarthgap branch.

Thanks!

Steve

On Thu, Nov 27, 2025 at 10:58 PM Yangwoo Byun via
lists.openembedded.org <[email protected]> wrote:
>
> Modifying FILESYSTEM_PERMS_TABLES does not change the UID and GID of
> /usr/bin
>
> I modified create_merged_usr_symlinks and
> moved its execution order back
>
> Signed-off-by: Yangwoo Byun <[email protected]>
> ---
>  meta/classes-recipe/image.bbclass | 50 ++++++++++++++++++++++++-------
>  1 file changed, 40 insertions(+), 10 deletions(-)
>
> diff --git a/meta/classes-recipe/image.bbclass 
> b/meta/classes-recipe/image.bbclass
> index 00f1d58f237..2f5210d0e0b 100644
> --- a/meta/classes-recipe/image.bbclass
> +++ b/meta/classes-recipe/image.bbclass
> @@ -684,21 +684,51 @@ deltask do_package_write_rpm
>  # Prepare the root links to point to the /usr counterparts.
>  create_merged_usr_symlinks() {
>      root="$1"
> -    install -d $root${base_bindir} $root${base_sbindir} $root${base_libdir}
> -    ln -rs $root${base_bindir} $root/bin
> -    ln -rs $root${base_sbindir} $root/sbin
> -    ln -rs $root${base_libdir} $root/${baselib}
> +
> +    if [ ! -d "$root${base_bindir}" ]; then
> +        install -d "$root${base_bindir}"
> +    fi
> +
> +    if [ ! -d "$root${base_sbindir}" ]; then
> +        install -d "$root${base_sbindir}"
> +    fi
> +
> +    if [ ! -d "$root${base_libdir}" ]; then
> +        install -d "$root${base_libdir}"
> +    fi
> +
> +    if [ ! -e "$root/bin" ]; then
> +        ln -rs "$root${base_bindir}" "$root/bin"
> +    fi
> +
> +    if [ ! -e "$root/sbin" ]; then
> +        ln -rs "$root${base_sbindir}" "$root/sbin"
> +    fi
> +
> +    if [ ! -e "$root/${baselib}" ]; then
> +        ln -rs "$root${base_libdir}" "$root/${baselib}"
> +    fi
>
>      if [ "${nonarch_base_libdir}" != "${base_libdir}" ]; then
> -       install -d $root${nonarch_base_libdir}
> -       ln -rs $root${nonarch_base_libdir} $root/lib
> +        if [ ! -d "$root${nonarch_base_libdir}" ]; then
> +            install -d "$root${nonarch_base_libdir}"
> +        fi
> +
> +        if [ ! -e "$root/lib" ]; then
> +            ln -rs "$root${nonarch_base_libdir}" "$root/lib"
> +        fi
>      fi
>
>      # create base links for multilibs
>      multi_libdirs="${@d.getVar('MULTILIB_VARIANTS')}"
>      for d in $multi_libdirs; do
> -        install -d $root${exec_prefix}/$d
> -        ln -rs $root${exec_prefix}/$d $root/$d
> +        if [ ! -d "$root${exec_prefix}/$d" ]; then
> +            install -d "$root${exec_prefix}/$d"
> +        fi
> +
> +        if [ ! -e "$root/$d" ]; then
> +            ln -rs "$root${exec_prefix}/$d" "$root/$d"
> +        fi
>      done
>  }
>
> @@ -710,8 +740,8 @@ create_merged_usr_symlinks_sdk() {
>      create_merged_usr_symlinks ${SDK_OUTPUT}${SDKTARGETSYSROOT}
>  }
>
> -ROOTFS_PREPROCESS_COMMAND += "${@bb.utils.contains('DISTRO_FEATURES', 
> 'usrmerge', 'create_merged_usr_symlinks_rootfs', '',d)}"
> -POPULATE_SDK_PRE_TARGET_COMMAND += "${@bb.utils.contains('DISTRO_FEATURES', 
> 'usrmerge', 'create_merged_usr_symlinks_sdk', '',d)}"
> +ROOTFS_POSTPROCESS_COMMAND:append = " 
> ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 
> 'create_merged_usr_symlinks_rootfs', '',d)}"
> +POPULATE_SDK_POST_TARGET_COMMAND:append = " 
> ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 
> 'create_merged_usr_symlinks_sdk', '',d)}"
>
>  reproducible_final_image_task () {
>      if [ "$REPRODUCIBLE_TIMESTAMP_ROOTFS" = "" ]; then
>
> 
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#227128): 
https://lists.openembedded.org/g/openembedded-core/message/227128
Mute This Topic: https://lists.openembedded.org/mt/116510532/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to