CVS commit: pkgsrc/databases/sdbm

"Ryo ONODERA" <[email protected]> Tue, 4 Aug 2026 14:59:11 +0000
Newsgroups gmane.os.netbsd.devel.pkgsrc.cvs
Message-ID <[email protected]>
This is a multi-part message in MIME format.

--_----------=_1785855551253080
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset="US-ASCII"

Module Name:	pkgsrc
Committed By:	ryoon
Date:		Tue Aug  4 14:59:11 UTC 2026

Modified Files:
	pkgsrc/databases/sdbm: distinfo
	pkgsrc/databases/sdbm/patches: patch-ab patch-ad patch-af patch-ah
	    patch-ai

Log Message:
databases/sdbm: Fix build with GCC 14 and honor LDFLAGS


To generate a diff of this commit:
cvs rdiff -u -r1.19 -r1.20 pkgsrc/databases/sdbm/distinfo
cvs rdiff -u -r1.4 -r1.5 pkgsrc/databases/sdbm/patches/patch-ab \
    pkgsrc/databases/sdbm/patches/patch-ad \
    pkgsrc/databases/sdbm/patches/patch-ai
cvs rdiff -u -r1.5 -r1.6 pkgsrc/databases/sdbm/patches/patch-af
cvs rdiff -u -r1.2 -r1.3 pkgsrc/databases/sdbm/patches/patch-ah

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.


--_----------=_1785855551253080
Content-Disposition: inline
Content-Length: 11060
Content-Transfer-Encoding: binary
Content-Type: text/x-diff; charset=us-ascii

Modified files:

Index: pkgsrc/databases/sdbm/distinfo
diff -u pkgsrc/databases/sdbm/distinfo:1.19 pkgsrc/databases/sdbm/distinfo:1.20
--- pkgsrc/databases/sdbm/distinfo:1.19	Tue Oct 26 10:10:04 2021
+++ pkgsrc/databases/sdbm/distinfo	Tue Aug  4 14:59:11 2026
@@ -1,13 +1,13 @@
-$NetBSD: distinfo,v 1.19 2021/10/26 10:10:04 nia Exp $
+$NetBSD: distinfo,v 1.20 2026/08/04 14:59:11 ryoon Exp $
 
 BLAKE2s (sdbm.tar.Z) = 9825cf5366caec26e56638579a2367a948bb9a65d48cfcafdd75456538245cc1
 SHA512 (sdbm.tar.Z) = f1de2eaf50826d1446e2f8b9b27adeb07363373b81aecd990eba6ae112dfc3d642dfff6ba27f74aa2eb27ee4d5bee04d2b0a830582d790fef63a1ccfd5661c8d
 Size (sdbm.tar.Z) = 63557 bytes
 SHA1 (patch-aa) = 9ebe008e7119939b5d47abdb1c15cc03e4548698
-SHA1 (patch-ab) = 0d432aa2f4a8b33077aa045386da499b494bcd24
+SHA1 (patch-ab) = 41a09d59bb247fb80ca428bbb3440689bc8b098a
 SHA1 (patch-ac) = dccfcb2b7a2f68188bb55bb514021cc091274678
-SHA1 (patch-ad) = 7857dbfc168d12985a9fa0b5cefc39ac90bc4fba
+SHA1 (patch-ad) = 3b9c0f8780c048ca3a06ae3cd01ea910f22ef77d
 SHA1 (patch-ae) = 69e4e40277ecae8e6023d72dbbd4a738583f46dd
-SHA1 (patch-af) = fa25d68eacd6e0b555a29618960659573013ca76
-SHA1 (patch-ah) = 90dba8033eba363f246fd785e8897724ab7eb718
-SHA1 (patch-ai) = 30be3d05db35d02190e8749840921d23c55c24db
+SHA1 (patch-af) = b7b0ffab0e37a8f16211e4303021babc81198548
+SHA1 (patch-ah) = 6acf1969e59c28fc09600414e01f5e4be2ab25eb
+SHA1 (patch-ai) = 51b27bd68a9c0980c9fdb7db4aff7dacb63dd9c4

