diff options
author | erh <erh@pkgsrc.org> | 2006-03-13 22:08:22 +0000 |
---|---|---|
committer | erh <erh@pkgsrc.org> | 2006-03-13 22:08:22 +0000 |
commit | cf99d8dcaabcd8495186cc0d519f99718a9da379 (patch) | |
tree | 964b46be254a614fd445507a06e8495f1a06c917 /pkgtools/pkg_install | |
parent | f19e88e9b1b297ff1e53dab694af0dafa893bea5 (diff) | |
download | pkgsrc-cf99d8dcaabcd8495186cc0d519f99718a9da379.tar.gz |
Fix -uu handling so recursive updates of already installed packages work,
even if the initial package to install isn't installed yet.
Bump the version to 20060313.
Diffstat (limited to 'pkgtools/pkg_install')
-rw-r--r-- | pkgtools/pkg_install/files/add/perform.c | 12 | ||||
-rw-r--r-- | pkgtools/pkg_install/files/lib/version.h | 4 |
2 files changed, 8 insertions, 8 deletions
diff --git a/pkgtools/pkg_install/files/add/perform.c b/pkgtools/pkg_install/files/add/perform.c index d81356c3622..71cdf6fabf4 100644 --- a/pkgtools/pkg_install/files/add/perform.c +++ b/pkgtools/pkg_install/files/add/perform.c @@ -1,4 +1,4 @@ -/* $NetBSD: perform.c,v 1.37 2006/01/25 00:20:09 joerg Exp $ */ +/* $NetBSD: perform.c,v 1.38 2006/03/13 22:08:22 erh Exp $ */ #if HAVE_CONFIG_H #include "config.h" @@ -14,7 +14,7 @@ #if 0 static const char *rcsid = "from FreeBSD Id: perform.c,v 1.44 1997/10/13 15:03:46 jkh Exp"; #else -__RCSID("$NetBSD: perform.c,v 1.37 2006/01/25 00:20:09 joerg Exp $"); +__RCSID("$NetBSD: perform.c,v 1.38 2006/03/13 22:08:22 erh Exp $"); #endif #endif @@ -200,7 +200,7 @@ installprereq(const char *name, int *errc, int doupdate) if (fexec_skipempty(BINDIR "/pkg_add", "-K", _pkgdb_getPKGDB_DIR(), "-s", get_verification(), - doupdate ? "-u" : "", + doupdate > 1 ? "-uu" : (doupdate ? "-u" : ""), Fake ? "-n" : "", NoView ? "-L" : "", View ? "-w" : "", View ? View : "", @@ -757,7 +757,7 @@ ignore_replace_depends_check: /* Yes, append .tgz after the version so the */ /* pattern can match a filename. */ snprintf(tmp, sizeof(tmp), "%s.tgz", p->name); - done = installprereq(tmp, &errc0, 1); + done = installprereq(tmp, &errc0, 2); } else if (Replace) { @@ -814,10 +814,10 @@ ignore_replace_depends_check: if (exact != NULL) { /* first try the exact name, from the @blddep */ - done = installprereq(exact, &errc0, 0); + done = installprereq(exact, &errc0, (Replace > 1) ? 2 : 0); } if (!done) { - done = installprereq(p->name, &errc0, 0); + done = installprereq(p->name, &errc0, (Replace > 1) ? 2 : 0); } if (!done && !Force) { errc += errc0; diff --git a/pkgtools/pkg_install/files/lib/version.h b/pkgtools/pkg_install/files/lib/version.h index e6a4a7c1475..35ce0a0e396 100644 --- a/pkgtools/pkg_install/files/lib/version.h +++ b/pkgtools/pkg_install/files/lib/version.h @@ -1,4 +1,4 @@ -/* $NetBSD: version.h,v 1.54 2006/01/25 00:20:09 joerg Exp $ */ +/* $NetBSD: version.h,v 1.55 2006/03/13 22:08:22 erh Exp $ */ /* * Copyright (c) 2001 Thomas Klausner. All rights reserved. @@ -33,6 +33,6 @@ #ifndef _INST_LIB_VERSION_H_ #define _INST_LIB_VERSION_H_ -#define PKGTOOLS_VERSION "20060123" +#define PKGTOOLS_VERSION "20060313" #endif /* _INST_LIB_VERSION_H_ */ |