public inbox for openembedded-core@lists.openembedded.org
 help / color / mirror / Atom feed
From: Amarnath Valluri <amarnath.valluri@intel.com>
To: openembedded-core@lists.openembedded.org
Subject: [PATCH 10/23] musl: Fix issues in relative symlink creation
Date: Fri, 10 Feb 2017 15:42:18 +0200	[thread overview]
Message-ID: <1486734151-28331-11-git-send-email-amarnath.valluri@intel.com> (raw)
In-Reply-To: <1486734151-28331-1-git-send-email-amarnath.valluri@intel.com>

Make use of lnr/ln -r while creating relative symlinks than guessing the
relalive path.

Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
---
 ...dynamic-linker-a-relative-symlink-to-libc.patch | 58 ++++++++++++++++++----
 meta/recipes-core/musl/musl_git.bb                 |  2 +-
 2 files changed, 49 insertions(+), 11 deletions(-)

diff --git a/meta/recipes-core/musl/files/0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch b/meta/recipes-core/musl/files/0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch
index 5490b1c..5161c09 100644
--- a/meta/recipes-core/musl/files/0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch
+++ b/meta/recipes-core/musl/files/0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch
@@ -1,6 +1,6 @@
-From 94c0b97b62125d8bbc92dce0694e387d5b2ad181 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 10 Jan 2016 12:14:02 -0800
+From 0ec74744a4cba7c5fdfaa2685995119a4fca0260 Mon Sep 17 00:00:00 2001
+From: Amarnath Valluri <amarnath.valluri@intel.com>
+Date: Wed, 18 Jan 2017 16:14:37 +0200
 Subject: [PATCH] Make dynamic linker a relative symlink to libc
 
 absolute symlink into $(libdir) fails to load in a cross build
@@ -10,25 +10,63 @@ can be computed during cross builds, qemu in usermode often comes to aid
 in such situations to feed into cross builds.
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
 ---
 Upstream-Status: Pending
-
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+---
+ Makefile         | 2 +-
+ tools/install.sh | 8 +++++---
+ 2 files changed, 6 insertions(+), 4 deletions(-)
 
 diff --git a/Makefile b/Makefile
-index b2226fa..0d71f7f 100644
+index 8246b78..d1dbe39 100644
 --- a/Makefile
 +++ b/Makefile
-@@ -189,7 +189,7 @@ $(DESTDIR)$(includedir)/%: include/%
+@@ -215,7 +215,7 @@ $(DESTDIR)$(includedir)/%: $(srcdir)/include/%
  	$(INSTALL) -D -m 644 $< $@
  
  $(DESTDIR)$(LDSO_PATHNAME): $(DESTDIR)$(libdir)/libc.so
 -	$(INSTALL) -D -l $(libdir)/libc.so $@ || true
-+	$(INSTALL) -D -l ..$(libdir)/libc.so $@ || true
++	$(INSTALL) -D -r $(DESTDIR)$(libdir)/libc.so $@ || true
  
  install-libs: $(ALL_LIBS:lib/%=$(DESTDIR)$(libdir)/%) $(if $(SHARED_LIBS),$(DESTDIR)$(LDSO_PATHNAME),)
  
+diff --git a/tools/install.sh b/tools/install.sh
+index d913b60..b6a7f79 100755
+--- a/tools/install.sh
++++ b/tools/install.sh
+@@ -6,18 +6,20 @@
+ #
+ 
+ usage() {
+-printf "usage: %s [-D] [-l] [-m mode] src dest\n" "$0" 1>&2
++printf "usage: %s [-D] [-l] [-r] [-m mode] src dest\n" "$0" 1>&2
+ exit 1
+ }
+ 
+ mkdirp=
+ symlink=
++symlinkflags="-s"
+ mode=755
+ 
+-while getopts Dlm: name ; do
++while getopts Dlrm: name ; do
+ case "$name" in
+ D) mkdirp=yes ;;
+ l) symlink=yes ;;
++r) symlink=yes; symlinkflags="$symlinkflags -r" ;;
+ m) mode=$OPTARG ;;
+ ?) usage ;;
+ esac
+@@ -48,7 +50,7 @@ trap 'rm -f "$tmp"' EXIT INT QUIT TERM HUP
+ umask 077
+ 
+ if test "$symlink" ; then
+-ln -s "$1" "$tmp"
++ln $symlinkflags "$1" "$tmp"
+ else
+ cat < "$1" > "$tmp"
+ chmod "$mode" "$tmp"
 -- 