Index: pkgsrc/databases/sdbm/patches/patch-ab
diff -u pkgsrc/databases/sdbm/patches/patch-ab:1.4 pkgsrc/databases/sdbm/patches/patch-ab:1.5
--- pkgsrc/databases/sdbm/patches/patch-ab:1.4	Mon Apr 16 04:01:10 2012
+++ pkgsrc/databases/sdbm/patches/patch-ab	Tue Aug  4 14:59:11 2026
@@ -1,11 +1,12 @@
-$NetBSD: patch-ab,v 1.4 2012/04/16 04:01:10 dholland Exp $
+$NetBSD: patch-ab,v 1.5 2026/08/04 14:59:11 ryoon Exp $
 
 - Configure for pkgsrc.
 - libtoolize, build as shared library.
 - Provide working install target.
+- Honor LDFLAGS to enable RELRO for pkgsrc.
 
---- makefile	2008/08/12 12:14:05	1.1
-+++ makefile	2008/08/12 11:24:23
+--- /usr/tmp/pkgsrc/databases/sdbm/work/makefile.orig	2026-08-04 12:26:30.375274615 +0000
++++ /usr/tmp/pkgsrc/databases/sdbm/work/makefile
 @@ -2,37 +2,42 @@
  # makefile for public domain ndbm-clone: sdbm
  # DUFF: use duff's device (loop unroll) in parts of the code
@@ -31,26 +32,25 @@ $NetBSD: patch-ab,v 1.4 2012/04/16 04:01
 -dbu: dbu.o sdbm util.o
 -	cc $(LDFLAGS) -o dbu dbu.o util.o libsdbm.a
 +dbu: dbu.o ${LIBS} util.o
-+	${LIBTOOL} --mode=link --tag=CC ${CC} dbu.o util.o ${LIBS:.a=.la} -o dbu
++	${LIBTOOL} --mode=link --tag=CC ${CC} ${LDFLAGS} dbu.o util.o ${LIBS:.a=.la} -o dbu
  
  dba: dba.o util.o
 -	cc $(LDFLAGS) -o dba dba.o util.o
-+	${LIBTOOL} --mode=link --tag=CC ${CC} dba.o util.o ${LIBS:.a=.la} -o dba
++	${LIBTOOL} --mode=link --tag=CC ${CC} ${LDFLAGS} dba.o util.o ${LIBS:.a=.la} -o dba
  dbd: dbd.o util.o
 -	cc $(LDFLAGS) -o dbd dbd.o util.o
 -dbe: dbe.o sdbm
 -	cc $(LDFLAGS) -o dbe dbe.o libsdbm.a
--
++	${LIBTOOL} --mode=link --tag=CC ${CC} ${LDFLAGS} dbd.o util.o ${LIBS:.a=.la} -o dbd
++dbe: dbe.o ${LIBS}
++	${LIBTOOL} --mode=link --tag=CC ${CC} ${LDFLAGS} dbe.o ${LIBS:.a=.la} -o dbe
+ 
 -sdbm: $(OBJS)
 -	ar cr libsdbm.a $(OBJS)
 -	ranlib libsdbm.a
 -###	cp libsdbm.a /usr/lib/libsdbm.a
-+	${LIBTOOL} --mode=link --tag=CC ${CC} dbd.o util.o ${LIBS:.a=.la} -o dbd
-+dbe: dbe.o ${LIBS}
-+	${LIBTOOL} --mode=link --tag=CC ${CC} dbe.o ${LIBS:.a=.la} -o dbe
-+
 +$(LIBS): $(OBJS)
