all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
blob 03b736cd08c66811a98b69d8c1f039e4f577cb1f 1067 bytes (raw)
name: packages/patches/nvi-db4.patch 	 # note: path name is non-authoritative(*)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
 
This patch originates from the Debian project, see https://www.debian.org/

03db4.dpatch  by  <hesso@pool.math.tu-berlin.de>


libdb4 compatibility adjustments.

In particular, this patch adds extra file permission checking and passes the
DB_CREATE flag to the first invocation of db_open on the file's database
structure, which rids us of the following message:

  BDB0635 DB_CREATE must be specified to create databases.

--- nvi-1.81.6.orig/common/msg.c	2009-02-26 14:26:58.350336128 +0100
+++ nvi-1.81.6/common/msg.c	2009-02-26 14:29:05.235335829 +0100
@@ -724,9 +724,18 @@
 		p = buf;
 	} else
 		p = file;
+	if (access(p, F_OK) != 0) {
+		if (first) {
+			first = 0;
+			return (1);
+		}
+		sp->db_error = ENOENT;
+		msgq_str(sp, M_DBERR, p, "%s");
+		return (1);
+	}
 	if ((sp->db_error = db_create(&db, 0, 0)) != 0 ||
 	    (sp->db_error = db->set_re_source(db, p)) != 0 ||
-	    (sp->db_error = db_open(db, NULL, DB_RECNO, 0, 0)) != 0) {
+	    (sp->db_error = db_open(db, NULL, DB_RECNO, DB_CREATE, 0)) != 0) {
 		if (first) {
 			first = 0;
 			return (1);

debug log:

solving 03b736cd08c66811a98b69d8c1f039e4f577cb1f ...
found 03b736cd08c66811a98b69d8c1f039e4f577cb1f in https://git.savannah.gnu.org/cgit/guix.git

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.