bind: Split into multiple outputs

A patch is needed to make bind not print its configure flags on
'named -V'.

Changed files
+49 -2
nixos
modules
services
networking
pkgs
+1 -1
nixos/modules/services/networking/bind.nix
···
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";
};
};
}
+8 -1
pkgs/servers/dns/bind/default.nix
···
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 ];
···
"--without-purify"
"--without-python"
];
+
+
postInstall = ''
+
moveToOutput bin/bind9-config $dev
+
moveToOutput bin/isc-config.sh $dev
+
'';
meta = {
homepage = "http://www.isc.org/software/bind";
+40
pkgs/servers/dns/bind/dont-keep-configure-flags.patch
···
+
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,