diff -up hostname/hostname.1.rh hostname/hostname.1 --- hostname/hostname.1.rh 2012-12-06 16:18:46.000000000 +0100 +++ hostname/hostname.1 2013-03-26 12:39:24.303468313 +0100 @@ -84,6 +84,28 @@ complete FQDN of the system is returned .B "THE FQDN" below). +.LP +The function +.BR gethostname(2) +is used to get the hostname. When the +.BR "hostname \-a, \-d, \-f or \-i" +is called will +.BR gethostbyname(3) +be called. The difference in +.BR gethostname(2) +and +.BR gethostbyname(3) +is that +.BR gethostbyname(3) +is network aware, so it consults +.IR /etc/nsswitch.conf +and +.IR /etc/host.conf +to decide whether to read information in +.IR /etc/hostname +or +.IR /etc/hosts + .SS "SET NAME" When called with one argument or with the .B \-\-file @@ -109,8 +131,7 @@ command (see .B "THE FQDN" below). .LP -The host name is usually set once at system startup in -.I /etc/init.d/hostname.sh +The host name is usually set once at system startup (normally by reading the contents of a file which contains the host name, e.g. .IR /etc/hostname ). @@ -224,9 +245,6 @@ order of the output. .I "\-s, \-\-short" Display the short host name. This is the host name cut at the first dot. .TP -.I "\-v, \-\-verbose" -Be verbose and tell what's going on. -.TP .I "\-V, \-\-version" Print version information on standard output and exit successfully. .TP diff -up hostname/hostname.c.rh hostname/hostname.c --- hostname/hostname.c.rh 2012-12-06 16:18:46.000000000 +0100 +++ hostname/hostname.c 2013-03-26 12:40:44.233038695 +0100 @@ -146,16 +146,16 @@ void usage(FILE *stream) { fprintf(stream, - "Usage: hostname [-v] [-b] {hostname|-F file} set host name (from file)\n" - " hostname [-v] [-a|-A|-d|-f|-i|-I|-s|-y] display formatted name\n" - " hostname [-v] display host name\n" + "Usage: hostname [-b] {hostname|-F file} set host name (from file)\n" + " hostname [-a|-A|-d|-f|-i|-I|-s|-y] display formatted name\n" + " hostname display host name\n" "\n" - " {yp,nis,}domainname [-v] {nisdomain|-F file} set NIS domain name (from file)\n" - " {yp,nis,}domainname [-v] display NIS domain name\n" + " {yp,nis,}domainname {nisdomain|-F file} set NIS domain name (from file)\n" + " {yp,nis,}domainname display NIS domain name\n" "\n" - " dnsdomainname [-v] display dns domain name\n" + " dnsdomainname display dns domain name\n" "\n" - " hostname -V|--version|-h|--help print info and exit\n" + " hostname -V|--version|-h|--help print info and exit\n" "\n" "Program name:\n" " {yp,nis,}domainname=hostname -y\n" @@ -447,7 +447,6 @@ main(int argc, char **argv) {"long", no_argument, 0, 'f'}, {"short", no_argument, 0, 's'}, {"version", no_argument, 0, 'V'}, - {"verbose", no_argument, 0, 'v'}, {"alias", no_argument, 0, 'a'}, {"ip-address", no_argument, 0, 'i'}, {"all-ip-addresses", no_argument, 0, 'I'}, @@ -467,7 +466,7 @@ main(int argc, char **argv) else if (!strcmp(progname, "nisdomainname")) type = NIS_DEF; - while((o = getopt_long(argc, argv, "aAdfbF:h?iIsVvy", long_options, NULL)) != -1) + while((o = getopt_long(argc, argv, "aAdfbF:h?iIsVy", long_options, NULL)) != -1) switch (o) { case 'd': type = DNS; @@ -499,9 +498,6 @@ main(int argc, char **argv) case 'F': file = optarg; break; - case 'v': - /* Does not do anything. */ - break; case 'V': printf("hostname %s\n", VERSION); return 0; diff -up hostname/Makefile.rh hostname/Makefile --- hostname/Makefile.rh 2012-02-16 16:00:52.000000000 +0100 +++ hostname/Makefile 2013-03-26 12:39:24.303468313 +0100 @@ -3,30 +3,29 @@ CFLAGS+=-O2 -Wall # uncomment the following line if you want to install to a different base dir. #BASEDIR=/mnt/test +BINDIR:=/bin + OBJS=hostname.o hostname: $(OBJS) $(CC) $(CFLAGS) -o $@ $(OBJS) $(LDFLAGS) -lnsl - ln -fs hostname dnsdomainname - ln -fs hostname domainname - ln -fs hostname ypdomainname - ln -fs hostname nisdomainname install: hostname install -d ${BASEDIR}/usr/share/man/man1 - install -o root -g root -m 0644 hostname.1 ${BASEDIR}/usr/share/man/man1 + install -m 0644 hostname.1 ${BASEDIR}/usr/share/man/man1 + ln -fs hostname.1 ${BASEDIR}/usr/share/man/man1/dnsdomainname.1 ln -fs hostname.1 ${BASEDIR}/usr/share/man/man1/domainname.1 ln -fs hostname.1 ${BASEDIR}/usr/share/man/man1/ypdomainname.1 ln -fs hostname.1 ${BASEDIR}/usr/share/man/man1/nisdomainname.1 #install -o root -g root -m 0644 hostname.1.fr ${BASEDIR}/usr/share/man/fr/man1/hostname.1 - install -d ${BASEDIR}/bin - install -o root -g root -m 0755 hostname ${BASEDIR}/bin - ln -f hostname ${BASEDIR}/bin/dnsdomainname - ln -f hostname ${BASEDIR}/bin/domainname - ln -f hostname ${BASEDIR}/bin/nisdomainname - ln -f hostname ${BASEDIR}/bin/ypdomainname + install -d ${BASEDIR}$(BINDIR) + install -m 0755 hostname ${BASEDIR}$(BINDIR) + ln -fs hostname ${BASEDIR}$(BINDIR)/dnsdomainname + ln -fs hostname ${BASEDIR}$(BINDIR)/domainname + ln -fs hostname ${BASEDIR}$(BINDIR)/nisdomainname + ln -fs hostname ${BASEDIR}$(BINDIR)/ypdomainname clean: -rm -f $(OBJS) hostname dnsdomainname domainname nisdomainname ypdomainname