--- rpm-4.4.2/lib/rpmlock.c.userlock 2005-01-26 13:41:43.000000000 +0000 +++ rpm-4.4.2/lib/rpmlock.c 2007-03-13 10:33:15.000000000 +0000 @@ -37,9 +37,9 @@ /* XXX oneshot to determine path for fcntl lock. */ if (rpmlock_path == NULL) { - char * t = rpmExpand(rpmlock_path_default, NULL); + char * t = rpmGenPath(rootdir, rpmlock_path_default, NULL); if (t == NULL || *t == '\0' || *t == '%') - t = RPMLOCK_PATH; + t = strdup(RPMLOCK_PATH); rpmlock_path = xstrdup(t); t = _free(t); } @@ -129,7 +129,7 @@ const char *rootDir = rpmtsRootDir(ts); rpmlock lock; - if (!rootDir) + if (!rootDir || rpmtsChrootDone(ts)) rootDir = "/"; lock = rpmlock_new(rootDir); /*@-branchstate@*/