aboutsummaryrefslogtreecommitdiffstats
path: root/rpmtools.xs
diff options
context:
space:
mode:
authorFrancois Pons <fpons@mandriva.com>2002-02-08 17:06:45 +0000
committerFrancois Pons <fpons@mandriva.com>2002-02-08 17:06:45 +0000
commit1fe82d439b1e1cf005635e38a4b894ce552b4c39 (patch)
tree0ac563550d3a6e0ae45b52b791a7afaf4f5158a6 /rpmtools.xs
parentbccfb5c229917023a3aef6cd7a4451e0366c77a1 (diff)
downloadrpmtools-1fe82d439b1e1cf005635e38a4b894ce552b4c39.tar
rpmtools-1fe82d439b1e1cf005635e38a4b894ce552b4c39.tar.gz
rpmtools-1fe82d439b1e1cf005635e38a4b894ce552b4c39.tar.bz2
rpmtools-1fe82d439b1e1cf005635e38a4b894ce552b4c39.tar.xz
rpmtools-1fe82d439b1e1cf005635e38a4b894ce552b4c39.zip
4.2-2mdk
Diffstat (limited to 'rpmtools.xs')
-rw-r--r--rpmtools.xs4
1 files changed, 2 insertions, 2 deletions
diff --git a/rpmtools.xs b/rpmtools.xs
index 7543e4c..053153f 100644
--- a/rpmtools.xs
+++ b/rpmtools.xs
@@ -109,7 +109,7 @@ SV *get_fullname_sv(Header header) {
char *name = get_name(header, RPMTAG_NAME);
char *version = get_name(header, RPMTAG_VERSION);
char *release = get_name(header, RPMTAG_RELEASE);
- char *arch = get_name(header, RPMTAG_ARCH);
+ char *arch = headerIsEntry(header, RPMTAG_SOURCEPACKAGE) ? "src" : get_name(header, RPMTAG_ARCH);
char *fullname = (char*)alloca(strlen(name)+strlen(version)+strlen(release)+strlen(arch)+4);
STRLEN fullname_len = sprintf(fullname, "%s-%s-%s.%s", name, version, release, arch);
return newSVpv(fullname, fullname_len);
@@ -217,7 +217,7 @@ HV* get_info(Header header, int bflag, HV* provides) {
if (bflag & HDFLAGS_RELEASE)
hv_store(header_info, "release", 7, newSVpv(get_name(header, RPMTAG_RELEASE), 0), 0);
if (bflag & HDFLAGS_ARCH)
- hv_store(header_info, "arch", 4, newSVpv(get_name(header, RPMTAG_ARCH), 0), 0);
+ hv_store(header_info, "arch", 4, newSVpv(headerIsEntry(header, RPMTAG_SOURCEPACKAGE) ? "src" : get_name(header, RPMTAG_ARCH), 0), 0);
if (bflag & HDFLAGS_GROUP)
hv_store(header_info, "group", 5, newSVpv(get_name(header, RPMTAG_GROUP), 0), 0);
if (bflag & HDFLAGS_SIZE)