diff --git a/.gitignore b/.gitignore index e262716..454a504 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/initscripts-9.49.39.tar.gz +SOURCES/initscripts-9.49.41.tar.gz diff --git a/.initscripts.metadata b/.initscripts.metadata index a79f9ff..d2378b9 100644 --- a/.initscripts.metadata +++ b/.initscripts.metadata @@ -1 +1 @@ -5b1ff27004dc3f61a476341f5eeea4b0bdfe8acf SOURCES/initscripts-9.49.39.tar.gz +6ad159c0e3fe019429c365fc74f41a3b54f1bac7 SOURCES/initscripts-9.49.41.tar.gz diff --git a/SOURCES/initscripts-9.49.39-introduce-ARPUDATE.patch b/SOURCES/initscripts-9.49.39-introduce-ARPUDATE.patch deleted file mode 100644 index 500bd81..0000000 --- a/SOURCES/initscripts-9.49.39-introduce-ARPUDATE.patch +++ /dev/null @@ -1,103 +0,0 @@ -From a81b5e8ec984ca2a8ee7167eb87f6fc9db737843 Mon Sep 17 00:00:00 2001 -From: "David Kaspar [Dee'Kej]" -Date: Mon, 10 Jul 2017 18:16:35 +0200 -Subject: [PATCH] ARPUPDATE introduced - - The ARPUPDATE option has been introduced. It defaults to 'yes'. - - By setting the ARPUPDATE to 'no', administrator can disable - updating neighbouring computers with ARP information about current - NIC. This is especially needed when using LVS Load Balancing with - Direct routing enabled. ---- - sysconfig.txt | 5 +++++ - sysconfig/network-scripts/ifup-aliases | 4 +++- - sysconfig/network-scripts/ifup-eth | 2 +- - sysconfig/network-scripts/network-functions | 6 ++++++ - 4 files changed, 15 insertions(+), 2 deletions(-) - -diff --git a/sysconfig.txt b/sysconfig.txt -index a4c05da..7adc381 100644 ---- a/sysconfig.txt -+++ b/sysconfig.txt -@@ -586,6 +586,11 @@ Files in /etc/sysconfig/network-scripts/ - If set to 'no', ifup will not try to determine, if requested ip address - is used by other machine in network. - Defaults to 'yes'. -+ ARPUPDATE=yes|no -+ If set to 'no' the neighbours in current network will not be updated with -+ ARP information about this NIC. This is especially handy using LVS Load -+ Balancing with Direct Routing enabled. -+ Defaults to 'yes'. - IPV4_FAILURE_FATAL=yes|no - If set to yes, ifup-eth will end immediately after ipv4 dhclient fails. - Defaults to 'no'. -diff --git a/sysconfig/network-scripts/ifup-aliases b/sysconfig/network-scripts/ifup-aliases -index fbc1547..52d43ea 100755 ---- a/sysconfig/network-scripts/ifup-aliases -+++ b/sysconfig/network-scripts/ifup-aliases -@@ -127,6 +127,7 @@ eval ` ( - echo default_GATEWAY=$GATEWAY\;; - echo default_NO_ALIASROUTING=$NO_ALIASROUTING\;; - echo default_ARPCHECK=$ARPCHECK\;; -+ echo default_ARPUPDATE=$ARPUPDATE\;; - ) ` - [ -z "$default_GATEWAY" ] && default_GATEWAY=$network_GATEWAY - -@@ -142,6 +143,7 @@ function ini_env () - NO_ALIASROUTING=$default_NO_ALIASROUTING - ONPARENT="" - ARPCHECK=$default_ARPCHECK -+ ARPUPDATE=$default_ARPUPDATE - } - - function is_default_gateway () -@@ -279,7 +281,7 @@ function new_interface () - dev ${parent_device} label ${DEVICE} - - # update ARP cache of neighboring computers: -- if [ "${REALDEVICE}" != "lo" ]; then -+ if ! is_false "${ARPUPDATE}" && [ "${REALDEVICE}" != "lo" ]; then - /sbin/arping -q -A -c 1 -I ${parent_device} ${IPADDR} - ( sleep 2; /sbin/arping -q -U -c 1 -I ${parent_device} ${IPADDR} ) > /dev/null 2>&1 < /dev/null & - fi -diff --git a/sysconfig/network-scripts/ifup-eth b/sysconfig/network-scripts/ifup-eth -index 3da5c16..5096a5d 100755 ---- a/sysconfig/network-scripts/ifup-eth -+++ b/sysconfig/network-scripts/ifup-eth -@@ -274,7 +274,7 @@ else - fi - - # update ARP cache of neighboring computers -- if [ "${REALDEVICE}" != "lo" ]; then -+ if ! is_false "${arpupdate[$idx]}" && [ "${REALDEVICE}" != "lo" ]; then - /sbin/arping -q -A -c 1 -I ${REALDEVICE} ${ipaddr[$idx]} - ( sleep 2; - /sbin/arping -q -U -c 1 -I ${REALDEVICE} ${ipaddr[$idx]} ) > /dev/null 2>&1 < /dev/null & -diff --git a/sysconfig/network-scripts/network-functions b/sysconfig/network-scripts/network-functions -index 1867c38..7f5dfb0 100644 ---- a/sysconfig/network-scripts/network-functions -+++ b/sysconfig/network-scripts/network-functions -@@ -222,6 +222,7 @@ expand_config () - netmask[$i]=$(eval echo '$'NETMASK$idx) - broadcast[$i]=$(eval echo '$'BROADCAST$idx) - arpcheck[$i]=$(eval echo '$'ARPCHECK$idx) -+ arpupdate[$i]=$(eval echo '$'ARPUPDATE$idx) - - if [ "${prefix[$i]}x" != "x" ]; then - val=$(/bin/ipcalc --netmask "${ipaddr[$i]}/${prefix[$i]}") -@@ -248,6 +249,11 @@ expand_config () - arpcheck[$i]=${arpcheck[$i],,*} - fi - -+ if [ "${arpupdate[$i]}x" != "x" ]; then -+ arpupdate[$i]=${arpupdate[$i]##ARPUPDATE=} -+ arpupdate[$i]=${arpupdate[$i],,*} -+ fi -+ - i=$((i+1)) - done - --- -2.9.5 - diff --git a/SPECS/initscripts.spec b/SPECS/initscripts.spec index 5ed992f..e96290a 100644 --- a/SPECS/initscripts.spec +++ b/SPECS/initscripts.spec @@ -1,10 +1,10 @@ Summary: The inittab file and the /etc/init.d scripts Name: initscripts -Version: 9.49.39 +Version: 9.49.41 # ppp-watch is GPLv2+, everything else is GPLv2 License: GPLv2 and GPLv2+ Group: System Environment/Base -Release: 1%{?dist}.1 +Release: 1%{?dist} URL: https://github.com/fedora-sysv/initscripts Source: https://github.com/fedora-sysv/initscripts/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root @@ -22,8 +22,8 @@ Conflicts: lvm2 < 2.02.100-5 Conflicts: dmraid < 1.0.0.rc16-18 Requires: systemd Requires: iproute, /sbin/arping, findutils -# Not strictly required, but nothing else requires it -Requires: /etc/system-release +Requires: redhat-release +Conflicts: redhat-release < 7.5-0.11 Requires: udev >= 125-1 Requires: cpio Requires: hostname @@ -32,11 +32,10 @@ Conflicts: NetworkManager < 0.9.9.0-37.git20140131.el7 Requires(pre): /usr/sbin/groupadd Requires(post): /sbin/chkconfig, coreutils Requires(preun): /sbin/chkconfig -BuildRequires: glib2-devel popt-devel gettext pkgconfig +%{?systemd_requires} +BuildRequires: glib2-devel popt-devel gettext pkgconfig systemd Provides: /sbin/service -Patch0001: initscripts-9.49.39-introduce-ARPUDATE.patch - %description The initscripts package contains basic system scripts used during a boot of the system. It also contains scripts which @@ -55,7 +54,6 @@ Currently, this consists of various memory checking code. %prep %setup -q -%patch001 -p1 %build make @@ -81,6 +79,8 @@ chmod 600 $RPM_BUILD_ROOT/etc/crypttab /usr/sbin/groupadd -g 22 -r -f utmp %post +%systemd_post brandbot.path rhel-autorelabel.service rhel-autorelabel-mark.service rhel-configure.service rhel-dmesg.service rhel-domainname.service rhel-import-state.service rhel-loadmodules.service rhel-readonly.service + touch /var/log/wtmp /var/run/utmp /var/log/btmp chown root:utmp /var/log/wtmp /var/run/utmp /var/log/btmp chmod 664 /var/log/wtmp /var/run/utmp @@ -88,24 +88,23 @@ chmod 600 /var/log/btmp /usr/sbin/chkconfig --add network /usr/sbin/chkconfig --add netconsole -if [ $1 -eq 1 ]; then - /usr/bin/systemctl daemon-reload > /dev/null 2>&1 || : -fi %preun +%systemd_preun brandbot.path rhel-autorelabel.service rhel-autorelabel-mark.service rhel-configure.service rhel-dmesg.service rhel-domainname.service rhel-import-state.service rhel-loadmodules.service rhel-readonly.service + if [ $1 = 0 ]; then /usr/sbin/chkconfig --del network /usr/sbin/chkconfig --del netconsole fi -%triggerun -- initscripts < 7.62 -/usr/sbin/chkconfig --del random -/usr/sbin/chkconfig --del rawdevices -exit 0 - %postun -if [ $1 -ge 1 ]; then - /usr/bin/systemctl daemon-reload > /dev/null 2>&1 || : +%systemd_postun brandbot.path rhel-autorelabel.service rhel-autorelabel-mark.service rhel-configure.service rhel-dmesg.service rhel-domainname.service rhel-import-state.service rhel-loadmodules.service rhel-readonly.service + +# We need to keep this in initscripts until the EOL of RHEL-7.2-EUS: +%triggerun -- initscripts < 9.49.40 +if [ $1 -gt 1 ]; then + systemctl enable brandbot.path rhel-autorelabel.service rhel-autorelabel-mark.service rhel-configure.service rhel-dmesg.service rhel-domainname.service rhel-import-state.service rhel-loadmodules.service rhel-readonly.service &> /dev/null || : + echo -e "\nUPGRADE: Automatically re-enabling default systemd units:\n\tbrandbot.path\n\trhel-autorelabel.service\n\trhel-autorelabel-mark.service\n\trhel-configure.service\n\trhel-dmesg.service\n\trhel-domainname.service\n\trhel-import-state.service\n\trhel-loadmodules.service\n\trhel-readonly.service\n" || : fi %clean @@ -221,8 +220,22 @@ rm -rf $RPM_BUILD_ROOT /etc/profile.d/debug* %changelog -* Fri Nov 03 2017 David Kaspar [Dee'Kej] - 9.49.39-1.el7_4.1 -- ARUPDATE option introduced +* Tue Jan 02 2018 David Kaspar [Dee'Kej] - 9.49.41-1 +- ifdown-post: fix logical error in commit 5d61564 +- network-functions: use POSIX forwarding instead of bash-ism + +* Fri Nov 03 2017 David Kaspar [Dee'Kej] - 9.49.40-1 +- require 'redhat-release' instead of /etc/system-release & conflict with older versions +- ifup-post: always update 'nameserver' & 'search' entries in /etc/resolv.conf +- systemd/system: symlinks for initscripts' services removed +- *.old extension added to list of ignored files +- ifup-eth: wait for STP to complete setup on bridge if $DELAY is not set +- init.d/functions: convert2sec() function added +- init.d/functions: is_true() & is_false() extended by ON/OFF support +- usleep(1) calls replaced with sleep(1) calls +- network-scripts: DBus calls forwarded to /dev/null +- network-scripts: firewall-cmd replaced with DBus calls +- ARPUDATE option introduced * Wed May 03 2017 David Kaspar [Dee'Kej] - 9.49.39-1 - sysconfig.txt: mention previously introduced NO_DHCP_HOSTNAME option