-+	${LIBTOOL} --mode=link  --tag=CC ${CC} -o ${.TARGET:.a=.la} ${OBJS:.o=.lo} -rpath ${PREFIX}/lib -version-info 1:0
++	${LIBTOOL} --mode=link  --tag=CC ${CC} ${LDFLAGS} -o ${.TARGET:.a=.la} ${OBJS:.o=.lo} -rpath ${PREFIX}/lib -version-info 1:0
  
  dba.o: sdbm.h
  dbu.o: sdbm.h
@@ -61,7 +61,7 @@ $NetBSD: patch-ab,v 1.4 2012/04/16 04:01
  
  #
  # dbu using berkelezoid ndbm routines [if you have them] for testing
-@@ -53,3 +58,16 @@
+@@ -53,3 +58,16 @@ readme:
  
  readme:
  	nroff -ms readme.ms | col -b >README
Index: pkgsrc/databases/sdbm/patches/patch-ad
diff -u pkgsrc/databases/sdbm/patches/patch-ad:1.4 pkgsrc/databases/sdbm/patches/patch-ad:1.5
--- pkgsrc/databases/sdbm/patches/patch-ad:1.4	Mon Apr 16 03:50:38 2012
+++ pkgsrc/databases/sdbm/patches/patch-ad	Tue Aug  4 14:59:11 2026
@@ -1,9 +1,10 @@
-$NetBSD: patch-ad,v 1.4 2012/04/16 03:50:38 dholland Exp $
+$NetBSD: patch-ad,v 1.5 2026/08/04 14:59:11 ryoon Exp $
 
 - use standard headers
 - don't declare own errno
+- fix build with GCC 14
 
---- util.c.orig	2012-04-16 03:53:49.000000000 +0000
+--- util.c.orig	2026-08-04 12:05:46.864661412 +0000
 +++ util.c
 @@ -1,4 +1,7 @@
  #include <stdio.h>
@@ -13,7 +14,7 @@ $NetBSD: patch-ad,v 1.4 2012/04/16 03:50
  #ifdef SDBM
  #include "sdbm.h"
  #else
-@@ -10,15 +13,13 @@ oops(s1, s2)
+@@ -10,15 +13,13 @@ register char *s2;
  register char *s1;
  register char *s2;
  {
@@ -31,3 +32,12 @@ $NetBSD: patch-ad,v 1.4 2012/04/16 03:50
  	fprintf(stderr, "\n");
  	exit(1);
  }
