diff --git a/nixos/modules/services/networking/bind.nix b/nixos/modules/services/networking/bind.nix index b9e0eecf417d..08afafceff24 100644 --- a/nixos/modules/services/networking/bind.nix +++ b/nixos/modules/services/networking/bind.nix @@ -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"; }; }; } diff --git a/pkgs/servers/dns/bind/default.nix b/pkgs/servers/dns/bind/default.nix index 9afb622eb5e0..03cee0fe55bc 100644 --- a/pkgs/servers/dns/bind/default.nix +++ b/pkgs/servers/dns/bind/default.nix @@ -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"; diff --git a/pkgs/servers/dns/bind/dont-keep-configure-flags.patch b/pkgs/servers/dns/bind/dont-keep-configure-flags.patch new file mode 100644 index 000000000000..91cae62b1715 --- /dev/null +++ b/pkgs/servers/dns/bind/dont-keep-configure-flags.patch @@ -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,