aboutsummaryrefslogtreecommitdiff
path: root/dns
diff options
context:
space:
mode:
authorHajimu UMEMOTO <ume@FreeBSD.org>2007-01-23 15:19:53 +0000
committerHajimu UMEMOTO <ume@FreeBSD.org>2007-01-23 15:19:53 +0000
commit2369209682751d2a0c48588d74ef639ca75535c6 (patch)
tree50f884cd5f96b6b0505d4bd34a3bda78ce59e378 /dns
parentba253a3a39c4ca0f924b9872785232334a5e040c (diff)
downloadports-2369209682751d2a0c48588d74ef639ca75535c6.tar.gz
ports-2369209682751d2a0c48588d74ef639ca75535c6.zip
Add WITH_COMPAT5X option. It is to build nss_resinit.so which is able
to work with the 5.X binaries such as p4 on 6.X after importing the BIND9's resolver. Requested by: bms
Notes
Notes: svn path=/head/; revision=183079
Diffstat (limited to 'dns')
-rw-r--r--dns/nss_resinit/Makefile7
-rw-r--r--dns/nss_resinit/files/patch-nss_resinit.c22
2 files changed, 29 insertions, 0 deletions
diff --git a/dns/nss_resinit/Makefile b/dns/nss_resinit/Makefile
index 55ddefe1ae7a..3d5c17acfa08 100644
--- a/dns/nss_resinit/Makefile
+++ b/dns/nss_resinit/Makefile
@@ -25,4 +25,11 @@ MANCOMPRESSED= yes
IGNORE= name-service switch support in libc is required
.endif
+.if defined(WITH_COMPAT5X)
+.if ${OSVERSION} > 700017
+BROKEN= 7.X and later do not have compat syms for the old resolver
+.endif
+MAKE_ARGS+= CC="${CC} -DWITH_COMPAT5X"
+.endif
+
.include <bsd.port.post.mk>
diff --git a/dns/nss_resinit/files/patch-nss_resinit.c b/dns/nss_resinit/files/patch-nss_resinit.c
new file mode 100644
index 000000000000..d489b6295fc9
--- /dev/null
+++ b/dns/nss_resinit/files/patch-nss_resinit.c
@@ -0,0 +1,22 @@
+Index: nss_resinit.c
+diff -u -p nss_resinit.c.orig nss_resinit.c
+--- nss_resinit.c.orig Wed Apr 12 20:29:35 2006
++++ nss_resinit.c Tue Jan 23 09:48:22 2007
+@@ -44,6 +44,17 @@ __RCSID("$Mahoroba: src/nss_resinit/nss_
+
+ #ifndef res_ninit
+ typedef struct __res_state *res_state;
++#endif
++
++#ifdef WITH_COMPAT5X
++extern struct __res_state *___res(void);
++#undef _res
++#define _res (*___res())
++#undef res_ninit
++#undef __res_vinit
++#endif
++
++#ifndef res_ninit
+ #define res_ninit(res) res_init()
+ #define __res_vinit(res, preinit) (res_close(), res_init())
+ #endif