Sophie

Sophie

distrib > Mandriva > 2010.0 > x86_64 > media > main-release-src > by-pkgid > d56c046fb04d01efce43eb46b167932b > files > 105

gdb-6.8-7mdv2010.0.src.rpm

diff -p -up gdb-6.8/gdb/configure.ac.orig gdb-6.8/gdb/configure.ac
--- gdb-6.8/gdb/configure.ac.orig	2009-01-20 15:27:54.000000000 -0500
+++ gdb-6.8/gdb/configure.ac	2009-01-20 15:28:51.000000000 -0500
@@ -477,6 +477,60 @@ else
   fi
 fi
 
+dnl Check for rpm version --akk
+rpm_version="none"
+SAVE_LIBS="$LIBS"
+SAVE_CPPFLAGS="$CPPFLAGS"
+
+CPPFLAGS="$SAVE_CPPFLAGS -I/usr/include/rpm"
+AC_CHECK_HEADER(rpmlib.h, rpm_header_ok=1, rpm_header_ok=0)
+
+dnl Check for rpm version --akk
+AC_PATH_PROG(RPM_PATH,rpm,none)
+if test "$RPM_PATH" = "none"; then
+   AC_MSG_ERROR([RPM executable was not found in your system])
+else
+   AC_DEFINE_UNQUOTED([HAVE_RPM],1,[Define if RPM backend is available])
+   RPM_VERSION_RAW=`LANG= LC_ALL= $RPM_PATH --version | sed -r 's/(^RPM version )|(^rpm \(RPM\) )//'`
+fi
+
+AC_MSG_CHECKING(for RPM version)
+RPM_VERSION_MAJOR=`echo $RPM_VERSION_RAW | cut -d. -f1`
+RPM_VERSION_MINOR=`echo $RPM_VERSION_RAW | cut -d. -f2`
+RPM_VERSION_MICRO=`echo $RPM_VERSION_RAW | cut -d. -f3`
+if test -z "$RPM_VERSION_MAJOR" -o -z "$RPM_VERSION_MINOR"; then
+   AC_MSG_ERROR([can't parse RPM version])
+fi
+if test -z "$RPM_VERSION_MICRO"; then
+   RPM_VERSION_MICRO=0
+fi
+AC_DEFINE_UNQUOTED([RPM_VERSION_MAJOR],$RPM_VERSION_MAJOR,[RPM major version])
+AC_DEFINE_UNQUOTED([RPM_VERSION_MINOR],$RPM_VERSION_MINOR,[RPM minor version])
+AC_DEFINE_UNQUOTED([RPM_VERSION_MICRO],$RPM_VERSION_MICRO,[RPM micro version])
+AC_DEFINE_UNQUOTED([RPM_VERSION],
+      [((RPM_VERSION_MAJOR<<16)|(RPM_VERSION_MINOR<<8)|RPM_VERSION_MICRO)],
+      [Define to the RPM version])
+AC_DEFINE_UNQUOTED([RPM_VERSION_RAW],"$RPM_VERSION_RAW",[RPM raw version])
+AC_MSG_RESULT($RPM_VERSION_RAW)
+
+dnl No pkgconfig, manually check for RPM libraries and headers
+if test -z "$RPM_LIBS"; then
+   AC_CHECK_HEADERS(db1/db.h)
+
+   if test $RPM_VERSION_MAJOR -lt 4; then
+      RPM_LIBS="-lrpm -lz -lbz2 -lpopt"
+   else
+      AC_CHECK_LIB(rpmdb,rpmdbOpen,
+         [RPMDBLIBS="-lrpmdb"],
+         [RPMDBLIBS="-ldb-3.1"],
+         [-lrpm -lrpmio -lz -lbz2 -lpopt])
+      RPM_LIBS="-lrpm $RPMDBLIBS -lrpmio -lz -lbz2 -lpopt"
+   fi
+   AC_MSG_CHECKING(for RPM libraries)
+   AC_MSG_RESULT($RPM_LIBS)
+   AC_SUBST(RPM_LIBS)
+fi
+
 # ------------------------- #
 # Checks for header files.  #
 # ------------------------- #
diff -p -up gdb-6.8/gdb/symfile.c.orig gdb-6.8/gdb/symfile.c
--- gdb-6.8/gdb/symfile.c.orig	2009-01-20 15:27:55.000000000 -0500
+++ gdb-6.8/gdb/symfile.c	2009-01-20 15:30:22.000000000 -0500
@@ -1756,10 +1756,14 @@ build_id_to_filename (struct build_id *b
   return retval;
 }
 
+#if RPM_VERSION >= 0x050000
+#include <rpm/rpm4compat.h>
+#else
 #include <rpm/rpmlib.h>
 #include <rpm/rpmts.h>
-#include <rpm/rpmdb.h>
 #include <rpm/header.h>
+#endif
+#include <rpm/rpmdb.h>
 
 /* This MISSING_RPM_HASH tracker is used to collect all the missing rpm files
    and avoid their duplicities during a single inferior run.  */