commit:     88796dc3eb02643799f661d38386bede0109cef2
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 19 00:38:04 2018 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Thu Jul 19 00:38:24 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=88796dc3

sys-libs/glibc: preserve /usr/lib witk keepdir

Today crossdev does not install baselayout into /usr/${CTARGET}.
As a result /usr/${CTARGET}/usr/lib was not created by any ebuilds.
glibc ebuild used to create /usr/lib but recently added
install-qa-check.d/95empty-dirs by portage broke that assumption.

This change uses keepdir to ensure presense of /usr/${CTARGET}/usr/lib.
Longer term crossdev will attempt to use baselayout.

Reported-by: Vadim A. Misbakh-Soloviov <git <AT> mva.name>
Bug: https://bugs.gentoo.org/652724
Package-Manager: Portage-2.3.43, Repoman-2.3.10

 sys-libs/glibc/glibc-2.27-r5.ebuild | 6 ++----
 sys-libs/glibc/glibc-9999.ebuild    | 6 ++----
 2 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/sys-libs/glibc/glibc-2.27-r5.ebuild 
b/sys-libs/glibc/glibc-2.27-r5.ebuild
index e123d28e80d..a42e486dd6b 100644
--- a/sys-libs/glibc/glibc-2.27-r5.ebuild
+++ b/sys-libs/glibc/glibc-2.27-r5.ebuild
@@ -1215,10 +1215,8 @@ glibc_do_src_install() {
                # gcc likes to use relative paths to get to its multilibs like
                # /usr/lib/../lib64/.  So while we don't install any files into
                # /usr/lib/, we do need it to exist.
-               cd "${ED}"$(alt_libdir)/..
-               [[ -e lib ]] || mkdir lib
-               cd "${ED}"$(alt_usrlibdir)/..
-               [[ -e lib ]] || mkdir lib
+               keepdir $(alt_prefix)/lib
+               keepdir $(alt_prefix)/usr/lib
 
                dosym usr/include $(alt_prefix)/sys-include
                return 0

diff --git a/sys-libs/glibc/glibc-9999.ebuild b/sys-libs/glibc/glibc-9999.ebuild
index a0c2c4f3d45..49b14e0284e 100644
--- a/sys-libs/glibc/glibc-9999.ebuild
+++ b/sys-libs/glibc/glibc-9999.ebuild
@@ -1219,10 +1219,8 @@ glibc_do_src_install() {
                # gcc likes to use relative paths to get to its multilibs like
                # /usr/lib/../lib64/.  So while we don't install any files into
                # /usr/lib/, we do need it to exist.
-               cd "${ED}"$(alt_libdir)/..
-               [[ -e lib ]] || mkdir lib
-               cd "${ED}"$(alt_usrlibdir)/..
-               [[ -e lib ]] || mkdir lib
+               keepdir $(alt_prefix)/lib
+               keepdir $(alt_prefix)/usr/lib
 
                dosym usr/include $(alt_prefix)/sys-include
                return 0

Reply via email to