]> the.earth.li Git - onak.git/commitdiff
Fix config structure references for dynamic backends
authorJonathan McDowell <noodles@earth.li>
Mon, 13 Aug 2007 14:51:12 +0000 (14:51 +0000)
committerJonathan McDowell <noodles@earth.li>
Mon, 13 Aug 2007 14:51:12 +0000 (14:51 +0000)
This 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). Thanks to Brett Parker.

Makefile.in

index c3382a4469ebf715e354aa8afc4c6b57b0bde893..4d551bc98f99d782dd3fbc78e03ca3719ac855b5 100644 (file)
@@ -25,6 +25,7 @@ SRCS = armor.c parsekey.c merge.c keyid.c md5.c sha1.c main.c getcgi.c mem.c \
        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 (x@KEYD@, xyes)
 PROGS += keyd
@@ -38,6 +39,7 @@ ifeq (x@DBTYPE@, xdynamic)
 LIBS += -ldl
 BACKENDS = $(foreach be,@BACKENDS@,libkeydb_$(be).so)
 PROGS += keyd
+PROGS_LDFLAGS_EXTRA = -rdynamic
 SRCS += keyd.c
 endif
 
@@ -47,7 +49,8 @@ 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)
@@ -63,34 +66,39 @@ keydb_%.o: keydb_%.c
 
 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