From f4e9a251168732fb30358402a5d5ca1b4b572698 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Tue, 3 Jun 2014 20:57:30 +0200 Subject: [PATCH] hostname: New package. --- lfs/hostname | 77 +++++++++++++++++++++++++++++++++++ make.sh | 1 + src/patches/hostname-rh.patch | 69 +++++++++++++++++++++++++++++++ 3 files changed, 147 insertions(+) create mode 100644 lfs/hostname create mode 100644 src/patches/hostname-rh.patch diff --git a/lfs/hostname b/lfs/hostname new file mode 100644 index 0000000000..feac3a0f8d --- /dev/null +++ b/lfs/hostname @@ -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 . # +# # +############################################################################### + +############################################################################### +# 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) diff --git a/make.sh b/make.sh index 041a0f6a23..c170076532 100755 --- a/make.sh +++ b/make.sh @@ -355,6 +355,7 @@ buildbase() { lfsmake2 groff lfsmake2 gperf lfsmake2 gzip + lfsmake2 hostname lfsmake2 iproute2 lfsmake2 jwhois lfsmake2 kbd diff --git a/src/patches/hostname-rh.patch b/src/patches/hostname-rh.patch new file mode 100644 index 0000000000..d56ae59a93 --- /dev/null +++ b/src/patches/hostname-rh.patch @@ -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 ). -- 2.39.2