Accepting request 978864 from home:rhabacker:branches:windows:mingw:win64:devruntimedeps
- Update to 20220524 - On finding provides and requirements do not generate temporary files in the global temporary directory (boo#1182356) - Add optional support to add runtime dependencies for import libraries, see macros.mingw64 for details (boo#1194430) - Fix warning 'file format not recognized' in mingw64-find-requires.sh when parsing xxx-config files OBS-URL: https://build.opensuse.org/request/show/978864 OBS-URL: https://build.opensuse.org/package/show/windows:mingw:win64/mingw64-filesystem?expand=0&rev=133
This commit is contained in:
parent
b1e91bcab0
commit
67e63d9c18
@ -61,8 +61,18 @@
|
||||
|
||||
%_mingw64_cache mingw64-config.cache
|
||||
|
||||
# setup rpmbuild hooks
|
||||
#
|
||||
# To provide project wide import library scanning add this to project config
|
||||
# Macros:
|
||||
# %_mingw64_find_requires_scan_implibs 1
|
||||
# :Macros
|
||||
# for a single package add
|
||||
# %global _mingw64_find_requires_scan_implibs 1
|
||||
# to the related spec file
|
||||
#
|
||||
%_mingw64_findprovides /usr/lib/rpm/mingw64-find-provides.sh
|
||||
%_mingw64_findrequires /usr/lib/rpm/mingw64-find-requires.sh
|
||||
%_mingw64_findrequires /usr/lib/rpm/mingw64-find-requires.sh %{?_mingw64_find_requires_scan_implibs:--scan-implibs}
|
||||
%_mingw64_install_post /usr/lib/rpm/mingw64-install-post.sh
|
||||
%_mingw64_find_lang /usr/lib/rpm/mingw64-find-lang.sh %{buildroot}
|
||||
|
||||
|
@ -1,3 +1,14 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon May 23 13:58:15 UTC 2022 - Ralf Habacker <ralf.habacker@freenet.de>
|
||||
|
||||
- Update to 20220524
|
||||
- On finding provides and requirements do not generate temporary
|
||||
files in the global temporary directory (boo#1182356)
|
||||
- Add optional support to add runtime dependencies for import
|
||||
libraries, see macros.mingw64 for details (boo#1194430)
|
||||
- Fix warning 'file format not recognized' in mingw64-find-requires.sh
|
||||
when parsing xxx-config files
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Dec 2 14:04:48 UTC 2021 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package mingw64-filesystem
|
||||
#
|
||||
# Copyright (c) 2021 SUSE LLC
|
||||
# Copyright (c) 2022 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -31,7 +31,7 @@
|
||||
%define _rpmmacrodir %{_sysconfdir}/rpm
|
||||
%endif
|
||||
Name: mingw64-filesystem
|
||||
Version: 20210914
|
||||
Version: 20220524
|
||||
Release: 0
|
||||
Summary: MinGW base filesystem and environment
|
||||
License: GPL-2.0-or-later
|
||||
|
@ -11,13 +11,12 @@ fi
|
||||
|
||||
[ -z "$OBJDUMP" ] && OBJDUMP="$host-objdump"
|
||||
|
||||
filelist="/tmp/$target-find-provides.$$"
|
||||
sed "s/['\"]/\\\&/g" >"$filelist"
|
||||
filelist=`sed "s/['\"]/\\\&/g"`
|
||||
|
||||
dlls=$(grep '\.dll$' "$filelist")
|
||||
pcs=$(grep '\.pc$' "$filelist")
|
||||
libs=$(grep '\.a$' "$filelist")
|
||||
cmakes=$(grep '[cC]onfig.cmake$' "$filelist")
|
||||
dlls=$(echo "$filelist" | grep '\.dll$')
|
||||
pcs=$(echo "$filelist" | grep '\.pc$')
|
||||
libs=$(echo "$filelist" | grep '\.a$')
|
||||
cmakes=$(echo "$filelist" | grep '[cC]onfig.cmake$')
|
||||
|
||||
for f in $dlls; do
|
||||
[ ! -f "$f" ] && continue
|
||||
@ -39,6 +38,4 @@ done
|
||||
for h in $cmakes; do
|
||||
[ ! -f "$h" ] && continue
|
||||
echo $h | /usr/lib/rpm/mingw64-cmake.prov
|
||||
done
|
||||
|
||||
rm "$filelist"
|
||||
done
|
@ -5,6 +5,12 @@
|
||||
target="mingw64"
|
||||
host="x86_64-w64-mingw32"
|
||||
|
||||
scan_implibs=
|
||||
if [ "$1" = "--scan-implibs" ]; then
|
||||
scan_implibs=1
|
||||
shift
|
||||
fi
|
||||
|
||||
if [ -n "$1" ]; then
|
||||
package_name="$1"
|
||||
fi
|
||||
@ -13,8 +19,7 @@ fi
|
||||
|
||||
# Get the list of files.
|
||||
|
||||
filelist="/tmp/$target-find-requires.$$"
|
||||
sed "s/['\"]/\\\&/g" >"$filelist"
|
||||
filelist=`sed "s/['\"]/\\\&/g"`
|
||||
|
||||
libs_to_exclude="
|
||||
advapi32
|
||||
@ -82,9 +87,9 @@ for i in $libs_to_exclude; do
|
||||
done
|
||||
|
||||
|
||||
dlls=$(cat "$filelist" | xargs file | grep executable | sed 's,:.*$,,g')
|
||||
pcs=$(grep '\.pc$' "$filelist")
|
||||
configs=$(grep 'config$' "$filelist")
|
||||
dlls=$(echo "$filelist" | grep -v 'config$' | xargs file | grep executable | sed 's,:.*$,,g')
|
||||
pcs=$(echo "$filelist" | grep '\.pc$')
|
||||
configs=$(echo "$filelist" | grep 'config$')
|
||||
|
||||
for f in $dlls; do
|
||||
[ ! -f "$f" ] && continue
|
||||
@ -94,6 +99,17 @@ for f in $dlls; do
|
||||
sed 's/\(.*\)/'"$target"'(\1)/'
|
||||
done | sort -u
|
||||
|
||||
if [ -n "$scan_implibs" ]; then
|
||||
implibs=$(echo "$filelist" | grep '\.dll.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' |
|
||||
tr "[:upper:]" "[:lower:]" |
|
||||
grep -Ev "$exclude_pattern" |
|
||||
sed 's/\(.*\)/'"$target"'(\1)/'
|
||||
done | sort -u
|
||||
fi
|
||||
|
||||
(
|
||||
for g in $pcs; do
|
||||
dirname="${g%/*}"
|
||||
@ -113,5 +129,3 @@ for k in $configs; do
|
||||
done
|
||||
done
|
||||
) | sort -u
|
||||
|
||||
rm "$filelist"
|
||||
|
Loading…
x
Reference in New Issue
Block a user