summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--RPM4/NEWS2
-rw-r--r--RPM4/src/RPM4.xs3
2 files changed, 4 insertions, 1 deletions
diff --git a/RPM4/NEWS b/RPM4/NEWS
index 152160f..a17503f 100644
--- a/RPM4/NEWS
+++ b/RPM4/NEWS
@@ -1,3 +1,5 @@
+- fix srcrpm()
+
Version 0.31 - 25 June 2012
- drop rpm5 functions: rpmsysinfodep, rpmgetconfdep, rpmcpuinfodep, rpmpipedep
diff --git a/RPM4/src/RPM4.xs b/RPM4/src/RPM4.xs
index ca7b902..a2002ea 100644
--- a/RPM4/src/RPM4.xs
+++ b/RPM4/src/RPM4.xs
@@ -2655,7 +2655,8 @@ Spec_srcrpm(spec)
#else
header = spec->packages->header;
#endif
- int no_src = !headerIsEntry(header, RPMTAG_SOURCERPM);
+ struct rpmtd_s td;
+ int no_src = headerGet(header, RPMTAG_NOPATCH, &td, HEADERGET_MINMEM) || headerGet(header, RPMTAG_NOSOURCE, &td, HEADERGET_MINMEM);
char *nvr = headerGetAsString(header, RPMTAG_NVR);
mXPUSHs(newSVpvf("%s/%s.%ssrc.rpm",
rpmGetPath("%{_srcrpmdir}", NULL),