1 diff -urN poldek-0.20.1-cvs20070108.22.org/pm/rpm/misc.c poldek-0.20.1-cvs20070108.22/pm/rpm/misc.c
2 --- poldek-0.20.1-cvs20070108.22.org/pm/rpm/misc.c 2007-01-08 22:14:18.000000000 +0100
3 +++ poldek-0.20.1-cvs20070108.22/pm/rpm/misc.c 2007-05-21 08:01:00.385663226 +0200
8 +#define _RPMPRCO_INTERNAL 1
9 #include <rpm/rpmlib.h>
11 # include <rpm/rpmds.h>
14 typedef int (*rpmcap_fn)(rpmds *ds, void *);
16 +#ifdef HAVE_RPMDSSYSINFO
17 +static int pm_rpmdsSysinfo(rpmds * dsp, const char * fn) {
19 +// XXX: better test welcome
20 +#define RPM_VERSION(a,b,c) ((a)*65536+(b)*256+(c))
21 +#if RPM_VERSION(RPM_FORMAT_VERSION,RPM_MAJOR_VERSION,RPM_MINOR_VERSION) >= RPM_VERSION(4,4,8)
22 + rpmPRCO PRCO = rpmdsNewPRCO(NULL);
24 + ret = rpmdsSysinfo(PRCO, fn);
26 + rpmdsFreePRCO(PRCO);
28 + ret = rpmdsSysinfo(dsp, fn);
34 static int get_rpmlib_caps(tn_array *caps)
38 (rpmcap_fn)rpmdsGetconf,
40 #ifdef HAVE_RPMDSSYSINFO
41 - (rpmcap_fn)rpmdsSysinfo,
42 + (rpmcap_fn)pm_rpmdsSysinfo,
44 #ifdef HAVE_RPMDSUNAME
45 (rpmcap_fn)rpmdsUname,