Accepting request 1242271 from windows:mingw:win64

OBS-URL: https://build.opensuse.org/request/show/1242271
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mingw64-filesystem?expand=0&rev=29
This commit is contained in:
Ana Guerrero 2025-02-03 20:44:18 +00:00 committed by Git OBS Bridge
commit 6095616c5f
4 changed files with 75 additions and 23 deletions

View File

@ -93,15 +93,20 @@
%_mingw64_find_lang /usr/lib/rpm/mingw64-find-lang.sh %{buildroot} %_mingw64_find_lang /usr/lib/rpm/mingw64-find-lang.sh %{buildroot}
%_mingw64_debug_install_post \ %_mingw64_debug_install_post \
/usr/lib/rpm/mingw64-find-debuginfo.sh %{_builddir} 1\ /usr/lib/rpm/mingw64-find-debuginfo.sh --merge-debug-source-package %{_builddir} \
%{nil} %{nil}
#
# Template for combined debuginfo and debugsource sub-package. # Template for combined debuginfo and debugsource sub-package.
%_mingw64_debug_package(n:) \ # Parameter:
# -e exclude BuildArch: noarch
# -n package name (-debug will be appended)
#
%_mingw64_debug_package(en:) \
%package %{-n:-n %{-n*}-}debug \ %package %{-n:-n %{-n*}-}debug \
Summary: Debug information for package %{name} \ Summary: Debug information for package %{name} \
Group: Development/Sources \ Group: Development/Sources \
BuildArch: noarch \ %{!-e:BuildArch: noarch} \
%description %{-n:-n %{-n*}-}debug \ %description %{-n:-n %{-n*}-}debug \
This package provides debug information for package %{name}.\ This package provides debug information for package %{name}.\
Debug information is useful when developing applications that use this\ Debug information is useful when developing applications that use this\

View File

@ -1,3 +1,22 @@
-------------------------------------------------------------------
Sun Feb 2 20:32:09 UTC 2025 - Ralf Habacker <ralf.habacker@freenet.de>
- Syntax fix in %_mingw64_debug_package on Leap 15.x
-------------------------------------------------------------------
Sun Feb 2 08:30:18 UTC 2025 - Ralf Habacker <ralf.habacker@freenet.de>
- Update version to 202500202
- Extend mingw64-find-debuginfo.sh:
* Merging debug source package into debug info package is now
provided with option '--merge-debug-source-package'
* Add option '--no-debug-source-package' to skip building of
debug source package used by wine package
* Add option '--src-root-dir' to specify a custom directory
for installing debug source files
- mingw64.macros: Add parameter '-e' to %_mingw64_debug_package
to exclude BuildArch: noarch used by wine package
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Nov 18 09:42:14 UTC 2024 - Ralf Habacker <ralf.habacker@freenet.de> Mon Nov 18 09:42:14 UTC 2024 - Ralf Habacker <ralf.habacker@freenet.de>

View File

@ -1,7 +1,7 @@
# #
# spec file for package mingw64-filesystem # spec file for package mingw64-filesystem
# #
# Copyright (c) 2024 SUSE LLC # Copyright (c) 2025 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -31,7 +31,7 @@
%define _rpmmacrodir %{_sysconfdir}/rpm %define _rpmmacrodir %{_sysconfdir}/rpm
%endif %endif
Name: mingw64-filesystem Name: mingw64-filesystem
Version: 20241118 Version: 20250202
Release: 0 Release: 0
Summary: MinGW base filesystem and environment Summary: MinGW base filesystem and environment
License: GPL-2.0-or-later License: GPL-2.0-or-later

View File

