commit b16df5b3089e36cf0bd697177983dcae11b849ec Author: Jindrich Novy Date: Mon Sep 1 14:31:33 2008 +0200 Create _topdir if it doesn't exist when installing SRPM - otherwise creating _sourcedir and _specdir fails diff --git a/lib/psm.c b/lib/psm.c index d4bea69..046964b 100644 --- a/lib/psm.c +++ b/lib/psm.c @@ -231,6 +231,7 @@ rpmRC rpmInstallSourcePackage(rpmts ts, FD_t fd, { int scareMem = 1; rpmfi fi = NULL; + char * _topdir = NULL; char * _sourcedir = NULL; char * _specdir = NULL; char * specFile = NULL; @@ -335,6 +336,13 @@ rpmRC rpmInstallSourcePackage(rpmts ts, FD_t fd, } } + _topdir = rpmGenPath(rpmtsRootDir(ts), "%{_topdir}", ""); + rpmrc = rpmMkdirPath(_topdir, "_topdir"); + if (rpmrc) { + rpmrc = RPMRC_FAIL; + goto exit; + } + _sourcedir = rpmGenPath(rpmtsRootDir(ts), "%{_sourcedir}", ""); rpmrc = rpmMkdirPath(_sourcedir, "_sourcedir"); if (rpmrc) {