]> git.pld-linux.org Git - packages/poldek.git/blobdiff - poldek-rpm-4.4.9.patch
- more hackery needed
[packages/poldek.git] / poldek-rpm-4.4.9.patch
index 1ceecb800b765f1f88ef588b08e5e7790cf447e7..79de68cac86c31c4bc1c32f44dd4b49e780d032f 100644 (file)
@@ -1,26 +1,6 @@
---- 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)
This page took 0.030312 seconds and 4 git commands to generate.