---- poldek-0.20.1-cvs20070108.22/pm/rpm/rpm.c~ 2006-12-18 09:53:02.000000000 +0100
-+++ poldek-0.20.1-cvs20070108.22/pm/rpm/rpm.c 2007-05-23 17:16:25.562776091 +0200
-@@ -403,7 +403,7 @@
-
-
- #ifndef HAVE__RPMVERCMP /* _rpmvercmp - new in rpm 4.4.7 */
--extern int rpmvercmp(const char *one, const char *two);
-+extern int (*rpmvercmp)(const char *one, const char *two);
- #endif
-
- int pm_rpm_vercmp(const char *one, const char *two)
---- poldek-0.20.1-cvs20070108.22/pm/rpm/pm_rpm.h~ 2007-01-08 15:59:16.000000000 +0100
-+++ poldek-0.20.1-cvs20070108.22/pm/rpm/pm_rpm.h 2007-05-23 16:58:49.155380566 +0200
-@@ -2,6 +2,7 @@
- #define POLDEK_PM_RPM_MODULE_H
-
- #include <rpm/rpmlib.h>
-+#include <rpm/rpmevr.h>
- #ifdef HAVE_RPM_4_0_4
- # include <rpm/rpmcli.h>
- #endif
---- poldek-0.20.1-cvs20070108.22/configure.in 2007-05-27 20:05:24.702600301 +0200
-+++ poldek-0.20.1-cvs20070108.22-new/configure.in 2007-05-27 20:05:03.038233602 +0200
+diff -ur poldek-0.20.1-cvs20070108.22.org/configure.in poldek-0.20.1-cvs20070108.22/configure.in
+--- poldek-0.20.1-cvs20070108.22.org/configure.in 2007-06-07 19:36:08.476143000 +0200
++++ poldek-0.20.1-cvs20070108.22/configure.in 2007-06-07 19:36:48.148088637 +0200
@@ -302,6 +302,7 @@
dnl rpm 4.4.7
dnl - killed rpmMachineScore and rpmGetVar
AC_CHECK_FUNCS(rpmGetVar)
AC_CHECK_FUNCS(rpmioAccess)
dnl - new _rpmvercmp()
---- poldek-0.20.1-cvs20070108.22/pm/rpm/misc.c 2007-05-27 20:05:24.705933794 +0200
-+++ poldek-0.20.1-cvs20070108.22-new/pm/rpm/misc.c 2007-05-27 20:04:43.153951811 +0200
-@@ -182,8 +182,11 @@
+diff -ur poldek-0.20.1-cvs20070108.22.org/pm/rpm/misc.c poldek-0.20.1-cvs20070108.22/pm/rpm/misc.c
+--- poldek-0.20.1-cvs20070108.22.org/pm/rpm/misc.c 2007-06-07 19:36:08.476143000 +0200
++++ poldek-0.20.1-cvs20070108.22/pm/rpm/misc.c 2007-06-07 19:40:33.000000000 +0200
+@@ -48,7 +48,7 @@
+ struct capreq *cr;
+ uint32_t flags, crflags;
+
+- name = rpmdsN(ds);
++ name = rpmdsDNEVR(ds)+2;
+ evr = rpmdsEVR(ds);
+ flags = rpmdsFlags(ds);
+
+@@ -182,8 +182,39 @@
return caps;
}
--
--#ifdef HAVE_RPMMACHINESCORE
-+#ifdef HAVE_RPMPLATOFMSCORE
++#ifdef HAVE_RPMPLATFORMSCORE
+static int machine_score(int tag, const char *val) {
-+ return rpmPlatformScore(val, platpat, nplatpat);
++ int rc;
++ char *cpu, *vendor, *os;
+
+-#ifdef HAVE_RPMMACHINESCORE
++ cpu = rpmExpand("%{_host_cpu}", NULL);
++ vendor = rpmExpand("%{_host_vendor}", NULL);
++ os = rpmExpand("%{_host_os}", NULL);
++
++ if (cpu && vendor && os) {
++ int size = strlen(cpu) + strlen(vendor) + strlen(os) + 2;
++ char *p = n_malloc(size);
++ switch (tag) {
++ case PMMSTAG_ARCH:
++ snprintf(p, size, "%s-%s-%s", val, vendor, os);
++ break;
++ case PMMSTAG_OS:
++ snprintf(p, size, "%s-%s-%s", cpu, vendor, val);
++ break;
++ default:
++ snprintf(p, size, "%s", val);
++ break;
++ }
++ rc = rpmPlatformScore(p, platpat, nplatpat);
++ n_free(p);
++ } else
++ rc = rpmPlatformScore(val, platpat, nplatpat);
++ n_free(cpu);
++ n_free(vendor);
++ n_free(os);
++ return rc;
+}
+#elif defined(HAVE_RPMMACHINESCORE)
static int machine_score(int tag, const char *val)
{
int rpmtag = 0, rc;
-@@ -249,8 +252,10 @@
+@@ -250,8 +281,10 @@
if (arch == NULL)
return 0;
-
-#ifdef HAVE_RPMMACHINESCORE
+
-+#ifdef HAVE_RPMPLATOFMSCORE
-+ rc = rpmPlatformScore(val, platpat, nplatpat);
++#ifdef HAVE_RPMPLATFORMSCORE
++ rc = rpmPlatformScore(arch, platpat, nplatpat);
+#elif defined(HAVE_RPMMACHINESCORE)
rc = rpmMachineScore(RPM_MACHTABLE_INSTARCH, arch);
#else
rc = 9;
+diff -ur poldek-0.20.1-cvs20070108.22.org/pm/rpm/pm_rpm.h poldek-0.20.1-cvs20070108.22/pm/rpm/pm_rpm.h
+--- poldek-0.20.1-cvs20070108.22.org/pm/rpm/pm_rpm.h 2007-01-08 15:59:16.000000000 +0100
++++ poldek-0.20.1-cvs20070108.22/pm/rpm/pm_rpm.h 2007-06-07 19:36:48.148088637 +0200
+@@ -2,6 +2,7 @@
+ #define POLDEK_PM_RPM_MODULE_H
+
+ #include <rpm/rpmlib.h>
++#include <rpm/rpmevr.h>
+ #ifdef HAVE_RPM_4_0_4
+ # include <rpm/rpmcli.h>
+ #endif
+diff -ur poldek-0.20.1-cvs20070108.22.org/pm/rpm/rpm.c poldek-0.20.1-cvs20070108.22/pm/rpm/rpm.c
+--- poldek-0.20.1-cvs20070108.22.org/pm/rpm/rpm.c 2006-12-18 09:53:02.000000000 +0100
++++ poldek-0.20.1-cvs20070108.22/pm/rpm/rpm.c 2007-06-07 19:36:48.148088637 +0200
+@@ -403,7 +403,7 @@
+
+
+ #ifndef HAVE__RPMVERCMP /* _rpmvercmp - new in rpm 4.4.7 */
+-extern int rpmvercmp(const char *one, const char *two);
++extern int (*rpmvercmp)(const char *one, const char *two);
+ #endif
+
+ int pm_rpm_vercmp(const char *one, const char *two)