--- /dev/null
+--- rpm-4.4.4/lib/rpmlock.c.orig 2005-12-08 19:32:31.000000000 +0100
++++ rpm-4.4.4/lib/rpmlock.c 2005-12-16 01:00:31.601268584 +0100
+@@ -39,7 +39,11 @@
+ /* XXX oneshot to determine path for fcntl lock. */
+ /* XXX rpmlock_path is set once, cannot be changed with %{_rpmlock_path}. */
+ if (!oneshot) {
+- char * t = rpmGenPath(rootdir, rpmlock_path_default, NULL);
++ char * t = NULL;
++ char * check = rpmExpand(rpmlock_path_default, NULL);
++ if (check[0] != '\0')
++ t = rpmGenPath(rootdir, rpmlock_path_default, NULL);
++ free(check);
+ if (t == NULL || *t == '\0' || *t == '%')
+ t = _free(t);
+ rpmlock_path = t;