@ -1,13 +1,20 @@
#!/bin/bash #!/bin/bash
#mingw64-find-debuginfo.sh - automagically generate debug info and file list # mingw64-find-debuginfo.sh - automatically generate debug info, sources and file list
#for inclusion in an rpm spec file for mingw64-* packages. # for inclusion in an rpm spec file for mingw64-* packages.
# #
# syntax: mingw64--find-debuginfo.sh [<options>] [<BUILDDIR>]
# options:
# --merge-debug-source-package merge debug source package into debug info package
# --no-debug-source-package do not create debug source package
# --src-root-dir root dir for installing debug source files (src/debug is appended)
# BUILDDIR build directory (often $HOME/rpmbuild/BUILD)
#
# $PWD package dir below $BUILDDIR # $PWD package dir below $BUILDDIR
target="mingw64" target="mingw64"
host="x86_64-w64-mingw32" host="x86_64-w64-mingw32"
# create for single package as child process # extract debug info for a single file as child process
if [[ -v RUN_SINGLE ]]; then if [[ -v RUN_SINGLE ]]; then
f=$1 f=$1
case $("$host-objdump" -h "$f" 2>/dev/null | egrep -o '(debug[\.a-z_]*|gnu.version)') in case $("$host-objdump" -h "$f" 2>/dev/null | egrep -o '(debug[\.a-z_]*|gnu.version)') in
@ -34,16 +41,29 @@ export MALLOC_CHECK_=0
export MALLOC_PERTURB_=0 export MALLOC_PERTURB_=0
BUILDDIR=. BUILDDIR=.
if [ -n "$1" ]; then MERGE_SOURCE_PACKAGE=0
BUILDDIR="$1" SOURCE_PACKAGE=1
fi
# generate separate debuginfo and debugsource or single debug package combining both while [ $# -gt 0 ]; do
if [ -n "$2" ]; then case "$1" in
SINGLE_DEBUG_PACKAGE=1 --merge-debug-source-package)
else MERGE_SOURCE_PACKAGE=1
SINGLE_DEBUG_PACKAGE=0 ;;
fi --no-debug-source-package)
SOURCE_PACKAGE=0
;;
--src-root-dir)
ROOT_DIR=$2
shift
;;
*)
BUILDDIR=$1
shift
break
;;
esac
shift
done
SOURCEFILE="$BUILDDIR/$target-debugsources.list" SOURCEFILE="$BUILDDIR/$target-debugsources.list"
> "$SOURCEFILE" > "$SOURCEFILE"
@ -55,13 +75,11 @@ if [ ! -e "$BUILDDIR" ]; then
mkdir -p "$BUILDDIR" mkdir -p "$BUILDDIR"
fi fi
# extract debug info
find $RPM_BUILD_ROOT -type f -name "*.exe" -or -name "*.dll" | sort | \ 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 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
ROOT_DIR="/usr/$host/sys-root/mingw" # generate debug info file list
SOURCE_DIR="${ROOT_DIR}/src"
DEBUGSOURCE_DIR="${SOURCE_DIR}/debug"
find $RPM_BUILD_ROOT -type f \ find $RPM_BUILD_ROOT -type f \
-name "*.exe.debug" \ -name "*.exe.debug" \
-or -name "*.dll.debug" \ -or -name "*.dll.debug" \
@ -70,7 +88,17 @@ find $RPM_BUILD_ROOT -type f \
| sort \ | sort \
| sed -n -e "s#^$RPM_BUILD_ROOT##p" > $BUILDDIR/$target-debugfiles.list | sed -n -e "s#^$RPM_BUILD_ROOT##p" > $BUILDDIR/$target-debugfiles.list
echo creating debugsource file structure if [ "$SOURCE_PACKAGE" -eq 0 ]; then
echo creating debugsource file structure skipped
exit 0
else
echo creating debugsource file structure
fi
# create debug sources
ROOT_DIR="${ROOT_DIR:-/usr/$host/sys-root/mingw}"
SOURCE_DIR="${ROOT_DIR}/src"
DEBUGSOURCE_DIR="${SOURCE_DIR}/debug"
destdir=${RPM_BUILD_ROOT}${DEBUGSOURCE_DIR} destdir=${RPM_BUILD_ROOT}${DEBUGSOURCE_DIR}
if [ ! -e "$destdir" ]; then if [ ! -e "$destdir" ]; then
@ -99,7 +127,7 @@ if [ -e "$RPM_BUILD_ROOT/$DEBUGSOURCE_DIR" ]; then
echo "$DEBUGSOURCE_DIR" >> $SOURCEFILE echo "$DEBUGSOURCE_DIR" >> $SOURCEFILE
fi fi
if test "$SINGLE_DEBUG_PACKAGE" -eq 1; then if [ "$MERGE_SOURCE_PACKAGE" -eq 1 ]; then
cat $SOURCEFILE >> $BUILDDIR/$target-debugfiles.list cat $SOURCEFILE >> $BUILDDIR/$target-debugfiles.list
rm $SOURCEFILE* rm $SOURCEFILE*
fi fi