dnsdomainname: split it from "hostname", make it independently selectable

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko
2016-11-13 22:35:10 +01:00
parent 9655f95d0f
commit 67fd2f2858
4 changed files with 24 additions and 11 deletions

View File

@@ -160,12 +160,6 @@ config FEATURE_FTPGETPUT_LONG_OPTIONS
help
Support long options for the ftpget/ftpput applet.
config HOSTNAME
bool "hostname"
default y
help
Show or set the system's host name.
config HTTPD
bool "httpd"
default y

View File

@@ -16,7 +16,6 @@ lib-$(CONFIG_FAKEIDENTD) += isrv_identd.o isrv.o
lib-$(CONFIG_FTPD) += ftpd.o
lib-$(CONFIG_FTPGET) += ftpgetput.o
lib-$(CONFIG_FTPPUT) += ftpgetput.o
lib-$(CONFIG_HOSTNAME) += hostname.o
lib-$(CONFIG_HTTPD) += httpd.o
lib-$(CONFIG_IFCONFIG) += ifconfig.o interface.o
lib-$(CONFIG_IFENSLAVE) += ifenslave.o interface.o

View File

@@ -10,6 +10,24 @@
* Licensed under GPLv2 or later, see file LICENSE in this source tree.
*/
//config:config HOSTNAME
//config: bool "hostname"
//config: default y
//config: help
//config: Show or set the system's host name.
//config:
//config:config DNSDOMAINNAME
//config: bool "dnsdomainname"
//config: default y
//config: help
//config: Alias to "hostname -d".
//applet:IF_DNSDOMAINNAME(APPLET_ODDNAME(dnsdomainname, hostname, BB_DIR_BIN, BB_SUID_DROP, dnsdomainname))
//applet:IF_HOSTNAME(APPLET(hostname, BB_DIR_BIN, BB_SUID_DROP))
//kbuild: lib-$(CONFIG_HOSTNAME) += hostname.o
//kbuild: lib-$(CONFIG_DNSDOMAINNAME) += hostname.o
//usage:#define hostname_trivial_usage
//usage: "[OPTIONS] [HOSTNAME | -F FILE]"
//usage:#define hostname_full_usage "\n\n"
@@ -131,8 +149,12 @@ int hostname_main(int argc UNUSED_PARAM, char **argv)
opts = getopt32(argv, "dfisF:v", &hostname_str);
argv += optind;
buf = safe_gethostname();
if (applet_name[0] == 'd') /* dnsdomainname? */
opts = OPT_d;
if (ENABLE_DNSDOMAINNAME) {
if (!ENABLE_HOSTNAME || applet_name[0] == 'd') {
/* dnsdomainname */
opts = OPT_d;
}
}
if (opts & OPT_dfi) {
/* Cases when we need full hostname (or its part) */