RPM Package Manager, CVS Repository
http://rpm5.org/cvs/
____________________________________________________________________________
Server: rpm5.org Name: Olivier Thauvin
Root: /v/rpm/cvs Email: nanardon@rpm5.org
Module: rpm Date: 01-Nov-2007 16:49:35
Branch: HEAD Handle: 2007110115493500
Modified files:
rpm/perl RPM_Spec.xs
Log:
- don't use anymore headerNVR in perl module
Summary:
Revision Changes Path
1.4 +15 -7 rpm/perl/RPM_Spec.xs
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: rpm/perl/RPM_Spec.xs
============================================================================
$ cvs diff -u -r1.3 -r1.4 RPM_Spec.xs
--- rpm/perl/RPM_Spec.xs 12 Sep 2007 07:05:04 -0000 1.3
+++ rpm/perl/RPM_Spec.xs 1 Nov 2007 15:49:35 -0000 1.4
@@ -98,16 +98,24 @@
Spec spec
PREINIT:
const char *name, *version, *release;
+ char * srctag;
+ char * srcpath;
PPCODE:
- (void) headerNVR(spec->packages->header, &name, &version, &release);
- XPUSHs(sv_2mortal(newSVpvf("%s/%s-%s-%s.%ssrc.rpm",
- rpmGetPath("%{_srcrpmdir}", NULL),
- name, version, release,
+ srcpath = rpmGetPath("%{_srcrpmdir}", NULL);
+ srctag = headerSprintf(
+ spec->packages->header,
+ "%{NAME}-%{VERSION}-%{RELEASE}",
+ rpmTagTable,
+ rpmHeaderFormats,
+ NULL
+ );
+ XPUSHs(sv_2mortal(newSVpvf("%s/%s.%ssrc.rpm",
+ srcpath,
+ srctag,
spec->noSource ? "no" : ""
)));
- headerFreeTag(spec->packages->header, name, RPM_STRING_TYPE);
- headerFreeTag(spec->packages->header, version, RPM_STRING_TYPE);
- headerFreeTag(spec->packages->header, release, RPM_STRING_TYPE);
+ _free(srcpath);
+ _free(srctag);
void
binrpm(spec)
@@ .
Received on Thu Nov 1 16:49:35 2007