0c1e1f998c
- Fixed rpmlint issues - Fixed permissions of the scripts (775 -> 755) - Fixed description of the various subpackages - Make the various macros compliant with the new packaging guidelines: https://fedorahosted.org/fpc/ticket/71 - Suppress arch-independent-package-contains-binary-or-object rpmlint errors for static libraries - Improved the mingw_configure, mingw_make, mingw_make_install, mingw_cmake and mingw_cmake_kde4 RPM macros so packagers don't need to use quotes anymore when using arguments. Thanks to Kalev Lember for the initial proof of concept - Dropped the -mms-bitfields argument from the default CFLAGS as it is enabled by default as of gcc 4.7 - Replaced the CMake defines QT_HEADERS_DIR and QT_LIBRARY_DIR with QT_BINARY_DIR which is a more proper method to make CMake aware of the location of Qt. Thx to Dominik Schmidt for the hint - Make sure CMake can detect the qmake-qt4 binary in /usr/$target/bin - Make sure CMake can also detect the (native) Qt tools qdbuscpp2xml and qdbusxml2cpp - Added new RPM macros mingw_cmake_kde4, mingw32_cmake_kde4 and mingw64_cmake_kde4 - Added three new environment variables which can be set to influence the behaviour of the cmake macros: MINGW_CMAKE_ARGS, MINGW32_CMAKE_ARGS and MINGW64_CMAKE_ARGS - Dropped the mingw32-qmake-qt4 and mingw64-qmake-qt4 wrapper scripts as they're now provided by the mingw{32,64}-qt-qmake packages - Added a new RPM macro: %%{?mingw_package_header} Packagers can use this macro instead of the original boilerplate code which is needed for all mingw packages - Made argument passing using the backwards compatibility macro %%{_mingw32_cmake} work - Fixed an issue in the mingw_cmake macro where it could point to a non-existant CMakeLists.txt file - Fixed a bug in the find-requires script which causes all packages to depend on both the mingw32 and the mingw64 toolchains - Split out the RPM macros which require both the mingw{32,64}-filesystem packages in a new file and put it in the mingw-filesystem-base package - Generate seperate debuginfo packages for mingw32 and mingw64 - Set the minimum version of R: mingw{32,64}-filesystem to 70 - Use the correct FSF-address in some scripts - Thanks to all the contributors: Erik van Pienbroek, Kalev Lember, Levente Farkas, Marc-Andre Lureau.
41 lines
1.3 KiB
Bash
Executable File
41 lines
1.3 KiB
Bash
Executable File
#!/bin/sh
|
|
# mingw-find-debuginfo.sh - automagically generate debug info and file list
|
|
# for inclusion in an rpm spec file for mingw-* packages.
|
|
|
|
if [ -z "$1" ] ; then BUILDDIR="."
|
|
else BUILDDIR=$1
|
|
fi
|
|
|
|
if [ "$2" = "old" ] ; then USE_OLD_METHOD=true; else USE_OLD_METHOD=false; fi
|
|
|
|
for f in `find $RPM_BUILD_ROOT -type f -name "*.exe" -or -name "*.dll"`
|
|
do
|
|
case $(mingw-objdump -h $f 2>/dev/null | egrep -o '(debug[\.a-z_]*|gnu.version)') in
|
|
*debuglink*) continue ;;
|
|
*debug*) ;;
|
|
*gnu.version*)
|
|
echo "WARNING: "`echo $f | sed -e "s,^$RPM_BUILD_ROOT/*,/,"`" is already stripped!"
|
|
continue
|
|
;;
|
|
*) continue ;;
|
|
esac
|
|
|
|
echo extracting debug info from $f
|
|
mingw-objcopy --only-keep-debug $f $f.debug || :
|
|
pushd `dirname $f`
|
|
mingw-objcopy --add-gnu-debuglink=`basename $f.debug` --strip-unneeded `basename $f` || :
|
|
popd
|
|
done
|
|
|
|
if [ "$USE_OLD_METHOD" = "true" ] ; then
|
|
find $RPM_BUILD_ROOT -type f -name "*.exe.debug" -or -name "*.dll.debug" |
|
|
sed -n -e "s#^$RPM_BUILD_ROOT##p" > $BUILDDIR/debugfiles.list
|
|
else
|
|
shift
|
|
for target in $@; do
|
|
prefix=`rpm --eval "%{${target}_prefix}"`
|
|
find $RPM_BUILD_ROOT$prefix -type f -name "*.exe.debug" -or -name "*.dll.debug" |
|
|
sed -n -e "s#^$RPM_BUILD_ROOT##p" > $BUILDDIR/${target}-debugfiles.list
|
|
done
|
|
fi
|