]> git.pld-linux.org Git - packages/poldek.git/blob - poldek-rpm-4.4.9.patch
- more hackery needed
[packages/poldek.git] / poldek-rpm-4.4.9.patch
1 diff -ur poldek-0.20.1-cvs20070108.22.org/configure.in poldek-0.20.1-cvs20070108.22/configure.in
2 --- poldek-0.20.1-cvs20070108.22.org/configure.in       2007-06-07 19:36:08.476143000 +0200
3 +++ poldek-0.20.1-cvs20070108.22/configure.in   2007-06-07 19:36:48.148088637 +0200
4 @@ -302,6 +302,7 @@
5  dnl rpm 4.4.7
6  dnl  - killed rpmMachineScore and rpmGetVar
7  AC_CHECK_FUNCS(rpmMachineScore)
8 +AC_CHECK_FUNCS(rpmPlatformScore)
9  AC_CHECK_FUNCS(rpmGetVar)
10  AC_CHECK_FUNCS(rpmioAccess)
11  dnl  - new _rpmvercmp()
12 diff -ur poldek-0.20.1-cvs20070108.22.org/pm/rpm/misc.c poldek-0.20.1-cvs20070108.22/pm/rpm/misc.c
13 --- poldek-0.20.1-cvs20070108.22.org/pm/rpm/misc.c      2007-06-07 19:36:08.476143000 +0200
14 +++ poldek-0.20.1-cvs20070108.22/pm/rpm/misc.c  2007-06-07 19:40:33.000000000 +0200
15 @@ -48,7 +48,7 @@
16          struct capreq *cr;
17          uint32_t flags, crflags;
18  
19 -        name = rpmdsN(ds);
20 +        name = rpmdsDNEVR(ds)+2;
21          evr = rpmdsEVR(ds);
22          flags = rpmdsFlags(ds);
23          
24 @@ -182,8 +182,39 @@
25      return caps;
26  }
27  
28 +#ifdef HAVE_RPMPLATFORMSCORE
29 +static int machine_score(int tag, const char *val) {
30 +    int rc;
31 +    char *cpu, *vendor, *os;
32  
33 -#ifdef HAVE_RPMMACHINESCORE
34 +    cpu = rpmExpand("%{_host_cpu}", NULL);
35 +    vendor = rpmExpand("%{_host_vendor}", NULL);
36 +    os = rpmExpand("%{_host_os}", NULL);
37 +
38 +    if (cpu && vendor && os) {
39 +           int size = strlen(cpu) + strlen(vendor) + strlen(os) + 2;
40 +           char *p = n_malloc(size);
41 +           switch (tag) {
42 +                   case PMMSTAG_ARCH:
43 +                           snprintf(p, size, "%s-%s-%s", val, vendor, os);
44 +                           break;
45 +                   case PMMSTAG_OS:
46 +                           snprintf(p, size, "%s-%s-%s", cpu, vendor, val);
47 +                           break;
48 +                   default:
49 +                           snprintf(p, size, "%s", val);
50 +                           break;
51 +           }
52 +           rc = rpmPlatformScore(p, platpat, nplatpat);
53 +           n_free(p);
54 +    } else
55 +           rc = rpmPlatformScore(val, platpat, nplatpat);
56 +    n_free(cpu);
57 +    n_free(vendor);
58 +    n_free(os);
59 +    return rc;
60 +}
61 +#elif defined(HAVE_RPMMACHINESCORE)
62  static int machine_score(int tag, const char *val)
63  {
64      int rpmtag = 0, rc;
65 @@ -250,8 +281,10 @@
66      
67      if (arch == NULL)
68          return 0;
69 -    
70 -#ifdef HAVE_RPMMACHINESCORE    
71 +
72 +#ifdef HAVE_RPMPLATFORMSCORE
73 +    rc = rpmPlatformScore(arch, platpat, nplatpat);
74 +#elif defined(HAVE_RPMMACHINESCORE)
75      rc = rpmMachineScore(RPM_MACHTABLE_INSTARCH, arch);
76  #else
77      rc = 9;
78 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
79 --- poldek-0.20.1-cvs20070108.22.org/pm/rpm/pm_rpm.h    2007-01-08 15:59:16.000000000 +0100
80 +++ poldek-0.20.1-cvs20070108.22/pm/rpm/pm_rpm.h        2007-06-07 19:36:48.148088637 +0200
81 @@ -2,6 +2,7 @@
82  #define POLDEK_PM_RPM_MODULE_H
83  
84  #include <rpm/rpmlib.h>
85 +#include <rpm/rpmevr.h>
86  #ifdef HAVE_RPM_4_0_4
87  # include <rpm/rpmcli.h>
88  #endif
89 diff -ur poldek-0.20.1-cvs20070108.22.org/pm/rpm/rpm.c poldek-0.20.1-cvs20070108.22/pm/rpm/rpm.c
90 --- poldek-0.20.1-cvs20070108.22.org/pm/rpm/rpm.c       2006-12-18 09:53:02.000000000 +0100
91 +++ poldek-0.20.1-cvs20070108.22/pm/rpm/rpm.c   2007-06-07 19:36:48.148088637 +0200
92 @@ -403,7 +403,7 @@
93      
94  
95  #ifndef HAVE__RPMVERCMP /* _rpmvercmp - new in rpm 4.4.7 */       
96 -extern int rpmvercmp(const char *one, const char *two);
97 +extern int (*rpmvercmp)(const char *one, const char *two);
98  #endif
99  
100  int pm_rpm_vercmp(const char *one, const char *two)
This page took 0.045648 seconds and 4 git commands to generate.