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_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}
#
# 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 \
Summary: Debug information for package %{name} \
Group: Development/Sources \
BuildArch: noarch \
%{!-e:BuildArch: noarch} \
%description %{-n:-n %{-n*}-}debug \
This package provides debug information for package %{name}.\
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>

View File

@ -1,7 +1,7 @@
#
# 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
# remain the property of their copyright owners, unless otherwise agreed
@ -31,7 +31,7 @@
%define _rpmmacrodir %{_sysconfdir}/rpm
%endif
Name: mingw64-filesystem
Version: 20241118
Version: 20250202
Release: 0
Summary: MinGW base filesystem and environment
License: GPL-2.0-or-later

View File

@ -1,13 +1,20 @@
#!/bin/bash
#mingw64-find-debuginfo.sh - automagically generate debug info and file list
#for inclusion in an rpm spec file for mingw64-* packages.
# mingw64-find-debuginfo.sh - automatically generate debug info, sources and file list
# 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
target="mingw64"
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
f=$1
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
BUILDDIR=.
if [ -n "$1" ]; then
BUILDDIR="$1"
fi
MERGE_SOURCE_PACKAGE=0
SOURCE_PACKAGE=1
# generate separate debuginfo and debugsource or single debug package combining both
if [ -n "$2" ]; then
SINGLE_DEBUG_PACKAGE=1
else
SINGLE_DEBUG_PACKAGE=0
fi
while [ $# -gt 0 ]; do
case "$1" in
--merge-debug-source-package)
MERGE_SOURCE_PACKAGE=1
;;
--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"
@ -55,13 +75,11 @@ if [ ! -e "$BUILDDIR" ]; then
mkdir -p "$BUILDDIR"
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
ROOT_DIR="/usr/$host/sys-root/mingw"
SOURCE_DIR="${ROOT_DIR}/src"
DEBUGSOURCE_DIR="${SOURCE_DIR}/debug"
# generate debug info file list
find $RPM_BUILD_ROOT -type f \
-name "*.exe.debug" \
-or -name "*.dll.debug" \
@ -70,7 +88,17 @@ find $RPM_BUILD_ROOT -type f \
| sort \
| 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}
if [ ! -e "$destdir" ]; then
@ -99,7 +127,7 @@ if [ -e "$RPM_BUILD_ROOT/$DEBUGSOURCE_DIR" ]; then
echo "$DEBUGSOURCE_DIR" >> $SOURCEFILE
fi
if test "$SINGLE_DEBUG_PACKAGE" -eq 1; then
if [ "$MERGE_SOURCE_PACKAGE" -eq 1 ]; then
cat $SOURCEFILE >> $BUILDDIR/$target-debugfiles.list
rm $SOURCEFILE*
fi