summaryrefslogtreecommitdiff
path: root/pkgtools/pkg_install/files/info
diff options
context:
space:
mode:
authorjoerg <joerg@pkgsrc.org>2008-03-09 18:03:46 +0000
committerjoerg <joerg@pkgsrc.org>2008-03-09 18:03:46 +0000
commit543123b86f48b15ecd53184ac095847536a6621b (patch)
tree4da2a49985f106c1b8af3ef8f41397ac76b3cb51 /pkgtools/pkg_install/files/info
parent8d44eb9488b1edbb7028589c55fb77eb05e8a470 (diff)
downloadpkgsrc-543123b86f48b15ecd53184ac095847536a6621b.tar.gz
pkg_install-20080309:
- When loading meta data for a package and a file is needed for the current operation and is a required file, complain. - Include the name of the package the meta data could not be loaded from. This addresses PR 38166.
Diffstat (limited to 'pkgtools/pkg_install/files/info')
-rw-r--r--pkgtools/pkg_install/files/info/perform.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/pkgtools/pkg_install/files/info/perform.c b/pkgtools/pkg_install/files/info/perform.c
index 731878e78cf..b702ea1978c 100644
--- a/pkgtools/pkg_install/files/info/perform.c
+++ b/pkgtools/pkg_install/files/info/perform.c
@@ -1,4 +1,4 @@
-/* $NetBSD: perform.c,v 1.44 2008/02/22 21:58:16 joerg Exp $ */
+/* $NetBSD: perform.c,v 1.45 2008/03/09 18:03:46 joerg Exp $ */
#if HAVE_CONFIG_H
#include "config.h"
@@ -17,7 +17,7 @@
#if 0
static const char *rcsid = "from FreeBSD Id: perform.c,v 1.23 1997/10/13 15:03:53 jkh Exp";
#else
-__RCSID("$NetBSD: perform.c,v 1.44 2008/02/22 21:58:16 joerg Exp $");
+__RCSID("$NetBSD: perform.c,v 1.45 2008/03/09 18:03:46 joerg Exp $");
#endif
#endif
@@ -278,11 +278,11 @@ read_meta_data_from_pkgdb(const char *pkg)
fd = open(fname, O_RDONLY, 0);
free(fname);
if (fd == -1) {
- if (errno == ENOENT)
+ if (errno == ENOENT && descr->required_file == 0)
continue;
- err(2, "cannot read meta data file %s",
- descr->entry_filename);
- }
+ err(2, "cannot read meta data file %s of package %s",
+ descr->entry_filename, pkg);
+ }
target = (char **)((char *)meta + descr->entry_offset);
if (fstat(fd, &st) == -1)