-2.7.0
+2.7.4
 
diff --git a/meta/recipes-core/musl/musl_git.bb b/meta/recipes-core/musl/musl_git.bb
index e9b9fef..5775184 100644
--- a/meta/recipes-core/musl/musl_git.bb
+++ b/meta/recipes-core/musl/musl_git.bb
@@ -49,7 +49,7 @@ do_install() {
 	oe_runmake install DESTDIR='${D}'
 
 	install -d ${D}${bindir}
-	ln -s ../../${libdir}/libc.so ${D}${bindir}/ldd
+	lnr ${D}${libdir}/libc.so ${D}${bindir}/ldd
 	for l in crypt dl m pthread resolv rt util xnet
 	do
 		ln -s libc.so ${D}${libdir}/lib$l.so
-- 
2.7.4



  parent reply	other threads:[~2017-02-10 13:42 UTC|newest]

Thread overview: 88+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-10 13:42 [PATCH 00/23] Fix for #7040 - Support for /usr merge Amarnath Valluri
2017-02-10 13:42 ` [PATCH 01/23] bitbake.conf: support for merged usr with DISTRO_FEATURE usrmerge Amarnath Valluri
2017-02-10 16:29   ` Christopher Larson
2017-02-10 13:42 ` [PATCH 02/23] bitbake.conf: Modify nativesdk variables to support 'usrmerge' DISTRO_FEATURE Amarnath Valluri
2017-02-10 13:42 ` [PATCH 03/23] cross.bbclass: merged /usr support Amarnath Valluri
2017-02-10 13:42 ` [PATCH 04/23] base-files: support merged /usr Amarnath Valluri
2017-02-10 13:42 ` [PATCH 05/23] systemd: chagnes to " Amarnath Valluri
2017-02-10 13:42 ` [PATCH 06/23] bash: changes " Amarnath Valluri
2017-02-10 13:42 ` [PATCH 07/23] busybox: " Amarnath Valluri
2017-02-10 13:42 ` [PATCH 08/23] sed: " Amarnath Valluri
2017-02-10 13:42 ` [PATCH 09/23] package_deb.bbclass: Ignore file paths in RPROVIDES Amarnath Valluri
2017-02-13 12:57   ` Alexander Kanavin
2017-02-10 13:42 ` Amarnath Valluri [this message]
2017-02-10 13:42 ` [PATCH 11/23] glibc: Ensure ldconfig is packaged into glibc Amarnath Valluri
2017-02-10 13:42 ` [PATCH 12/23] util-linux: Fix packaging with "usrmerge" Amarnath Valluri
2017-02-10 13:42 ` [PATCH 13/23] attr/acl: Do not create broken static library link when not needed Amarnath Valluri
2017-02-10 13:42 ` [PATCH 14/23] systemd: Do not add libnss_* to systemd package Amarnath Valluri
2017-02-10 13:42 ` [PATCH 15/23] util-linux: Make sure '${base_bindir}/reset' is part of util-linux-reset package Amarnath Valluri
2017-02-10 13:42 ` [PATCH 16/23] util-linux, shadow: Make 'nologin' alternative command Amarnath Valluri
2017-02-10 13:42 ` [PATCH 17/23] libarchive: Backport upstream fixes Amarnath Valluri
2017-02-10 13:42 ` [PATCH 18/23] kernel: use ${nonarch_base_libdir} for kernel modules installation Amarnath Valluri
2017-02-10 13:42 ` [PATCH 19/23] firmware: use ${nonarch_base_libdir} for firmware installation Amarnath Valluri
2017-02-10 13:42 ` [PATCH 20/23] mdadm: Avoid using hardocded udev, sbin paths Amarnath Valluri
2017-02-10 13:42 ` [PATCH 21/23] mktemp: Move installed files only when needed Amarnath Valluri
2017-02-10 13:42 ` [PATCH 22/23] net-tools: Place package content as per bitbake environment Amarnath Valluri
2017-02-10 13:42 ` [PATCH 23/23] lsb: Make use of appropriate bitbake variables Amarnath Valluri
2017-02-10 13:59 ` ✗ patchtest: failure for Fix for #7040 - Support for /usr merge Patchwork
2017-02-22  8:26 ` [PATCH v2 01/25] bitbake.conf: support for merged usr with DISTRO_FEATURE usrmerge Amarnath Valluri
2017-02-22  8:26   ` [PATCH v2 00/25] Fix for #7040 - Support for /usr merge Amarnath Valluri
2017-02-22  8:26   ` [PATCH v2 01/25] bitbake.conf: support for merged usr with DISTRO_FEATURE usrmerge Amarnath Valluri
2017-02-22  8:26   ` [PATCH v2 02/25] bitbake.conf: Modify nativesdk variables to support 'usrmerge' DISTRO_FEATURE Amarnath Valluri
2017-02-22  8:27   ` [PATCH v2 03/25] cross.bbclass: merged /usr support Amarnath Valluri
2017-02-22  8:27   ` [PATCH v2 04/25] base-files: Replace hardcoded root paths with appropriate bitbake variables Amarnath Valluri
2017-02-22  8:27   ` [PATCH v2 05/25] systemd: chagnes to support merged /usr Amarnath Valluri
2017-02-22  8:27   ` [PATCH v2 06/25] bash: changes " Amarnath Valluri
2017-02-22  8:27   ` [PATCH v2 07/25] busybox: " Amarnath Valluri
2017-02-22  8:27   ` [PATCH v2 08/25] sed: " Amarnath Valluri
2017-02-22  8:27   ` [PATCH v2 09/25] musl: Fix issues in relative symlink creation Amarnath Valluri
2017-02-22  8:27   ` [PATCH v2 10/25] glibc: Ensure ldconfig is packaged into glibc Amarnath Valluri
2017-02-22  8:27   ` [PATCH v2 11/25] util-linux: Fix packaging with "usrmerge" Amarnath Valluri
2017-02-22  8:27   ` [PATCH v2 12/25] attr/acl: Do not create broken static library link when not needed Amarnath Valluri
2017-02-22  8:27   ` [PATCH v2 13/25] systemd: Do not add libnss_* to systemd package Amarnath Valluri
2017-02-22  8:27   ` [PATCH v2 14/25] util-linux: Make sure '${base_bindir}/reset' is part of util-linux-reset package Amarnath Valluri
2017-02-22  8:27   ` [PATCH v2 15/25] util-linux, shadow: Make 'nologin' alternative command Amarnath Valluri
2017-02-22  8:27   ` [PATCH v2 16/25] libarchive: Backport upstream fixes Amarnath Valluri
2017-02-22  8:27   ` [PATCH v2 17/25] kernel: use ${nonarch_base_libdir} for kernel modules installation Amarnath Valluri
2017-02-22  8:27   ` [PATCH v2 18/25] firmware: use ${nonarch_base_libdir} for firmware installation Amarnath Valluri
2017-02-22  8:27   ` [PATCH v2 19/25] mdadm: Avoid using hardocded udev, sbin paths Amarnath Valluri
2017-03-02 20:11     ` Burton, Ross
2017-03-03 12:27       ` [OE-Core[[PATCH v3 19/25] mdadm: Avoid using hardocded sbin path Amarnath Valluri
2017-02-22  8:27   ` [PATCH v2 20/25] mktemp: Move installed files only when needed Amarnath Valluri
2017-02-22  8:27   ` [PATCH v2 21/25] net-tools: Place package content as per bitbake environment Amarnath Valluri
2017-02-22  8:27   ` [PATCH v2 22/25] lsb: Make use of appropriate bitbake variables Amarnath Valluri
2017-03-02 20:13     ` Burton, Ross
2017-03-03 12:36       ` [PATCH v3] " Amarnath Valluri
2017-02-22  8:27   ` [PATCH v2 23/25] lttng-modules: Replace '/lib' with ${nonarch_base_libdir} Amarnath Valluri
2017-02-22  8:27   ` [PATCH v2 24/25] image: create symlinks needed for merged /usr Amarnath Valluri
2017-02-22  8:27   ` [PATCH v2 25/25] insane.bbclass: Add package QA check " Amarnath Valluri
2017-06-07 11:52   ` [PATCH v2 01/25] bitbake.conf: support for merged usr with DISTRO_FEATURE usrmerge Richard Purdie
2017-06-07 14:31     ` Patrick Ohly
2017-06-07 17:04       ` Peter Kjellerstedt
2017-06-08  6:18         ` Patrick Ohly
2017-06-08  6:37         ` Richard Purdie
2017-06-09 12:52           ` Valluri, Amarnath
2017-02-22  8:26 ` [PATCH v2 02/25] bitbake.conf: Modify nativesdk variables to support 'usrmerge' DISTRO_FEATURE Amarnath Valluri
2017-02-22  8:26 ` [PATCH v2 03/25] cross.bbclass: merged /usr support Amarnath Valluri
2017-02-22  8:26 ` [PATCH v2 04/25] base-files: Replace hardcoded root paths with appropriate bitbake variables Amarnath Valluri
2017-02-22  8:26 ` [PATCH v2 05/25] systemd: chagnes to support merged /usr Amarnath Valluri
2017-02-22  8:26 ` [PATCH v2 06/25] bash: changes " Amarnath Valluri
2017-02-22  8:26 ` [PATCH v2 07/25] busybox: " Amarnath Valluri
2017-02-22  8:26 ` [PATCH v2 08/25] sed: " Amarnath Valluri
2017-02-22  8:26 ` [PATCH v2 09/25] musl: Fix issues in relative symlink creation Amarnath Valluri
2017-02-22  8:26 ` [PATCH v2 10/25] glibc: Ensure ldconfig is packaged into glibc Amarnath Valluri
2017-02-22  8:26 ` [PATCH v2 11/25] util-linux: Fix packaging with "usrmerge" Amarnath Valluri
2017-02-22  8:26 ` [PATCH v2 12/25] attr/acl: Do not create broken static library link when not needed Amarnath Valluri
2017-02-22  8:26 ` [PATCH v2 13/25] systemd: Do not add libnss_* to systemd package Amarnath Valluri
2017-02-22  8:26 ` [PATCH v2 14/25] util-linux: Make sure '${base_bindir}/reset' is part of util-linux-reset package Amarnath Valluri
2017-02-22  8:26 ` [PATCH v2 15/25] util-linux, shadow: Make 'nologin' alternative command Amarnath Valluri
2017-02-22  8:26 ` [PATCH v2 16/25] libarchive: Backport upstream fixes Amarnath Valluri
2017-02-22  8:26 ` [PATCH v2 17/25] kernel: use ${nonarch_base_libdir} for kernel modules installation Amarnath Valluri
2017-02-22  8:26 ` [PATCH v2 18/25] firmware: use ${nonarch_base_libdir} for firmware installation Amarnath Valluri
2017-02-22  8:26 ` [PATCH v2 19/25] mdadm: Avoid using hardocded udev, sbin paths Amarnath Valluri
2017-02-22  8:26 ` [PATCH v2 20/25] mktemp: Move installed files only when needed Amarnath Valluri
2017-02-22  8:26 ` [PATCH v2 21/25] net-tools: Place package content as per bitbake environment Amarnath Valluri
2017-02-22  8:26 ` [PATCH v2 22/25] lsb: Make use of appropriate bitbake variables Amarnath Valluri
2017-02-22  8:26 ` [PATCH v2 23/25] lttng-modules: Replace '/lib' with ${nonarch_base_libdir} Amarnath Valluri
2017-02-22  8:26 ` [PATCH v2 24/25] image: create symlinks needed for merged /usr Amarnath Valluri
2017-02-22  8:26 ` [PATCH v2 25/25] insane.bbclass: Add package QA check " Amarnath Valluri

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1486734151-28331-11-git-send-email-amarnath.valluri@intel.com \
    --to=amarnath.valluri@intel.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox