hostname: New package.

This commit is contained in:
Michael Tremer
2014-06-03 20:57:30 +02:00
parent 1efa8995eb
commit f4e9a25116
3 changed files with 147 additions and 0 deletions

77
lfs/hostname Normal file
View File

@@ -0,0 +1,77 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation, either version 3 of the License, or #
# (at your option) any later version. #
# #
# This program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with this program. If not, see <http://www.gnu.org/licenses/>. #
# #
###############################################################################
###############################################################################
# Definitions
###############################################################################
include Config
VER = 3.15
THISAPP = hostname_$(VER)
DL_FILE = $(THISAPP).tar.gz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/hostname
TARGET = $(DIR_INFO)/$(THISAPP)
###############################################################################
# Top-level Rules
###############################################################################
objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_MD5 = f93c87de2517850de5f47234e3bcb563
install : $(TARGET)
check : $(patsubst %,$(DIR_CHK)/%,$(objects))
download :$(patsubst %,$(DIR_DL)/%,$(objects))
md5 : $(subst %,%_MD5,$(objects))
###############################################################################
# Downloading, checking, md5sum
###############################################################################
$(patsubst %,$(DIR_CHK)/%,$(objects)) :
@$(CHECK)
$(patsubst %,$(DIR_DL)/%,$(objects)) :
@$(LOAD)
$(subst %,%_MD5,$(objects)) :
@$(MD5)
###############################################################################
# Installation Details
###############################################################################
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/hostname-rh.patch
cd $(DIR_APP) && make $(MAKETUNING)
cd $(DIR_APP) && make install BINDIR=/bin
@rm -rf $(DIR_APP)
@$(POSTBUILD)

View File

@@ -355,6 +355,7 @@ buildbase() {
lfsmake2 groff
lfsmake2 gperf
lfsmake2 gzip
lfsmake2 hostname
lfsmake2 iproute2
lfsmake2 jwhois
lfsmake2 kbd

View File

@@ -0,0 +1,69 @@
diff -up hostname/Makefile.rh hostname/Makefile
--- hostname/Makefile.rh 2013-11-04 10:12:59.670379153 +0100
+++ hostname/Makefile 2013-11-04 10:15:04.957314495 +0100
@@ -10,21 +10,17 @@ 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}$(MANDIR)/man1
- install -o root -g root -m 0644 hostname.1 ${BASEDIR}$(MANDIR)/man1
+ install -m 0644 hostname.1 ${BASEDIR}$(MANDIR)/man1
ln -fs hostname.1 ${BASEDIR}$(MANDIR)/man1/dnsdomainname.1
ln -fs hostname.1 ${BASEDIR}$(MANDIR)/man1/domainname.1
ln -fs hostname.1 ${BASEDIR}$(MANDIR)/man1/ypdomainname.1
ln -fs hostname.1 ${BASEDIR}$(MANDIR)/man1/nisdomainname.1
install -d ${BASEDIR}$(BINDIR)
- install -o root -g root -m 0755 hostname ${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
diff -up hostname/hostname.1.rh hostname/hostname.1
--- hostname/hostname.1.rh 2013-11-03 15:24:23.000000000 +0100
+++ hostname/hostname.1 2013-11-04 10:12:59.670379153 +0100
@@ -80,6 +80,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
@@ -105,8 +127,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 ).