forked from pool/systemd
Accepting request 308492 from home:jengelh:branches:Base:System
- Drop 1021-patch, ... those parts are moved to a separate package (udev-persistent-ifnames, SR 308347) OBS-URL: https://build.opensuse.org/request/show/308492 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=870
This commit is contained in:
parent
53f6858b56
commit
4fcc5bbf99
@ -1,547 +0,0 @@
|
|||||||
---
|
|
||||||
Makefile.am | 9
|
|
||||||
src/udev/net/link-config.c | 17 +
|
|
||||||
src/udev/rule_generator/75-persistent-net-generator.rules | 105 ++++++++++
|
|
||||||
src/udev/rule_generator/76-net-sriov-names.rules | 18 +
|
|
||||||
src/udev/rule_generator/net-set-sriov-names | 79 +++++++
|
|
||||||
src/udev/rule_generator/rule_generator.functions | 113 +++++++++++
|
|
||||||
src/udev/rule_generator/write_net_rules | 141 ++++++++++++++
|
|
||||||
7 files changed, 479 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
Index: systemd-218/Makefile.am
|
|
||||||
===================================================================
|
|
||||||
--- systemd-218.orig/Makefile.am
|
|
||||||
+++ systemd-218/Makefile.am
|
|
||||||
@@ -3416,7 +3416,14 @@ dist_udevrules_DATA += \
|
|
||||||
rules/75-tty-description.rules \
|
|
||||||
rules/78-sound-card.rules \
|
|
||||||
rules/80-net-setup-link.rules \
|
|
||||||
- rules/95-udev-late.rules
|
|
||||||
+ rules/95-udev-late.rules \
|
|
||||||
+ src/udev/rule_generator/75-persistent-net-generator.rules \
|
|
||||||
+ src/udev/rule_generator/76-net-sriov-names.rules
|
|
||||||
+
|
|
||||||
+udevlibexec_PROGRAMS += \
|
|
||||||
+ src/udev/rule_generator/rule_generator.functions \
|
|
||||||
+ src/udev/rule_generator/write_net_rules \
|
|
||||||
+ src/udev/rule_generator/net-set-sriov-names
|
|
||||||
|
|
||||||
nodist_udevrules_DATA += \
|
|
||||||
rules/99-systemd.rules
|
|
||||||
Index: systemd-218/src/udev/net/link-config.c
|
|
||||||
===================================================================
|
|
||||||
--- systemd-218.orig/src/udev/net/link-config.c
|
|
||||||
+++ systemd-218/src/udev/net/link-config.c
|
|
||||||
@@ -176,16 +176,29 @@ static bool enable_name_policy(void) {
|
|
||||||
size_t l;
|
|
||||||
|
|
||||||
r = proc_cmdline(&line);
|
|
||||||
- if (r < 0) {
|
|
||||||
+ if (r < 0)
|
|
||||||
log_warning_errno(r, "Failed to read /proc/cmdline, ignoring: %m");
|
|
||||||
+#if defined(NET_IFNAMES) && (NET_IFNAMES == 1)
|
|
||||||
+# warning Using persistent rules as a default
|
|
||||||
+ if (r < 0)
|
|
||||||
+ return false;
|
|
||||||
+
|
|
||||||
+ FOREACH_WORD_QUOTED(w, l, line, state)
|
|
||||||
+ if (strneq(w, "net.ifnames=1", l))
|
|
||||||
+ return true;
|
|
||||||
+
|
|
||||||
+ return false;
|
|
||||||
+#else
|
|
||||||
+# warning Using predictable rules as a default
|
|
||||||
+ if (r < 0)
|
|
||||||
return true;
|
|
||||||
- }
|
|
||||||
|
|
||||||
FOREACH_WORD_QUOTED(word, l, line, state)
|
|
||||||
if (strneq(word, "net.ifnames=0", l))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
return true;
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
int link_config_load(link_config_ctx *ctx) {
|
|
||||||
Index: systemd-218/src/udev/rule_generator/75-persistent-net-generator.rules
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null
|
|
||||||
+++ systemd-218/src/udev/rule_generator/75-persistent-net-generator.rules
|
|
||||||
@@ -0,0 +1,105 @@
|
|
||||||
+# do not edit this file, it will be overwritten on update
|
|
||||||
+
|
|
||||||
+# these rules generate rules for persistent network device naming
|
|
||||||
+#
|
|
||||||
+# variables used to communicate:
|
|
||||||
+# MATCHADDR MAC address used for the match
|
|
||||||
+# MATCHID bus_id used for the match
|
|
||||||
+# MATCHDRV driver name used for the match
|
|
||||||
+# MATCHIFTYPE interface type match
|
|
||||||
+# COMMENT comment to add to the generated rule
|
|
||||||
+# INTERFACE_NAME requested name supplied by external tool
|
|
||||||
+# INTERFACE_NEW new interface name returned by rule writer
|
|
||||||
+
|
|
||||||
+ACTION!="add", GOTO="persistent_net_generator_end"
|
|
||||||
+SUBSYSTEM!="net", GOTO="persistent_net_generator_end"
|
|
||||||
+
|
|
||||||
+# ignore the interface if a name has already been set
|
|
||||||
+NAME=="?*", GOTO="persistent_net_generator_end"
|
|
||||||
+
|
|
||||||
+# device name whitelist
|
|
||||||
+KERNEL!="eth*|ath*|wlan*[0-9]|msh*|ra*|sta*|ctc*|lcs*|hsi*", GOTO="persistent_net_generator_end"
|
|
||||||
+
|
|
||||||
+IMPORT{cmdline}="net.ifnames"
|
|
||||||
+ENV{net.ifnames}=="1", GOTO="persistent_net_generator_end"
|
|
||||||
+
|
|
||||||
+# ignore Xen virtual interfaces
|
|
||||||
+SUBSYSTEMS=="xen", GOTO="persistent_net_generator_end"
|
|
||||||
+
|
|
||||||
+# read MAC address
|
|
||||||
+ENV{MATCHADDR}="$attr{address}"
|
|
||||||
+
|
|
||||||
+# match interface type
|
|
||||||
+ENV{MATCHIFTYPE}="$attr{type}"
|
|
||||||
+
|
|
||||||
+# ignore KVM virtual interfaces
|
|
||||||
+ENV{MATCHADDR}=="52:54:00:*", GOTO="persistent_net_generator_end"
|
|
||||||
+# ignore VMWare virtual interfaces
|
|
||||||
+ENV{MATCHADDR}=="00:0c:29:*|00:50:56:*", GOTO="persistent_net_generator_end"
|
|
||||||
+# ignore Hyper-V virtual interfaces
|
|
||||||
+ENV{MATCHADDR}=="00:15:5d:*", GOTO="persistent_net_generator_end"
|
|
||||||
+
|
|
||||||
+# These vendors are known to violate the local MAC address assignment scheme
|
|
||||||
+# Interlan, DEC (UNIBUS or QBUS), Apollo, Cisco, Racal-Datacom
|
|
||||||
+ENV{MATCHADDR}=="02:07:01:*", GOTO="globally_administered_whitelist"
|
|
||||||
+# 3Com
|
|
||||||
+ENV{MATCHADDR}=="02:60:60:*", GOTO="globally_administered_whitelist"
|
|
||||||
+# 3Com IBM PC; Imagen; Valid; Cisco; Apple
|
|
||||||
+ENV{MATCHADDR}=="02:60:8c:*", GOTO="globally_administered_whitelist"
|
|
||||||
+# Intel
|
|
||||||
+ENV{MATCHADDR}=="02:a0:c9:*", GOTO="globally_administered_whitelist"
|
|
||||||
+# Olivetti
|
|
||||||
+ENV{MATCHADDR}=="02:aa:3c:*", GOTO="globally_administered_whitelist"
|
|
||||||
+# CMC Masscomp; Silicon Graphics; Prime EXL
|
|
||||||
+ENV{MATCHADDR}=="02:cf:1f:*", GOTO="globally_administered_whitelist"
|
|
||||||
+# Prominet Corporation Gigabit Ethernet Switch
|
|
||||||
+ENV{MATCHADDR}=="02:e0:3b:*", GOTO="globally_administered_whitelist"
|
|
||||||
+# BTI (Bus-Tech, Inc.) IBM Mainframes
|
|
||||||
+ENV{MATCHADDR}=="02:e6:d3:*", GOTO="globally_administered_whitelist"
|
|
||||||
+# Realtek
|
|
||||||
+ENV{MATCHADDR}=="52:54:00:*", GOTO="globally_administered_whitelist"
|
|
||||||
+# Novell 2000
|
|
||||||
+ENV{MATCHADDR}=="52:54:4c:*", GOTO="globally_administered_whitelist"
|
|
||||||
+# Realtec
|
|
||||||
+ENV{MATCHADDR}=="52:54:ab:*", GOTO="globally_administered_whitelist"
|
|
||||||
+# Kingston Technologies
|
|
||||||
+ENV{MATCHADDR}=="e2:0c:0f:*", GOTO="globally_administered_whitelist"
|
|
||||||
+# Xensource
|
|
||||||
+ENV{MATCHADDR}=="00:16:3e:*", GOTO="globally_administered_whitelist"
|
|
||||||
+
|
|
||||||
+# match interface dev_id
|
|
||||||
+ATTR{dev_id}=="?*", ENV{MATCHDEVID}="$attr{dev_id}"
|
|
||||||
+
|
|
||||||
+# do not use "locally administered" MAC address
|
|
||||||
+ENV{MATCHADDR}=="?[2367abef]:*", ENV{MATCHADDR}=""
|
|
||||||
+
|
|
||||||
+# do not use empty address
|
|
||||||
+ENV{MATCHADDR}=="00:00:00:00:00:00", ENV{MATCHADDR}=""
|
|
||||||
+
|
|
||||||
+LABEL="globally_administered_whitelist"
|
|
||||||
+
|
|
||||||
+# build comment line for generated rule:
|
|
||||||
+SUBSYSTEMS=="pci", ENV{COMMENT}="PCI device $attr{vendor}:$attr{device} ($driver)"
|
|
||||||
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="?*", ENV{COMMENT}="USB device 0x$attr{idVendor}:0x$attr{idProduct} ($driver)"
|
|
||||||
+SUBSYSTEMS=="pcmcia", ENV{COMMENT}="PCMCIA device $attr{card_id}:$attr{manf_id} ($driver)"
|
|
||||||
+SUBSYSTEMS=="ieee1394", ENV{COMMENT}="Firewire device $attr{host_id})"
|
|
||||||
+
|
|
||||||
+# ibmveth likes to use "locally administered" MAC addresses
|
|
||||||
+DRIVERS=="ibmveth", ENV{MATCHADDR}="$attr{address}", ENV{COMMENT}="ibmveth ($id)"
|
|
||||||
+
|
|
||||||
+# S/390 uses id matches only, do not use MAC address match
|
|
||||||
+SUBSYSTEMS=="ccwgroup", ENV{COMMENT}="S/390 $driver device at $id", ENV{MATCHID}="$id", ENV{MATCHDRV}="$driver", ENV{MATCHADDR}=""
|
|
||||||
+
|
|
||||||
+# see if we got enough data to create a rule
|
|
||||||
+ENV{MATCHADDR}=="", ENV{MATCHID}=="", ENV{INTERFACE_NAME}=="", GOTO="persistent_net_generator_end"
|
|
||||||
+
|
|
||||||
+# default comment
|
|
||||||
+ENV{COMMENT}=="", ENV{COMMENT}="net device ($attr{driver})"
|
|
||||||
+
|
|
||||||
+# write rule
|
|
||||||
+DRIVERS=="?*", IMPORT{program}="write_net_rules"
|
|
||||||
+
|
|
||||||
+# rename interface if needed
|
|
||||||
+ENV{INTERFACE_NEW}=="?*", NAME="$env{INTERFACE_NEW}"
|
|
||||||
+
|
|
||||||
+LABEL="persistent_net_generator_end"
|
|
||||||
Index: systemd-218/src/udev/rule_generator/76-net-sriov-names.rules
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null
|
|
||||||
+++ systemd-218/src/udev/rule_generator/76-net-sriov-names.rules
|
|
||||||
@@ -0,0 +1,18 @@
|
|
||||||
+# do not edit this file, it will be overwritten on update
|
|
||||||
+#
|
|
||||||
+# rename SRIOV virtual function interfaces
|
|
||||||
+
|
|
||||||
+ACTION=="remove", GOTO="net-sriov-names_end"
|
|
||||||
+SUBSYSTEM!="net", GOTO="net-sriov-names_end"
|
|
||||||
+
|
|
||||||
+IMPORT{cmdline}="net.ifnames"
|
|
||||||
+ENV{net.ifnames}=="1", GOTO="net-sriov-names_end"
|
|
||||||
+
|
|
||||||
+SUBSYSTEM=="net", SUBSYSTEMS=="pci", ACTION=="add", NAME=="?*", ENV{INTERFACE_NEW}="$name"
|
|
||||||
+SUBSYSTEM=="net", SUBSYSTEMS=="pci", ACTION=="add", IMPORT{program}="net-set-sriov-names"
|
|
||||||
+
|
|
||||||
+# rename interface if needed
|
|
||||||
+ENV{INTERFACE_NEW}=="?*", NAME="$env{INTERFACE_NEW}"
|
|
||||||
+ENV{INTERFACE_NEW}=="", DRIVERS=="cxgb4vf|igbvf|ixgbevf", NAME="vf$attr{ifindex}"
|
|
||||||
+
|
|
||||||
+LABEL="net-sriov-names_end"
|
|
||||||
Index: systemd-218/src/udev/rule_generator/net-set-sriov-names
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null
|
|
||||||
+++ systemd-218/src/udev/rule_generator/net-set-sriov-names
|
|
||||||
@@ -0,0 +1,79 @@
|
|
||||||
+#!/bin/bash -e
|
|
||||||
+#
|
|
||||||
+# This script is run to rename virtual interfaces
|
|
||||||
+#
|
|
||||||
+
|
|
||||||
+if [ -n "$UDEV_LOG" ]; then
|
|
||||||
+ if [ "$UDEV_LOG" -ge 7 ]; then
|
|
||||||
+ set -x
|
|
||||||
+ fi
|
|
||||||
+fi
|
|
||||||
+
|
|
||||||
+# according to dev_new_index(), ifindex is within [1, INT_MAX]
|
|
||||||
+int_max=$(/usr/bin/getconf INT_MAX)
|
|
||||||
+ifindex_before() {
|
|
||||||
+ a=$1
|
|
||||||
+ b=$2
|
|
||||||
+
|
|
||||||
+ ((0 < (b - a) && (b - a) < int_max / 2 ||
|
|
||||||
+ -1 * int_max < (b - a) && (b - a) < -1 * int_max / 2))
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+rename_interface() {
|
|
||||||
+ local src_net=$1
|
|
||||||
+ local dest_net=$2
|
|
||||||
+ local err=0
|
|
||||||
+
|
|
||||||
+ /sbin/ip link set dev $src_net down
|
|
||||||
+ /sbin/ip link set dev $src_net name $dest_net
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+if [ -z "$INTERFACE" ]; then
|
|
||||||
+ echo "missing \$INTERFACE" >&2
|
|
||||||
+ exit 1
|
|
||||||
+fi
|
|
||||||
+
|
|
||||||
+if [ -e "/sys/class/net/$INTERFACE/device/physfn" ]; then
|
|
||||||
+ pf=$(ls -1 "/sys/class/net/$INTERFACE/device/physfn/net")
|
|
||||||
+ if [ $(echo "$pf" | wc -l) -ne 1 ]; then
|
|
||||||
+ echo "too many pf's" >&2
|
|
||||||
+ exit 1
|
|
||||||
+ fi
|
|
||||||
+ read vfindex < "/sys/class/net/$INTERFACE/ifindex"
|
|
||||||
+ read pfindex < "/sys/class/net/$pf/ifindex"
|
|
||||||
+ if ifindex_before $pfindex $vfindex; then
|
|
||||||
+ bus_info=$(basename $(readlink "/sys/class/net/$INTERFACE/device"))
|
|
||||||
+ for virtfn in "/sys/class/net/$pf/device/"virtfn*; do
|
|
||||||
+ if [ "$(basename $(readlink "$virtfn"))" = "$bus_info" ]; then
|
|
||||||
+ vfnum=$(basename "$virtfn")
|
|
||||||
+ vfnum=${vfnum#virtfn}
|
|
||||||
+ echo "INTERFACE_NEW=$pf.vf$vfnum"
|
|
||||||
+ exit 0
|
|
||||||
+ fi
|
|
||||||
+ done
|
|
||||||
+ fi
|
|
||||||
+fi
|
|
||||||
+
|
|
||||||
+read pfindex < "/sys/class/net/$INTERFACE/ifindex"
|
|
||||||
+shopt -s nullglob
|
|
||||||
+for virtfn in "/sys/class/net/$INTERFACE/device/"virtfn*; do
|
|
||||||
+ vf=$(ls -1 "$virtfn/net")
|
|
||||||
+ if [ $(echo "$vf" | wc -l) -ne 1 ]; then
|
|
||||||
+ echo "too many vf's" >&2
|
|
||||||
+ exit 1
|
|
||||||
+ fi
|
|
||||||
+ read vfindex < "/sys/class/net/$vf/ifindex"
|
|
||||||
+ if ifindex_before $vfindex $pfindex; then
|
|
||||||
+ vfnum=$(basename "$virtfn")
|
|
||||||
+ vfnum=${vfnum#virtfn}
|
|
||||||
+ if [ "$INTERFACE_NEW" ]; then
|
|
||||||
+ new_name=$INTERFACE_NEW
|
|
||||||
+ else
|
|
||||||
+ new_name=$INTERFACE
|
|
||||||
+ fi
|
|
||||||
+ new_name="$new_name.vf$vfnum"
|
|
||||||
+ if [ "$vf" != "$new_name" ]; then
|
|
||||||
+ rename_interface "$vf" "$new_name"
|
|
||||||
+ fi
|
|
||||||
+ fi
|
|
||||||
+done
|
|
||||||
Index: systemd-218/src/udev/rule_generator/rule_generator.functions
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null
|
|
||||||
+++ systemd-218/src/udev/rule_generator/rule_generator.functions
|
|
||||||
@@ -0,0 +1,113 @@
|
|
||||||
+# functions used by the udev rule generator
|
|
||||||
+
|
|
||||||
+# Copyright (C) 2006 Marco d'Itri <md@Linux.IT>
|
|
||||||
+
|
|
||||||
+# 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 2 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/>.
|
|
||||||
+
|
|
||||||
+PATH='/usr/bin:/bin:/usr/sbin:/sbin'
|
|
||||||
+
|
|
||||||
+# Read a single line from file $1 in the $DEVPATH directory.
|
|
||||||
+# The function must not return an error even if the file does not exist.
|
|
||||||
+sysread() {
|
|
||||||
+ local file="$1"
|
|
||||||
+ [ -e "/sys$DEVPATH/$file" ] || return 0
|
|
||||||
+ local value
|
|
||||||
+ read value < "/sys$DEVPATH/$file" || return 0
|
|
||||||
+ echo "$value"
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+sysreadlink() {
|
|
||||||
+ local file="$1"
|
|
||||||
+ [ -e "/sys$DEVPATH/$file" ] || return 0
|
|
||||||
+ readlink -f /sys$DEVPATH/$file 2> /dev/null || true
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+# Return true if a directory is writeable.
|
|
||||||
+writeable() {
|
|
||||||
+ if ln -s test-link $1/.is-writeable 2> /dev/null; then
|
|
||||||
+ rm -f $1/.is-writeable
|
|
||||||
+ return 0
|
|
||||||
+ else
|
|
||||||
+ return 1
|
|
||||||
+ fi
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+# Create a lock file for the current rules file.
|
|
||||||
+lock_rules_file() {
|
|
||||||
+ RUNDIR="/run/udev"
|
|
||||||
+ [ -e "$RUNDIR" ] || return 0
|
|
||||||
+
|
|
||||||
+ RULES_LOCK="$RUNDIR/.lock-${RULES_FILE##*/}"
|
|
||||||
+
|
|
||||||
+ retry=30
|
|
||||||
+ while ! mkdir $RULES_LOCK 2> /dev/null; do
|
|
||||||
+ if [ $retry -eq 0 ]; then
|
|
||||||
+ echo "Cannot lock $RULES_FILE!" >&2
|
|
||||||
+ exit 2
|
|
||||||
+ fi
|
|
||||||
+ sleep 1
|
|
||||||
+ retry=$(($retry - 1))
|
|
||||||
+ done
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+unlock_rules_file() {
|
|
||||||
+ [ "$RULES_LOCK" ] || return 0
|
|
||||||
+ rmdir $RULES_LOCK || true
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+# Choose the real rules file if it is writeable or a temporary file if not.
|
|
||||||
+# Both files should be checked later when looking for existing rules.
|
|
||||||
+choose_rules_file() {
|
|
||||||
+ RUNDIR="/run/udev"
|
|
||||||
+ local tmp_rules_file="$RUNDIR/tmp-rules--${RULES_FILE##*/}"
|
|
||||||
+ [ -e "$RULES_FILE" -o -e "$tmp_rules_file" ] || PRINT_HEADER=1
|
|
||||||
+
|
|
||||||
+ if writeable ${RULES_FILE%/*}; then
|
|
||||||
+ RO_RULES_FILE='/dev/null'
|
|
||||||
+ else
|
|
||||||
+ RO_RULES_FILE=$RULES_FILE
|
|
||||||
+ RULES_FILE=$tmp_rules_file
|
|
||||||
+ fi
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+# Return the name of the first free device.
|
|
||||||
+raw_find_next_available() {
|
|
||||||
+ local links="$1"
|
|
||||||
+
|
|
||||||
+ local basename=${links%%[ 0-9]*}
|
|
||||||
+ local max=-1
|
|
||||||
+ for name in $links; do
|
|
||||||
+ local num=${name#$basename}
|
|
||||||
+ [ "$num" ] || num=0
|
|
||||||
+ [ $num -gt $max ] && max=$num
|
|
||||||
+ done
|
|
||||||
+
|
|
||||||
+ local max=$(($max + 1))
|
|
||||||
+ # "name0" actually is just "name"
|
|
||||||
+ [ $max -eq 0 ] && return
|
|
||||||
+ echo "$max"
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+# Find all rules matching a key (with action) and a pattern.
|
|
||||||
+find_all_rules() {
|
|
||||||
+ local key="$1"
|
|
||||||
+ local linkre="$2"
|
|
||||||
+ local match="$3"
|
|
||||||
+
|
|
||||||
+ local search='.*[[:space:],]'"$key"'"('"$linkre"')".*'
|
|
||||||
+ echo $(sed -n -r -e 's/^#.*//' -e "${match}s/${search}/\1/p" \
|
|
||||||
+ $RO_RULES_FILE \
|
|
||||||
+ $([ -e $RULES_FILE ] && echo $RULES_FILE) \
|
|
||||||
+ 2>/dev/null)
|
|
||||||
+}
|
|
||||||
Index: systemd-218/src/udev/rule_generator/write_net_rules
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null
|
|
||||||
+++ systemd-218/src/udev/rule_generator/write_net_rules
|
|
||||||
@@ -0,0 +1,141 @@
|
|
||||||
+#!/bin/sh -e
|
|
||||||
+
|
|
||||||
+# This script is run to create persistent network device naming rules
|
|
||||||
+# based on properties of the device.
|
|
||||||
+# If the interface needs to be renamed, INTERFACE_NEW=<name> will be printed
|
|
||||||
+# on stdout to allow udev to IMPORT it.
|
|
||||||
+
|
|
||||||
+# variables used to communicate:
|
|
||||||
+# MATCHADDR MAC address used for the match
|
|
||||||
+# MATCHID bus_id used for the match
|
|
||||||
+# MATCHDEVID dev_id used for the match
|
|
||||||
+# MATCHDRV driver name used for the match
|
|
||||||
+# MATCHIFTYPE interface type match
|
|
||||||
+# COMMENT comment to add to the generated rule
|
|
||||||
+# INTERFACE_NAME requested name supplied by external tool
|
|
||||||
+# INTERFACE_NEW new interface name returned by rule writer
|
|
||||||
+
|
|
||||||
+# Copyright (C) 2006 Marco d'Itri <md@Linux.IT>
|
|
||||||
+# Copyright (C) 2007 Kay Sievers <kay.sievers@vrfy.org>
|
|
||||||
+#
|
|
||||||
+# 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 2 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/>.
|
|
||||||
+
|
|
||||||
+# debug, if UDEV_LOG=<debug>
|
|
||||||
+if [ -n "$UDEV_LOG" ]; then
|
|
||||||
+ if [ "$UDEV_LOG" -ge 7 ]; then
|
|
||||||
+ set -x
|
|
||||||
+ fi
|
|
||||||
+fi
|
|
||||||
+
|
|
||||||
+RULES_FILE='/etc/udev/rules.d/70-persistent-net.rules'
|
|
||||||
+
|
|
||||||
+. /usr/lib/udev/rule_generator.functions
|
|
||||||
+
|
|
||||||
+interface_name_taken() {
|
|
||||||
+ local value="$(find_all_rules 'NAME=' $INTERFACE)"
|
|
||||||
+ if [ "$value" ]; then
|
|
||||||
+ return 0
|
|
||||||
+ else
|
|
||||||
+ return 1
|
|
||||||
+ fi
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+find_next_available() {
|
|
||||||
+ raw_find_next_available "$(find_all_rules 'NAME=' "$1")"
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+write_rule() {
|
|
||||||
+ local match="$1"
|
|
||||||
+ local name="$2"
|
|
||||||
+ local comment="$3"
|
|
||||||
+
|
|
||||||
+ {
|
|
||||||
+ if [ "$PRINT_HEADER" ]; then
|
|
||||||
+ PRINT_HEADER=
|
|
||||||
+ echo "# This file was automatically generated by the $0"
|
|
||||||
+ echo "# program, run by the persistent-net-generator.rules rules file."
|
|
||||||
+ echo "#"
|
|
||||||
+ echo "# You can modify it, as long as you keep each rule on a single"
|
|
||||||
+ echo "# line, and change only the value of the NAME= key."
|
|
||||||
+ fi
|
|
||||||
+
|
|
||||||
+ echo ""
|
|
||||||
+ [ "$comment" ] && echo "# $comment"
|
|
||||||
+ echo "SUBSYSTEM==\"net\", ACTION==\"add\"$match, NAME=\"$name\""
|
|
||||||
+ } >> $RULES_FILE
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+if [ -z "$INTERFACE" ]; then
|
|
||||||
+ echo "missing \$INTERFACE" >&2
|
|
||||||
+ exit 1
|
|
||||||
+fi
|
|
||||||
+
|
|
||||||
+# Prevent concurrent processes from modifying the file at the same time.
|
|
||||||
+lock_rules_file
|
|
||||||
+
|
|
||||||
+# Check if the rules file is writeable.
|
|
||||||
+choose_rules_file
|
|
||||||
+
|
|
||||||
+# the DRIVERS key is needed to not match bridges and VLAN sub-interfaces
|
|
||||||
+if [ "$MATCHADDR" ]; then
|
|
||||||
+ match="$match, DRIVERS==\"?*\", ATTR{address}==\"$MATCHADDR\""
|
|
||||||
+fi
|
|
||||||
+
|
|
||||||
+if [ "$MATCHDRV" ]; then
|
|
||||||
+ match="$match, DRIVERS==\"$MATCHDRV\""
|
|
||||||
+fi
|
|
||||||
+
|
|
||||||
+if [ "$MATCHDEVID" ]; then
|
|
||||||
+ match="$match, ATTR{dev_id}==\"$MATCHDEVID\""
|
|
||||||
+fi
|
|
||||||
+
|
|
||||||
+if [ "$MATCHID" ]; then
|
|
||||||
+ match="$match, KERNELS==\"$MATCHID\""
|
|
||||||
+fi
|
|
||||||
+
|
|
||||||
+if [ "$MATCHIFTYPE" ]; then
|
|
||||||
+ match="$match, ATTR{type}==\"$MATCHIFTYPE\""
|
|
||||||
+fi
|
|
||||||
+
|
|
||||||
+if [ -z "$match" ]; then
|
|
||||||
+ echo "missing valid match" >&2
|
|
||||||
+ unlock_rules_file
|
|
||||||
+ exit 1
|
|
||||||
+fi
|
|
||||||
+
|
|
||||||
+basename=${INTERFACE%%[0-9]*}
|
|
||||||
+match="$match, KERNEL==\"$basename*\""
|
|
||||||
+
|
|
||||||
+if [ "$INTERFACE_NAME" ]; then
|
|
||||||
+ # external tools may request a custom name
|
|
||||||
+ COMMENT="$COMMENT (custom name provided by external tool)"
|
|
||||||
+ if [ "$INTERFACE_NAME" != "$INTERFACE" ]; then
|
|
||||||
+ INTERFACE=$INTERFACE_NAME;
|
|
||||||
+ echo "INTERFACE_NEW=$INTERFACE"
|
|
||||||
+ fi
|
|
||||||
+else
|
|
||||||
+ # if a rule using the current name already exists, find a new name
|
|
||||||
+ if interface_name_taken; then
|
|
||||||
+ INTERFACE="$basename$(find_next_available "$basename[0-9]*")"
|
|
||||||
+ # prevent INTERFACE from being "eth" instead of "eth0"
|
|
||||||
+ [ "$INTERFACE" = "${INTERFACE%%[ \[\]0-9]*}" ] && INTERFACE=${INTERFACE}0
|
|
||||||
+ echo "INTERFACE_NEW=$INTERFACE"
|
|
||||||
+ fi
|
|
||||||
+fi
|
|
||||||
+
|
|
||||||
+write_rule "$match" "$INTERFACE" "$COMMENT"
|
|
||||||
+
|
|
||||||
+unlock_rules_file
|
|
||||||
+
|
|
||||||
+exit 0
|
|
@ -1,14 +0,0 @@
|
|||||||
Index: systemd-210/src/udev/rule_generator/75-persistent-net-generator.rules
|
|
||||||
===================================================================
|
|
||||||
--- systemd-210.orig/src/udev/rule_generator/75-persistent-net-generator.rules
|
|
||||||
+++ systemd-210/src/udev/rule_generator/75-persistent-net-generator.rules
|
|
||||||
@@ -68,7 +68,8 @@ ENV{MATCHADDR}=="e2:0c:0f:*", GOTO="glob
|
|
||||||
ENV{MATCHADDR}=="00:16:3e:*", GOTO="globally_administered_whitelist"
|
|
||||||
|
|
||||||
# match interface dev_id
|
|
||||||
-ATTR{dev_id}=="?*", ENV{MATCHDEVID}="$attr{dev_id}"
|
|
||||||
+# disable due to bnc#882714
|
|
||||||
+# ATTR{dev_id}=="?*", ENV{MATCHDEVID}="$attr{dev_id}"
|
|
||||||
|
|
||||||
# do not use "locally administered" MAC address
|
|
||||||
ENV{MATCHADDR}=="?[2367abef]:*", ENV{MATCHADDR}=""
|
|
@ -1,16 +0,0 @@
|
|||||||
Index: systemd-210/src/udev/rule_generator/75-persistent-net-generator.rules
|
|
||||||
===================================================================
|
|
||||||
--- systemd-210.orig/src/udev/rule_generator/75-persistent-net-generator.rules
|
|
||||||
+++ systemd-210/src/udev/rule_generator/75-persistent-net-generator.rules
|
|
||||||
@@ -68,8 +68,9 @@ ENV{MATCHADDR}=="e2:0c:0f:*", GOTO="glob
|
|
||||||
ENV{MATCHADDR}=="00:16:3e:*", GOTO="globally_administered_whitelist"
|
|
||||||
|
|
||||||
# match interface dev_id
|
|
||||||
-# disable due to bnc#882714
|
|
||||||
-# ATTR{dev_id}=="?*", ENV{MATCHDEVID}="$attr{dev_id}"
|
|
||||||
+# HACK: for s390x, if layer2 == 0, dont use dev_id
|
|
||||||
+ENV{LAYER2}="1", TEST=="device/layer2", ENV{LAYER2}="$attr{device/layer2}"
|
|
||||||
+ENV{LAYER2}!="0", ATTR{dev_id}=="?*", ENV{MATCHDEVID}="$attr{dev_id}"
|
|
||||||
|
|
||||||
# do not use "locally administered" MAC address
|
|
||||||
ENV{MATCHADDR}=="?[2367abef]:*", ENV{MATCHADDR}=""
|
|
@ -1,16 +0,0 @@
|
|||||||
Index: systemd-210/src/udev/rule_generator/write_net_rules
|
|
||||||
===================================================================
|
|
||||||
--- systemd-210.orig/src/udev/rule_generator/write_net_rules
|
|
||||||
+++ systemd-210/src/udev/rule_generator/write_net_rules
|
|
||||||
@@ -101,6 +101,11 @@ if [ "$MATCHDEVID" ]; then
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$MATCHID" ]; then
|
|
||||||
+ ID="$(find_all_rules 'KERNELS==' "$MATCHID")"
|
|
||||||
+ if [ "$ID" == "$MATCHID" ]; then
|
|
||||||
+ unlock_rules_file
|
|
||||||
+ exit 0
|
|
||||||
+ fi
|
|
||||||
match="$match, KERNELS==\"$MATCHID\""
|
|
||||||
fi
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
|||||||
Index: systemd-210/src/udev/rule_generator/76-net-sriov-names.rules
|
|
||||||
===================================================================
|
|
||||||
--- systemd-210.orig/src/udev/rule_generator/76-net-sriov-names.rules
|
|
||||||
+++ systemd-210/src/udev/rule_generator/76-net-sriov-names.rules
|
|
||||||
@@ -4,6 +4,7 @@
|
|
||||||
|
|
||||||
ACTION=="remove", GOTO="net-sriov-names_end"
|
|
||||||
SUBSYSTEM!="net", GOTO="net-sriov-names_end"
|
|
||||||
+KERNEL!="eth*", GOTO="net-sriov-names_end"
|
|
||||||
|
|
||||||
IMPORT{cmdline}="net.ifnames"
|
|
||||||
ENV{net.ifnames}=="1", GOTO="net-sriov-names_end"
|
|
@ -1,12 +0,0 @@
|
|||||||
Index: systemd-210/src/udev/rule_generator/76-net-sriov-names.rules
|
|
||||||
===================================================================
|
|
||||||
--- systemd-210.orig/src/udev/rule_generator/76-net-sriov-names.rules
|
|
||||||
+++ systemd-210/src/udev/rule_generator/76-net-sriov-names.rules
|
|
||||||
@@ -5,6 +5,7 @@
|
|
||||||
ACTION=="remove", GOTO="net-sriov-names_end"
|
|
||||||
SUBSYSTEM!="net", GOTO="net-sriov-names_end"
|
|
||||||
KERNEL!="eth*", GOTO="net-sriov-names_end"
|
|
||||||
+NAME=="?*", GOTO="net-sriov-names_end"
|
|
||||||
|
|
||||||
IMPORT{cmdline}="net.ifnames"
|
|
||||||
ENV{net.ifnames}=="1", GOTO="net-sriov-names_end"
|
|
@ -1,29 +0,0 @@
|
|||||||
Index: systemd-210/src/udev/rule_generator/write_net_rules
|
|
||||||
===================================================================
|
|
||||||
--- systemd-210.orig/src/udev/rule_generator/write_net_rules
|
|
||||||
+++ systemd-210/src/udev/rule_generator/write_net_rules
|
|
||||||
@@ -89,6 +89,12 @@ choose_rules_file
|
|
||||||
|
|
||||||
# the DRIVERS key is needed to not match bridges and VLAN sub-interfaces
|
|
||||||
if [ "$MATCHADDR" ]; then
|
|
||||||
+ # Check if MACADDR doesn't exist already in the generated rules
|
|
||||||
+ MAC="$(/usr/bin/grep -w -o -C1 -m1 "$MATCHADDR" "$RULES_FILE" 2>/dev/null || true)"
|
|
||||||
+ if [ "$MAC" = "$MATCHADDR" ]; then
|
|
||||||
+ unlock_rules_file
|
|
||||||
+ exit 0
|
|
||||||
+ fi
|
|
||||||
match="$match, DRIVERS==\"?*\", ATTR{address}==\"$MATCHADDR\""
|
|
||||||
fi
|
|
||||||
|
|
||||||
@@ -101,8 +107,9 @@ if [ "$MATCHDEVID" ]; then
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$MATCHID" ]; then
|
|
||||||
- ID="$(find_all_rules 'KERNELS==' "$MATCHID")"
|
|
||||||
- if [ "$ID" == "$MATCHID" ]; then
|
|
||||||
+ # Check if KERNEL doesn't exist already in the generated rules
|
|
||||||
+ KERNEL="$(find_all_rules 'KERNELS==' "$MATCHID")"
|
|
||||||
+ if [ "$KERNEL" = "$MATCHID" ]; then
|
|
||||||
unlock_rules_file
|
|
||||||
exit 0
|
|
||||||
fi
|
|
@ -1,11 +0,0 @@
|
|||||||
Index: systemd-210/src/udev/rule_generator/76-net-sriov-names.rules
|
|
||||||
===================================================================
|
|
||||||
--- systemd-210.orig/src/udev/rule_generator/76-net-sriov-names.rules
|
|
||||||
+++ systemd-210/src/udev/rule_generator/76-net-sriov-names.rules
|
|
||||||
@@ -15,6 +15,5 @@ SUBSYSTEM=="net", SUBSYSTEMS=="pci", ACT
|
|
||||||
|
|
||||||
# rename interface if needed
|
|
||||||
ENV{INTERFACE_NEW}=="?*", NAME="$env{INTERFACE_NEW}"
|
|
||||||
-ENV{INTERFACE_NEW}=="", DRIVERS=="cxgb4vf|igbvf|ixgbevf", NAME="vf$attr{ifindex}"
|
|
||||||
|
|
||||||
LABEL="net-sriov-names_end"
|
|
@ -1,3 +1,20 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon May 18 12:25:54 UTC 2015 - jengelh@inai.de
|
||||||
|
|
||||||
|
- Drop 1021-udev-re-add-persistent-net-rules.patch,
|
||||||
|
1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch,
|
||||||
|
1040-re-enable-dev_id-conditionally-in-persistent-rules.patch,
|
||||||
|
1046-fix-duplicated-rules-with-layer3-interfaces.patch,
|
||||||
|
1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch,
|
||||||
|
1051-check-if-NAME-has-a-value.patch,
|
||||||
|
1053-better-checks-in-write_net_rules.patch,
|
||||||
|
1088-drop-renaming-of-virtual-interfaces-in-guest.patch.
|
||||||
|
1021 originally broke parsing of net.ifnames=0 [bnc#931165],
|
||||||
|
and given that neither the kernel command line needs to be
|
||||||
|
touched nor the source be patched to reach the unpredictable
|
||||||
|
naming setup for SLE, all these parts are moved to a separate
|
||||||
|
package.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon May 18 14:39:47 UTC 2015 - werner@suse.de
|
Mon May 18 14:39:47 UTC 2015 - werner@suse.de
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package systemd-mini
|
# spec file for package systemd-mini
|
||||||
#
|
#
|
||||||
# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -281,24 +281,10 @@ Patch1011: 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch
|
|||||||
Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch
|
Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch
|
||||||
# PATCH-FIX-SUSE Do not use runtime PM for some IBM consoles (bnc#868931)
|
# PATCH-FIX-SUSE Do not use runtime PM for some IBM consoles (bnc#868931)
|
||||||
Patch1013: 1013-no-runtime-PM-for-IBM-consoles.patch
|
Patch1013: 1013-no-runtime-PM-for-IBM-consoles.patch
|
||||||
# PATCH-FIX-SUSE 1021-udev-re-add-persistent-net-rules.patch
|
|
||||||
Patch1021: 1021-udev-re-add-persistent-net-rules.patch
|
|
||||||
# PATCH-FIX-SUSE 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch
|
# PATCH-FIX-SUSE 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch
|
||||||
Patch1035: 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch
|
Patch1035: 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch
|
||||||
# PATCH-FIX-SUSE 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch
|
|
||||||
Patch1036: 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch
|
|
||||||
# PATCH-FIX-SUSE See bnc#882714 comment #51
|
# PATCH-FIX-SUSE See bnc#882714 comment #51
|
||||||
Patch1037: 1037-udev-exclude-cd-dvd-from-block-device.patch
|
Patch1037: 1037-udev-exclude-cd-dvd-from-block-device.patch
|
||||||
# PATCH-FIX-SUSE 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch (bnc#884403 and bnc#882714)
|
|
||||||
Patch1040: 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch
|
|
||||||
# PATCH-FIX-SUSE 1046-fix-duplicated-rules-with-layer3-interfaces.patch (bnc#882714)
|
|
||||||
Patch1046: 1046-fix-duplicated-rules-with-layer3-interfaces.patch
|
|
||||||
# PATCH-FIX-SUSE 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch (bnc#885232)
|
|
||||||
Patch1050: 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch
|
|
||||||
# PATCH-FIX-SUSE 1051-check-if-NAME-has-a-value.patch (bnc#885232)
|
|
||||||
Patch1051: 1051-check-if-NAME-has-a-value.patch
|
|
||||||
# PATCH-FIX-SUSE 1053-better-checks-in-write_net_rules.patch (bnc#888178)
|
|
||||||
Patch1053: 1053-better-checks-in-write_net_rules.patch
|
|
||||||
# PATCH-FIX-SUSE 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch
|
# PATCH-FIX-SUSE 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch
|
||||||
Patch1055: 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch
|
Patch1055: 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch
|
||||||
# PATCH-FIX-SUSE 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch
|
# PATCH-FIX-SUSE 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch
|
||||||
@ -307,8 +293,6 @@ Patch1060: 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.p
|
|||||||
Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch
|
Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch
|
||||||
# PATCH-FIX-SUSE 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch (bnc#886852)
|
# PATCH-FIX-SUSE 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch (bnc#886852)
|
||||||
Patch1066: 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch
|
Patch1066: 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch
|
||||||
# PATCH-FIX-SUSE 1088-drop-renaming-of-virtual-interfaces-in-guest.patch (bnc#898432)
|
|
||||||
Patch1088: 1088-drop-renaming-of-virtual-interfaces-in-guest.patch
|
|
||||||
# PATCH-FIX-SUSE 1095-set-ssd-disk-to-use-deadline-scheduler.patch (bnc#904517)
|
# PATCH-FIX-SUSE 1095-set-ssd-disk-to-use-deadline-scheduler.patch (bnc#904517)
|
||||||
Patch1095: 1095-set-ssd-disk-to-use-deadline-scheduler.patch
|
Patch1095: 1095-set-ssd-disk-to-use-deadline-scheduler.patch
|
||||||
# PATCH-FIX-SUSE 1096-new-udev-root-symlink-generator.patch
|
# PATCH-FIX-SUSE 1096-new-udev-root-symlink-generator.patch
|
||||||
@ -633,17 +617,10 @@ cp %{SOURCE7} m4/
|
|||||||
%patch1011 -p1
|
%patch1011 -p1
|
||||||
%patch1012 -p1
|
%patch1012 -p1
|
||||||
%patch1013 -p1
|
%patch1013 -p1
|
||||||
%patch1021 -p1
|
|
||||||
%patch1035 -p1
|
%patch1035 -p1
|
||||||
%patch1036 -p1
|
|
||||||
%if %{with blkrrpart}
|
%if %{with blkrrpart}
|
||||||
%patch1037 -p1
|
%patch1037 -p1
|
||||||
%endif
|
%endif
|
||||||
%patch1040 -p1
|
|
||||||
%patch1046 -p1
|
|
||||||
%patch1050 -p1
|
|
||||||
%patch1051 -p1
|
|
||||||
%patch1053 -p1
|
|
||||||
%if %{with blkrrpart}
|
%if %{with blkrrpart}
|
||||||
%else
|
%else
|
||||||
%patch1055 -p1
|
%patch1055 -p1
|
||||||
@ -651,7 +628,6 @@ cp %{SOURCE7} m4/
|
|||||||
%patch1060 -p1
|
%patch1060 -p1
|
||||||
%patch1062 -p1
|
%patch1062 -p1
|
||||||
%patch1066 -p1
|
%patch1066 -p1
|
||||||
%patch1088 -p1
|
|
||||||
%patch1095 -p1
|
%patch1095 -p1
|
||||||
%patch1096 -p1
|
%patch1096 -p1
|
||||||
%patch1097 -p1
|
%patch1097 -p1
|
||||||
@ -724,10 +700,6 @@ export LDFLAGS
|
|||||||
CFLAGS="$CFLAGS -DNET_IFNAMES=1"
|
CFLAGS="$CFLAGS -DNET_IFNAMES=1"
|
||||||
%else
|
%else
|
||||||
CFLAGS="$CFLAGS -DNET_IFNAMES=0"
|
CFLAGS="$CFLAGS -DNET_IFNAMES=0"
|
||||||
for rules in 75-persistent-net-generator 76-net-sriov-names
|
|
||||||
do
|
|
||||||
sed -ri '/^ENV\{net.ifnames\}=="1", GOTO="[^"]*"$/{ s/=="1"/!="0"/ }' src/udev/rule_generator/${rules}.rules
|
|
||||||
done
|
|
||||||
%endif
|
%endif
|
||||||
cflags -pipe CFLAGS
|
cflags -pipe CFLAGS
|
||||||
cflags -Wl,-O2 LDFLAGS
|
cflags -Wl,-O2 LDFLAGS
|
||||||
@ -1491,10 +1463,7 @@ exit 0
|
|||||||
%{_prefix}/lib/udev/scsi_id
|
%{_prefix}/lib/udev/scsi_id
|
||||||
%{_prefix}/lib/udev/v4l_id
|
%{_prefix}/lib/udev/v4l_id
|
||||||
%{_prefix}/lib/udev/udev-generate-persistent-rule
|
%{_prefix}/lib/udev/udev-generate-persistent-rule
|
||||||
%{_prefix}/lib/udev/net-set-sriov-names
|
|
||||||
%{_prefix}/lib/udev/remount-tmpfs
|
%{_prefix}/lib/udev/remount-tmpfs
|
||||||
%{_prefix}/lib/udev/rule_generator.functions
|
|
||||||
%{_prefix}/lib/udev/write_net_rules
|
|
||||||
%{_prefix}/lib/udev/rootsymlink-generator
|
%{_prefix}/lib/udev/rootsymlink-generator
|
||||||
%dir %{_prefix}/lib/udev/rules.d/
|
%dir %{_prefix}/lib/udev/rules.d/
|
||||||
%exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules
|
%exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules
|
||||||
|
@ -1,3 +1,20 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon May 18 12:25:54 UTC 2015 - jengelh@inai.de
|
||||||
|
|
||||||
|
- Drop 1021-udev-re-add-persistent-net-rules.patch,
|
||||||
|
1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch,
|
||||||
|
1040-re-enable-dev_id-conditionally-in-persistent-rules.patch,
|
||||||
|
1046-fix-duplicated-rules-with-layer3-interfaces.patch,
|
||||||
|
1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch,
|
||||||
|
1051-check-if-NAME-has-a-value.patch,
|
||||||
|
1053-better-checks-in-write_net_rules.patch,
|
||||||
|
1088-drop-renaming-of-virtual-interfaces-in-guest.patch.
|
||||||
|
1021 originally broke parsing of net.ifnames=0 [bnc#931165],
|
||||||
|
and given that neither the kernel command line needs to be
|
||||||
|
touched nor the source be patched to reach the unpredictable
|
||||||
|
naming setup for SLE, all these parts are moved to a separate
|
||||||
|
package.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon May 18 14:39:47 UTC 2015 - werner@suse.de
|
Mon May 18 14:39:47 UTC 2015 - werner@suse.de
|
||||||
|
|
||||||
|
33
systemd.spec
33
systemd.spec
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package systemd
|
# spec file for package systemd
|
||||||
#
|
#
|
||||||
# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -276,24 +276,10 @@ Patch1011: 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch
|
|||||||
Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch
|
Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch
|
||||||
# PATCH-FIX-SUSE Do not use runtime PM for some IBM consoles (bnc#868931)
|
# PATCH-FIX-SUSE Do not use runtime PM for some IBM consoles (bnc#868931)
|
||||||
Patch1013: 1013-no-runtime-PM-for-IBM-consoles.patch
|
Patch1013: 1013-no-runtime-PM-for-IBM-consoles.patch
|
||||||
# PATCH-FIX-SUSE 1021-udev-re-add-persistent-net-rules.patch
|
|
||||||
Patch1021: 1021-udev-re-add-persistent-net-rules.patch
|
|
||||||
# PATCH-FIX-SUSE 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch
|
# PATCH-FIX-SUSE 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch
|
||||||
Patch1035: 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch
|
Patch1035: 1035-99-systemd.rules-Ignore-devices-with-SYSTEMD_READY-0.patch
|
||||||
# PATCH-FIX-SUSE 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch
|
|
||||||
Patch1036: 1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch
|
|
||||||
# PATCH-FIX-SUSE See bnc#882714 comment #51
|
# PATCH-FIX-SUSE See bnc#882714 comment #51
|
||||||
Patch1037: 1037-udev-exclude-cd-dvd-from-block-device.patch
|
Patch1037: 1037-udev-exclude-cd-dvd-from-block-device.patch
|
||||||
# PATCH-FIX-SUSE 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch (bnc#884403 and bnc#882714)
|
|
||||||
Patch1040: 1040-re-enable-dev_id-conditionally-in-persistent-rules.patch
|
|
||||||
# PATCH-FIX-SUSE 1046-fix-duplicated-rules-with-layer3-interfaces.patch (bnc#882714)
|
|
||||||
Patch1046: 1046-fix-duplicated-rules-with-layer3-interfaces.patch
|
|
||||||
# PATCH-FIX-SUSE 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch (bnc#885232)
|
|
||||||
Patch1050: 1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch
|
|
||||||
# PATCH-FIX-SUSE 1051-check-if-NAME-has-a-value.patch (bnc#885232)
|
|
||||||
Patch1051: 1051-check-if-NAME-has-a-value.patch
|
|
||||||
# PATCH-FIX-SUSE 1053-better-checks-in-write_net_rules.patch (bnc#888178)
|
|
||||||
Patch1053: 1053-better-checks-in-write_net_rules.patch
|
|
||||||
# PATCH-FIX-SUSE 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch
|
# PATCH-FIX-SUSE 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch
|
||||||
Patch1055: 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch
|
Patch1055: 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch
|
||||||
# PATCH-FIX-SUSE 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch
|
# PATCH-FIX-SUSE 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch
|
||||||
@ -302,8 +288,6 @@ Patch1060: 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.p
|
|||||||
Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch
|
Patch1062: 1062-rules-set-default-permissions-for-GenWQE-devices.patch
|
||||||
# PATCH-FIX-SUSE 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch (bnc#886852)
|
# PATCH-FIX-SUSE 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch (bnc#886852)
|
||||||
Patch1066: 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch
|
Patch1066: 1066-udev-add-compatibility-links-for-truncated-by-id-links.patch
|
||||||
# PATCH-FIX-SUSE 1088-drop-renaming-of-virtual-interfaces-in-guest.patch (bnc#898432)
|
|
||||||
Patch1088: 1088-drop-renaming-of-virtual-interfaces-in-guest.patch
|
|
||||||
# PATCH-FIX-SUSE 1095-set-ssd-disk-to-use-deadline-scheduler.patch (bnc#904517)
|
# PATCH-FIX-SUSE 1095-set-ssd-disk-to-use-deadline-scheduler.patch (bnc#904517)
|
||||||
Patch1095: 1095-set-ssd-disk-to-use-deadline-scheduler.patch
|
Patch1095: 1095-set-ssd-disk-to-use-deadline-scheduler.patch
|
||||||
# PATCH-FIX-SUSE 1096-new-udev-root-symlink-generator.patch
|
# PATCH-FIX-SUSE 1096-new-udev-root-symlink-generator.patch
|
||||||
@ -628,17 +612,10 @@ cp %{SOURCE7} m4/
|
|||||||
%patch1011 -p1
|
%patch1011 -p1
|
||||||
%patch1012 -p1
|
%patch1012 -p1
|
||||||
%patch1013 -p1
|
%patch1013 -p1
|
||||||
%patch1021 -p1
|
|
||||||
%patch1035 -p1
|
%patch1035 -p1
|
||||||
%patch1036 -p1
|
|
||||||
%if %{with blkrrpart}
|
%if %{with blkrrpart}
|
||||||
%patch1037 -p1
|
%patch1037 -p1
|
||||||
%endif
|
%endif
|
||||||
%patch1040 -p1
|
|
||||||
%patch1046 -p1
|
|
||||||
%patch1050 -p1
|
|
||||||
%patch1051 -p1
|
|
||||||
%patch1053 -p1
|
|
||||||
%if %{with blkrrpart}
|
%if %{with blkrrpart}
|
||||||
%else
|
%else
|
||||||
%patch1055 -p1
|
%patch1055 -p1
|
||||||
@ -646,7 +623,6 @@ cp %{SOURCE7} m4/
|
|||||||
%patch1060 -p1
|
%patch1060 -p1
|
||||||
%patch1062 -p1
|
%patch1062 -p1
|
||||||
%patch1066 -p1
|
%patch1066 -p1
|
||||||
%patch1088 -p1
|
|
||||||
%patch1095 -p1
|
%patch1095 -p1
|
||||||
%patch1096 -p1
|
%patch1096 -p1
|
||||||
%patch1097 -p1
|
%patch1097 -p1
|
||||||
@ -719,10 +695,6 @@ export LDFLAGS
|
|||||||
CFLAGS="$CFLAGS -DNET_IFNAMES=1"
|
CFLAGS="$CFLAGS -DNET_IFNAMES=1"
|
||||||
%else
|
%else
|
||||||
CFLAGS="$CFLAGS -DNET_IFNAMES=0"
|
CFLAGS="$CFLAGS -DNET_IFNAMES=0"
|
||||||
for rules in 75-persistent-net-generator 76-net-sriov-names
|
|
||||||
do
|
|
||||||
sed -ri '/^ENV\{net.ifnames\}=="1", GOTO="[^"]*"$/{ s/=="1"/!="0"/ }' src/udev/rule_generator/${rules}.rules
|
|
||||||
done
|
|
||||||
%endif
|
%endif
|
||||||
cflags -pipe CFLAGS
|
cflags -pipe CFLAGS
|
||||||
cflags -Wl,-O2 LDFLAGS
|
cflags -Wl,-O2 LDFLAGS
|
||||||
@ -1486,10 +1458,7 @@ exit 0
|
|||||||
%{_prefix}/lib/udev/scsi_id
|
%{_prefix}/lib/udev/scsi_id
|
||||||
%{_prefix}/lib/udev/v4l_id
|
%{_prefix}/lib/udev/v4l_id
|
||||||
%{_prefix}/lib/udev/udev-generate-persistent-rule
|
%{_prefix}/lib/udev/udev-generate-persistent-rule
|
||||||
%{_prefix}/lib/udev/net-set-sriov-names
|
|
||||||
%{_prefix}/lib/udev/remount-tmpfs
|
%{_prefix}/lib/udev/remount-tmpfs
|
||||||
%{_prefix}/lib/udev/rule_generator.functions
|
|
||||||
%{_prefix}/lib/udev/write_net_rules
|
|
||||||
%{_prefix}/lib/udev/rootsymlink-generator
|
%{_prefix}/lib/udev/rootsymlink-generator
|
||||||
%dir %{_prefix}/lib/udev/rules.d/
|
%dir %{_prefix}/lib/udev/rules.d/
|
||||||
%exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules
|
%exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules
|
||||||
|
Loading…
Reference in New Issue
Block a user