diff --git a/include/applets.src.h b/include/applets.src.h index 248d539c4..dbc45953c 100644 --- a/include/applets.src.h +++ b/include/applets.src.h @@ -112,7 +112,6 @@ IF_DHCPRELAY(APPLET(dhcprelay, BB_DIR_USR_SBIN, BB_SUID_DROP)) IF_DIRNAME(APPLET_NOFORK(dirname, dirname, BB_DIR_USR_BIN, BB_SUID_DROP, dirname)) IF_DMESG(APPLET(dmesg, BB_DIR_BIN, BB_SUID_DROP)) IF_DNSD(APPLET(dnsd, BB_DIR_USR_SBIN, BB_SUID_DROP)) -IF_HOSTNAME(APPLET_ODDNAME(dnsdomainname, hostname, BB_DIR_BIN, BB_SUID_DROP, dnsdomainname)) IF_DOS2UNIX(APPLET_NOEXEC(dos2unix, dos2unix, BB_DIR_USR_BIN, BB_SUID_DROP, dos2unix)) IF_DU(APPLET(du, BB_DIR_USR_BIN, BB_SUID_DROP)) IF_DUMPKMAP(APPLET(dumpkmap, BB_DIR_BIN, BB_SUID_DROP)) @@ -158,7 +157,6 @@ IF_HD(APPLET_NOEXEC(hd, hexdump, BB_DIR_USR_BIN, BB_SUID_DROP, hd)) IF_HDPARM(APPLET(hdparm, BB_DIR_SBIN, BB_SUID_DROP)) IF_HEAD(APPLET_NOEXEC(head, head, BB_DIR_USR_BIN, BB_SUID_DROP, head)) IF_HEXDUMP(APPLET_NOEXEC(hexdump, hexdump, BB_DIR_USR_BIN, BB_SUID_DROP, hexdump)) -IF_HOSTNAME(APPLET(hostname, BB_DIR_BIN, BB_SUID_DROP)) IF_HTTPD(APPLET(httpd, BB_DIR_USR_SBIN, BB_SUID_DROP)) IF_HWCLOCK(APPLET(hwclock, BB_DIR_SBIN, BB_SUID_DROP)) IF_IFCONFIG(APPLET(ifconfig, BB_DIR_SBIN, BB_SUID_DROP)) diff --git a/networking/Config.src b/networking/Config.src index eb0536a7c..398a5ee25 100644 --- a/networking/Config.src +++ b/networking/Config.src @@ -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 diff --git a/networking/Kbuild.src b/networking/Kbuild.src index 79f54824b..e14070647 100644 --- a/networking/Kbuild.src +++ b/networking/Kbuild.src @@ -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 diff --git a/networking/hostname.c b/networking/hostname.c index b3e352242..04a051ede 100644 --- a/networking/hostname.c +++ b/networking/hostname.c @@ -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) */