summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Espie <espie@cvs.openbsd.org>2000-03-24 00:24:19 +0000
committerMarc Espie <espie@cvs.openbsd.org>2000-03-24 00:24:19 +0000
commite33e3f03714f1e11943a9da6a03f5a36ed0743b5 (patch)
tree5b485cf5262dfdeb5135b6cf41d85c6be57df55e
parent4b315963e78b56d006e25891f6a65c4d964c1ee9 (diff)
Fake buglet fix: if PLIST_SRC directly follows PLIST_CWD, ignore
the PLIST_CWD in creating the tar pipe. This takes care of pkg_create -p PREFIX -s FAKE where PREFIX does not exist at pkg creation time.
-rw-r--r--usr.sbin/pkg_install/create/perform.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/usr.sbin/pkg_install/create/perform.c b/usr.sbin/pkg_install/create/perform.c
index 02e6fc84b1d..83ab6f8015c 100644
--- a/usr.sbin/pkg_install/create/perform.c
+++ b/usr.sbin/pkg_install/create/perform.c
@@ -1,7 +1,7 @@
-/* $OpenBSD: perform.c,v 1.9 1999/07/28 12:35:00 espie Exp $ */
+/* $OpenBSD: perform.c,v 1.10 2000/03/24 00:24:18 espie Exp $ */
#ifndef lint
-static const char *rcsid = "$OpenBSD: perform.c,v 1.9 1999/07/28 12:35:00 espie Exp $";
+static const char *rcsid = "$OpenBSD: perform.c,v 1.10 2000/03/24 00:24:18 espie Exp $";
#endif
/*
@@ -288,6 +288,10 @@ make_dist(char *home, char *pkg, char *suffix, package_t *plist)
fprintf(flist, "%s\n", p->name);
}
else if (p->type == PLIST_CWD || p->type == PLIST_SRC) {
+ /* XXX let PLIST_SRC override PLIST_CWD */
+ if (p->type == PLIST_CWD && p->next != NULL &&
+ p->next->type == PLIST_SRC)
+ continue;
if (flist)
fclose(flist);
flist = 0;