From f83fba3cf29f5da35d8638f837fc49094bf9f160 Mon Sep 17 00:00:00 2001 From: tv Date: Fri, 15 Jun 2012 16:38:28 +0000 Subject: (srcrpm) fix a FIXME: s/src/no/ again accordingly see genSourceRpmName() in rpmlib git-svn-id: svn+ssh://haiku.zarb.org/home/projects/rpm4/svn/trunk@207 971eb68f-4bfb-0310-8326-d2484c010a4c --- RPM4/NEWS | 2 ++ RPM4/src/RPM4.xs | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/RPM4/NEWS b/RPM4/NEWS index 3264c54..7b4dd11 100644 --- a/RPM4/NEWS +++ b/RPM4/NEWS @@ -1,6 +1,8 @@ Version 0.29 - 12 June 2012 - functions that not are implemented since switching to rpm-4.6 now die +- srcrpm(): fix returning "...nosrc.rpm" instead of "...src.rpm" when needed + (it always returned "...src.rpm" since rpm-4.9+) - use rpm-4.6+ API, not rpm-4.4 compatibility one (fix some memleaks btw) diff --git a/RPM4/src/RPM4.xs b/RPM4/src/RPM4.xs index 13bd2c9..5e20da6 100644 --- a/RPM4/src/RPM4.xs +++ b/RPM4/src/RPM4.xs @@ -2745,6 +2745,8 @@ Spec_srcrpm(spec) #else header = spec->packages->header; #endif + struct rpmtd_s td; + int no_src = headerGet(header, RPMTAG_NOPATCH, &td, HEADERGET_MINMEM) || headerGet(header, RPMTAG_NOSOURCE, &td, HEADERGET_MINMEM); name = get_name(header, RPMTAG_NAME); version = get_name(header, RPMTAG_VERSION); release = get_name(header, RPMTAG_RELEASE); @@ -2752,8 +2754,7 @@ Spec_srcrpm(spec) mXPUSHs(newSVpvf("%s/%s-%s-%s.%ssrc.rpm", rpmGetPath("%{_srcrpmdir}", NULL), name, version, release, - // FIXME: we basically want genSourceRpmName() which is internal :-( - "" //spec->noSource ? "no" : "" + no_src ? "no" : "" )); void -- cgit v1.2.1