Hello community, here is the log from the commit of package gdb for openSUSE:Factory checked in at 2019-09-19 15:51:08 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gdb (Old) and /work/SRC/openSUSE:Factory/.gdb.new.7948 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gdb" Thu Sep 19 15:51:08 2019 rev:130 rq:731960 version:8.3 Changes: -------- --- /work/SRC/openSUSE:Factory/gdb/gdb.changes 2019-08-09 16:49:18.565507897 +0200 +++ /work/SRC/openSUSE:Factory/.gdb.new.7948/gdb.changes 2019-09-19 15:51:14.735288380 +0200 @@ -1,0 +2,22 @@ +Sat Sep 14 05:45:30 UTC 2019 - Michel Normand <[email protected]> + +- Add _constraints for PowerPC need more than 3.5GB disk space + to avoid build failure + +------------------------------------------------------------------- +Tue Sep 10 15:45:17 UTC 2019 - [email protected] + +- Disable use of valgrind on old s390 (31bit) distros. + +------------------------------------------------------------------- +Fri Aug 23 16:00:18 UTC 2019 - Tom de Vries <[email protected]> + +- Enable librpm for version > librpm.so.3 [bsc#1145692]: + * Allow any librpm.so.x + * Fix unused variables in HAVE_LIBRPM code in + gdb-6.6-buildid-locate-rpm-suse.patch + * Add %build test to check for "zypper install <rpm-packagename>" + message +- Implements jsc#ECO-368, the 2019 toolchain module update + +------------------------------------------------------------------- New: ---- _constraints ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gdb.spec ++++++ --- /var/tmp/diff_new_pack.Fbf3xT/_old 2019-09-19 15:51:18.271287661 +0200 +++ /var/tmp/diff_new_pack.Fbf3xT/_new 2019-09-19 15:51:18.275287660 +0200 @@ -18,6 +18,7 @@ %if 0%{?qemu_user_space_build} +# In a qemu_user_space_build ptrace is not supported, so we can't test gdb. %global _without_testsuite 1 %endif %bcond_without testsuite @@ -275,6 +276,7 @@ %else BuildRequires: texinfo %endif +BuildRequires: expect BuildRequires: mpfr-devel BuildRequires: ncurses-devel BuildRequires: pkg-config @@ -375,8 +377,11 @@ %endif %endif %if 0%{?suse_version} >= 1200 +%ifnarch s390 +# s390 (for SLE12) doesn't have valgrind BuildRequires: valgrind %endif +%endif %endif # %%{with testsuite} @@ -664,16 +669,17 @@ export CXXFLAGS="$CFLAGS" -export LIBRPM=no -if test -f /usr/%{_lib}/librpm.so.1; then - export LIBRPM=librpm.so.1 -fi -if test -f /usr/%{_lib}/librpm.so.2; then - export LIBRPM=librpm.so.2 -fi -if test -f /usr/%{_lib}/librpm.so.3; then - export LIBRPM=librpm.so.3 +export LIBRPM=$(ls -1 /usr/%{_lib}/ \ + | grep '^librpm.so.[0-9][0-9]*$' \ + | sort -V -r \ + | head -n 1) +if [ "$LIBRPM" != "" ]; then + export LIBRPM="/usr/%{_lib}/$LIBRPM" + [ -f "$LIBRPM" ] +else + export LIBRPM=no fi + %ifarch %ix86 ia64 ppc ppc64 ppc64le s390 s390x x86_64 aarch64 riscv64 %define build_multitarget 1 %else @@ -814,6 +820,74 @@ cd .. fi +# This is a build-time test, but still a test. So, skip if we don't do tests. +# This is relevant for %qemu_user_space_build == 1 builds, which atm is +# the case for riscv64. +%if %{with testsuite} +if [ "$LIBRPM" != "no" ]; then + cd gdb + cat \ + > hello.c \ + <<EOF +#include <stdio.h> +int +main (void) +{ + printf ("hello\n"); + return 0; +} +EOF + $CC hello.c + libc=$(ldd a.out \ + | grep libc.so \ + | awk '{print $3}') + if readelf -SW $libc \ + | grep -q "\.gnu_debuglink"; then + cat \ + > test.exp \ + <<EOF +expect { + "(gdb) " { + puts "\nPASS: first prompt" + send "start\n" + } + default { + puts "\nFAIL: first prompt (eof or timeout)" + exit 1 + } +} +expect { + -re {Missing separate debuginfos, use: zypper install glibc-debuginfo-.*\(gdb\) } { + puts "\nPASS: zypper install message" + send "quit\n" + exit 0 + } + "(gdb) " { + puts "\nFAIL: zypper install message" + send "quit\n" + exit 1 + } + default { + puts "\nFAIL: zypper install message (eof or timeout)" + exit 1 + } +} +EOF + gdb="./gdb -q -nw -nx -data-directory $(pwd -P)/data-directory" + # Due to bsc#1146899 "gdb's zypper install message disappears with + # -batch", we need to use an expect test. + expect -c "spawn $gdb ./a.out" -f test.exp + rm ./test.exp + else + # If packages are not build with debuginfo, we cannot expect a zypper + # install message. + echo "UNSUPPORTED: zypper install message" + fi + rm ./hello.c ./a.out + cd .. +fi +%endif + cd .. done # fprofile ++++++ _constraints ++++++ <constraints> <overwrite> <conditions> <arch>ppc64</arch> <arch>ppc64le</arch> </conditions> <hardware> <disk> <size unit="G">4</size> </disk> </hardware> </overwrite> </constraints> ++++++ gdb-6.6-buildid-locate-rpm-suse.patch ++++++ --- /var/tmp/diff_new_pack.Fbf3xT/_old 2019-09-19 15:51:18.403287634 +0200 +++ /var/tmp/diff_new_pack.Fbf3xT/_new 2019-09-19 15:51:18.403287634 +0200 @@ -110,3 +110,19 @@ } } +diff --git a/gdb/build-id.c b/gdb/build-id.c +index b9ff15a..75d501a 100644 +--- a/gdb/build-id.c ++++ b/gdb/build-id.c +@@ -864,10 +864,8 @@ missing_rpm_enlist_1 (const char *filename, int verify_vendor) + #endif + { + Header h; +- char *debuginfo, **slot, *s, *s2; ++ char *debuginfo, **slot; + errmsg_t err; +- size_t srcrpmlen = sizeof (".src.rpm") - 1; +- size_t debuginfolen = sizeof ("-debuginfo") - 1; + rpmdbMatchIterator mi_debuginfo; + + h = rpmdbNextIterator_p (mi);
