The attached patch fixes the config structure when dynamic backends are
used - the basic issue is that when the backend was loaded, it wouldn't
(neccessarily) share the config structure with the program that called
it (and had therefore read the config).

Cheers,
Brett Parker
--- onak-0.3.3/Makefile.in	2007-03-04 23:11:30.000000000 +0000
+++ onak-dev/Makefile.in	2007-08-11 16:08:55.605202941 +0100
@@ -25,8 +25,10 @@
 	gpgwww.c onak-conf.c charfuncs.c sendsync.c log.c photoid.c \
 	wordlist.c cleankey.c cleanup.c keyarray.c \
 	$(foreach be,@BACKENDS@,keydb_$(be).c)
 
+PROGS_LDFLAGS_EXTRA=
+
 ifeq ([EMAIL PROTECTED]@, xyes)
 PROGS += keyd
 KEYDB_OBJ = keydb_keyd.o
 SRCS += keyd.c keydb_keyd.c
@@ -37,8 +39,9 @@
 ifeq ([EMAIL PROTECTED]@, xdynamic)
 LIBS += -ldl
 BACKENDS = $(foreach be,@BACKENDS@,libkeydb_$(be).so)
 PROGS += keyd
+PROGS_LDFLAGS_EXTRA=-rdynamic
 SRCS += keyd.c
 endif
 
 OBJS = stats.o cleankey.o $(CORE_OBJS) $(KEYDB_OBJ)
@@ -46,9 +49,10 @@
 all: .depend $(PROGS) testparse maxpath sixdegrees splitkeys onak.conf \
 	$(BACKENDS)
 
 keyd: keyd.o $(CORE_OBJS) keydb_$(DBTYPE).o
-	$(CC) $(LDFLAGS) -o keyd keyd.o $(CORE_OBJS) keydb_$(DBTYPE).o $(LIBS)
+	$(CC) $(LDFLAGS) $(PROGS_LDFLAGS_EXTRA) \
+		-o keyd keyd.o $(CORE_OBJS) keydb_$(DBTYPE).o $(LIBS)
 
 libkeydb_db4.so: keydb_db4.o
 	$(CC) -shared $(DB4LIBS) -o libkeydb_db4.so keydb_db4.o $(CORE_OBJS)
 
@@ -62,36 +66,41 @@
 	$(CC) -c -fPIC $(LDFLAGS) -o $@ $<
 
 splitkeys: splitkeys.o $(CORE_OBJS) $(KEYDB_OBJ)
 	$(CC) $(LDFLAGS) -o splitkeys splitkeys.o $(CORE_OBJS) $(KEYDB_OBJ) \
-		$(LIBS)
+		$(LIBS) $(PROGS_LDFLAGS_EXTRA)
 
 testparse: main.o $(OBJS)
-	$(CC) $(LDFLAGS) -o testparse main.o $(OBJS) $(LIBS)
+	$(CC) $(LDFLAGS) -o testparse main.o $(OBJS) $(LIBS) \
+		$(PROGS_LDFLAGS_EXTRA)
 
 maxpath: maxpath.o $(OBJS)
-	$(CC) $(LDFLAGS) -o maxpath maxpath.o $(OBJS) $(LIBS)
+	$(CC) $(LDFLAGS) -o maxpath maxpath.o $(OBJS) $(LIBS) \
+		$(PROGS_LDFLAGS_EXTRA)
 
 sixdegrees: sixdegrees.o $(OBJS)
-	$(CC) $(LDFLAGS) -o sixdegrees sixdegrees.o $(OBJS) $(LIBS)
+	$(CC) $(LDFLAGS) -o sixdegrees sixdegrees.o $(OBJS) $(LIBS) \
+		$(PROGS_LDFLAGS_EXTRA)
 
 stripkey: stripkey.o $(OBJS)
-	$(CC) $(LDFLAGS) -o stripkey stripkey.o $(OBJS) $(LIBS)
+	$(CC) $(LDFLAGS) -o stripkey stripkey.o $(OBJS) $(LIBS) \
+		$(PROGS_LDFLAGS_EXTRA)
 
 gpgwww: gpgwww.o $(OBJS)
-	$(CC) $(LDFLAGS) -o gpgwww gpgwww.o $(OBJS) $(LIBS)
+	$(CC) $(LDFLAGS) -o gpgwww gpgwww.o $(OBJS) $(LIBS) \
+		$(PROGS_LDFLAGS_EXTRA)
 
 lookup: lookup.o cleankey.o $(CORE_OBJS) $(KEYDB_OBJ)
 	$(CC) $(LDFLAGS) -o lookup lookup.o cleankey.o $(CORE_OBJS) \
-		$(KEYDB_OBJ) $(LIBS)
+		$(KEYDB_OBJ) $(LIBS) $(PROGS_LDFLAGS_EXTRA)
 
 add: add.o cleankey.o $(CORE_OBJS) $(KEYDB_OBJ)
 	$(CC) $(LDFLAGS) -o add add.o cleankey.o \
-		$(CORE_OBJS) $(KEYDB_OBJ) $(LIBS)
+		$(CORE_OBJS) $(KEYDB_OBJ) $(LIBS) $(PROGS_LDFLAGS_EXTRA)
 
 onak: onak.o cleankey.o $(CORE_OBJS) $(KEYDB_OBJ)
 	$(CC) $(LDFLAGS) -o onak onak.o cleankey.o \
-		$(CORE_OBJS) $(KEYDB_OBJ) $(LIBS)
+		$(CORE_OBJS) $(KEYDB_OBJ) $(LIBS) $(PROGS_LDFLAGS_EXTRA)
 
 onak-conf.o: onak-conf.c onak-conf.h
 	$(CC) $(CFLAGS) -DCONFIGFILE=\"@sysconfdir@/onak.conf\" -c onak-conf.c
 

Attachment: signature.asc
Description: Digital signature

Reply via email to