Need recommendation on keyserver code

Todd Zullinger tmz at pobox.com
Wed May 7 19:28:41 CEST 2008


Alan Olsen wrote:
> 5) Eventually I want to package at least one keyserver for Fedora.

IIRC from when I built SKS on Fedora 8, the main issue was updating
the code to the newer Berkely DB.  I didn't test it all that much
after building it though -- it just wasn't that interesting.

I'll attach the patches I used to get it to build.  They may help you
get a working package.  I make no guarantees that these are correct,
as I'm far from intelligent in the ways of bdb.

Also, the numerix patch needs to be applied after the numerix tarball
in the sks source is unpacked.

Onak might end up being easier to build.  I never played with it
though.

-- 
Todd        OpenPGP -> KeyID: 0xBEAF0CE3 | URL: www.pobox.com/~tmz/pgp
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Even moderation ought not to be practiced to excess.

-------------- next part --------------
diff -ur sks-1.0.10/bdb/bdb_stubs.c sks-1.0.10-built-cleaned/bdb/bdb_stubs.c
--- sks-1.0.10~/bdb/bdb_stubs.c	2005-01-17 18:42:51.000000000 -0500
+++ sks-1.0.10/bdb/bdb_stubs.c	2008-01-30 19:52:46.000000000 -0500
@@ -206,7 +206,9 @@
 // calls to DB->err and DBENV->err lead to exceptions.
 
 // FIX: currently, prefix is ignored.  Should be concatenated.
-void raise_db_cb(const char *prefix, char *msg) { raise_db(msg); }
+void raise_db_cb(const DB_ENV *dbenv, const char *prefix, char *msg) {
+    raise_db(msg);
+}
 
 
 // #############################################################
@@ -238,7 +240,7 @@
 //+     | LOCKDOWN | PRIVATE | SYSTEM_MEM | THREAD
 
 static int dbenv_verbose_flags[] = {
-  DB_VERB_CHKPOINT, DB_VERB_DEADLOCK, DB_VERB_RECOVERY, DB_VERB_WAITSFOR
+  DB_VERB_DEADLOCK, DB_VERB_RECOVERY, DB_VERB_WAITSFOR
 };
 
 //+ 
@@ -679,9 +681,10 @@
   int err;
   void *stat;
   int size;
+  DB_TXN *txn = NULL;
 
   test_db_closed(db);
-  err = UW_db(db)->stat(UW_db(db),&stat,0);
+  err = UW_db(db)->stat(UW_db(db),txn,&stat,0);
   if (err != 0) { UW_db(db)->err(UW_db(db),err,"caml_db_get_size"); }
   switch (*(u_int32_t*)stat) {
   case DB_BTREEMAGIC:
diff -ur sks-1.0.10/Makefile sks-1.0.10-built-cleaned/Makefile
--- sks-1.0.10~/Makefile	2005-08-13 21:33:51.000000000 -0400
+++ sks-1.0.10/Makefile	2008-01-30 21:44:04.000000000 -0500
@@ -29,9 +29,6 @@
 ifndef CAMLP4O
 	CAMLP4O=camlp4o
 endif
-ifndef MANDIR
-	MANDIR=/usr/share/man
-endif
 
 export OCAMLC
 export OCAMLOPT
@@ -50,7 +47,7 @@
 
 CAMLP4=-pp $(CAMLP4O)
 CAMLINCLUDE= -I lib -I bdb
-COMMONCAMLFLAGS=$(CAMLINCLUDE) $(OCAMLLIB) -ccopt -Lbdb -dtypes
+COMMONCAMLFLAGS=$(CAMLINCLUDE) $(OCAMLLIB) -ccopt -Lbdb -dtypes -ccopt -pthread
 OCAMLDEP=ocamldep $(CAMLP4) 
 CAMLLIBS=unix.cma str.cma bdb.cma nums.cma numerix.cma bigarray.cma cryptokit.cma
 OCAMLFLAGS=$(COMMONCAMLFLAGS) -g $(CAMLLIBS)
@@ -129,14 +126,10 @@
 install: 
 	mkdir -p $(PREFIX)/bin
 	install sks_build.sh sks sks_add_mail $(PREFIX)/bin
-	mkdir -p $(MANDIR)/man8
-	install sks.8.gz $(MANDIR)/man8
 
 install.bc: 
 	mkdir -p $(PREFIX)/bin
 	install sks_build.bc.sh sks.bc sks_add_mail.bc $(PREFIX)/bin
-	mkdir -p $(MANDIR)/man8
-	install sks.8.gz $(MANDIR)/man8
 
 Makefile.local:
 	touch Makefile.local
@@ -148,12 +141,6 @@
 
 # Ordinary targets
 
-sks.8.gz: sks.8
-	gzip -f sks.8
-
-sks.8: sks.pod
-	pod2man -c "SKS OpenPGP Key server" --section 8 -r 0.1 -name sks sks.pod sks.8
-
 spider: $(LIBS) $(ALLOBJS) spider.cmx
 	$(OCAMLOPT) -o spider $(OCAMLOPTFLAGS) $(ALLOBJS) spider.cmx
 
diff -ur sks-1.0.10~/Makefile.local sks-1.0.10/Makefile.local
--- sks-1.0.10~/Makefile.local	2008-05-04 19:12:24.079272650 -0400
+++ sks-1.0.10/Makefile.local	2008-05-07 12:47:44.000000000 -0400
@@ -0,0 +1,10 @@
+BDBLIB=-L/lib
+BDBINCLUDE=-I/usr/include
+PREFIX=/usr/local
+LIBDB=-ldb-4.6
+MANDIR=/usr/share/man
+export BDBLIB
+export BDBINCLUDE
+export PREFIX
+export LIBDB
+export MANDIR
-------------- next part --------------
diff -up numerix-0.19c/lib/common/chrono.c.clk_tck numerix-0.19c/lib/common/chrono.c
--- numerix-0.19c/lib/common/chrono.c.clk_tck	2008-05-07 12:53:01.000000000 -0400
+++ numerix-0.19c/lib/common/chrono.c	2008-05-07 12:56:22.000000000 -0400
@@ -18,7 +18,7 @@ void chrono(char *msg) {
   struct tms buf;
 
   times(&buf);
-  t = (double)(buf.tms_utime + buf.tms_stime)/CLK_TCK;
+  t = (double)(buf.tms_utime + buf.tms_stime)/CLOCKS_PER_SEC;
   fprintf(stderr,"%8.2f %8.2f %s\n",t,t-tlast,msg);
   fflush(stderr);
   tlast = t;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 542 bytes
Desc: not available
URL: </pipermail/attachments/20080507/2db52c23/attachment-0001.pgp>


More information about the Gnupg-users mailing list