kiss: Drop hardcoded musl reference.

This replaces the package based exemption with one based on C and
POSIX shared library names, removing the hardcoded reference to
musl and adding support for more C libraries.

This needs testing with non-musl systems. Specifically, the
dependency fixer which runs post-build in 'kiss build' should /not/
display anything related to your C library. If it does, please open
an issue.
This commit is contained in:
Dylan Araps 2020-07-28 04:05:05 +03:00
parent e18826eaf8
commit 554940cd7b
No known key found for this signature in database
GPG Key ID: 46D62DD9F1DE636E

9
kiss
View File

@ -448,6 +448,13 @@ pkg_fixdeps() {
# Resolve path symlinks to find the real location to the library. # Resolve path symlinks to find the real location to the library.
cd -P "${dep%/*}" 2>/dev/null || continue cd -P "${dep%/*}" 2>/dev/null || continue
# Skip files owned by libc and POSIX.
case ${dep##*/} in
"" | ld-* | libpthread.so* | lib[cm].so* | libdl.so* |\
librt.so* | libtrace.so* | libxnet.so*)
continue
esac
# Figure out which package owns the file. # Figure out which package owns the file.
dep=$(grep -lFx "${PWD#"$KISS_ROOT"}/${dep##*/}" "$@") dep=$(grep -lFx "${PWD#"$KISS_ROOT"}/${dep##*/}" "$@")
dep=${dep%/*} dep=${dep##*/} dep=${dep%/*} dep=${dep##*/}
@ -456,7 +463,7 @@ pkg_fixdeps() {
# Skip listing these packages as dependencies. # Skip listing these packages as dependencies.
# The pkg_name portions are to workaround incorrect detections # The pkg_name portions are to workaround incorrect detections
# from -bin or -esr packages. # from -bin or -esr packages.
""|musl|gcc|llvm|"${pkg_name%%-bin}"|\ ""|gcc|llvm|"${pkg_name%%-bin}"|\
"${pkg_name%%-esr}"|"${pkg_name%%-esr-bin}") ;; "${pkg_name%%-esr}"|"${pkg_name%%-esr-bin}") ;;
*) printf '%s\n' "$dep" *) printf '%s\n' "$dep"