Skip to content

Commit

Permalink
eclass/db.eclass: use get_libname for Darwin hosts (version 2)
Browse files Browse the repository at this point in the history
Redo the original attempt of this patch
(b158fba) this time ensuring there is
absoletely no change in installed files.

Closes: https://bugs.gentoo.org/673322
Signed-off-by: Fabian Groffen <[email protected]>
  • Loading branch information
grobian committed Jan 19, 2021
1 parent 62f1f89 commit 4741fcd
Showing 1 changed file with 17 additions and 13 deletions.
30 changes: 17 additions & 13 deletions eclass/db.eclass
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -23,31 +23,33 @@ 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}
done;
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

Expand Down Expand Up @@ -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

Expand Down

0 comments on commit 4741fcd

Please sign in to comment.