Compare commits
10 Commits
| Author | SHA256 | Date | |
|---|---|---|---|
| c7b9a861ea | |||
| b3103789ea | |||
| e5f1d6ecee | |||
| 2149fae718 | |||
| 5e601963ea | |||
| 033d9ba64d | |||
| 84113d3175 | |||
| 31e98f5ec2 | |||
| e62bad4d55 | |||
| 7649273788 |
28
mingw64-desktop-file.prov
Normal file
28
mingw64-desktop-file.prov
Normal file
@@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Transform desktop mimetype info into RPM mimehandler(type) provides
|
||||
#
|
||||
# Author: Richard Hughes <richard@hughsie.com>
|
||||
# Based on other provides scripts from RPM
|
||||
|
||||
OLD_IFS="$IFS"
|
||||
while read instfile ; do
|
||||
case "$instfile" in
|
||||
*.desktop)
|
||||
if ! grep -q '^Type=Application$' "$instfile"; then continue; fi
|
||||
if ! grep -q '^Exec=' "$instfile"; then continue; fi
|
||||
echo "application()"
|
||||
echo "application(${instfile##*/applications/})"
|
||||
echo "mingw64(application)"
|
||||
echo "mingw64(application:${instfile##*/applications/})"
|
||||
mime=`grep '^MimeType=' "$instfile" | cut -d'=' -f2`
|
||||
IFS=';'
|
||||
for type in $mime ; do
|
||||
echo 'mimehandler('$type')'
|
||||
echo 'mingw64(mimehandler:'$type')'
|
||||
done
|
||||
;;
|
||||
esac
|
||||
done
|
||||
IFS=$OLD_IFS
|
||||
|
||||
@@ -1,3 +1,39 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Nov 5 09:45:07 UTC 2025 - Ralf Habacker <ralf.habacker@freenet.de>
|
||||
|
||||
- Update to version 20251105
|
||||
- Removed unnecessary runtime dependency on rpmlint, which is only
|
||||
required for building packages and is installed by default on OBS
|
||||
(bsc#1252998)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 4 22:51:49 UTC 2025 - Ralf Habacker <ralf.habacker@freenet.de>
|
||||
|
||||
- Update to version 20251104
|
||||
- Fix 'mingw64-filesystem requires rpmlint-mini' outside
|
||||
open build service on Tumbleweed (bsc#1252998)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 1 09:19:16 UTC 2025 - Ralf Habacker <ralf.habacker@freenet.de>
|
||||
|
||||
- Update to version 20250901
|
||||
- Add providing support for metainfo and desktop files
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Aug 22 09:44:22 UTC 2025 - Ralf Habacker <ralf.habacker@freenet.de>
|
||||
|
||||
- Update to version 20250822
|
||||
- Add checks to shell scripts to see if host-specific executable
|
||||
files are present and report this as an error to avoid hidden
|
||||
problems (bsc#1248468)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Aug 14 21:19:58 UTC 2025 - Ralf Habacker <ralf.habacker@freenet.de>
|
||||
|
||||
- Update to version 20250814
|
||||
- Fix egrep: warning: egrep is obsolescent; using grep -E when
|
||||
creating debug info package
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 13 16:20:39 UTC 2025 - Michal Suchanek <msuchanek@suse.de>
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package mingw64-filesystem
|
||||
#
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC and contributors
|
||||
#
|
||||
# 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: 20250515
|
||||
Version: 20251105
|
||||
Release: 0
|
||||
Summary: MinGW base filesystem and environment
|
||||
License: GPL-2.0-or-later
|
||||
@@ -55,6 +55,10 @@ Source17: mingw64_binaries.attr
|
||||
Source19: mingw64_config.attr
|
||||
Source20: mingw64_libs.attr
|
||||
Source21: mingw64_pkgconfig.attr
|
||||
Source22: mingw64_desktop.attr
|
||||
Source23: mingw64_metainfo.attr
|
||||
Source24: mingw64-desktop-file.prov
|
||||
Source25: mingw64-metainfo.prov
|
||||
# add excluded system libraries to mingw64-find-requires.sh
|
||||
# TODO: The following provides could be removed after all packages has been rebuild
|
||||
Provides: mingw64(bcrypt.dll)
|
||||
@@ -82,7 +86,6 @@ Requires: mingw64-cross-binutils-utils
|
||||
Requires: mingw64-cross-pkgconf-utils
|
||||
Requires: python3
|
||||
Requires: rpm
|
||||
Requires: rpmlint-mini
|
||||
Requires: sed
|
||||
BuildArch: noarch
|
||||
#!BuildIgnore: post-build-checks
|
||||
@@ -182,12 +185,17 @@ install -m 0755 %{SOURCE4} %{buildroot}%{_rpmconfigdir}
|
||||
install -m 0755 %{SOURCE5} %{buildroot}%{_rpmconfigdir}
|
||||
install -m 0755 %{SOURCE8} %{buildroot}%{_rpmconfigdir}
|
||||
install -m 0755 %{SOURCE9} %{buildroot}%{_rpmconfigdir}
|
||||
install -m 0755 %{SOURCE24} %{buildroot}%{_rpmconfigdir}
|
||||
install -m 0755 %{SOURCE25} %{buildroot}%{_rpmconfigdir}
|
||||
|
||||
# dependency generator support
|
||||
mkdir -p %{buildroot}%{_fileattrsdir}
|
||||
install -m 0644 %{SOURCE17} %{buildroot}%{_fileattrsdir}
|
||||
install -m 0644 %{SOURCE19} %{buildroot}%{_fileattrsdir}
|
||||
install -m 0644 %{SOURCE20} %{buildroot}%{_fileattrsdir}
|
||||
install -m 0644 %{SOURCE21} %{buildroot}%{_fileattrsdir}
|
||||
install -m 0644 %{SOURCE22} %{buildroot}%{_fileattrsdir}
|
||||
install -m 0644 %{SOURCE23} %{buildroot}%{_fileattrsdir}
|
||||
|
||||
# Create the locale directories:
|
||||
while read LANG ; do
|
||||
|
||||
@@ -9,6 +9,12 @@
|
||||
# --src-root-dir root dir for installing debug source files (src/debug is appended)
|
||||
# BUILDDIR build directory (often $HOME/rpmbuild/BUILD)
|
||||
#
|
||||
# environment variables:
|
||||
# OBJCOPY - object file copy tool (optional, default is $host-objcopy)
|
||||
# OBJDUMP - object file dumper (optional, default is $host-objdump)
|
||||
# ROOT_DIR - directory where to install debug sources (optional, default is <$ROOT_DIR>/src/debug)
|
||||
# SRCFILES - tool to get debug source files from binaries (optional, default is $host-objdump-srcfiles)
|
||||
#
|
||||
# $PWD package dir below $BUILDDIR
|
||||
|
||||
target="mingw64"
|
||||
@@ -17,25 +23,40 @@ host="x86_64-w64-mingw32"
|
||||
# extract debug info for a single file as child process
|
||||
if [[ -v RUN_SINGLE ]]; then
|
||||
f=$1
|
||||
case $("$host-objdump" -h "$f" 2>/dev/null | egrep -o '(debug[\.a-z_]*|gnu.version)') in
|
||||
result=$("$OBJDUMP" -h "$f" 2>/dev/null | grep -E -o '(debug[\.a-z_]*|gnu.version)')
|
||||
case $result in
|
||||
*debuglink*) exit 0;;
|
||||
*debug*) ;;
|
||||
*gnu.version*)
|
||||
echo "WARNING: "`echo $f | sed -e "s,^$RPM_BUILD_ROOT/*,/,"`" is already stripped!"
|
||||
exit 0
|
||||
;;
|
||||
*) exit 0 ;;
|
||||
*)
|
||||
echo "WARNING: "`echo $f | sed -e "s,^$RPM_BUILD_ROOT/*,/,"`" unknown case, value is '$result'"
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
echo extracting debug info from $f
|
||||
# grep all listed source files belonging to this package into temporary source file list.
|
||||
"$host-objdump" -Wi "$f" | "$host-objdump-srcfiles" | grep $srcdir >>"$SOURCEFILE.tmp"
|
||||
"$host-objcopy" --only-keep-debug "$f" "$f.debug" || :
|
||||
"$OBJDUMP" -Wi "$f" | "$SRCFILES" | grep $srcdir >>"$SOURCEFILE.tmp"
|
||||
"$OBJCOPY" --only-keep-debug "$f" "$f.debug" || :
|
||||
pushd `dirname $f`
|
||||
"$host-objcopy" --add-gnu-debuglink=`basename "$f.debug"` --strip-unneeded `basename "$f"` || :
|
||||
"$OBJCOPY" --add-gnu-debuglink=`basename "$f.debug"` --strip-unneeded `basename "$f"` || :
|
||||
popd
|
||||
exit 0
|
||||
fi
|
||||
|
||||
[ -z "$OBJDUMP" ] && OBJDUMP="$host-objdump"
|
||||
[ -z "$OBJCOPY" ] && OBJCOPY="$host-objcopy"
|
||||
[ -z "$SRCFILES" ] && SRCFILES="$host-objdump-srcfiles"
|
||||
|
||||
for i in $OBJDUMP $OBJCOPY $SRCFILES; do
|
||||
if ! [ -x "$(command -v $i)" ]; then
|
||||
echo "Error: $i is not installed." >&2
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
# speed up running objdump, see bug https://bugzilla.opensuse.org/show_bug.cgi?id=1202431
|
||||
export MALLOC_CHECK_=0
|
||||
export MALLOC_PERTURB_=0
|
||||
@@ -77,7 +98,15 @@ fi
|
||||
|
||||
# extract debug info
|
||||
find $RPM_BUILD_ROOT -type f -name "*.exe" -or -name "*.dll" | sort | \
|
||||
srcdir=$srcdir SOURCEFILE=$SOURCEFILE BUILDDIR=$BUILDDIR RPM_BUILD_ROOT=$RPM_BUILD_ROOT RUN_SINGLE=1 xargs --max-args=1 --max-procs=0 bash -x $0
|
||||
BUILDDIR=$BUILDDIR \
|
||||
OBJDUMP=$OBJDUMP \
|
||||
OBJCOPY=$OBJCOPY \
|
||||
RPM_BUILD_ROOT=$RPM_BUILD_ROOT \
|
||||
RUN_SINGLE=1 \
|
||||
SOURCEFILE=$SOURCEFILE \
|
||||
SRCFILES=$SRCFILES \
|
||||
srcdir=$srcdir \
|
||||
xargs --max-args=1 --max-procs=0 bash -x $0
|
||||
|
||||
# generate debug info file list
|
||||
find $RPM_BUILD_ROOT -type f \
|
||||
|
||||
@@ -10,6 +10,14 @@ if [ -n "$1" ]; then
|
||||
fi
|
||||
|
||||
[ -z "$OBJDUMP" ] && OBJDUMP="$host-objdump"
|
||||
[ -z "$PKGCONF" ] && PKGCONF="$host-pkgconf"
|
||||
|
||||
for i in $OBJDUMP $PKGCONF; do
|
||||
if ! [ -x "$(command -v $i)" ]; then
|
||||
echo "Error: $i is not installed." >&2
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
filelist=`sed "s/['\"]/\\\&/g"`
|
||||
|
||||
@@ -25,7 +33,7 @@ done
|
||||
|
||||
for g in $pcs; do
|
||||
[ ! -f "$g" ] && continue
|
||||
PKG_CONFIG_PATH="${g%/*}" "$host-pkgconf" --print-errors --print-provides "$g" | awk '{ print "'"$target"'(pkg:"$1")", $2, $3 }'
|
||||
PKG_CONFIG_PATH="${g%/*}" "$PKGCONF" --print-errors --print-provides "$g" | awk '{ print "'"$target"'(pkg:"$1")", $2, $3 }'
|
||||
done | sort -u
|
||||
|
||||
for h in $libs; do
|
||||
|
||||
@@ -23,8 +23,16 @@ if [ -n "$1" ]; then
|
||||
fi
|
||||
|
||||
[ -z "$OBJDUMP" ] && OBJDUMP="$host-objdump"
|
||||
[ -z "$PKGCONF" ] && PKGCONF="$host-pkgconf"
|
||||
[ -z "$STRINGS" ] && STRINGS="$host-strings"
|
||||
|
||||
for i in $OBJDUMP $PKGCONF $STRINGS; do
|
||||
if ! [ -x "$(command -v $i)" ]; then
|
||||
echo "Error: $i is not installed." >&2
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
# Get the list of files.
|
||||
|
||||
filelist=`sed "s/['\"]/\\\&/g"`
|
||||
@@ -140,14 +148,14 @@ fi
|
||||
(
|
||||
for g in $pcs; do
|
||||
dirname="${g%/*}"
|
||||
PKG_CONFIG_PATH="$dirname" "$host-pkgconf" --print-errors --print-requires "$g" | awk '{ print "'"$target"'(pkg:"$1")", $2, $3 }'
|
||||
PKG_CONFIG_PATH="$dirname" "$host-pkgconf" --print-errors --print-requires-private "$g" | grep -Ev "$exclude_pattern" | awk '{ print "'"$target"'(pkg:"$1")", $2, $3 }'
|
||||
for h in $(PKG_CONFIG_PATH="$dirname" "$host-pkgconf" --libs-only-l "$g" | sed 's#^\-l##g;s# \-l# #g'); do
|
||||
PKG_CONFIG_PATH="$dirname" "$PKGCONF" --print-errors --print-requires "$g" | awk '{ print "'"$target"'(pkg:"$1")", $2, $3 }'
|
||||
PKG_CONFIG_PATH="$dirname" "$PKGCONF" --print-errors --print-requires-private "$g" | grep -Ev "$exclude_pattern" | awk '{ print "'"$target"'(pkg:"$1")", $2, $3 }'
|
||||
for h in $(PKG_CONFIG_PATH="$dirname" "$PKGCONF" --libs-only-l "$g" | sed 's#^\-l##g;s# \-l# #g'); do
|
||||
echo "$target(lib:$h)"
|
||||
done
|
||||
done
|
||||
for k in $configs; do
|
||||
for j in $(PKG_CONFIG="$host-pkgconf" "$k" --libs); do
|
||||
for j in $(PKG_CONFIG="$PKGCONF" "$k" --libs); do
|
||||
case "$j" in
|
||||
-l*)
|
||||
echo "$j" | sed 's#\-l##g' | grep -Ev "$exclude_pattern" | awk '{ print "'"$target"'(lib:"$1")" }'
|
||||
|
||||
@@ -10,16 +10,24 @@ if [ -z "$RPM_BUILD_ROOT" -o "$RPM_BUILD_ROOT" = "/" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
[ -z "$OBJDUMP" ] && OBJDUMP="$host-objdump"
|
||||
[ -z "$STRIP" ] && STRIP="$host-strip"
|
||||
|
||||
for i in $OBJDUMP $STRIP; do
|
||||
if ! [ -x "$(command -v $i)" ]; then
|
||||
echo "Error: $i is not installed." >&2
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
LC_ALL=
|
||||
LANG=
|
||||
LC_TIME=POSIX
|
||||
|
||||
cd "$RPM_BUILD_ROOT"
|
||||
|
||||
[ -z "$STRIP" ] && STRIP="$host-strip"
|
||||
|
||||
for f in `find . -type f -name "*.exe" -or -name "*.dll"`; do
|
||||
case $("$host-objdump" -h "$f" 2>/dev/null | grep -E -o '(debug[\.a-z_]*|gnu.version)') in
|
||||
case $("$OBJDUMP" -h "$f" 2>/dev/null | grep -E -o '(debug[\.a-z_]*|gnu.version)') in
|
||||
*debuglink*) continue ;;
|
||||
*debug*) ;;
|
||||
*gnu.version*)
|
||||
|
||||
21
mingw64-metainfo.prov
Normal file
21
mingw64-metainfo.prov
Normal file
@@ -0,0 +1,21 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Transform appdata/metainfo xml file into RPM metainfo(filename) provides
|
||||
#
|
||||
# Author: Michael Schroeder <mls@suse.de>
|
||||
# Modified by Neal Gompa <ngompa13@gmail.com> to generate metainfo instead of appdata
|
||||
# Based on other provides scripts from RPM
|
||||
|
||||
OLD_IFS="$IFS"
|
||||
while read instfile ; do
|
||||
case "$instfile" in
|
||||
*.appdata.xml|*.metainfo.xml)
|
||||
echo "metainfo()"
|
||||
echo "metainfo(${instfile##*/})"
|
||||
echo "mingw64(metainfo)"
|
||||
echo "mingw64(metainfo:${instfile##*/})"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
IFS=$OLD_IFS
|
||||
|
||||
2
mingw64_desktop.attr
Normal file
2
mingw64_desktop.attr
Normal file
@@ -0,0 +1,2 @@
|
||||
%__desktop_provides %{_rpmconfigdir}/mingw64-desktop-file.prov
|
||||
%__desktop_path ^%{_mingw64_datadir}/applications/.*\\.desktop$
|
||||
2
mingw64_metainfo.attr
Normal file
2
mingw64_metainfo.attr
Normal file
@@ -0,0 +1,2 @@
|
||||
%__metainfo_provides %{_rpmconfigdir}/mingw64-metainfo.prov
|
||||
%__metainfo_path ^%{_mingw64_datadir}/(appdata|metainfo)/.*\\.(appdata|metainfo)\\.xml$
|
||||
Reference in New Issue
Block a user