+@@ -28,7 +29,7 @@ char *pag;
+ char *pag;
+ {
+ 	register unsigned n;
+-	register off;
++	register int off;
+ 	register short *ino = (short *) pag;
+ 
+ 	if ((n = ino[0]) > PBLKSIZ / sizeof(short))
Index: pkgsrc/databases/sdbm/patches/patch-ai
diff -u pkgsrc/databases/sdbm/patches/patch-ai:1.4 pkgsrc/databases/sdbm/patches/patch-ai:1.5
--- pkgsrc/databases/sdbm/patches/patch-ai:1.4	Mon Jun 18 02:15:52 2012
+++ pkgsrc/databases/sdbm/patches/patch-ai	Tue Aug  4 14:59:11 2026
@@ -1,10 +1,11 @@
-$NetBSD: patch-ai,v 1.4 2012/06/18 02:15:52 dholland Exp $
+$NetBSD: patch-ai,v 1.5 2026/08/04 14:59:11 ryoon Exp $
 
 Use standard headers.
+Fix build with GCC 14
 
---- dbd.c.orig	2012-06-18 02:26:06.000000000 +0000
+--- dbd.c.orig	2026-08-04 12:10:25.469494081 +0000
 +++ dbd.c
-@@ -3,7 +3,10 @@
+@@ -3,17 +3,24 @@
   */
  
  #include <stdio.h>
@@ -16,3 +17,57 @@ Use standard headers.
  #include "sdbm.h"
  
  char *progname;
+ extern void oops();
+ 
++void sdump();
++int okpage();
++void dispage();
+ 
+ #define empty(page)	(((short *) page)[0] == 0)
+ 
+ int
+ main(argc, argv)
++int argc;
+ char **argv;
+ {
+ 	int n;
+@@ -38,12 +45,13 @@ char **argv;
+ 	return 0;
+ }
+ 
++void
+ sdump(pagf)
+ int pagf;
+ {
+-	register r;
+-	register n = 0;
+-	register o = 0;
++	register int r;
++	register int n = 0;
++	register int o = 0;
+ 	char pag[PBLKSIZ];
+ 
+ 	while ((r = read(pagf, pag, PBLKSIZ)) > 0) {
+@@ -64,6 +72,7 @@ int pagf;
+ 
+ 
+ #ifdef OLD
++void
+ dispage(pag)
+ char *pag;
+ {
+@@ -86,11 +95,12 @@ char *pag;
+ 	}
+ }
+ #else
++void
+ dispage(pag)
+ char *pag;
+ {
+-	register i, n;
+-	register off;
++	register int i, n;
++	register int off;
+ 	register short *ino = (short *) pag;
+ 
+ 	off = PBLKSIZ;

Index: pkgsrc/databases/sdbm/patches/patch-af
diff -u pkgsrc/databases/sdbm/patches/patch-af:1.5 pkgsrc/databases/sdbm/patches/patch-af:1.6
--- pkgsrc/databases/sdbm/patches/patch-af:1.5	Sun Apr 14 01:26:03 2013
+++ pkgsrc/databases/sdbm/patches/patch-af	Tue Aug  4 14:59:11 2026
@@ -1,12 +1,13 @@
-$NetBSD: patch-af,v 1.5 2013/04/14 01:26:03 dholland Exp $
+$NetBSD: patch-af,v 1.6 2026/08/04 14:59:11 ryoon Exp $
 
 - Use standard headers.
 - Don't provide own getopt on BSD platforms, or on Solaris.
 - Use <ctype.h> functions correctly.
 - Avoid signed bitwise operations.
 - Use the modern regexp library interface.
+- Fix build with GCC 14.
 
---- dbe.c.orig	2013-04-14 01:29:53.000000000 +0000
+--- dbe.c.orig	2026-08-04 12:10:25.478063515 +0000
 +++ dbe.c
 @@ -1,6 +1,12 @@
 +#include <sys/types.h>
@@ -22,7 +23,7 @@ $NetBSD: patch-af,v 1.5 2013/04/14 01:26
  #include <ndbm.h>
  #else
  #include "file.h"
-@@ -51,6 +57,7 @@ char *optarg;			       /* Global argumen
+@@ -51,6 +57,7 @@ char *optarg;			       /* Global argument pointer. */
  #define index  strchr
  #endif
  
@@ -30,10 +31,12 @@ $NetBSD: patch-af,v 1.5 2013/04/14 01:26
  char
  getopt(argc, argv, optstring)
  int argc;
-@@ -128,23 +135,26 @@ char *optstring;
+@@ -128,23 +135,28 @@ char *optstring;
  	}
  	return c;
  }
++#else
++#include <unistd.h>
 +#endif
  
  
@@ -62,7 +65,7 @@ $NetBSD: patch-af,v 1.5 2013/04/14 01:26
  		}
  	}
  	putchar('"');
-@@ -171,7 +181,9 @@ char *s;
+@@ -171,7 +183,9 @@ char *s;
  				*p = '\f';
  			else if (*s == 't')
  				*p = '\t';
@@ -73,7 +76,15 @@ $NetBSD: patch-af,v 1.5 2013/04/14 01:26
  				i = (*s++ - '0') << 6;
  				i |= (*s++ - '0') << 3;
  				i |= *s - '0';
-@@ -211,6 +223,8 @@ char **argv;
+@@ -204,6 +218,7 @@ datum db;
+ }
+ 
+ 
++int
+ main(argc, argv)
+ int argc;
+ char **argv;
+@@ -211,6 +226,8 @@ char **argv;
  	typedef enum {
  		YOW, FETCH, STORE, DELETE, SCAN, REGEXP
  	} commands;
