/[packages]/cauldron/perl-RPM4/current/SOURCES/RPM4-fix-build-with-rpm46.patch
ViewVC logotype

Annotation of /cauldron/perl-RPM4/current/SOURCES/RPM4-fix-build-with-rpm46.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 14433 - (hide annotations) (download)
Thu Jan 13 15:24:36 2011 UTC (12 years, 10 months ago) by jquelin
File size: 21370 byte(s)
imported package perl-RPM4
1 jquelin 14433 The following packages require perl-RPM4:
2    
3     (1) iurt
4     (2) perl-MDV-Repsys
5     (3) perl-Youri-Package-RPM-Builder
6     (4) perl-Youri-Package-RPM-Updater
7     (5) perl-Youri-Package
8     (6) mdv-youri-core
9    
10     notes:
11     - (5) doesn't use proposes both Youri::Package::URPM and
12     Youri::Package::RPM4, and doesn't force usage of any.
13     - (6) is a fork of perl-Youri-Package, which uses Youri::Package::URPM
14     (and so perl-RPM4 is unused)
15    
16     here is below the various functions/methods of perl-RPM4 used by the
17     packages above.
18    
19     RPM4::add_macro (2)(3)(4)
20     RPM4::expand (2)(3)(4) [renamed expand_macro in rpm5]
21     RPM4::installsrpm (2)(4)
22     RPM4::rpmvercmp (4)
23     RPM4::setverbosity (2)(4)
24     RPM4::Sign->new
25     $sign->rpmssign [not available in rpm5]
26     RPM4::Transaction->new
27     $db->transadd (3) [renamed add_install in rpm5]
28     $db->transcheck (3) [renamed check in rpm5]
29     $db->transpbs (3) [renamed problems in rpm5]
30     $pbs->hasnext (3) [not available directly in rpm5]
31     $pbs->init (3) [not available directly in rpm5]
32     $pbs->problem (3) [not available directly in rpm5]
33     RPM4::Spec->new
34     $spec->binrpm (3)
35     $spec->sources (2)
36     $spec->sources_url (4)
37     $spec->srcheader (2)(3)(4)
38     $spec->srcrpm (3)
39     RPM4::Header->new
40     $header->compare
41     $header->dep [renamed dependencies in rpm5]
42     $deps->info [not available directly in rpm5]
43     $deps->init
44     $deps->next
45     $header->files
46     $files->filename
47     $files->init
48     $files->md5 [renamed digest in rpm5]
49     $files->mode
50     $files->next
51     $header->fullname [not available directly in rpm5]
52     $header->issrc [renamed is_source_package in rpm5]
53     $header->queryformat (1)(2) [renamed tagformat in rpm5]
54     $header->sourcerpmname [not available directly in rpm5]
55     $header->tag (4)
56     RPM4::Header::Dependencies->new [renamed RPM::Dependencies in rpm5]
57     $dep->overlap
58    
59     nb:
60     - functions/methods above which are not used by (1), (2), (3), (4) are
61     used by either (5) or (6) (usually by both)
62     - i have annotated with [... in rpm5] the changes between perl-RPM4
63     and RPM perl module in rpm5 CVS
64     - except for ->rpmsign, the "not available in rpm5" have similar
65     functions in rpm5 RPM module
66    
67    
68     diff -p -up RPM4-0.23/src/Makefile.PL.rpm46 RPM4-0.23/src/Makefile.PL
69     --- RPM4-0.23/src/Makefile.PL.rpm46 2007-03-01 00:56:26.000000000 +0100
70     +++ RPM4-0.23/src/Makefile.PL 2009-01-19 13:23:30.000000000 +0100
71     @@ -33,17 +33,11 @@ foreach (qw(
72     4.2.0
73     4.4.1
74     4.4.2
75     - 4.4.3
76     - 4.4.4
77     - 4.4.5
78     - 4.4.6
79     - 4.4.7
80     - 4.4.8
81     )) {
82     $v = $_;
83     $v =~ s/\./_/g;
84     print $FH "#define RPM$v\n";
85     - $rpmv eq $_ and last;
86     + $rpmv =~ /^\Q$_/ and last;
87     }
88     print $FH "\n#endif\n";
89     close($FH);
90     @@ -89,7 +83,7 @@ WriteMakefile(
91     VERSION_FROM => '../lib/RPM4.pm',
92     OBJECT => "RPM4.o RPM4sign.o $obj",
93     INC => "-I$rpmheaderlocation",
94     - LIBS => "-lrpm -lrpmio -lrpmdb -lrpmbuild -lpopt -lz -lbz2 $ldd",
95     - 'CCFLAGS' => $fl,
96     + LIBS => "-lrpm -lrpmio -lrpmbuild -lpopt -lz -lbz2 $ldd",
97     + 'CCFLAGS' => "-Wall $fl",
98     depend => { "RPM4.xs" => join(" ", @rpmconstantfiles) },
99     );
100     diff -p -up RPM4-0.23/src/RPM4.h.rpm46 RPM4-0.23/src/RPM4.h
101     --- RPM4-0.23/src/RPM4.h.rpm46 2005-12-20 02:33:44.000000000 +0100
102     +++ RPM4-0.23/src/RPM4.h 2009-01-19 13:06:10.000000000 +0100
103     @@ -16,15 +16,6 @@ int rpmchecksig(rpmts ts, const char * f
104     * We Import its here
105     * This File should be the last included */
106    
107     -/* From rpmlead.h */
108     -
109     -#ifndef _H_RPMLEAD
110     -
111     -rpmRC writeLead(FD_t fd, const struct rpmlead *lead);
112     -rpmRC readLead(FD_t fd, struct rpmlead *lead);
113     -
114     -#endif /* _H_RPMLEAD */
115     -
116     /* From signature.h */
117    
118     #ifndef H_SIGNATURE
119     @@ -48,7 +39,7 @@ rpmRC rpmReadSignature(FD_t fd, Header *
120     int rpmWriteSignature(FD_t fd, Header h);
121    
122     int rpmAddSignature(Header sig, const char * file,
123     - int_32 sigTag, const char * passPhrase);
124     + int32_t sigTag, const char * passPhrase);
125    
126     #define RPMLOOKUPSIG_QUERY 0 /*!< Lookup type in effect */
127     #define RPMLOOKUPSIG_DISABLE 1 /*!< Disable (--sign was not given) */
128     @@ -71,10 +62,10 @@ const char * rpmDetectPGPVersion(pgpVers
129     */
130     typedef /*@abstract@*/ struct entryInfo_s * entryInfo;
131     struct entryInfo_s {
132     - int_32 tag; /*!< Tag identifier. */
133     - int_32 type; /*!< Tag data type. */
134     - int_32 offset; /*!< Offset into data segment (ondisk only). */
135     - int_32 count; /*!< Number of tag elements. */
136     + int32_t tag; /*!< Tag identifier. */
137     + int32_t type; /*!< Tag data type. */
138     + int32_t offset; /*!< Offset into data segment (ondisk only). */
139     + int32_t count; /*!< Number of tag elements. */
140     };
141    
142     /** \ingroup header
143     diff -p -up RPM4-0.23/src/RPM4.xs.rpm46 RPM4-0.23/src/RPM4.xs
144     --- RPM4-0.23/src/RPM4.xs.rpm46 2007-07-22 02:23:52.000000000 +0200
145     +++ RPM4-0.23/src/RPM4.xs 2009-01-19 13:30:14.000000000 +0100
146     @@ -78,10 +78,14 @@
147     #include <rpm/rpmps.h>
148     #include <rpm/rpmfi.h>
149     #include <rpm/rpmpgp.h>
150     -#include <rpm/misc.h>
151     #include <rpm/rpmbuild.h>
152     +#include <rpm/rpmfileutil.h>
153     #include <rpm/rpmlib.h>
154     +#include <rpm/rpmlog.h>
155     #include <rpm/rpmpgp.h>
156     +#include <rpm/rpmtag.h>
157     +#define _RPM_4_4_COMPAT
158     +#include <rpm/rpmlegacy.h>
159    
160     #ifdef HAVE_RPMCONSTANT
161     #include <rpmconstant/rpmconstant.h>
162     @@ -189,10 +193,10 @@ void *
163     #endif
164     transCallback(const void *h,
165     const rpmCallbackType what,
166     - const RPM_CALLBACK_AMOUNT_TYPE amount,
167     - const RPM_CALLBACK_AMOUNT_TYPE total,
168     - const void * pkgKey,
169     - void * data) {
170     + const rpm_loff_t amount,
171     + const rpm_loff_t total,
172     + fnpyKey pkgKey,
173     + rpmCallbackData data) {
174    
175     /* The call back is used to open/close file, so we fix value, run the perl callback
176     * and let rpmShowProgress from rpm rpmlib doing its job.
177     @@ -292,7 +296,7 @@ void *
178     * is set for for the logging system.
179     * If the callback is set, rpm does not print any message,
180     * and let the callback to do it */
181     -void logcallback(void) {
182     +int logcallback(rpmlogRec rec, rpmlogCallbackData data) {
183     dSP;
184     if (log_callback_function) {
185     int logcode = rpmlogCode();
186     @@ -304,7 +308,7 @@ void logcallback(void) {
187     XPUSHs(sv_2mortal(newSVpv("logcode", 0)));
188     XPUSHs(sv_2mortal(newSViv(logcode)));
189     XPUSHs(sv_2mortal(newSVpv("msg", 0)));
190     - XPUSHs(sv_2mortal(newSVpv(rpmlogMessage(), 0)));
191     + XPUSHs(sv_2mortal(newSVpv((char *) rpmlogMessage(), 0)));
192     XPUSHs(sv_2mortal(newSVpv("priority", 0)));
193     XPUSHs(sv_2mortal(newSViv(RPMLOG_PRI(logcode))));
194     PUTBACK;
195     @@ -313,47 +317,6 @@ void logcallback(void) {
196     }
197     }
198    
199     -/* This callback is run during transcheck */
200     -int transSolveCallback(rpmts ts, rpmds Dep, const void * data) {
201     - int rc = 0;
202     - int count;
203     - dSP;
204     -#ifdef HDLISTDEBUG
205     - PRINTF_CALL;
206     -#endif
207     - /* Should return -1 retry, 0 ignore, 1 not found */
208     - rc = rpmtsSolve(ts, Dep, data);
209     - /* PUSHMARK(SP); */
210     - if (ts) {
211     - XPUSHs(sv_2mortal(newSVpv("db", 0)));
212     - XPUSHs(sv_2mortal(sv_setref_pv(newSVpv("", 0), bless_rpmts, rpmtsLink(ts, "RPM4 transSolveCallback()"))));
213     -#ifdef HDRPMMEM
214     - PRINTF_NEW(bless_rpmts, ts, ts->nrefs);
215     -#endif
216     -
217     - }
218     - if (Dep) {
219     - XPUSHs(sv_2mortal(newSVpv("dep", 0)));
220     - XPUSHs(sv_2mortal(sv_setref_pv(newSVpv("", 0), bless_rpmds, rpmdsLink(Dep, "RPM4 transSolveCallback()"))));
221     -#ifdef HDRPMMEM
222     - PRINTF_NEW(bless_rpmds, Dep, Dep->nrefs);
223     -#endif
224     - }
225     - XPUSHs(sv_2mortal(newSVpv("rc", 0)));
226     - XPUSHs(sv_2mortal(newSViv(rc)));
227     - PUTBACK;
228     - count = call_sv((SV *) data, G_SCALAR);
229     - SPAGAIN;
230     - if (count) {
231     - rc = POPi;
232     - if (rc < -1 || rc > 1)
233     - croak("Uh Oh! Your perl callback should return 1 (retry), 0 (ignore) or 1 (not found) and not %d", rc);
234     - } else {
235     - rc = 1;
236     - }
237     - return rc;
238     -}
239     -
240     /**************************************************
241     * Real Function rpmts function with double call *
242     * Aka function(arg) or RPM4::Db->function(arg) *
243     @@ -416,7 +379,7 @@ void _newdep(SV * sv_deptag, char * name
244    
245     /* Get a new specfile */
246     void _newspec(rpmts ts, char * filename, SV * svpassphrase, SV * svrootdir, SV * svcookies, SV * svanyarch, SV * svforce, SV * svverify) {
247     - Spec spec = NULL;
248     + rpmSpec spec = NULL;
249     char * passphrase = NULL;
250     char * rootdir = NULL;
251     char * cookies = NULL;
252     @@ -446,7 +409,15 @@ void _newspec(rpmts ts, char * filename,
253     verify = SvIV(svverify);
254    
255     if (filename) {
256     - if (!parseSpec(ts, filename, rootdir, 0, passphrase, cookies, anyarch, force, verify))
257     + if (!parseSpec(ts, filename, rootdir
258     +#ifndef RPM4_4_8
259     + , NULL
260     +#endif
261     + ,0, passphrase, cookies, anyarch, force
262     +#ifdef RPM4_4_8
263     + , verify
264     +#endif
265     + ))
266     spec = rpmtsSetSpec(ts, NULL);
267     #ifdef HHACK
268     } else {
269     @@ -465,15 +436,15 @@ void _newspec(rpmts ts, char * filename,
270     }
271    
272     /* Building a spec file */
273     -int _specbuild(rpmts ts, Spec spec, SV * sv_buildflags) {
274     +int _specbuild(rpmts ts, rpmSpec spec, SV * sv_buildflags) {
275     rpmBuildFlags buildflags = sv2rpmbuildflags(sv_buildflags);
276     if (buildflags == RPMBUILD_NONE) croak("No action given for build");
277     return buildSpec(ts, spec, buildflags, 0);
278     }
279    
280     void _installsrpms(rpmts ts, char * filename) {
281     - const char * specfile = NULL;
282     - const char * cookies = NULL;
283     + char * specfile = NULL;
284     + char * cookies = NULL;
285     dSP;
286     I32 gimme = GIMME_V;
287     if (rpmInstallSource(
288     @@ -514,9 +485,9 @@ BOOT:
289     if (rpmReadConfigFiles(NULL, NULL) != 0)
290     croak("Can't read configuration");
291     #ifdef HDLISTDEBUG
292     -rpmSetVerbosity(RPMMESS_DEBUG);
293     +rpmSetVerbosity(RPMLOG_DEBUG);
294     #else
295     -rpmSetVerbosity(RPMMESS_NORMAL);
296     +rpmSetVerbosity(RPMLOG_NOTICE);
297     #endif
298     #ifdef HDRPMDEBUG
299     _rpmds_debug = -1;
300     @@ -572,10 +543,10 @@ setlogcallback(function)
301     SV * function
302     CODE:
303     if (function == NULL || !SvOK(function)) {
304     - rpmlogSetCallback(NULL);
305     + rpmlogSetCallback(NULL, NULL);
306     } else if (SvTYPE(SvRV(function)) == SVt_PVCV) {
307     log_callback_function = newSVsv(function);
308     - rpmlogSetCallback(logcallback);
309     + rpmlogSetCallback(logcallback, NULL);
310     } else
311     croak("First arg is not a code reference");
312    
313     @@ -583,7 +554,7 @@ void
314     lastlogmsg()
315     PPCODE:
316     XPUSHs(sv_2mortal(newSViv(rpmlogCode())));
317     - XPUSHs(sv_2mortal(newSVpv(rpmlogMessage(), 0)));
318     + XPUSHs(sv_2mortal(newSVpv((char *) rpmlogMessage(), 0)));
319    
320     int
321     setlogfile(filename)
322     @@ -609,7 +580,7 @@ readconfig(rcfile = NULL, target = NULL)
323     char * rcfile
324     char * target
325     CODE:
326     - RETVAL = rpmReadConfigFiles(rcfile, target);
327     + RETVAL = rpmReadConfigFiles(rcfile && rcfile[0] ? rcfile : NULL, target);
328     OUTPUT:
329     RETVAL
330    
331     @@ -626,29 +597,7 @@ rpmlog(svcode, msg)
332     void
333     querytag()
334     PREINIT:
335     - int i = 0;
336     - const struct headerSprintfExtension_s * ext = rpmHeaderFormats;
337     - PPCODE:
338     - for (i = 0; i < rpmTagTableSize; i++) {
339     - XPUSHs(sv_2mortal(newSVpv(rpmTagTable[i].name + 7, 0)));
340     - XPUSHs(sv_2mortal(newSViv(rpmTagTable[i].val)));
341     - }
342     -
343     - while (ext->name != NULL) {
344     - if (ext->type == HEADER_EXT_MORE) {
345     - ext = ext->u.more;
346     - continue;
347     - }
348     - for (i = 0; i < rpmTagTableSize; i++) {
349     - if (!strcmp(rpmTagTable[i].name, ext->name))
350     - break;
351     - }
352     - if (i >= rpmTagTableSize && ext->type == HEADER_EXT_TAG) {
353     - XPUSHs(sv_2mortal(newSVpv(ext->name + 7, 0)));
354     - XPUSHs(sv_newmortal());
355     - }
356     - ext++;
357     - }
358     + CODE:
359    
360     int
361     tagtypevalue(svtagtype)
362     @@ -672,7 +621,7 @@ tagName(tag)
363     PREINIT:
364     const char *r = NULL;
365     PPCODE:
366     - r = tagName(tag);
367     + r = rpmTagGetName(tag);
368     XPUSHs(sv_2mortal(newSVpv(r, 0)));
369    
370     void
371     @@ -717,7 +666,7 @@ expand(name)
372     PPCODE:
373     const char * value = rpmExpand(name, NULL);
374     XPUSHs(sv_2mortal(newSVpv(value, 0)));
375     - free(value);
376     + free((char *) value);
377    
378     void
379     expandnumeric(name)
380     @@ -1205,10 +1154,10 @@ Header_queryformat(h, query)
381     PREINIT:
382     char *s = NULL;
383     PPCODE:
384     - s = headerSprintf(h, query,
385     - rpmTagTable, rpmHeaderFormats, NULL);
386     + s = headerFormat(h, query,
387     + NULL);
388     XPUSHs(sv_2mortal(newSVpv(s, 0)));
389     - _free(s);
390     + free(s);
391    
392     void
393     Header_fullname(h)
394     @@ -1254,7 +1203,7 @@ void
395     Header_nevr(header)
396     Header header
397     PPCODE:
398     - PUSHs(sv_2mortal(newSVpv(hGetNEVR(header, NULL), 0)));
399     + PUSHs(sv_2mortal(newSVpv(headerGetNEVR(header, NULL), 0)));
400    
401     int
402     Header_issrc(h)
403     @@ -1686,7 +1635,7 @@ Ts_transadd(ts, header, key = NULL, upgr
404     /* if (! (headerGetEntry(eiu->h, RPMTAG_PREFIXES, &pft,
405     (void **) &paths, &c) && (c == 1))) { */
406     if (! headerIsEntry(header, RPMTAG_PREFIXES)) {
407     - rpmMessage(RPMMESS_ERROR,
408     + rpmMessage(RPMLOG_ERR,
409     _("package %s is not relocatable\n"), "");
410     XPUSHi((IV)1);
411     XSRETURN(1);
412     @@ -1828,22 +1777,10 @@ Ts_traverse_transaction(ts, callback, ty
413     RETVAL
414    
415     int
416     -Ts_transcheck(ts, callback = NULL)
417     +Ts_transcheck(ts)
418     rpmts ts
419     - SV * callback
420     CODE:
421     - ts = rpmtsLink(ts, "RPM4 Db_transcheck()");
422     - if (callback != NULL && SvOK(callback) && SvTYPE(SvRV(callback)) == SVt_PVCV) { /* Be sure we have a code ref */
423     -#ifdef HDLISTDEBUG
424     - PRINTF_CALL;
425     -#endif
426     - rpmtsSetSolveCallback(ts, transSolveCallback, (void *) callback);
427     - }
428     -
429     RETVAL = rpmtsCheck(ts);
430     - /* Restoring default rpm setting */
431     - rpmtsSetSolveCallback(ts, rpmtsSolve, NULL);
432     - ts = rpmtsFree(ts);
433     OUTPUT:
434     RETVAL
435    
436     @@ -1908,7 +1845,7 @@ Ts__transpbs(ts)
437     rpmps ps;
438     PPCODE:
439     ps = rpmtsProblems(ts);
440     - if (ps && ps->numProblems) /* if no problem, return undef */
441     + if (ps && rpmpsNumProblems(ps)) /* if no problem, return undef */
442     XPUSHs(sv_2mortal(sv_setref_pv(newSVpv("", 0), bless_rpmps, ps)));
443    
444     int
445     @@ -1916,22 +1853,22 @@ Ts_importpubkey(ts, filename)
446     rpmts ts
447     char * filename
448     PREINIT:
449     - const byte * pkt = NULL;
450     + uint8_t *pkt = NULL;
451     size_t pktlen = 0;
452     int rc;
453     CODE:
454     rpmtsClean(ts);
455    
456     - if ((rc = pgpReadPkts(filename, &pkt, &pktlen)) <= 0) {
457     + if ((rc = pgpReadPkts(filename, (uint8_t ** ) &pkt, &pktlen)) <= 0) {
458     RETVAL = 1;
459     } else if (rc != PGPARMOR_PUBKEY) {
460     RETVAL = 1;
461     - } else if (rpmcliImportPubkey(ts, pkt, pktlen) != RPMRC_OK) {
462     + } else if (rpmtsImportPubkey(ts, pkt, pktlen) != RPMRC_OK) {
463     RETVAL = 1;
464     } else {
465     RETVAL = 0;
466     }
467     - pkt = _free(pkt);
468     + free(pkt);
469     OUTPUT:
470     RETVAL
471    
472     @@ -1976,7 +1913,7 @@ Ts_rpm2header(ts, filename)
473     int
474     Ts_specbuild(ts, spec, sv_buildflags)
475     rpmts ts
476     - Spec spec
477     + rpmSpec spec
478     SV * sv_buildflags
479     CODE:
480     RETVAL = _specbuild(ts, spec, sv_buildflags);
481     @@ -2129,7 +2066,7 @@ rpmlibdep()
482     int i;
483     #endif
484     PPCODE:
485     -#ifndef RPM4_4_3
486     +#if 0
487     num = rpmGetRpmlibProvides(&provNames, &provFlags, &provVersions);
488     for (i = 0; i < num; i++) {
489     #ifdef HDLISTDEBUG
490     @@ -2616,20 +2553,13 @@ void
491     Files_md5(Files)
492     rpmfi Files
493     PREINIT:
494     - const byte * md5;
495     - char * fmd5 = malloc((char) 33);
496     + const char * md5;
497     PPCODE:
498     if ((md5 =
499     -#ifdef RPM4_4_6
500     - rpmfiDigest(Files, NULL, NULL)
501     -#else
502     - rpmfiMD5(Files)
503     -#endif
504     + rpmfiFDigestHex(Files, NULL)
505     ) != NULL && *md5 != 0 /* return undef if empty */) {
506     - (void) pgpHexCvt(fmd5, md5, 16);
507     - XPUSHs(sv_2mortal(newSVpv(fmd5, 0)));
508     + XPUSHs(sv_2mortal(newSVpv(md5, 0)));
509     }
510     - _free(fmd5);
511    
512     void
513     Files_link(Files)
514     @@ -2772,7 +2702,7 @@ Spec_new(perlclass, specfile = NULL, ...
515    
516     void
517     Spec_DESTROY(spec)
518     - Spec spec
519     + rpmSpec spec
520     CODE:
521     #ifdef HDRPMMEM
522     PRINTF_FREE(bless_spec, spec, -1);
523     @@ -2781,7 +2711,7 @@ Spec_DESTROY(spec)
524    
525     void
526     Spec_srcheader(spec)
527     - Spec spec
528     + rpmSpec spec
529     PPCODE:
530     if ( ! spec->sourceHeader)
531     initSourceHeader(spec);
532     @@ -2789,7 +2719,7 @@ Spec_srcheader(spec)
533    
534     void
535     Spec_binheader(spec)
536     - Spec spec
537     + rpmSpec spec
538     PREINIT:
539     Package pkg;
540     PPCODE:
541     @@ -2798,7 +2728,7 @@ Spec_binheader(spec)
542    
543     void
544     Spec_srcrpm(spec)
545     - Spec spec
546     + rpmSpec spec
547     PREINIT:
548     const char *name, *version, *release;
549     PPCODE:
550     @@ -2814,10 +2744,10 @@ Spec_srcrpm(spec)
551    
552     void
553     Spec_binrpm(spec)
554     - Spec spec
555     + rpmSpec spec
556     PREINIT:
557     Package pkg;
558     - const char * binFormat;
559     + char * binFormat;
560     char * binRpm;
561     char * path;
562     PPCODE:
563     @@ -2826,18 +2756,17 @@ Spec_binrpm(spec)
564     continue;
565     /* headerCopyTags(h, pkg->header, copyTags); */
566     binFormat = rpmGetPath("%{_rpmfilename}", NULL);
567     - binRpm = headerSprintf(pkg->header, binFormat, rpmTagTable,
568     - rpmHeaderFormats, NULL);
569     - _free(binFormat);
570     + binRpm = headerFormat(pkg->header, binFormat, NULL);
571     + free(binFormat);
572     path = rpmGetPath("%{_rpmdir}/", binRpm, NULL);
573     XPUSHs(sv_2mortal(newSVpv(path, 0)));
574     - _free(path);
575     - _free(binRpm);
576     + free(path);
577     + free(binRpm);
578     }
579    
580     void
581     Spec_check(spec, ts = NULL)
582     - Spec spec
583     + rpmSpec spec
584     PREINIT:
585     int rc;
586     rpmts ts = rpmtsCreate();
587     @@ -2863,7 +2792,7 @@ Spec_check(spec, ts = NULL)
588     croak("Can't check rpmts"); /* any better idea ? */
589    
590     ps = rpmtsProblems(ts);
591     - if (ps && ps->numProblems) /* if no problem, return undef */
592     + if (ps && rpmpsNumProblems(ps)) /* if no problem, return undef */
593     XPUSHs(sv_2mortal(sv_setref_pv(newSVpv("", 0), bless_rpmps, ps)));
594     ts = rpmtsFree(ts);
595     SPAGAIN;
596     @@ -2871,7 +2800,7 @@ Spec_check(spec, ts = NULL)
597    
598     int
599     Spec_build(spec, sv_buildflags)
600     - Spec spec
601     + rpmSpec spec
602     SV * sv_buildflags
603     PREINIT:
604     rpmts ts = rpmtsCreate();
605     @@ -2883,7 +2812,7 @@ Spec_build(spec, sv_buildflags)
606    
607     const char *
608     Spec_specfile(spec)
609     - Spec spec
610     + rpmSpec spec
611     CODE:
612     RETVAL = spec->specFile;
613     OUTPUT:
614     @@ -2891,7 +2820,7 @@ Spec_specfile(spec)
615    
616     void
617     Spec_sources(spec, is = 0)
618     - Spec spec
619     + rpmSpec spec
620     int is
621     PREINIT:
622     struct Source *srcPtr;
623     @@ -2904,7 +2833,7 @@ Spec_sources(spec, is = 0)
624    
625     void
626     Spec_sources_url(spec, is = 0)
627     - Spec spec
628     + rpmSpec spec
629     int is
630     PREINIT:
631     struct Source * srcPtr;
632     @@ -2917,7 +2846,7 @@ Spec_sources_url(spec, is = 0)
633    
634     void
635     Spec_icon(spec)
636     - Spec spec
637     + rpmSpec spec
638     PREINIT:
639     Package pkg;
640     PPCODE:
641     @@ -2934,7 +2863,7 @@ Spec_icon(spec)
642    
643     void
644     Spec_icon_url(spec)
645     - Spec spec
646     + rpmSpec spec
647     PREINIT:
648     Package pkg;
649     PPCODE:
650     @@ -2959,7 +2888,7 @@ ps_new(perlclass, ts)
651     rpmps ps;
652     PPCODE:
653     ps = rpmtsProblems(ts);
654     - if (ps && ps->numProblems) /* if no problem, return undef */
655     + if (ps && rpmpsNumProblems(ps)) /* if no problem, return undef */
656     XPUSHs(sv_2mortal(sv_setref_pv(newSVpv("", 0), bless_rpmps, ps)));
657    
658     void
659     @@ -2989,13 +2918,9 @@ ps_isignore(ps, numpb)
660     int numpb
661     PREINIT:
662     rpmProblem p;
663     + int i;
664     CODE:
665     - if (ps->numProblems < numpb)
666     - RETVAL = 0; /* croak here ? */
667     - else {
668     - p = ps->probs + numpb;
669     - RETVAL = p->ignoreProblem;
670     - }
671     + RETVAL = 0; /* ignoreProblem is obsolete and always false */
672     OUTPUT:
673     RETVAL
674    
675     @@ -3005,12 +2930,17 @@ ps_fmtpb(ps, numpb)
676     int numpb
677     PREINIT:
678     rpmProblem p;
679     + int i;
680     CODE:
681     - if (ps->numProblems < numpb)
682     - RETVAL = NULL;
683     - else {
684     - p = ps->probs + numpb;
685     + rpmpsi psi = rpmpsInitIterator(ps);
686     + for (i = 0; i <= numpb; i++)
687     + if (rpmpsNextIterator(psi) < 0) break;
688     +
689     + p = rpmpsGetProblem(psi);
690     + if (p)
691     RETVAL = rpmProblemString(p);
692     + else {
693     + RETVAL = NULL;
694     }
695     OUTPUT:
696     RETVAL
697     diff -p -up RPM4-0.23/src/typemap.rpm46 RPM4-0.23/src/typemap
698     --- RPM4-0.23/src/typemap.rpm46 2005-12-20 02:33:44.000000000 +0100
699     +++ RPM4-0.23/src/typemap 2009-01-19 13:06:10.000000000 +0100
700     @@ -1,6 +1,6 @@
701     TYPEMAP
702     Header O_OBJECT
703     -Spec O_OBJECT
704     +rpmSpec O_OBJECT
705     rpmts O_OBJECT
706     rpmds O_OBJECT
707     rpmfi O_OBJECT
708     diff -p -up RPM4-0.23/src/RPM4sign.c.pix RPM4-0.23/src/RPM4sign.c
709     --- RPM4-0.23/src/RPM4sign.c.pix 2005-12-20 02:33:44.000000000 +0100
710     +++ RPM4-0.23/src/RPM4sign.c 2009-01-20 13:07:34.000000000 +0100
711     @@ -15,10 +15,9 @@
712     /* Hight level function */
713     int rpmsign(char *passphrase, const char *rpm) {
714     QVA_t qva = &rpmQVKArgs;
715     - const char * file[2];
716     + ARGV_t file = NULL;
717    
718     - file[0] = rpm;
719     - file[1] = NULL;
720     + argvAdd(&file, rpm);
721    
722     qva->qva_mode = RPMSIGN_ADD_SIGNATURE;
723     qva->passPhrase = passphrase;
724     diff -p -up RPM4-0.23/t/07dep.t.pix RPM4-0.23/t/07dep.t
725     --- RPM4-0.23/t/07dep.t.pix 2007-03-07 22:26:16.000000000 +0100
726     +++ RPM4-0.23/t/07dep.t 2009-01-20 13:02:13.000000000 +0100
727     @@ -15,7 +15,7 @@ isa_ok(
728     );
729    
730     SKIP: {
731     - if ($minfo{RPMVERSION} lt '4.4.3') {
732     + if (1 || $minfo{RPMVERSION} lt '4.4.3') {
733     skip(
734     "These function are supported only for rpm 4.4.3 or highter",
735     4

  ViewVC Help
Powered by ViewVC 1.1.28