summaryrefslogtreecommitdiff
path: root/pkgtools
diff options
context:
space:
mode:
Diffstat (limited to 'pkgtools')
-rw-r--r--pkgtools/pkg_install/files/add/add.h3
-rw-r--r--pkgtools/pkg_install/files/add/main.c18
-rw-r--r--pkgtools/pkg_install/files/add/perform.c6
-rw-r--r--pkgtools/pkg_install/files/add/pkg_add.17
-rw-r--r--pkgtools/pkg_install/files/add/pkg_add.cat5
-rw-r--r--pkgtools/pkg_install/files/lib/version.h4
6 files changed, 33 insertions, 10 deletions
diff --git a/pkgtools/pkg_install/files/add/add.h b/pkgtools/pkg_install/files/add/add.h
index 9c1f285fab3..a55f40bb580 100644
--- a/pkgtools/pkg_install/files/add/add.h
+++ b/pkgtools/pkg_install/files/add/add.h
@@ -1,4 +1,4 @@
-/* $NetBSD: add.h,v 1.18 2010/01/30 20:09:34 joerg Exp $ */
+/* $NetBSD: add.h,v 1.19 2010/09/14 22:26:18 gdt Exp $ */
/* from FreeBSD Id: add.h,v 1.8 1997/02/22 16:09:15 peter Exp */
@@ -40,6 +40,7 @@ extern int Replace;
extern int ReplaceSame;
extern Boolean ForceDepends;
+extern Boolean ForceDepending;
int make_hierarchy(char *);
void apply_perms(char *, char **, int);
diff --git a/pkgtools/pkg_install/files/add/main.c b/pkgtools/pkg_install/files/add/main.c
index 3df813ae96f..0f452a0c762 100644
--- a/pkgtools/pkg_install/files/add/main.c
+++ b/pkgtools/pkg_install/files/add/main.c
@@ -1,4 +1,4 @@
-/* $NetBSD: main.c,v 1.26 2010/06/16 23:02:48 joerg Exp $ */
+/* $NetBSD: main.c,v 1.27 2010/09/14 22:26:18 gdt Exp $ */
#if HAVE_CONFIG_H
#include "config.h"
@@ -7,7 +7,7 @@
#if HAVE_SYS_CDEFS_H
#include <sys/cdefs.h>
#endif
-__RCSID("$NetBSD: main.c,v 1.26 2010/06/16 23:02:48 joerg Exp $");
+__RCSID("$NetBSD: main.c,v 1.27 2010/09/14 22:26:18 gdt Exp $");
/*
*
@@ -39,7 +39,7 @@ __RCSID("$NetBSD: main.c,v 1.26 2010/06/16 23:02:48 joerg Exp $");
#include "lib.h"
#include "add.h"
-static char Options[] = "AC:IK:LP:RVW:fhm:np:t:Uuvw:";
+static char Options[] = "AC:DIK:LP:RVW:fhm:np:t:Uuvw:";
char *Destdir = NULL;
char *OverrideMachine = NULL;
@@ -51,6 +51,12 @@ Boolean NoInstall = FALSE;
Boolean NoRecord = FALSE;
Boolean Automatic = FALSE;
Boolean ForceDepends = FALSE;
+/*
+ * Normally, updating fails if the dependencies of a depending package
+ * are not satisfied by the package to be updated. ForceDepending
+ * turns that failure into a warning.
+ */
+Boolean ForceDepending = FALSE;
int LicenseCheck = 0;
int Replace = 0;
@@ -82,7 +88,12 @@ main(int argc, char **argv)
case 'C':
config_file = optarg;
+ break;
+ case 'D':
+ ForceDepending = TRUE;
+ break;
+
case 'P':
Destdir = optarg;
break;
@@ -90,6 +101,7 @@ main(int argc, char **argv)
case 'f':
Force = TRUE;
ForceDepends = TRUE;
+ ForceDepending = TRUE;
break;
case 'I':
diff --git a/pkgtools/pkg_install/files/add/perform.c b/pkgtools/pkg_install/files/add/perform.c
index 3a7e1eb8587..8a1967d4bc2 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.97 2010/06/16 23:02:48 joerg Exp $ */
+/* $NetBSD: perform.c,v 1.98 2010/09/14 22:26:18 gdt Exp $ */
#if HAVE_CONFIG_H
#include "config.h"
#endif
@@ -6,7 +6,7 @@
#if HAVE_SYS_CDEFS_H
#include <sys/cdefs.h>
#endif
-__RCSID("$NetBSD: perform.c,v 1.97 2010/06/16 23:02:48 joerg Exp $");
+__RCSID("$NetBSD: perform.c,v 1.98 2010/09/14 22:26:18 gdt Exp $");
/*-
* Copyright (c) 2003 Grant Beattie <grant@NetBSD.org>
@@ -458,7 +458,7 @@ check_other_installed(struct pkg_task *pkg)
continue; /* Both match, ok. */
warnx("Dependency of %s fulfilled by %s, but not by %s",
iter, pkg->other_version, pkg->pkgname);
- if (!Force)
+ if (!ForceDepending)
status = -1;
break;
}
diff --git a/pkgtools/pkg_install/files/add/pkg_add.1 b/pkgtools/pkg_install/files/add/pkg_add.1
index 046d3f27106..e9dcfc4e4f7 100644
--- a/pkgtools/pkg_install/files/add/pkg_add.1
+++ b/pkgtools/pkg_install/files/add/pkg_add.1
@@ -1,4 +1,4 @@
-.\" $NetBSD: pkg_add.1,v 1.44 2010/06/16 23:02:48 joerg Exp $
+.\" $NetBSD: pkg_add.1,v 1.45 2010/09/14 22:26:18 gdt Exp $
.\"
.\" FreeBSD install - a package for the installation and maintenance
.\" of non-core utilities.
@@ -130,6 +130,11 @@ will still try to find and auto-install missing prerequisite packages,
a failure to find one will not be fatal.
This flag also overrides the fatal error when the operating system or
architecture the package was built on differ from that of the host.
+.It Fl D
+Force updating even if the dependencies of depending packages are not
+satisfied by the new package.
+This is used by "make replace", after which one would typically
+replace the depending packages.
.It Fl I
If an installation script exists for a given package, do not execute it.
.It Fl K Ar pkg_dbdir
diff --git a/pkgtools/pkg_install/files/add/pkg_add.cat b/pkgtools/pkg_install/files/add/pkg_add.cat
index 1d0081236a8..246953fb628 100644
--- a/pkgtools/pkg_install/files/add/pkg_add.cat
+++ b/pkgtools/pkg_install/files/add/pkg_add.cat
@@ -64,6 +64,11 @@ OOPPTTIIOONNSS
rides the fatal error when the operating system or architecture
the package was built on differ from that of the host.
+ --DD Force updating even if the dependencies of depending packages are
+ not satisfied by the new package. This is used by "make
+ replace", after which one would typically replace the depending
+ packages.
+
--II If an installation script exists for a given package, do not exe-
cute it.
diff --git a/pkgtools/pkg_install/files/lib/version.h b/pkgtools/pkg_install/files/lib/version.h
index 0d4125cc9ce..5e10b28843c 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.156 2010/06/16 23:02:49 joerg Exp $ */
+/* $NetBSD: version.h,v 1.157 2010/09/14 22:26:19 gdt Exp $ */
/*
* Copyright (c) 2001 Thomas Klausner. All rights reserved.
@@ -27,6 +27,6 @@
#ifndef _INST_LIB_VERSION_H_
#define _INST_LIB_VERSION_H_
-#define PKGTOOLS_VERSION 20100616
+#define PKGTOOLS_VERSION 20100914
#endif /* _INST_LIB_VERSION_H_ */