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 01:33:15.000000000 +0200
8 +#define _RPMPRCO_INTERNAL 1
9 +#define _RPMDS_INTERNAL 1
10 #include <rpm/rpmlib.h>
12 # include <rpm/rpmds.h>
15 typedef int (*rpmcap_fn)(rpmds *ds, void *);
17 +#ifdef HAVE_RPMDSSYSINFO
18 +static int pm_rpmdsSysinfo(rpmds * dsp, const char * fn) {
20 +// XXX: better test welcome
21 +#define RPM_VERSION(a,b,c) ((a)*65536+(b)*256+(c))
22 +#if RPM_VERSION(RPM_FORMAT_VERSION,RPM_MAJOR_VERSION,RPM_MINOR_VERSION) >= RPM_VERSION(4,4,8)
23 + rpmPRCO PRCO = rpmdsNewPRCO(NULL);
25 + 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,