diff --git a/mingw64-filesystem.changes b/mingw64-filesystem.changes index bfcb01e..1e7ab06 100644 --- a/mingw64-filesystem.changes +++ b/mingw64-filesystem.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Wed Jul 20 07:11:15 UTC 2022 - Ralf Habacker + +- Update to 20220801 +- Fetch real used shared library name from import libraries to avoid + file name generation errors, for example with mingw32-glib2 +- Scan all archives for shared library names as packages may not use + the default import library extension + ------------------------------------------------------------------- Tue Jul 12 07:18:39 UTC 2022 - Ralf Habacker diff --git a/mingw64-filesystem.spec b/mingw64-filesystem.spec index 55f9fd6..540e177 100644 --- a/mingw64-filesystem.spec +++ b/mingw64-filesystem.spec @@ -31,7 +31,7 @@ %define _rpmmacrodir %{_sysconfdir}/rpm %endif Name: mingw64-filesystem -Version: 20220620 +Version: 20220801 Release: 0 Summary: MinGW base filesystem and environment License: GPL-2.0-or-later diff --git a/mingw64-find-requires.sh b/mingw64-find-requires.sh index 7007b2f..d5006f0 100644 --- a/mingw64-find-requires.sh +++ b/mingw64-find-requires.sh @@ -106,11 +106,14 @@ for f in $dlls; do sed 's/\(.*\)/'"$target"'(\1)/' done | sort -u +# scan import libraries - all archive files are scanned, not only +# '.dll.a' as some packages do not use the standard extension +# for import libraries if [ -n "$scan_implibs" ]; then - implibs=$(echo "$filelist" | grep '\.dll.a$') + implibs=$(echo "$filelist" | grep '\.a$') for f in $implibs; do [ ! -f "$f" ] && continue - "$OBJDUMP" -r "$f" | grep '_iname' | sed 's,^.*lib,lib,g;s,_iname,,g;s,_dll,.dll,g;s,_,-,g' | + "$STRINGS" "$f" | grep '\.dll$' | tr "[:upper:]" "[:lower:]" | grep -Ev "$exclude_pattern" | sed 's/\(.*\)/'"$target"'(\1)/'