summaryrefslogtreecommitdiff
path: root/pkgtools/pkg_install
diff options
context:
space:
mode:
authorerh <erh>2006-03-13 22:08:22 +0000
committererh <erh>2006-03-13 22:08:22 +0000
commitfeaf0fd4be713da85ec826b181eef4882751d5a6 (patch)
tree964b46be254a614fd445507a06e8495f1a06c917 /pkgtools/pkg_install
parent90b9c556c5c06c70b9feb4bb2afd6d80a029144b (diff)
downloadpkgsrc-feaf0fd4be713da85ec826b181eef4882751d5a6.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.c12
-rw-r--r--pkgtools/pkg_install/files/lib/version.h4
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_ */