]> code.ossystems Code Review - openembedded-core.git/commitdiff
meta: use ln -rs instead of lnr
authorRoss Burton <ross@burtonini.com>
Wed, 10 Nov 2021 11:12:34 +0000 (11:12 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 10 Nov 2021 19:26:15 +0000 (19:26 +0000)
lnr is a script in oe-core that creates relative symlinks, with the same
behaviour as `ln --relative --symlink`.  It was added back in 2014[1] as
not all of the supported host distributions at the time shipped
coreutils 8.16, the first release with --relative.

However the oldest coreutils release in the supported distributions is
now 8.22 in CentOS 7, so lnr can be deprecated and users switched to ln.

[1] 6ae3b85eaffd1b0b6914422e8de7c1230723157d

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
13 files changed:
meta/classes/image.bbclass
meta/classes/populate_sdk_ext.bbclass
meta/recipes-core/glibc/glibc-package.inc
meta/recipes-core/images/build-appliance-image_15.0.0.bb
meta/recipes-core/musl/gcompat_git.bb
meta/recipes-core/musl/musl_git.bb
meta/recipes-core/ncurses/ncurses.inc
meta/recipes-core/os-release/os-release.bb
meta/recipes-devtools/dnf/dnf_4.10.0.bb
meta/recipes-devtools/pkgconf/pkgconf_1.8.0.bb
meta/recipes-devtools/pkgconfig/pkgconfig_git.bb
meta/recipes-kernel/kmod/kmod_git.bb
meta/recipes-kernel/linux/kernel-devsrc.bb

index 2fa69a40d10d4bc4d9dd4ede7872d2a2a879d2c5..6c759fdf7007172a1ac9c99a2f78e9dcf5b11243 100644 (file)
@@ -622,20 +622,20 @@ deltask do_package_write_rpm
 create_merged_usr_symlinks() {
     root="$1"
     install -d $root${base_bindir} $root${base_sbindir} $root${base_libdir}
-    lnr $root${base_bindir} $root/bin
-    lnr $root${base_sbindir} $root/sbin
-    lnr $root${base_libdir} $root/${baselib}
+    ln -rs $root${base_bindir} $root/bin
+    ln -rs $root${base_sbindir} $root/sbin
+    ln -rs $root${base_libdir} $root/${baselib}
 
     if [ "${nonarch_base_libdir}" != "${base_libdir}" ]; then
        install -d $root${nonarch_base_libdir}
-       lnr $root${nonarch_base_libdir} $root/lib
+       ln -rs $root${nonarch_base_libdir} $root/lib
     fi
 
     # create base links for multilibs
     multi_libdirs="${@d.getVar('MULTILIB_VARIANTS')}"
     for d in $multi_libdirs; do
         install -d $root${exec_prefix}/$d
-        lnr $root${exec_prefix}/$d $root/$d
+        ln -rs $root${exec_prefix}/$d $root/$d
     done
 }
 
index 9187f53f1336a6fdcde54906679c017b1300b7f9..ef93b6a8269dcbe0e7d26a451eb65e408463e63e 100644 (file)
@@ -626,7 +626,7 @@ install_tools() {
        for script in $scripts; do
                for scriptfn in `find ${SDK_OUTPUT}/${SDKPATH}/${scriptrelpath} -maxdepth 1 -executable -name "$script"`; do
                        targetscriptfn="${SDK_OUTPUT}/${SDKPATHNATIVE}${bindir_nativesdk}/$(basename $scriptfn)"
-                       test -e ${targetscriptfn} || lnr ${scriptfn} ${targetscriptfn}
+                       test -e ${targetscriptfn} || ln -rs ${scriptfn} ${targetscriptfn}
                done
        done
        # We can't use the same method as above because files in the sysroot won't exist at this point
@@ -634,7 +634,7 @@ install_tools() {
        unfsd_path="${SDK_OUTPUT}/${SDKPATHNATIVE}${bindir_nativesdk}/unfsd"
        if [ "${SDK_INCLUDE_TOOLCHAIN}" = "1" -a ! -e $unfsd_path ] ; then
                binrelpath=${@os.path.relpath(d.getVar('STAGING_BINDIR_NATIVE'), d.getVar('TMPDIR'))}
-               lnr ${SDK_OUTPUT}/${SDKPATH}/tmp/$binrelpath/unfsd $unfsd_path
+               ln -rs ${SDK_OUTPUT}/${SDKPATH}/tmp/$binrelpath/unfsd $unfsd_path
        fi
        touch ${SDK_OUTPUT}/${SDKPATH}/.devtoolbase
 
index 571ae7ae0931fe75b83ee48baa26c94a476c9d87..54e2a08906a077044777f4572d10ec6f3217f4fa 100644 (file)
@@ -119,8 +119,8 @@ do_install() {
                ln -s ${@oe.path.relative('${root_prefix}/lib', '${base_libdir}')}/${ARCH_DYNAMIC_LOADER} \
                                ${D}${root_prefix}/lib/${ARCH_DYNAMIC_LOADER}
        fi
-        lnr ${D}${base_libdir}/libpthread.so.0 ${D}${libdir}/libpthread.so
-        lnr ${D}${base_libdir}/librt.so.1 ${D}${libdir}/librt.so
+        ln -rs ${D}${base_libdir}/libpthread.so.0 ${D}${libdir}/libpthread.so
+        ln -rs ${D}${base_libdir}/librt.so.1 ${D}${libdir}/librt.so
 }
 
 def get_libc_fpu_setting(bb, d):
index 94cafdbbe4eba683f7718189ffd00ed4f52de61a..8cac636581f85737f4668a83ed3b4c78e707ccc0 100644 (file)
@@ -87,7 +87,7 @@ fakeroot do_populate_poky_src () {
 
        # Load tap/tun at startup
        rm -f ${IMAGE_ROOTFS}/sbin/iptables
-       lnr ${IMAGE_ROOTFS}/usr/sbin/iptables ${IMAGE_ROOTFS}/sbin/iptables
+       ln -rs ${IMAGE_ROOTFS}/usr/sbin/iptables ${IMAGE_ROOTFS}/sbin/iptables
        echo "tun" >> ${IMAGE_ROOTFS}/etc/modules
 
        # Use Clearlooks GTK+ theme
index 6e5cc11d5d598ecd4d996ce430298f9998c6c5e9..955cc3c010026884b7de8348a35e138d0d00ed51 100644 (file)
@@ -37,7 +37,7 @@ do_install () {
        oe_runmake install 'DESTDIR=${D}'
        if [ "${SITEINFO_BITS}" = "64" ]; then
                install -d ${D}/lib64
-               lnr ${D}${GLIBC_LDSO} ${D}/lib64/`basename ${GLIBC_LDSO}`
+               ln -rs ${D}${GLIBC_LDSO} ${D}/lib64/`basename ${GLIBC_LDSO}`
        fi
 }
 
index 03ab0a449fabe21ad6c8fb7d61bd3d9ae6f08f1b..50daca1eff1e7e94ef3e25cc811e22ae40b1372b 100644 (file)
@@ -66,7 +66,7 @@ do_install() {
         echo "${base_libdir}" > ${D}${sysconfdir}/ld-musl-${MUSL_LDSO_ARCH}.path
         echo "${libdir}" >> ${D}${sysconfdir}/ld-musl-${MUSL_LDSO_ARCH}.path
        rm -f ${D}${bindir}/ldd ${D}${GLIBC_LDSO}
-       lnr ${D}${libdir}/libc.so ${D}${bindir}/ldd
+       ln -rs ${D}${libdir}/libc.so ${D}${bindir}/ldd
 }
 
 FILES:${PN} += "/lib/ld-musl-${MUSL_LDSO_ARCH}.so.1 ${sysconfdir}/ld-musl-${MUSL_LDSO_ARCH}.path"
index 64cce329aaad01dbefa37c12290d39ea58ab1701..3f045454651a5c7f35b0a916bf6c8ecd8f4a2574 100644 (file)
@@ -242,10 +242,10 @@ do_install() {
             mv ${D}${libdir}/libtinfo.so.* ${D}${base_libdir}
             rm ${D}${libdir}/libtinfo.so
 
-            # Use lnr to ensure this is a relative link despite absolute paths
+            # Use ln -rs to ensure this is a relative link despite absolute paths
             # (as we can't know the relationship between base_libdir and libdir).
             # At some point we can rely on coreutils 8.16 which has ln -r.
-            lnr ${D}${base_libdir}/libtinfo.so.5 ${D}${libdir}/libtinfo.so
+            ln -rs ${D}${base_libdir}/libtinfo.so.5 ${D}${libdir}/libtinfo.so
         fi
         if [ -d "${D}${includedir}/ncurses" ]; then
             for f in `find ${D}${includedir}/ncurses -name "*.h"`
index 38ee4f993bcc19c8fa7eac8beb7cbb3a95f0134f..8847fe30c3f7820ec1484e2beb2d6b1b91815ab5 100644 (file)
@@ -47,7 +47,7 @@ do_compile[vardeps] += "${OS_RELEASE_FIELDS}"
 do_install () {
     install -d ${D}${nonarch_libdir} ${D}${sysconfdir}
     install -m 0644 os-release ${D}${nonarch_libdir}/
-    lnr ${D}${nonarch_libdir}/os-release ${D}${sysconfdir}/os-release
+    ln -rs ${D}${nonarch_libdir}/os-release ${D}${sysconfdir}/os-release
 }
 
 FILES:${PN} += "${nonarch_libdir}/os-release"
index e4432c7f09a06b9535a336d4cd2c0b68e9243814..cef2c03e4e206722f418b047d386ea420415b78d 100644 (file)
@@ -63,8 +63,8 @@ RRECOMMENDS:${PN}:class-target += "gnupg"
 # .spec file in dnf source tree does (and then Fedora and dnf documentation
 # says that dnf binary is plain 'dnf').
 do_install:append() {
-        lnr ${D}/${bindir}/dnf-3 ${D}/${bindir}/dnf
-        lnr ${D}/${bindir}/dnf-automatic-3 ${D}/${bindir}/dnf-automatic
+        ln -rs ${D}/${bindir}/dnf-3 ${D}/${bindir}/dnf
+        ln -rs ${D}/${bindir}/dnf-automatic-3 ${D}/${bindir}/dnf-automatic
 }
 
 # Direct dnf-native to read rpm configuration from our sysroot, not the one it was compiled in
index 29cf4a6a94e3a7a2ec51f4f12da78e886cd9458e..887e15e28ce8ef2aa0dbf045fceae58ebb5d04de 100644 (file)
@@ -59,7 +59,7 @@ pkgconf_sstate_fixup_esdk () {
    if [ "${BB_CURRENTTASK}" = "populate_sysroot_setscene" -a "${WITHIN_EXT_SDK}" = "1" ] ; then
        pkgconfdir="${SSTATE_INSTDIR}/recipe-sysroot-native/${bindir_native}"
        mv $pkgconfdir/pkg-config $pkgconfdir/pkg-config.real
-       lnr $pkgconfdir/pkg-config-esdk $pkgconfdir/pkg-config
+       ln -rs $pkgconfdir/pkg-config-esdk $pkgconfdir/pkg-config
        sed -i -e "s|^pkg-config|pkg-config.real|" $pkgconfdir/pkg-config-native
    fi
 }
index 39b87ec82904f719e38a0bf469e696f2579566c7..c220bafd905ee07688af0dcd285ecfd3ede77b8c 100644 (file)
@@ -67,7 +67,7 @@ pkgconfig_sstate_fixup_esdk () {
        if [ "${BB_CURRENTTASK}" = "populate_sysroot_setscene" -a "${WITHIN_EXT_SDK}" = "1" ] ; then
                pkgconfdir="${SSTATE_INSTDIR}/recipe-sysroot-native/${bindir_native}"
                mv $pkgconfdir/pkg-config $pkgconfdir/pkg-config.real
-               lnr $pkgconfdir/pkg-config-esdk $pkgconfdir/pkg-config
+               ln -rs $pkgconfdir/pkg-config-esdk $pkgconfdir/pkg-config
                sed -i -e "s|^pkg-config|pkg-config.real|" $pkgconfdir/pkg-config-native
        fi
 }
index eb5d176dedd621f12e03884db7d6048a61bb17be..9bd66de430241c5f2272cd880b65b22540e1962d 100644 (file)
@@ -19,9 +19,9 @@ do_install:append () {
         install -dm755 ${D}${base_bindir}
         install -dm755 ${D}${base_sbindir}
         # add symlinks to kmod
-        lnr ${D}${base_bindir}/kmod ${D}${base_bindir}/lsmod
+        ln -rs ${D}${base_bindir}/kmod ${D}${base_bindir}/lsmod
         for tool in insmod rmmod depmod modinfo modprobe; do
-                lnr ${D}${base_bindir}/kmod ${D}${base_sbindir}/${tool}
+                ln -rs ${D}${base_bindir}/kmod ${D}${base_sbindir}/${tool}
         done
         # configuration directories
         install -dm755 ${D}${nonarch_base_libdir}/depmod.d
index f22fac5bd6d111307e1b6d381958db6ea58fab20..4ceb35f0d2b95999894ba77de38a7b742c70c918 100644 (file)
@@ -48,7 +48,7 @@ do_install() {
     mkdir -p ${D}/usr/src
     (
        cd ${D}/usr/src
-       lnr ${D}${KERNEL_BUILD_ROOT}${KERNEL_VERSION}/source kernel
+       ln -rs ${D}${KERNEL_BUILD_ROOT}${KERNEL_VERSION}/source kernel
     )
 
     # for on target purposes, we unify build and source