From ba5d1dc183277e3f896e5517e14201d5a88eb94b Mon Sep 17 00:00:00 2001 From: Jay Larson Date: Mon, 7 Nov 2016 12:07:48 -0600 Subject: [PATCH] - Removed if{up,down} scripts in favor of ifupdown package binaries - added default etc/network.conf --- Makefile | 2 +- SRC/initscripts/Makefile | 7 +- SRC/initscripts/etc/network.conf | 4 + SRC/initscripts/lib/lsb/ipv4-static | 83 ------------- SRC/initscripts/lib/lsb/ipv4-static-route | 98 ---------------- SRC/initscripts/sbin/ifdown | 100 ---------------- SRC/initscripts/sbin/ifup | 136 ---------------------- 7 files changed, 6 insertions(+), 424 deletions(-) create mode 100644 SRC/initscripts/etc/network.conf delete mode 100755 SRC/initscripts/lib/lsb/ipv4-static delete mode 100755 SRC/initscripts/lib/lsb/ipv4-static-route delete mode 100755 SRC/initscripts/sbin/ifdown delete mode 100755 SRC/initscripts/sbin/ifup diff --git a/Makefile b/Makefile index 191cdad..89ffa8e 100644 --- a/Makefile +++ b/Makefile @@ -16,7 +16,7 @@ DESC = This package supplies the base system init scripts for sysvinit ARCHIVE := '' SRCDIR := $(PWD)/SRC/initscripts PATCHDIR := $(PWD)/SRC/patches -VERSION := 0.2sr1 +VERSION := 0.3sr0 include /usr/share/snap/Makefile.snaplinux diff --git a/SRC/initscripts/Makefile b/SRC/initscripts/Makefile index 8ab7b82..c193baa 100644 --- a/SRC/initscripts/Makefile +++ b/SRC/initscripts/Makefile @@ -4,10 +4,10 @@ dirs: install -d -m 755 $(DESTDIR)/etc/{rc{{0..6},S},init}.d install -d -m 755 $(DESTDIR)/lib/lsb install -d -m 755 $(DESTDIR)/usr/share/man/man8 - install -d -m 755 $(DESTDIR)/sbin files: install -m 754 etc/default/console $(DESTDIR)/etc/default/console + install -m 644 etc/network.conf $(DESTDIR)/etc/network.conf install -m 754 etc/init.d/checkfs $(DESTDIR)/etc/init.d/checkfs install -m 754 etc/init.d/cleanfs $(DESTDIR)/etc/init.d/cleanfs install -m 754 etc/init.d/console $(DESTDIR)/etc/init.d/console @@ -28,11 +28,6 @@ files: install -m 754 etc/init.d/udev $(DESTDIR)/etc/init.d/udev install -m 754 etc/modules.conf $(DESTDIR)/etc/modules.conf install -m 754 lib/lsb/init-functions $(DESTDIR)/lib/lsb/init-functions - install -m 754 lib/lsb/ipv4-static $(DESTDIR)/lib/lsb/ipv4-static - install -m 754 lib/lsb/ipv4-static-route \ - $(DESTDIR)/lib/lsb/ipv4-static-route - install -m 754 sbin/ifdown $(DESTDIR)/sbin/ifdown - install -m 754 sbin/ifup $(DESTDIR)/sbin/ifup install -m 754 usr/share/man/man8/ifup.8 \ $(DESTDIR)/usr/share/man/man8/ifup.8 ln -sf ifup.8 $(DESTDIR)/usr/share/man/man8/ifdown.8 diff --git a/SRC/initscripts/etc/network.conf b/SRC/initscripts/etc/network.conf new file mode 100644 index 0000000..d0ef15e --- /dev/null +++ b/SRC/initscripts/etc/network.conf @@ -0,0 +1,4 @@ +source-directory network.d + +auto lo +iface lo inet loopback diff --git a/SRC/initscripts/lib/lsb/ipv4-static b/SRC/initscripts/lib/lsb/ipv4-static deleted file mode 100755 index b1b05e9..0000000 --- a/SRC/initscripts/lib/lsb/ipv4-static +++ /dev/null @@ -1,83 +0,0 @@ -#!/bin/sh -######################################################################## -# Begin /lib/lsb/ipv4-static -# -# Description : IPV4 Static Boot Script -# -# Authors : Nathan Coulson - nathan@linuxfromscratch.org -# Kevin P. Fleming - kpfleming@linuxfromscratch.org -# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org -# -# Version : LFS 7.0 -# -######################################################################## - -. /lib/lsb/init-functions -. ${IFCONFIG} - -if [ -z "${IP}" ]; then - log_failure_msg "\nIP variable missing from ${IFCONFIG}, cannot continue." - exit 1 -fi - -if [ -z "${PREFIX}" -a -z "${PEER}" ]; then - log_warning_msg "\nPREFIX variable missing from ${IFCONFIG}, assuming 24." - PREFIX=24 - args="${args} ${IP}/${PREFIX}" - -elif [ -n "${PREFIX}" -a -n "${PEER}" ]; then - log_failure_msg "\nPREFIX and PEER both specified in ${IFCONFIG}, cannot continue." - exit 1 - -elif [ -n "${PREFIX}" ]; then - args="${args} ${IP}/${PREFIX}" - -elif [ -n "${PEER}" ]; then - args="${args} ${IP} peer ${PEER}" -fi - -if [ -n "${BROADCAST}" ]; then - args="${args} broadcast ${BROADCAST}" -fi - -case "${2}" in - up) - if [ "$(ip addr show ${1} 2>/dev/null | grep ${IP}/)" = "" ]; then - - # Cosmetic output not needed for multiple services - if ! $(echo ${SERVICE} | grep -q " "); then - log_info_msg2 "\n" # Terminate the previous message - fi - - log_info_msg "Adding IPv4 address ${IP} to the ${1} interface..." - ip addr add ${args} dev ${1} - evaluate_retval - else - log_warning_msg "Cannot add IPv4 address ${IP} to ${1}. Already present." - fi - ;; - - down) - if [ "$(ip addr show ${1} 2>/dev/null | grep ${IP}/)" != "" ]; then - log_info_msg "Removing IPv4 address ${IP} from the ${1} interface..." - ip addr del ${args} dev ${1} - evaluate_retval - fi - - if [ -n "${GATEWAY}" ]; then - # Only remove the gateway if there are no remaining ipv4 addresses - if [ "$(ip addr show ${1} 2>/dev/null | grep 'inet ')" != "" ]; then - log_info_msg "Removing default gateway..." - ip route del default - evaluate_retval - fi - fi - ;; - - *) - echo "Usage: ${0} [interface] {up|down}" - exit 1 - ;; -esac - -# End /lib/lsb/ipv4-static diff --git a/SRC/initscripts/lib/lsb/ipv4-static-route b/SRC/initscripts/lib/lsb/ipv4-static-route deleted file mode 100755 index 26ef216..0000000 --- a/SRC/initscripts/lib/lsb/ipv4-static-route +++ /dev/null @@ -1,98 +0,0 @@ -#!/bin/sh -######################################################################## -# Begin /lib/lsb/ipv4-static-route -# -# Description : IPV4 Static Route Script -# -# Authors : Kevin P. Fleming - kpfleming@linuxfromscratch.org -# DJ Lucas - dj@linuxfromscratch.org -# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org -# -# Version : LFS 7.0 -# -######################################################################## - -. /lib/lsb/init-functions -. ${IFCONFIG} - -case "${TYPE}" in - ("" | "network") - need_ip=1 - need_gateway=1 - ;; - - ("default") - need_gateway=1 - args="${args} default" - desc="default" - ;; - - ("host") - need_ip=1 - ;; - - ("unreachable") - need_ip=1 - args="${args} unreachable" - desc="unreachable " - ;; - - (*) - log_failure_msg "Unknown route type (${TYPE}) in ${IFCONFIG}, cannot continue." - exit 1 - ;; -esac - -if [ -n "${GATEWAY}" ]; then - MSG="The GATEWAY variable cannot be set in ${IFCONFIG} for static routes.\n" - log_failure_msg "$MSG Use STATIC_GATEWAY only, cannot continue" - exit 1 -fi - -if [ -n "${need_ip}" ]; then - if [ -z "${IP}" ]; then - log_failure_msg "IP variable missing from ${IFCONFIG}, cannot continue." - exit 1 - fi - - if [ -z "${PREFIX}" ]; then - log_failure_msg "PREFIX variable missing from ${IFCONFIG}, cannot continue." - exit 1 - fi - - args="${args} ${IP}/${PREFIX}" - desc="${desc}${IP}/${PREFIX}" -fi - -if [ -n "${need_gateway}" ]; then - if [ -z "${STATIC_GATEWAY}" ]; then - log_failure_msg "STATIC_GATEWAY variable missing from ${IFCONFIG}, cannot continue." - exit 1 - fi - args="${args} via ${STATIC_GATEWAY}" -fi - -if [ -n "${SOURCE}" ]; then - args="${args} src ${SOURCE}" -fi - -case "${2}" in - up) - log_info_msg "Adding '${desc}' route to the ${1} interface..." - ip route add ${args} dev ${1} - evaluate_retval - ;; - - down) - log_info_msg "Removing '${desc}' route from the ${1} interface..." - ip route del ${args} dev ${1} - evaluate_retval - ;; - - *) - echo "Usage: ${0} [interface] {up|down}" - exit 1 - ;; -esac - -# End /lib/lsb/ipv4-static-route diff --git a/SRC/initscripts/sbin/ifdown b/SRC/initscripts/sbin/ifdown deleted file mode 100755 index e992cf3..0000000 --- a/SRC/initscripts/sbin/ifdown +++ /dev/null @@ -1,100 +0,0 @@ -#!/bin/bash -######################################################################## -# Begin /sbin/ifdown -# -# Description : Interface Down -# -# Authors : Nathan Coulson - nathan@linuxfromscratch.org -# Kevin P. Fleming - kpfleming@linuxfromscratch.org -# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org -# -# Version : LFS 7.0 -# -# Notes : the IFCONFIG variable is passed to the scripts found -# in the /lib/lsb directory, to indicate what file the -# service should source to get interface specifications. -# -######################################################################## - -RELEASE="7.0" - -USAGE="Usage: $0 [ -hV ] [--help] [--version] interface" -VERSTR="LFS ifdown, version ${RELEASE}" - -while [ $# -gt 0 ]; do - case "$1" in - --help | -h) help="y"; break ;; - - --version | -V) echo "${VERSTR}"; exit 0 ;; - - -*) echo "ifup: ${1}: invalid option" >&2 - echo "${USAGE}" >& 2 - exit 2 ;; - - *) break ;; - esac -done - -if [ -n "$help" ]; then - echo "${VERSTR}" - echo "${USAGE}" - echo - cat << HERE_EOF -ifdown is used to bring down a network interface. The interface -parameter, e.g. eth0 or eth0:2, must match the name of the -interface specifications file, e.g. /etc/network.d/eth0:2. - -HERE_EOF - exit 0 -fi - -file=/etc/network.d/${1} - -# Skip backup files -[ "${file}" = "${file%""~""}" ] || exit 0 - -. /lib/lsb/init-functions - -if [ ! -r "${file}" ]; then - log_warning_msg "${file} is missing or cannot be accessed." - exit 1 -fi - -. ${file} - -if [ "$IFACE" = "" ]; then - log_failure_msg "${file} does not define an interface [IFACE]." - exit 1 -fi - -# We only need to first service to bring down the interface -S=`echo ${SERVICE} | cut -f1 -d" "` - -if ip link show ${IFACE} > /dev/null 2>&1; then - if [ -n "${S}" -a -x "/lib/lsb/${S}" ]; then - IFCONFIG=${file} /lib/lsb/${S} ${IFACE} down - else - MSG="Unable to process ${file}. Either " - MSG="${MSG}the SERVICE variable was not set " - MSG="${MSG}or the specified service cannot be executed." - log_failure_msg "$MSG" - exit 1 - fi -else - log_warning_msg "Interface ${1} doesn't exist." -fi - -# Leave the interface up if there are additional interfaces in the device -link_status=`ip link show ${IFACE} 2>/dev/null` - -if [ -n "${link_status}" ]; then - if [ "$(echo "${link_status}" | grep UP)" != "" ]; then - if [ "$(ip addr show ${IFACE} | grep 'inet ')" == "" ]; then - log_info_msg "Bringing down the ${IFACE} interface..." - ip link set ${IFACE} down - evaluate_retval - fi - fi -fi - -# End /sbin/ifdown diff --git a/SRC/initscripts/sbin/ifup b/SRC/initscripts/sbin/ifup deleted file mode 100755 index dd56d15..0000000 --- a/SRC/initscripts/sbin/ifup +++ /dev/null @@ -1,136 +0,0 @@ -#!/bin/sh -######################################################################## -# Begin /sbin/ifup -# -# Description : Interface Up -# -# Authors : Nathan Coulson - nathan@linuxfromscratch.org -# Kevin P. Fleming - kpfleming@linuxfromscratch.org -# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org -# -# Version : LFS 7.2 -# -# Notes : The IFCONFIG variable is passed to the SERVICE script -# in the /lib/lsb directory, to indicate what file the -# service should source to get interface specifications. -# -######################################################################## - -up() -{ - if ip link show $1 > /dev/null 2>&1; then - link_status=`ip link show $1` - - if [ -n "${link_status}" ]; then - if ! echo "${link_status}" | grep -q UP; then - ip link set $1 up - fi - fi - - else - log_failure_msg "\nInterface ${IFACE} doesn't exist." - exit 1 - fi -} - -RELEASE="7.2" - -USAGE="Usage: $0 [ -hV ] [--help] [--version] interface" -VERSTR="LFS ifup, version ${RELEASE}" - -while [ $# -gt 0 ]; do - case "$1" in - --help | -h) help="y"; break ;; - - --version | -V) echo "${VERSTR}"; exit 0 ;; - - -*) echo "ifup: ${1}: invalid option" >&2 - echo "${USAGE}" >& 2 - exit 2 ;; - - *) break ;; - esac -done - -if [ -n "$help" ]; then - echo "${VERSTR}" - echo "${USAGE}" - echo - cat << HERE_EOF -ifup is used to bring up a network interface. The interface -parameter, e.g. eth0 or eth0:2, must match the name of the -interface specifications file, e.g. /etc/network.d/eth0:2. - -HERE_EOF - exit 0 -fi - -file=/etc/network.d/${1} - -# Skip backup files -[ "${file}" = "${file%""~""}" ] || exit 0 - -. /lib/lsb/init-functions - -log_info_msg "Bringing up the ${1} interface... " - -if [ ! -r "${file}" ]; then - log_failure_msg2 "${file} is missing or cannot be accessed." - exit 1 -fi - -. $file - -if [ "$IFACE" = "" ]; then - log_failure_msg2 "${file} does not define an interface [IFACE]." - exit 1 -fi - -# Do not process this service if started by boot, and ONBOOT -# is not set to yes -if [ "${IN_BOOT}" = "1" -a "${ONBOOT}" != "yes" ]; then - log_info_msg2 "skipped" - exit 0 -fi - -for S in ${SERVICE}; do - if [ ! -x "/lib/lsb/${S}" ]; then - MSG="\nUnable to process ${file}. Either " - MSG="${MSG}the SERVICE '${S} was not present " - MSG="${MSG}or cannot be executed." - log_failure_msg "$MSG" - exit 1 - fi -done - -# Create/configure the interface -for S in ${SERVICE}; do - IFCONFIG=${file} /lib/lsb/${S} ${IFACE} up -done - -# Bring up the interface and any components -for I in $IFACE $INTERFACE_COMPONENTS; do up $I; done - -# Set MTU if requested. Check if MTU has a "good" value. -if test -n "${MTU}"; then - if [[ ${MTU} =~ ^[0-9]+$ ]] && [[ $MTU -ge 68 ]] ; then - for I in $IFACE $INTERFACE_COMPONENTS; do - ip link set dev $I mtu $MTU; - done - else - log_info_msg2 "Invalid MTU $MTU" - fi -fi - -# Set the route default gateway if requested -if [ -n "${GATEWAY}" ]; then - if ip route | grep -q default; then - log_warning_msg "\nGateway already setup; skipping." - else - log_info_msg "Setting up default gateway..." - ip route add default via ${GATEWAY} dev ${IFACE} - evaluate_retval - fi -fi - -# End /sbin/ifup