commit:     4741fcd38d7a99bf5d1c3c31e4ba8300cd4bbb97
Author:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 19 17:13:02 2021 +0000
Commit:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Tue Jan 19 17:14:48 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4741fcd3

eclass/db.eclass: use get_libname for Darwin hosts (version 2)

Redo the original attempt of this patch
(b158fba5eee07da21f8b80fd737b9bdd3865256b) this time ensuring there is
absoletely no change in installed files.

Closes: https://bugs.gentoo.org/673322
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>

 eclass/db.eclass | 30 +++++++++++++++++-------------
 1 file changed, 17 insertions(+), 13 deletions(-)

diff --git a/eclass/db.eclass b/eclass/db.eclass
index 9a246d18979..96669c6d893 100644
--- a/eclass/db.eclass
+++ b/eclass/db.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: db.eclass
@@ -23,13 +23,15 @@ db_fix_so() {
        cd "${LIB}" || die
 
        # first clean up old symlinks
-       find "${LIB}" -maxdepth 1 -type l -name 'libdb[1._-]*so' -delete || die
-       find "${LIB}" -maxdepth 1 -type l -name 'libdb[1._-]*so.[23]' -delete 
|| die
+       local soext=$(get_libname)
+       find "${LIB}" -maxdepth 1 -type l -name 'libdb[1._-]*'"${soext#.}" 
-delete || die
+       soext=$(get_libname "[23]")
+       find "${LIB}" -maxdepth 1 -type l -name 'libdb[1._-]*'"${soext#.}" 
-delete || die
        find "${LIB}" -maxdepth 1 -type l -name 'libdb[1._-]*a' -delete || die
 
        # now rebuild all the correct ones
        local ext
-       for ext in so a; do
+       for ext in so dylib a; do
                for name in libdb libdb_{cxx,tcl,java,sql,stl}; do
                        target="$(find . -maxdepth 1 -type f -name 
"${name}-*.${ext}" |sort -V |tail -n 1)"
                        [[ -n "${target}" ]] && ln -sf ${target//.\//} 
${name}.${ext}
@@ -37,17 +39,17 @@ db_fix_so() {
        done;
 
        # db[23] gets some extra-special stuff
-       if [[ -f libdb1.so.2 ]]; then
-               ln -sf libdb1.so.2 libdb.so.2
-               ln -sf libdb1.so.2 libdb1.so
-               ln -sf libdb1.so.2 libdb-1.so
+       if [[ -f libdb1$(get_libname 2) ]]; then
+               ln -sf libdb1$(get_libname 2) libdb$(get_libname 2)
+               ln -sf libdb1$(get_libname 2) libdb1$(get_libname)
+               ln -sf libdb1$(get_libname 2) libdb-1$(get_libname)
        fi
        # what do we do if we ever get 3.3 ?
        local i
        for i in libdb libdb_{cxx,tcl,java,sql,stl}; do
-               if [[ -f ${i}-3.2.so ]]; then
-                       ln -sf ${i}-3.2.so ${i}-3.so
-                       ln -sf ${i}-3.2.so ${i}.so.3
+               if [[ -f $i-3.2$(get_libname) ]]; then
+                       ln -sf $i-3.2$(get_libname) $i-3$(get_libname)
+                       ln -sf $i-3.2$(get_libname) $i$(get_libname 3)
                fi
        done
 
@@ -143,8 +145,10 @@ db_src_install_usrlibcleanup() {
                mv "${LIB}/libdb_cxx.a" "${LIB}/libdb_cxx-${SLOT}.a" || die
        fi
 
-       find "${LIB}" -maxdepth 1 -type l -name 'libdb[1._-]*so' -delete || die
-       find "${LIB}" -maxdepth 1 -type l -name 'libdb[1._-]*so.[23]' -delete 
|| die
+       local soext=$(get_libname)
+       find "${LIB}" -maxdepth 1 -type l -name 'libdb[1._-]*'"${soext#.}" 
-delete || die
+       soext=$(get_libname "[23]")
+       find "${LIB}" -maxdepth 1 -type l -name 'libdb[1._-]*'"${soext#.}" 
-delete || die
        einfo "removing unversioned static archives"
        find "${LIB}" -maxdepth 1 -type l -name 'libdb[1._-]*a' -delete || die
 

Reply via email to