diff --git a/.openstack-network-scripts.metadata b/.openstack-network-scripts.metadata new file mode 100644 index 0000000..7e689ea --- /dev/null +++ b/.openstack-network-scripts.metadata @@ -0,0 +1 @@ +ab457ec98cbea240334f0fddfb76688658ec1b35 SOURCES/initscripts-10.11.1.tar.gz diff --git a/SOURCES/.gitignore b/SOURCES/.gitignore new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/SOURCES/.gitignore diff --git a/SOURCES/etc_sysconfig_network-scripts_ifdown-ovs b/SOURCES/etc_sysconfig_network-scripts_ifdown-ovs new file mode 100644 index 0000000..343ac09 --- /dev/null +++ b/SOURCES/etc_sysconfig_network-scripts_ifdown-ovs @@ -0,0 +1,71 @@ +#!/bin/bash + +# Copyright (c) 2011 Alexey I. Froloff. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +. /etc/init.d/functions + +cd /etc/sysconfig/network-scripts +. ./network-functions + +[ -f ../network ] && . ../network + +CONFIG=${1} +TIMEOUT=10 + +source_config + +. /etc/sysconfig/network + +OTHERSCRIPT="/etc/sysconfig/network-scripts/ifdown-${REAL_DEVICETYPE}" + +if [ ! -x ${OTHERSCRIPT} ]; then + OTHERSCRIPT="/etc/sysconfig/network-scripts/ifdown-eth" +fi + +SERVICE_UNIT=/usr/lib/systemd/system/ovsdb-server.service +if [ -f $SERVICE_UNIT ] && [ -x /usr/bin/systemctl ]; then + if ! systemctl --quiet is-active ovsdb-server.service; then + systemctl start ovsdb-server.service + fi +else + if [ ! -f /var/lock/subsys/openvswitch ]; then + /sbin/service openvswitch start + fi +fi + +case "$TYPE" in + OVSBridge|OVSUserBridge) + ${OTHERSCRIPT} ${CONFIG} $2 + retval=$? + ovs-vsctl -t ${TIMEOUT} -- --if-exists del-br "$DEVICE" + ;; + OVSPort|OVSIntPort|OVSBond) + ${OTHERSCRIPT} ${CONFIG} $2 + retval=$? + ovs-vsctl -t ${TIMEOUT} -- --if-exists del-port "$OVS_BRIDGE" "$DEVICE" + ;; + OVSPatchPort|OVSTunnel) + ovs-vsctl -t ${TIMEOUT} -- --if-exists del-port "$OVS_BRIDGE" "$DEVICE" + ;; + OVSDPDKPort|OVSDPDKVhostUserPort|OVSDPDKBond) + ovs-vsctl -t ${TIMEOUT} -- --if-exists del-port "$OVS_BRIDGE" "$DEVICE" + ;; + *) + echo $"Invalid OVS interface type $TYPE" + exit 1 + ;; +esac + +exit $retval diff --git a/SOURCES/etc_sysconfig_network-scripts_ifup-ovs b/SOURCES/etc_sysconfig_network-scripts_ifup-ovs new file mode 100644 index 0000000..0955c0e --- /dev/null +++ b/SOURCES/etc_sysconfig_network-scripts_ifup-ovs @@ -0,0 +1,219 @@ +#!/bin/bash + +# Copyright (c) 2011 Alexey I. Froloff. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +. /etc/init.d/functions + +cd /etc/sysconfig/network-scripts +. ./network-functions + +[ -f ../network ] && . ../network + +CONFIG=${1} +TIMEOUT=10 + +need_config ${CONFIG} + +source_config + +OTHERSCRIPT="/etc/sysconfig/network-scripts/ifup-${REAL_DEVICETYPE}" + +if [ ! -x ${OTHERSCRIPT} ]; then + OTHERSCRIPT="/etc/sysconfig/network-scripts/ifup-eth" +fi + +check_recursion () +{ + [ -n "${UPPEDSTACK}" ] && for _r in ${UPPEDSTACK}; do + [ "$_r" = "$1" ] && return 1 + done + + return 0 +} + +ifup_ovs_bridge () +{ + if ovs-vsctl br-exists "${OVS_BRIDGE}"; then :; else + /sbin/ifup "${OVS_BRIDGE}" + fi +} + +if [ -z "${UPPEDSTACK}" ]; then + UPPEDSTACK="${DEVICE}" +fi + +[ -n "${OVSREQUIRES}" ] && for _i in ${OVSREQUIRES}; do + if ( check_recursion "$_i" ); then + UPPEDSTACK="${UPPEDSTACK} $_i" /sbin/ifup "$_i" + fi +done + +SERVICE_UNIT=/usr/lib/systemd/system/openvswitch.service +if [ -f $SERVICE_UNIT ] && [ -x /usr/bin/systemctl ]; then + if ! systemctl --quiet is-active openvswitch.service; then + systemctl start openvswitch.service + fi +else + if [ ! -f /var/lock/subsys/openvswitch ]; then + /sbin/service openvswitch start + fi +fi + +case "$TYPE" in + OVSBridge|OVSUserBridge) + # If bridge already exists and is up, it has been configured through + # other cases like OVSPort, OVSIntPort and OVSBond. If it is down or + # it does not exist, create it. It is possible for a bridge to exist + # because it remained in the OVSDB for some reason, but it won't be up. + if [ "${TYPE}" = "OVSUserBridge" ]; then + DATAPATH="netdev" + fi + if check_device_down "${DEVICE}"; then + ovs-vsctl -t ${TIMEOUT} -- --may-exist add-br "$DEVICE" $OVS_OPTIONS \ + ${OVS_EXTRA+-- $OVS_EXTRA} \ + ${STP+-- set bridge "$DEVICE" stp_enable="${STP}"} \ + ${DATAPATH+-- set bridge "$DEVICE" datapath_type="$DATAPATH"} + else + OVSBRIDGECONFIGURED="yes" + fi + + # If MACADDR is provided in the interface configuration file, + # we need to set it using ovs-vsctl; setting it with the "ip" + # command in ifup-eth does not make the change persistent. + if [ -n "$MACADDR" ]; then + ovs-vsctl -t ${TIMEOUT} -- set bridge "$DEVICE" \ + other-config:hwaddr="$MACADDR" + fi + + # When dhcp is enabled, the assumption is that there will be a port to + # attach (otherwise, we can't reach out for dhcp). So, we do not + # configure the bridge through rhel's ifup infrastructure unless + # it is being configured after the port has been configured. + # The "OVSINTF" is set only after the port is configured. + if [ "${OVSBOOTPROTO}" = "dhcp" ] && [ -n "${OVSINTF}" ]; then + case " ${OVSDHCPINTERFACES} " in + *" ${OVSINTF} "*) + BOOTPROTO=dhcp ${OTHERSCRIPT} ${CONFIG} + ;; + esac + fi + + # When dhcp is not enabled, it is possible that someone may want + # a standalone bridge (i.e it may not have any ports). Configure it. + if [ "${OVSBOOTPROTO}" != "dhcp" ] && [ -z "${OVSINTF}" ] && \ + [ "${OVSBRIDGECONFIGURED}" != "yes" ]; then + ${OTHERSCRIPT} ${CONFIG} + fi + exit 0 + ;; + OVSPort) + ifup_ovs_bridge + ${OTHERSCRIPT} ${CONFIG} ${2} + # The port might be already in the database but not yet + # in the datapath. So, remove the stale interface first. + ovs-vsctl -t ${TIMEOUT} \ + -- --if-exists del-port "$OVS_BRIDGE" "$DEVICE" \ + -- add-port "$OVS_BRIDGE" "$DEVICE" $OVS_OPTIONS ${OVS_EXTRA+-- $OVS_EXTRA} + OVSINTF=${DEVICE} /sbin/ifup "$OVS_BRIDGE" + ;; + OVSIntPort) + ifup_ovs_bridge + ovs-vsctl -t ${TIMEOUT} \ + -- --if-exists del-port "$OVS_BRIDGE" "$DEVICE" \ + -- add-port "$OVS_BRIDGE" "$DEVICE" $OVS_OPTIONS \ + -- set Interface "$DEVICE" type=internal ${OVS_EXTRA+-- $OVS_EXTRA} + if [ -n "${OVSDHCPINTERFACES}" ]; then + for _iface in ${OVSDHCPINTERFACES}; do + /sbin/ifup ${_iface} + done + fi + BOOTPROTO="${OVSBOOTPROTO}" ${OTHERSCRIPT} ${CONFIG} ${2} + ;; + OVSBond) + ifup_ovs_bridge + for _iface in $BOND_IFACES; do + /sbin/ifup ${_iface} + done + ovs-vsctl -t ${TIMEOUT} \ + -- --if-exists del-port "$OVS_BRIDGE" "$DEVICE" \ + -- add-bond "$OVS_BRIDGE" "$DEVICE" ${BOND_IFACES} $OVS_OPTIONS ${OVS_EXTRA+-- $OVS_EXTRA} + OVSINTF=${DEVICE} /sbin/ifup "$OVS_BRIDGE" + ;; + OVSTunnel) + ifup_ovs_bridge + ovs-vsctl -t ${TIMEOUT} \ + -- --if-exists del-port "$OVS_BRIDGE" "$DEVICE" \ + -- add-port "$OVS_BRIDGE" "$DEVICE" $OVS_OPTIONS \ + -- set Interface "$DEVICE" type=$OVS_TUNNEL_TYPE $OVS_TUNNEL_OPTIONS ${OVS_EXTRA+-- $OVS_EXTRA} + ;; + OVSPatchPort) + ifup_ovs_bridge + ovs-vsctl -t ${TIMEOUT} \ + -- --if-exists del-port "$OVS_BRIDGE" "$DEVICE" \ + -- add-port "$OVS_BRIDGE" "$DEVICE" $OVS_OPTIONS \ + -- set Interface "$DEVICE" type=patch options:peer="${OVS_PATCH_PEER}" ${OVS_EXTRA+-- $OVS_EXTRA} + ;; + OVSDPDKPort) + ifup_ovs_bridge + BRIDGE_MAC_ORIG=$(get_hwaddr $OVS_BRIDGE) + ovs-vsctl -t ${TIMEOUT} \ + -- --if-exists del-port "$OVS_BRIDGE" "$DEVICE" \ + -- add-port "$OVS_BRIDGE" "$DEVICE" $OVS_OPTIONS \ + -- set Interface "$DEVICE" type=dpdk ${OVS_EXTRA+-- $OVS_EXTRA} + BRIDGE_MAC=$(get_hwaddr $OVS_BRIDGE) + # The bridge may change its MAC to be the lower one among all its + # ports. If that happens, bridge configuration (e.g. routes) will + # be lost. Restore the post-up bridge configuration again. + if [ "$BRIDGE_MAC_ORIG" != "$BRIDGE_MAC" ]; then + ${OTHERSCRIPT} "$OVS_BRIDGE" + fi + ;; + OVSDPDKVhostUserPort) + ifup_ovs_bridge + PORT_TYPE="dpdkvhostuser" + PORT_PATH="" + if [ "$OVS_PORT_MODE" == "client" ]; then + PORT_TYPE="dpdkvhostuserclient" + PORT_PATH="options:vhost-server-path=${OVS_PORT_PATH}" + fi + ovs-vsctl -t ${TIMEOUT} \ + -- --if-exists del-port "$OVS_BRIDGE" "$DEVICE" \ + -- add-port "$OVS_BRIDGE" "$DEVICE" $OVS_OPTIONS \ + -- set Interface "$DEVICE" type=$PORT_TYPE \ + $PORT_PATH \ + ${OVS_EXTRA+-- $OVS_EXTRA} + ;; + OVSDPDKBond) + ifup_ovs_bridge + BRIDGE_MAC_ORIG=$(get_hwaddr $OVS_BRIDGE) + for _iface in $BOND_IFACES; do + IFACE_TYPES="${IFACE_TYPES} -- set interface ${_iface} type=dpdk" + done + ovs-vsctl -t ${TIMEOUT} \ + -- --if-exists del-port "$OVS_BRIDGE" "$DEVICE" \ + -- add-bond "$OVS_BRIDGE" "$DEVICE" ${BOND_IFACES} $OVS_OPTIONS ${IFACE_TYPES} ${OVS_EXTRA+-- $OVS_EXTRA} + BRIDGE_MAC=$(get_hwaddr $OVS_BRIDGE) + # The bridge may change its MAC to be the lower one among all its + # ports. If that happens, bridge configuration (e.g. routes) will + # be lost. Restore the post-up bridge configuration again. + if [ "$BRIDGE_MAC_ORIG" != "$BRIDGE_MAC" ]; then + ${OTHERSCRIPT} "$OVS_BRIDGE" + fi + ;; + *) + echo $"Invalid OVS interface type $TYPE" + exit 1 + ;; +esac diff --git a/SPECS/openstack-network-scripts.spec b/SPECS/openstack-network-scripts.spec new file mode 100644 index 0000000..1f67c82 --- /dev/null +++ b/SPECS/openstack-network-scripts.spec @@ -0,0 +1,3807 @@ +# === GLOBAL MACROS =========================================================== + +# According to Fedora Package Guidelines, it is advised that packages that can +# process untrusted input are build with position-idenpendent code (PIC). +# +# Koji should override the compilation flags and add the -fPIC or -fPIE flags by +# default. This is here just in case this wouldn't happen for some reason. +# For more info: https://fedoraproject.org/wiki/Packaging:Guidelines#PIE +%global _hardened_build 1 + +%global shared_requirements \ +Requires: bash \ +Requires: filesystem >= 3 \ +Requires: coreutils \ +Requires: gawk \ + +# ============================================================================= + +%global upstream_name initscripts + +Version: 10.11.1 +Release: 3%{?dist} + +License: GPLv2 + +URL: https://github.com/fedora-sysv/initscripts +Source: https://github.com/fedora-sysv/initscripts/archive/%{version}.tar.gz#/%{upstream_name}-%{version}.tar.gz +# network-scripts-openvswitch was removed in openvswitch2.17 for RHEL/CS9 +%if 0%{?rhel} > 8 +%global ovs_version 2.17 +Source1: https://raw.githubusercontent.com/openvswitch/ovs/branch-2.17/rhel/etc_sysconfig_network-scripts_ifup-ovs +Source2: https://raw.githubusercontent.com/openvswitch/ovs/branch-2.17/rhel/etc_sysconfig_network-scripts_ifdown-ovs +%endif + +BuildRequires: filesystem >= 3 +BuildRequires: gcc +BuildRequires: git +BuildRequires: gettext +BuildRequires: glib2-devel +BuildRequires: pkgconfig +BuildRequires: popt-devel +BuildRequires: setup +BuildRequires: make + +%{?systemd_requires} +BuildRequires: systemd + +# === PATCHES ================================================================= + +# NOTE: 'autosetup' macro (below) uses 'git' for applying the patches: +# ->> All the patches should be provided in 'git format-patch' format. +# ->> Auxiliary repository will be created during 'fedpkg prep', you +# can see all the applied patches there via 'git log'. + +# Upstream patches -- official upstream patches released by upstream since the +# ---------------- last rebase that are necessary for any reason: +#Patch000: example000.patch + + +# Downstream patches -- these should be always included when doing rebase: +# ------------------ +#Patch100: example100.patch + + +# Downstream patches for RHEL -- patches that we keep only in RHEL for various +# --------------------------- reasons, but are not enabled in Fedora: +%if %{defined rhel} || %{defined centos} +#Patch200: example200.patch +%endif + + +# Patches to be removed -- deprecated functionality which shall be removed at +# --------------------- some point in the future: + + +# === SUBPACKAGES ============================================================= + + +# --------------- + +Name: openstack-network-scripts +Summary: Legacy scripts for manipulating of network devices +Requires: %{upstream_name}%{?_isa} >= %{version} + +%shared_requirements + +Requires: bc +Requires: dbus +Requires: gawk +Requires: grep +Requires: hostname +Requires: iproute +Requires: ipcalc +Requires: kmod +Requires: procps-ng +Requires: sed +Requires: systemd + +Requires(post): chkconfig +Requires(preun): chkconfig + +Requires(post): %{_sbindir}/update-alternatives +Requires(postun): %{_sbindir}/update-alternatives + +Provides: network-scripts = %{version}-%{release} + +%description -n openstack-network-scripts +This package contains the legacy scripts for activating & deactivating of most +network interfaces. It also provides a legacy version of 'network' service. + +The 'network' service is enabled by default after installation of this package, +and if the network-scripts are installed alongside NetworkManager, then the +ifup/ifdown commands from network-scripts take precedence over the ones provided +by NetworkManager. + +If user has both network-scripts & NetworkManager installed, and wishes to +use ifup/ifdown from NetworkManager primarily, then they has to run command: + $ update-alternatives --config ifup + +Please note that running the command above will also disable the 'network' +service. + +# --------------- + +# network-scripts-openvswitch +%if 0%{?rhel} > 8 +%package openvswitch%{ovs_version} +Summary: Open vSwitch legacy network service support +License: ASL 2.0 +Requires: network-scripts +Provides: network-scripts-openvswitch%{ovs_version} +Obsoletes: network-scripts-openvswitch%{ovs_version} + +%description openvswitch%{ovs_version} +This provides the ifup and ifdown scripts for use with the legacy network +service. +%endif + +# --------------- + + +# === BUILD INSTRUCTIONS ====================================================== + +%prep +%autosetup -S git -n %{upstream_name}-%{version} + +# --------------- + +%build +%make_build PYTHON=%{__python3} + +# --------------- + +%install +rm -rf %{buildroot}%{_sysconfdir}/network-scripts +install -m 0755 -d %{buildroot}%{_sysconfdir}/rc.d/init.d/ +install -m 0755 -d %{buildroot}%{_prefix} +install -m 0755 -d %{buildroot}%{_sysconfdir}/sysconfig/network-scripts +install -m 0755 -d %{buildroot}%{_sbindir} + +install -m 0755 %{_builddir}/initscripts-%{version}/etc/rc.d/init.d/network %{buildroot}%{_sysconfdir}/rc.d/init.d/ +cp -a network-scripts/* %{buildroot}%{_sysconfdir}/sysconfig/network-scripts/ + +# Not supported interfaces +# s390 +rm -f %{buildroot}%{_sysconfdir}/sysconfig/network-scripts/ifup-ctc +# serial +rm -f %{buildroot}%{_sysconfdir}/sysconfig/network-scripts/if{down,up}-sit +# wireless +rm -f %{buildroot}%{_sysconfdir}/sysconfig/network-scripts/ifup-wireless +# plip +rm -f %{buildroot}%{_sysconfdir}/sysconfig/network-scripts/ifup-pl{ip,usb} +# bluetooth +rm -f %{buildroot}%{_sysconfdir}/sysconfig/network-scripts/if{down,up}-bnep +# ippp +rm -f %{buildroot}%{_sysconfdir}/sysconfig/network-scripts/if{down,up}-ippp + +install -m 0755 %{_builddir}/initscripts-%{version}/src/build/usernetctl %{buildroot}%{_sbindir}/ + +# We are now using alternatives approach to better co-exist with NetworkManager: +touch %{buildroot}%{_sbindir}/ifup +touch %{buildroot}%{_sbindir}/ifdown + +# network-scripts-openvswitch +%if 0%{?rhel} > 8 +install -p -m 0755 %{SOURCE1} \ + %{buildroot}%{_sysconfdir}/sysconfig/network-scripts/ifup-ovs +install -p -m 0755 %{SOURCE2} \ + %{buildroot}%{_sysconfdir}/sysconfig/network-scripts/ifdown-ovs +%endif + +# ============================================================================= + + +# --------------- + +%post -n openstack-network-scripts +chkconfig --add network > /dev/null 2>&1 || : + +[ -L %{_sbindir}/ifup ] || rm -f %{_sbindir}/ifup +[ -L %{_sbindir}/ifdown ] || rm -f %{_sbindir}/ifdown + +%{_sbindir}/update-alternatives --install %{_sbindir}/ifup ifup %{_sysconfdir}/sysconfig/network-scripts/ifup 90 \ + --slave %{_sbindir}/ifdown ifdown %{_sysconfdir}/sysconfig/network-scripts/ifdown \ + --initscript network + +%preun -n openstack-network-scripts +if [ $1 -eq 0 ]; then + chkconfig --del network > /dev/null 2>&1 || : + %{_sbindir}/update-alternatives --remove ifup %{_sysconfdir}/sysconfig/network-scripts/ifup +fi + +%files -n openstack-network-scripts +%dir %{_sysconfdir}/sysconfig/network-scripts + +%{_sysconfdir}/rc.d/init.d/network +%{_sysconfdir}/sysconfig/network-scripts/* + +%config(noreplace) %{_sysconfdir}/sysconfig/network-scripts/ifcfg-lo + +%ghost %{_sbindir}/ifup +%ghost %{_sbindir}/ifdown +%attr(4755,root,root) %{_sbindir}/usernetctl + + +# --------------- + +# network-scripts-openvswitch +%if 0%{?rhel} > 8 +%files openvswitch%{ovs_version} +%{_sysconfdir}/sysconfig/network-scripts/ifup-ovs +%{_sysconfdir}/sysconfig/network-scripts/ifdown-ovs +%endif + +# --------------- + + +# ============================================================================= + +%changelog +* Thu Jan 19 2023 Alfredo Moralejo - 10.11.1-3 +- Obsolete network-scripts-openvswitch2.17 to fix upgrade path from el8 + +* Fri Jun 24 2022 Alfredo Moralejo - 10.11.1-2 +- Added network-scripts-openvswitch as subpackage was removed in openvswitch2.17 + +* Wed Sep 01 2021 Jan Macku - 10.11.1-1 +- spec: Update relation between initscripts and initscripts-service +- spec: Replace not working awk command with sed +- use downstream version style + +* Fri Aug 27 2021 Jan Macku - 10.11-1 +- specfile: Update obsoletes to allow upgrades (#385) + +* Thu Aug 26 2021 Jan Macku - 10.10-1 +- Translated using Weblate (Friulian) (#381) +- Translations update from Weblate (#378) +- added veth support +- ifup-eth: add a new PERSISTENT_DHCLIENT_IPV6 option for IPv6 dhclient daemon +- ifdown removes veth pair if both peers are down +- rename_device: also support dracut-style kernel cmdline configuration +- spec: Mark network-scripts as deprecated +- spec: Initscripts now requires chkconfig (#374) +- Translations update from Weblate (#371) +- spec: Move service script into subpackage +- ci: Onboard initscripts to Packit +- ci: Migrate from Travis to GH Actions + +* Mon Aug 09 2021 Mohan Boddu - 10.09-3 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags Related: rhbz#1991688 + +* Fri Apr 16 2021 Mohan Boddu - 10.09-2 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Mon Feb 15 2021 Jan Macku - 10.09-1 +- doc: Document ARPING_WAIT and ARPING_UPDATE_WAIT +- network scripts: Avoid infinite loop of arping + +* Thu Feb 4 2021 Jan Macku - 10.08-1 +- network: fix condition in set_link_up() +- spec: sync with Fedora + +* Fri Jan 22 2021 Jan Macku - 10.07-1 +- doc: Fix "Duplicated string found in the file." +- doc: Documents RES_OPTIONS option +- doc: Documents ifcfg option LINKSTATUS +- ci: use up to date keywords and fix some warnings +- network: fix set_link_up() +- network: add option to keep the link down +- Rework of shell ci +- Translations update from Weblate + +* Fri Nov 13 2020 Jan Macku - 10.06-1 +- service: catch unsupported action keywords +- makefile: Use rpmdev-bumpspec's legacy date option + +* Fri Nov 06 2020 Jan Macku - 10.05-1 +- service: Prevent variables from globbing +- init.d/functions: Make usage msgs more clear +- network-scripts: Use net_log() instead of logger +- Allow updating rfkill switch status while in readonly root mode +- Add info into specfile about readonly-root deprecation +- Allow updating mlocate.db while in readonly root mode +- rc.d/functions: replace grep's --quiet with -q +- Add warning to warn user when ETHTOOL_OPTS is set and ethtool binary is missing - Olav Vitters +- Fix spacing in Makefile +- Add optional 'dev' keyword + +* Tue Jul 14 2020 Jan Macku - 10.04-1 +- Maintain permisision to set umask +- rwtab: Add support for chrony +- Correct spelling, IP, … +- Fix spelling, for more info +- Fix spelling of SELinux +- Translations update from Weblate + +* Tue Mar 24 2020 Jan Macku - 10.03-1 +- Replace grep -EL with subshell since -L changed behaviour +- Wait for scope link addresses as well as for scope global addresses +- Remove deprecated option -m of pidof +- Use function is_true for testing true conditions +- Adding new travis job for testing shell-scripts +- Remove zanata conf +- pull latest translations +- Update of translations and remove files with no translations +- Fix service network stop cmd +- Change spacing of service file to folow spacing of project +- network-function: bridges are created by ifup-eth +- Initscripts no longer care about rc.local +- Repalace hardcoded tests for yes and no with testing functions +- ifup-eth: Fix bridge setting stp option +- Fix bug in service(8) +- ifup-eth: Check that device name is set +- Fix missing python3 during build phase +- rc.d/functions: fix escape sequence being output under systemd service units +- Add ip6gre tunnel option +- ifup/ifdown: print DEPRECATION_WARNING_ISSUED waring info after source_config + +* Fri Jun 28 2019 Jan Macku - 10.02-1 +- network: don't fail with IFDOWN_ON_SHUTDOWN +- rc.d/functions: remove support cgroups +- Create symlink (/etc/init.d) to /etc/rc.d/init.d +- Add option to wait until target is reachable +- ifup-eth: apply PERSISTENT_DHCLIENT to IPv6 dhclient daemon +- ifup-post: fix incorrect condition for RESOLV_MODS +- make tag: updated message +- make release-commit: do not create tag automatically + +* Mon Aug 06 2018 David Kaspar [Dee'Kej] - 10.01-1 +- network/ifup/ifdown: deprecations warnings redirected to stderr +- ifup-eth: use 'bc' instead of 'expr' when computing $forward_delay +- network/ifup/ifdown: deprecation warnings for 'network-scripts' added +- network: parsing of /proc/mounts returned + +* Thu Jun 21 2018 David Kaspar [Dee'Kej] - 10.00-1 +- Move the /etc/rwtab.d & /etc/statetab.d folders to 'filesystem' +- specfile: fix failing build because of incorrect use of %{_isa} + +* Thu Jun 14 2018 David Kaspar [Dee'Kej] - 9.83-1 +- network-scripts: Add previously dropped error checking +- network-scripts: Replace brctl with ip-link +- Makefile: new release-commit rule added +- src/rename_device.c: GCC warnings about unused return value suppressed +- src/usernetctl.c: GCC warnings about unused return value suppressed +- Makefile: allow sub-makefiles to run in parallel +- specfile: netconsole service moved to /usr/libexec +- specfile: services from /usr/lib/systemd moved to /usr/libexec +- specfile: summary & description updated +- specfile: no longer needed conflicts dropped +- specfile: requirements cleanup +- specfile: obsoletes on previous version of initscripts package added +- specfile: network-scripts subpackage created +- specfile: readonly-root subpackage created +- specfile: netconsole-service subpackage created +- README.md: Travis CI build icon added +- .travis.yml: check the 'make install' proceeds as well +- .travis.yml: initial commit +- README.md: bug reporting described +- README.dm: future of initscripts described +- README.md: description added +- README.md: references to old git branches added +- README.md: initial commit +- network-scripts: setting of firewall ZONE fixed +- ifdown-post: artifact whitespace removed from the DBus call +- l10n: drop .tx directory +- l10n: add zanata.xml + +* Mon Jun 04 2018 David Kaspar [Dee'Kej] - 9.82-1 +- Makefile: make the creation of symlinks relative to path again +- specfile: trailing file of netreport removed + +* Thu May 31 2018 David Kaspar [Dee'Kej] - 9.81-1 +- src/consoletype.c: deprecation warning added +- src/genhostid.c: deprecation warning added +- src/genhostid.c: fixed to not override /etc/hostid if it already exists +- src/usleep.c: GCC warnings fixed +- nis-domainname.service removed +- fedora-* services renamed to more general names +- specfile: missing fedora-domainname.service returned in systemd macros +- COPYING updated to latest GNU version (GPLv2+) +- network-scripts: control 'network' service with alternatives as well +- netreport functionality dropped +- networks moved into 'setup' package +- lang.{sh,csh} moved into setup package +- lang.{sh,csh} cleanup before moving to 'setup' package +- src/sushell moved into 'policycoreutils' package +- src/shvar.* removed +- po/xgettext_sh removed +- sys-unconfig removed +- Outdated files from doc/ folder removed +- make archive: ChangeLog generating removed +- network-scripts: ifup & ifdown -- use alternatives system +- adjtime moved into 'util-linux' package +- specfile: simplified & updated to new repository layout +- .gitignore files updated to new repository layout +- Makefile simplified & updated to new repository layout +- po/Makefile simplified & updated to new repository layout +- src/Makefile simplified & updated to new repository layout +- Repository scheme updated to new layout +- fedora-readonly: command substitution warning fixed (null-byte input) + +* Fri May 25 2018 David Kaspar [Dee'Kej] - 9.80-1 +- sysconfig/readonly-root: Clarify the usage of readonly-root +- use proper shebang where appropriate +- specfile: remove the systemctl call in the %postun phase +- network-functions: use tr to upper case strings rather than awk +- network-functions: add error messages for bonding installation +- ifdown-eth: no longer needed 'pidof -x dhclient' condition removed +- netconsole: LSB header added +- po/xgettext_sh*: converted to use to python3 +- network.service: 'reload' removed +- ifup-tunnel: Support 'external' tunnels +- spec: add gcc to BuildRequires +- init.d/functions: fix sourcing for ksh + +* Tue Jan 02 2018 David Kaspar [Dee'Kej] - 9.79-1 +- ifdown-post: fix logical error in commit 5d61564 +- network: add knob to optionally keep interfaces up during shutdown +- network-functions: use POSIX forwarding instead of bash-ism + +* Wed Nov 08 2017 David Kaspar [Dee'Kej] - 9.78-1 +- specfile: drop dependancy on /etc/system-release +- ifup-post: always update nameserver & search entries in /etc/resolv.conf +- network-scripts: forward DBus calls to /dev/null +- Spelling fixes +- Tell git to ignore *.o +- Use grep -E instead of deprecated egrep +- Avoid some unnecessary stat calls +- systemd/system: symlinks for fedora-* services removed +- network-scripts: firewall-cmd replaced with DBus calls +- 'debugmode' subpackage dropped completely +- sysconfig/init* files dropped +- sysctl.conf.s390 dropped +- usleep: change the error message to print the full replacement commandline + +* Tue Aug 15 2017 David Kaspar [Dee'Kej] - 9.77-1 +- specfile: Fix failing build for s390* architecture +- Drop no longer supported SPARC architecture + +* Mon Aug 07 2017 David Kaspar [Dee'Kej] - 9.76-1 +- Makefile: return make archive for testing purposes +- Revert "Makefile: replace /var/run with /run" + +* Mon Aug 07 2017 David Kaspar [Dee'Kej] - 9.75-1 +- Makefile: $ROOT variable is now empty by default +- Makefile: Fix additional error in commit b119d37d1 +- ifup-eth: wait for STP to complete setup on bridge if $DELAY is not set +- init.d/functions: is_true() & is_false() extended by ON/OFF support +- init.d/functions: convert2sec() function added + +* Fri Aug 04 2017 David Kaspar [Dee'Kej] - 9.74-1 +- Makefile: fix whitespace error in commit b119d37d1 + +* Thu Aug 03 2017 David Kaspar [Dee'Kej] - 9.73-1 +- Makefile: replace /var/run with /run +- Replace /var/run with /run everywhere +- Update references to sysctl.conf +- Drop sysctl.d/00-system.conf +- Drop 256term.{sh,csh} +- ARPUPDATE introduced + +* Thu May 25 2017 David Kaspar [Dee'Kej] - 9.72-1 +- rename_device.c: rewrite of isCfg() function +- Add *.old to list of ignored files +- Replace usleep(1) calls with sleep(1) calls + +* Wed May 24 2017 David Kaspar [Dee'Kej] - 9.71-1 +- usleep: print deprecation warning from now on +- sysconfig.txt: mention previously introduced NO_DHCP_HOSTNAME option +- DHCP_FQDN and DHCP_SEND_HOSTNAME introduced +- re-add missing $HOSTNAME initialization +- ifup: add support for VLAN_EGRESS_PRIORITY_MAP +- specfile: mark 'rwtab' and 'statetab' as config files +- killproc/status: add missing '-b ' option +- ifdown-eth: we need to flush global scope as well +- ifup-eth: remove quote marks +- po: download latest translations from zanata +- rwtab: add /var/lib/systemd/timers +- Update initscripts.pot +- Port headers in xgettext_sh.py to 2017 + +* Fri Feb 24 2017 Lukáš Nykrýn - 9.70-1 +- move source to github + +* Tue Aug 30 2016 David Kaspar [Dee'Kej] - 9.69-1 +- fedora-import-state should no longer try to create folder with empty name (#1370259) + +* Tue Aug 9 2016 David Kaspar [Dee'Kej] - 9.68-1 +- fedora-import-state: skip modifying of existing folders (#1347436) +- functions: systemctl show now returns an error when unit does not exist + +* Tue Jul 19 2016 Lukáš Nykrýn - 9.67-1 +- import-state: restore also sensitivity part of SELinux context +- network: run after network-pre.target +- ifup-eth: fix setting preferred_lft and valid_lft +- ifup: don't call nmcli on any lo device +- source_config: tell NetworkManger to load ifcfg file even for NM_CONTROLLED=no +- ipv6: wait for all global IPv6 addresses to leave the "tentative" state +- rwtab: /var/lib/nfs needs to copy the files +- functions: improve killing loops +- ifup: set valid_lft and preferred_lft to forever for static ip +- service: use systemd mangle for given service + +* Mon Apr 25 2016 Lukáš Nykrýn - 9.66-1 +- remove autorelabel stuff +- autorelabel: turn quota off before relabeling +- network: Treat other tunnel interfaces, fixes ifdown stage +- autorelabel: call dracut-initramfs-restore before forced reboot +- sysconfig.txt: document PPPOE_EXTRA and PPPD_EXTRA +- ifdown-eth: fix comparison + +* Mon Dec 07 2015 Lukáš Nykrýn - 9.65-1 +- init.d/functions: end with 0 +- fedora-loadmodules: we don't have readahead anymore +- network-scripts: DEVICE and HWADRR could be quoted by apostrophe +- ifup-wireless: fix calling of phy_wireless_device +- ifdown: clean ipv4 localhost addresses +- ifup-eth: some bridge options are applied later +- service: improve status and stop function for daemon with intscripts +- init.d/functions: reload systemd if it can't see an initscript + +* Thu Aug 06 2015 Lukáš Nykrýn - 9.64-1 +- network-functions: fix wireless detection +- fedora-readonly: use --make-slave with --bind mounts +- import-state: don't run restorecon when it does not exist +- network: modem type interfaces should explicitly start after and stop before common interfaces +- ifup-post: should be interpreted in bash + +* Mon May 18 2015 Lukáš Nykrýn - 9.63-1 +- remove ipcalc, it has its own package now +- network: tell NM to reload its configuration during start +- bonding: warn if the ifup for slave device failed +- sysctl.conf: drop SHMALL and SHMMAX, they have sane default values in kernel +- ifup: don't call NM for loopback +- clarify daemon() usage message +- rename_device: allow non-channel nics for s390x machines +- ifup: add missing quotes + +* Thu Apr 09 2015 Lukáš Nykrýn - 9.62-1 +- network-functions: fix change_resolv_conf after grep update +- ifup-aliases: don't return with error when arping fails +- init.d/functions: rc.debug option to debug initscripts +- ifup-aliases: inherit ARPCHECK from parent device +- network: report that we can't shut down network for root on netfs +- ifdown-eth: use scope host for lo + +* Thu Jan 22 2015 Lukáš Nykrýn - 9.61-1 +- specfile cleanup +- ifup-ipv6: set accept_ra to 2 when IPV6FORWARDING=yes and IPV6_AUTOCONF=yes +- ifup-post: check resolve.conf also with DNS2 +- ifup-aliases: do not fail when only ipv6 addr is specified +- fedora-import-state.service: run a little bit later +- fedora-readonly: Updates for systemd random-seed handling +- network-functions: is_available_wait should wait even in the case that is_available returns 2 +- ifdown-post: remove resolv.conf only in specific cases +- network-functions: fix check in install_bonding_driver + +* Tue Dec 16 2014 Lukáš Nykrýn - 9.60-1 +- improve check for bond master in install bonding driver +- network-functions: reeplace iwconfig with iw +- ifup: fix typo +- ifdown-ipv6: reset addrgenmode to eui64 for device + +* Wed Nov 12 2014 Lukáš Nykrýn - 9.59-1 +- adjust LINKDELAY when STP is on + +* Thu Nov 06 2014 Lukáš Nykrýn - 9.58-1 +- ifup,vlan: fix typo +- doc: be consistent and use BOOTPROTO=none + +* Tue Oct 07 2014 Zbigniew Jędrzejewski-Szmek - 9.57 +- Remove /etc/inittab, /etc/crypttab, utmp, wtmp, btmp + +* Tue Oct 07 2014 Lukáš Nykrýn - 9.56-1 +- network_function: return immediately when device is pres +ent +- add configurable DEVTIMEOUT +- fedora-import-state: do not clobber / +- network-functions: grep->fgrep in bonding masters matchi +ng +- man: update sys-unconfig.8 +- rename_devices: comments need to have a blank before them +- add example ifcfg files +- network-functions: improve bonding_masters grep +- ifup: if we were unable to determine DEVICE always call nmcli up +- ifup-tunnel: call ifup-ipv6 in the end +- ifup: also set multicast_snooping after the bridge is up +- network-functions: ETHTOOL_DELAY introduction patch +- use pie and relro by default +- custom naming for VLAN devices +- vi.po: fix parentheses +- ifup-wireless: add support for wowlan +- ifup-wireless: add support for wowlan (second part) +- ifup-aliases: do not bring up ipv6 for range files +- sys-unconfig: use poweroff instead of halt +- ifup-aliases: improve duplicate address detection +- network-functions: handle BONDING_OPTS better +- network: tell nm to wake the slaves + +* Tue Jul 22 2014 Lukáš Nykrýn - 9.55-1 +- fix license handling +- ipcalc: -c allow netmask +- ipcalc: parse prefix more safely +- inittab: fix path and mention set-default +- don't require /sbin/sysctl +- init.d/functions: check parent dir of pid file for accessibility +- ifup-eth: some options for bridge can be applied after the bridge is up +- remove ppp from translation + +* Tue Apr 15 2014 Lukáš Nykrýn - 9.54-1 +- move ppp support to ppp package +- remove fedora-configure +- network: detect if / is on netfs +- is_nm_handling: fix RE +- bonding: match whole name of interface +- network: add support for team devices +- ifup-wireless: fix syntax error +- fedora-readonly: fix prefix detection + +* Wed Mar 26 2014 Lukáš Nykrýn - 9.53-1 +- bridging: add possibility to set prio and ageing +- ifup: add possibility to specify value for -w parameter of arping +- network: try to not compete with NM during boot +- fedora-domainname: DefaultDependencies=no +- service: add condrestart to allowed commands +- update ifup/ifdown NetworkManager interaction once more(#1036701, #1061810) +- network: modify ifup-wireless so it doesn't call exit +- set shmmax and shmall defaults to match rhel6 values (#1056547) +- update ifup/ifdown NetworkManager interaction (#1036701, #1061810) +- service: fix action matching +- remove ifup-ipx from spec +- Delete IPX support. +- remove dependency on sysvinit-tools + +* Tue Jan 14 2014 Lukáš Nykrýn - 9.52-1 +- require procps-ng + +* Tue Jan 14 2014 Lukáš Nykrýn 9.51-1 +- readonly-root: bind-mount only necessary subset of entries in rwtab +- readonly-root: Add /var/log/audit/audit.log to rwtab +- readonly-root: restore SELinux context after bind mount +- rename_device: remove comments and trailing whitespaces +- service: suggest using systemctl if unknown action is used +- ifup-eth: fix typo in error message +- use iw instead of iwconfig and friends +- update functions who call nmcli +- ifdown: fix typo in nmcli call + +* Tue Sep 03 2013 Lukas Nykryn - 9.50-1 +- ipcalc: support RFC3021 (#997271) +- symlink /etc/sysctl.conf -> /etc/sysctl.d/ +- man: only action specified in LSB are redirected to systemd +- service: filter actions that are not supported by systemctl in service (#947823) +- install_bonding_driver: drop check for existing device (#991335) +- consider IPV6INIT undefined as YES +- don't care about network filesystems + +* Fri Jul 12 2013 Lukáš Nykrýn - 9.48-1 +- man: add systemd man pages to service.8 "see also" section +- add possibility to set domainname through /etc/sysconfig/network +- rename_device: don't wait for lock with lower permissions +- 256term.csh: remove quotes around variable (#979796) +- drop useless variables from /etc/sysconfig/init +- readonly-root: rpcidmapd restart is not needed anymore +- ifup-eth: print error only if arping is really called (#974603) +- readonly-root: Add /var/lib/samba to rwtab + +* Fri May 31 2013 Lukáš Nykrýn - 9.47-1 +- network-functions: to determine state of nscd check socket not lock (#960779) +- sysconfig.txt advised saslauthd -a instead of -v +- update translations from transifex +- drop translation for other initscripts +- tweak ifup/ifdown usage and man page (#961917) +- ctrl-alt-delete.target is provided by systemd package +- remove some defaults from arch specific sysctl.conf +- readonly-root: remount rpc_pipefs if readonly-root is used +- service: mention legacy actions and systemctl redirection in man page + +* Fri Apr 12 2013 Lukáš Nykrýn - 9.46-1 +- add /var/lib/NetworkManager +- add ipip6 tunneling support (#928232, raorn@raorn.name) +- bonding: set master up before slaves +- set net.ipv6.conf.SYSCTLDEVICE.autoconf in ifup-ipv6 +- ifdown: don't call nmcli on interface that is alread down +- remove some defaults from sysctl.conf (move to systemd) +- call flush addresses with scope global +- service: action should not be empty when calling legacy-actions (#947817) +- ifup-eth: ignore arping errors (#928379) +- replace tunctl with ip tuntap (#947875) +- reload sysctl settings for vlans on ifup +- try dhcpv6 after v4 failed (#846618) + +* Fri Mar 15 2013 Lukáš Nykrýn - 9.45-2 +- provides /sbin/service + +* Fri Mar 15 2013 Lukáš Nykrýn - 9.45-1 +- turn on symlink protections in sysctl (#922030) +- add systemd-random-seed.service to Before= in fedora-readonly.service (#888615) +- mention rule6 files in sysconfig.txt +- skip nmcli for wireless device (#863707) +- remove config-noreplace from /etc/inittab (#627474) +- remount-rootfs.service got renamed to systemd-remount-fs.service +- compile netreport and usernetctl with full RELRO and PIE (#853178) +- move stuff directly to /usr (#905492) +- Remove NETWORKING_IPV6 from sysconfig.txt (#918622) +- fix greps to correctly handle comments and quotation + +* Wed Feb 20 2013 Lukáš Nykrýn - 9.44-1 +- limit udev rule for network renaming (#907365, mschmidt@redhat.com) +- fix path for arpwatch, seems to be in /var/lib on Fedora 18 +- fix the path for lvm cache, there is no file /etc/lvm/.cache ( but there is one /etc/lvm/cache ) +- fix path for dhcpd, is /var/lib/dhcpd since 2005 ( see 31cdb58df77 on the dhcp package git ) +- fix the patch for apache modules in rwtab, that are now in /var/cache/httpd +- remove no longer used directory ( at least in Fedora ), hald is deprecated, + /var/tux cannot be found and xend seems to use a subdirectory of /var/lib/xen +- correct the path for puppet directory in /etc/rwtab, now use /var/lib/puppet by default +- allow passing -F from /.autorelabel to fixfiles when relabeling system (#904279) +- correctly detect Open vSwitch device types +- clear DEVICE and TYPE variables before every iteration (#902463) +- sets BONDING_OPTS before interface is brougth up +- check an IP address for existence in ifup-alias (#852005) +- sync FSF address with GPL 2 text. +- fix rpmlint's spaces vs tabs warning. +- fix bogus %changelog dates. +- build with $RPM_LD_FLAGS. +- use -sf, not -s. (#901827) +- add /usr/libexec/initscripts to file list (#894475) +- rename term256 to 256term (glob sort) (#849429) +- readd missing shebang. (#885821) +- migrate even further away from /etc/sysconfig/network for hostname, and /etc/sysconfig/i18n. + +* Fri Dec 7 2012 Bill Nottingham - 9.43-1 +- 60-net.rules: explicitly set the interface name (#870859) +- ifup-eth: set firewall zone before ifup-ipv6 for DHCPv6 (#802415) +- migrate to /etc/locale.conf, /etc/vconsole.conf (#881923) +- rename_device: fix bogus locking +- fix wireless device detection for kernel 3.6 (#875328) +- drop fedora-storage-init, fedora-wait-storage () + +* Wed Oct 31 2012 Bill Nottingham - 9.42-1 +- Halloween release! +- add a default /etc/sysctl.conf that describes how to change values, and where the defaults now live. (#760254) +- translation updates +- fedora-autorelabel: don't pass -F to fixfiles (#863662, ) +- fix calling of firewall-cmd in ifup-post/ifdown-post () + +* Fri Oct 5 2012 Bill Nottingham - 9.41-1 +- debugmode: MALLOC_CHECK_ is not thread safe. Don't enable it by default (#853175) +- Add support for 256 color terminals () +- ifdown-eth: be less strict about VLAN name (#505314, ) +- drop prefdm +- ifup-eth: allow duplicate address detection to be disabled () +- process rule6-* for sit devices (#840009, ) + +* Mon Aug 6 2012 Bill Nottingham - 9.40-1 +- drop support for booting non-systemd systems +- drop legacy commands: getkey, fstab-decode, testd + +* Fri Jun 29 2012 Bill Nottingham - 9.39-1 +- assorted documentation cleanups +- typo, spelling, licenese clean up () +- service: add support for legacy custom actions packaged in + /usr/libexec/initscripts/legacy-actions/