summaryrefslogtreecommitdiff
path: root/pkgtools
diff options
context:
space:
mode:
authorhubertf <hubertf@pkgsrc.org>2004-01-04 01:49:38 +0000
committerhubertf <hubertf@pkgsrc.org>2004-01-04 01:49:38 +0000
commit04dec02447563d6f6467b9c482143406c5b67451 (patch)
treeacce3c548221562512cce063c551307d0649b1c2 /pkgtools
parentf4b171fc2d59e340311a2b7e89f197cb61934c3f (diff)
downloadpkgsrc-04dec02447563d6f6467b9c482143406c5b67451.tar.gz
In the "quick depends pre-scan", first print all bad matching depends,
then exit (instead printing one conflicting pkg/version on each run).
Diffstat (limited to 'pkgtools')
-rw-r--r--pkgtools/pkg_install/files/add/perform.c18
-rw-r--r--pkgtools/pkg_install/files/lib/version.h4
2 files changed, 13 insertions, 9 deletions
diff --git a/pkgtools/pkg_install/files/add/perform.c b/pkgtools/pkg_install/files/add/perform.c
index 7471e65fbc5..3bd555b9d56 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.13 2003/12/20 04:23:05 grant Exp $ */
+/* $NetBSD: perform.c,v 1.14 2004/01/04 01:49:38 hubertf Exp $ */
#if HAVE_CONFIG_H
#include "config.h"
@@ -11,7 +11,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.13 2003/12/20 04:23:05 grant Exp $");
+__RCSID("$NetBSD: perform.c,v 1.14 2004/01/04 01:49:38 hubertf Exp $");
#endif
#endif
@@ -128,7 +128,7 @@ pkg_do(const char *pkg)
char dbdir[FILENAME_MAX];
const char *exact, *extra1;
FILE *cfile;
- int errc;
+ int errc, err_prescan;
plist_t *p;
struct stat sb;
struct utsname host_uname;
@@ -544,6 +544,7 @@ ignore_replace_depends_check:
/* Quick pre-check if any conflicting dependencies are installed
* (e.g. version X is installed, but version Y is required)
*/
+ err_prescan=0;
for (p = Plist.head; p; p = p->next) {
char installed[FILENAME_MAX];
@@ -596,15 +597,18 @@ ignore_replace_depends_check:
if (Force) {
warnx("Proceeding anyway.");
- } else {
- warnx("Please resolve this conflict!");
- errc = 1;
- goto success; /* close enough */
+ } else {
+ err_prescan++;
}
}
}
}
}
+ if (err_prescan > 0) {
+ warnx("Please resolve this conflict!");
+ errc += err_prescan;
+ goto success; /* close enough */
+ }
/* Now check the packing list for dependencies */
diff --git a/pkgtools/pkg_install/files/lib/version.h b/pkgtools/pkg_install/files/lib/version.h
index 3f64134570c..8e5d496bfe1 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.19 2003/12/20 04:23:05 grant Exp $ */
+/* $NetBSD: version.h,v 1.20 2004/01/04 01:49:38 hubertf 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 "20031220"
+#define PKGTOOLS_VERSION "20040104"
#endif /* _INST_LIB_VERSION_H_ */