@@ -82,7 +93,7 @@ $NetBSD: patch-af,v 1.5 2013/04/14 01:26
  	char opt;
  	int flags;
  	int giveusage = 0;
-@@ -333,7 +347,8 @@ char **argv;
+@@ -333,7 +350,8 @@ char **argv;
  			fprintf(stderr, "Missing regular expression.\n");
  			goto db_exit;
  		}
@@ -92,7 +103,7 @@ $NetBSD: patch-af,v 1.5 2013/04/14 01:26
  			fprintf(stderr, "Invalid regular expression\n");
  			goto db_exit;
  		}
-@@ -343,7 +358,7 @@ char **argv;
+@@ -343,7 +361,7 @@ char **argv;
  			goto db_exit;
  		}
  		while (key.dptr != NULL) {
@@ -101,7 +112,7 @@ $NetBSD: patch-af,v 1.5 2013/04/14 01:26
  				content = dbm_fetch(db, key);
  				if (dbm_error(db)) {
  					fprintf(stderr, "Error when fetching ");
-@@ -362,6 +377,7 @@ char **argv;
+@@ -362,6 +380,7 @@ char **argv;
  			}
  			key = dbm_nextkey(db);
  		}

Index: pkgsrc/databases/sdbm/patches/patch-ah
diff -u pkgsrc/databases/sdbm/patches/patch-ah:1.2 pkgsrc/databases/sdbm/patches/patch-ah:1.3
--- pkgsrc/databases/sdbm/patches/patch-ah:1.2	Mon Apr 16 04:01:10 2012
+++ pkgsrc/databases/sdbm/patches/patch-ah	Tue Aug  4 14:59:11 2026
@@ -1,10 +1,11 @@
-$NetBSD: patch-ah,v 1.2 2012/04/16 04:01:10 dholland Exp $
+$NetBSD: patch-ah,v 1.3 2026/08/04 14:59:11 ryoon Exp $
 
 Use standard headers
+Fix build with GCC 14.
 
---- dba.c	2008/08/12 11:32:24	1.1
-+++ dba.c	2008/08/12 11:32:58
-@@ -2,7 +2,10 @@
+--- dba.c.orig	2026-08-04 12:10:25.465394876 +0000
++++ dba.c
+@@ -2,15 +2,24 @@
   * dba	dbm analysis/recovery
   */
  
@@ -12,6 +13,56 @@ Use standard headers
  #include <stdio.h>
 +#include <stdlib.h>
 +#include <string.h>
++#include <unistd.h>
  #include <sys/file.h>
  #include "sdbm.h"
  
+ char *progname;
+ extern void oops();
+ 
++void sdump();
++int pagestat();
++int okpage();
++
+ int
+ main(argc, argv)
++int argc;
+ char **argv;
+ {
+ 	int n;
+@@ -36,14 +45,15 @@ char **argv;
+ 	return 0;
+ }
+ 
++void
+ sdump(pagf)
+ int pagf;
+ {
+-	register b;
+-	register n = 0;
+-	register t = 0;
+-	register o = 0;
+-	register e;
++	register int b;
++	register int n = 0;
++	register int t = 0;
++	register int o = 0;
++	register int e;
+ 	char pag[PBLKSIZ];
+ 
+ 	while ((b = read(pagf, pag, PBLKSIZ)) > 0) {
+@@ -66,11 +76,12 @@ int pagf;
+ 		oops("read failed: block %d", n);
+ }
+ 
++int
+ pagestat(pag)
+ char *pag;
+ {
+-	register n;
+-	register free;
++	register int n;
++	register int free;
+ 	register short *ino = (short *) pag;
+ 
+ 	if (!(n = ino[0]))


--_----------=_1785855551253080--