bind: Split into multiple outputs

A patch is needed to make bind not print its configure flags on
'named -V'.
This commit is contained in:
Tuomas Tynkkynen 2015-10-30 23:12:29 +02:00 committed by Tuomas Tynkkynen
parent d359ce90e8
commit 0561e14c3b
3 changed files with 49 additions and 2 deletions

View file

@ -154,7 +154,7 @@ in
chown ${bindUser} /var/run/named
'';
script = "${pkgs.bind}/sbin/named -u ${bindUser} ${optionalString cfg.ipv4Only "-4"} -c ${cfg.configFile} -f";
script = "${pkgs.bind.bin}/sbin/named -u ${bindUser} ${optionalString cfg.ipv4Only "-4"} -c ${cfg.configFile} -f";
};
};
}

View file

@ -10,7 +10,9 @@ stdenv.mkDerivation rec {
sha256 = "0mmhzi4483mkak47wj255a36g3v0yilxwfwlbckr1hssinri5m7q";
};
patches = [ ./remove-mkdir-var.patch ] ++
outputs = [ "dev" "bin" "out" "man" ];
patches = [ ./dont-keep-configure-flags.patch ./remove-mkdir-var.patch ] ++
stdenv.lib.optional stdenv.isDarwin ./darwin-openssl-linking-fix.patch;
buildInputs = [ openssl libtool perl libxml2 ];
@ -31,6 +33,11 @@ stdenv.mkDerivation rec {
"--without-python"
];
postInstall = ''
moveToOutput bin/bind9-config $dev
moveToOutput bin/isc-config.sh $dev
'';
meta = {
homepage = "http://www.isc.org/software/bind";
description = "Domain name server";

View file

@ -0,0 +1,40 @@
diff --git a/bin/named/include/named/globals.h b/bin/named/include/named/globals.h
index f354cfb..2aa0cc5 100644
--- a/bin/named/include/named/globals.h
+++ b/bin/named/include/named/globals.h
@@ -71,7 +71,9 @@ EXTERN const char * ns_g_version INIT(VERSION);
EXTERN const char * ns_g_product INIT(PRODUCT);
EXTERN const char * ns_g_description INIT(DESCRIPTION);
EXTERN const char * ns_g_srcid INIT(SRCID);
+#if 0
EXTERN const char * ns_g_configargs INIT(CONFIGARGS);
+#endif
EXTERN const char * ns_g_builder INIT(BUILDER);
EXTERN in_port_t ns_g_port INIT(0);
EXTERN isc_dscp_t ns_g_dscp INIT(-1);
diff --git a/bin/named/main.c b/bin/named/main.c
index 556db54..edab41d 100644
--- a/bin/named/main.c
+++ b/bin/named/main.c
@@ -636,8 +636,10 @@ parse_command_line(int argc, char *argv[]) {
(*ns_g_description != '\0') ? " " : "",
ns_g_description, ns_g_srcid);
printf("running on %s\n", ns_os_uname());
+#if 0
printf("built by %s with %s\n",
ns_g_builder, ns_g_configargs);
+#endif
#ifdef __clang__
printf("compiled by CLANG %s\n", __VERSION__);
#else
@@ -998,8 +1000,10 @@ setup(void) {
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN,
ISC_LOG_NOTICE, "running on %s", ns_os_uname());
+#if 0
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN,
ISC_LOG_NOTICE, "built with %s", ns_g_configargs);
+#endif
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN,
ISC_LOG_NOTICE,