Accepting request 311646 from Base:System
- Remove libudev0 from baselibs.conf - Drop 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch as now upstream code - Add 0001-Let-some-boolean-survive-a-daemon-reload.patch to fix bsc#933365 and boo#934077 - Add 1098-systemd-networkd-alias-network-service.patch to alias network.service the same way NetworkManager and wicked does. This is needed by yast2 and other parts of the system. boo#933092 - Modify patch 1021-udev-re-add-persistent-net-rules.patch to use the new return values of proc_cmdline() in enable_name_policy() this should fix boo#931165 - 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. OBS-URL: https://build.opensuse.org/request/show/311646 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=221
This commit is contained in:
commit
6069a5cf17
69
0001-Let-some-boolean-survive-a-daemon-reload.patch
Normal file
69
0001-Let-some-boolean-survive-a-daemon-reload.patch
Normal file
@ -0,0 +1,69 @@
|
||||
Based on deff2d3e18e831d63bf98dd4114e4e35e41966e8 Mon Sep 17 00:00:00 2001
|
||||
From: Werner Fink <werner@suse.de>
|
||||
Date: Wed, 10 Jun 2015 10:47:13 +0200
|
||||
Subject: [PATCH] Let some boolean survive a daemon-reload
|
||||
|
||||
Without the boolean bus_name_good services as well as cgroup_realized
|
||||
for units a unit of Type=dbus and ExecReload sending SIGHUP to $MAINPID
|
||||
will be terminated if systemd will be daemon reloaded.
|
||||
|
||||
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=746151
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=78311
|
||||
https://bugzilla.opensuse.org/show_bug.cgi?id=934077
|
||||
---
|
||||
src/core/service.c | 9 +++++++++
|
||||
src/core/unit.c | 11 +++++++++++
|
||||
2 files changed, 20 insertions(+)
|
||||
|
||||
--- systemd-219/src/core/service.c
|
||||
+++ systemd-219/src/core/service.c 2015-06-11 12:24:36.769519910 +0000
|
||||
@@ -1920,6 +1920,7 @@ static int service_serialize(Unit *u, FI
|
||||
unit_serialize_item_format(u, f, "main-pid", PID_FMT, s->main_pid);
|
||||
|
||||
unit_serialize_item(u, f, "main-pid-known", yes_no(s->main_pid_known));
|
||||
+ unit_serialize_item(u, f, "bus-name-good", yes_no(s->bus_name_good));
|
||||
|
||||
if (s->status_text)
|
||||
unit_serialize_item(u, f, "status-text", s->status_text);
|
||||
@@ -2044,6 +2045,14 @@ static int service_deserialize_item(Unit
|
||||
log_unit_debug(u->id, "Failed to parse main-pid-known value %s", value);
|
||||
else
|
||||
s->main_pid_known = b;
|
||||
+ } else if (streq(key, "bus-name-good")) {
|
||||
+ int b;
|
||||
+
|
||||
+ b = parse_boolean(value);
|
||||
+ if (b < 0)
|
||||
+ log_unit_debug(u->id, "Failed to parse bus-name-good value %s", value);
|
||||
+ else
|
||||
+ s->bus_name_good = b;
|
||||
} else if (streq(key, "status-text")) {
|
||||
char *t;
|
||||
|
||||
--- systemd-219/src/core/unit.c
|
||||
+++ systemd-219/src/core/unit.c 2015-06-11 12:30:56.805519155 +0000
|
||||
@@ -2612,6 +2612,7 @@ int unit_serialize(Unit *u, FILE *f, FDS
|
||||
|
||||
if (u->cgroup_path)
|
||||
unit_serialize_item(u, f, "cgroup", u->cgroup_path);
|
||||
+ unit_serialize_item(u, f, "cgroup-realized", yes_no(u->cgroup_realized));
|
||||
|
||||
if (serialize_jobs) {
|
||||
if (u->job) {
|
||||
@@ -2803,6 +2804,16 @@ int unit_deserialize(Unit *u, FILE *f, F
|
||||
assert(hashmap_put(u->manager->cgroup_unit, s, u) == 1);
|
||||
|
||||
continue;
|
||||
+ } else if (streq(l, "cgroup-realized")) {
|
||||
+ int b;
|
||||
+
|
||||
+ b = parse_boolean(v);
|
||||
+ if (b < 0)
|
||||
+ log_debug("Failed to parse cgroup-realized bool %s", v);
|
||||
+ else
|
||||
+ u->cgroup_realized = b;
|
||||
+
|
||||
+ continue;
|
||||
}
|
||||
|
||||
if (unit_can_serialize(u)) {
|
@ -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,26 +0,0 @@
|
||||
Exist only to be able to apply the patch
|
||||
1056-udevd-add-event-timeout-commandline-option.patch
|
||||
without the BLKRRPART ioctl patches.
|
||||
|
||||
--- systemd-210/src/udev/udevd.c
|
||||
+++ systemd-210/src/udev/udevd.c 2014-07-30 11:52:34.318235685 +0000
|
||||
@@ -1311,16 +1311,16 @@ int main(int argc, char *argv[])
|
||||
if (worker->state != WORKER_RUNNING)
|
||||
continue;
|
||||
|
||||
- if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > 30 * 1000 * 1000) {
|
||||
+ if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > 30 * USEC_PER_SEC) {
|
||||
log_error("worker [%u] %s timeout; kill it", worker->pid,
|
||||
worker->event ? worker->event->devpath : "<idle>");
|
||||
kill(worker->pid, SIGKILL);
|
||||
worker->state = WORKER_KILLED;
|
||||
+
|
||||
/* drop reference taken for state 'running' */
|
||||
worker_unref(worker);
|
||||
if (worker->event) {
|
||||
- log_error("seq %llu '%s' killed",
|
||||
- udev_device_get_seqnum(worker->event->dev), worker->event->devpath);
|
||||
+ log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath);
|
||||
worker->event->exitcode = -64;
|
||||
event_queue_delete(worker->event, true);
|
||||
worker->event = NULL;
|
@ -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"
|
10
1098-systemd-networkd-alias-network-service.patch
Normal file
10
1098-systemd-networkd-alias-network-service.patch
Normal file
@ -0,0 +1,10 @@
|
||||
Index: systemd-219/units/systemd-networkd.service.in
|
||||
===================================================================
|
||||
--- systemd-219.orig/units/systemd-networkd.service.in
|
||||
+++ systemd-219/units/systemd-networkd.service.in
|
||||
@@ -29,4 +29,5 @@ WatchdogSec=1min
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
+Alias=network.service
|
||||
Also=systemd-networkd.socket
|
@ -5,7 +5,6 @@ systemd
|
||||
# postun "if [ "$1" == "0" ]; then"
|
||||
# postun "<prefix>%{_sbindir}/pam-config -d --systemd || :"
|
||||
# postun "fi"
|
||||
libudev0
|
||||
libgudev-1_0-0
|
||||
libudev1
|
||||
nss-myhostname
|
||||
|
@ -1,3 +1,47 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 11 14:48:03 UTC 2015 - werner@suse.de
|
||||
|
||||
- Remove libudev0 from baselibs.conf
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 11 12:12:58 UTC 2015 - werner@suse.de
|
||||
|
||||
- Drop 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch
|
||||
as now upstream code
|
||||
- Add 0001-Let-some-boolean-survive-a-daemon-reload.patch to fix
|
||||
bsc#933365 and boo#934077
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 2 13:33:24 UTC 2015 - pwieczorkiewicz@suse.com
|
||||
|
||||
- Add 1098-systemd-networkd-alias-network-service.patch to alias
|
||||
network.service the same way NetworkManager and wicked does.
|
||||
This is needed by yast2 and other parts of the system. boo#933092
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon May 18 14:39:47 UTC 2015 - werner@suse.de
|
||||
|
||||
- Modify patch 1021-udev-re-add-persistent-net-rules.patch to use
|
||||
the new return values of proc_cmdline() in enable_name_policy()
|
||||
this should fix boo#931165
|
||||
|
||||
-------------------------------------------------------------------
|
||||
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 Mar 16 15:35:31 UTC 2015 - werner@suse.de
|
||||
|
||||
@ -1524,7 +1568,7 @@ Tue Jul 8 10:59:26 UTC 2014 - werner@suse.de
|
||||
0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch
|
||||
0007-service-flush-status-text-and-errno-values-each-time.patch
|
||||
|
||||
------------------------------------------------------------------
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 8 10:41:31 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add upstream patch
|
||||
@ -2366,7 +2410,7 @@ Wed Mar 12 14:35:10 UTC 2014 - werner@suse.de
|
||||
make sure that systemd can talk with dbus-daemon even on big
|
||||
endian systems (bnc#866732)
|
||||
|
||||
-----------------------------------------------------------------
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 11 11:32:37 UTC 2014 - hrvoje.senjan@gmail.com
|
||||
|
||||
- Due to previous reason, resurrect systemd-dbus-system-bus-address.patch
|
||||
@ -2374,7 +2418,7 @@ Tue Mar 11 11:32:37 UTC 2014 - hrvoje.senjan@gmail.com
|
||||
needed for quering default DBus directories, which we nowpass to configure.
|
||||
This also unbreaks libdbus <-> systemd-miniBuild Cycle
|
||||
|
||||
-----------------------------------------------------------------
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 11 11:01:53 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add or port upstream bugfix patches:
|
||||
@ -2858,6 +2902,7 @@ Wed Feb 26 12:43:17 UTC 2014 - werner@suse.de
|
||||
unmounted before the interface is down (bnc#861489)
|
||||
|
||||
+-------------------------------------------------------------------
|
||||
-------------------------------------------------------------------
|
||||
Sun Feb 23 23:47:06 UTC 2014 - stefan.bruens@rwth-aachen.de
|
||||
|
||||
- enable compat-libs, BuildRequires binutils-gold
|
||||
|
@ -254,6 +254,8 @@ Patch520: systemd-add-user-keep.patch
|
||||
# PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009)
|
||||
Patch521: kbd-model-map.patch
|
||||
Patch522: 0001-core-rework-device-state-logic.patch
|
||||
# PATCH-FIX-SUSE/PATCH-FIX-UPSTREAM
|
||||
Patch523: 0001-Let-some-boolean-survive-a-daemon-reload.patch
|
||||
|
||||
# UDEV PATCHES
|
||||
# ============
|
||||
@ -281,40 +283,24 @@ 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
|
||||
# PATCH-FIX-SUSE Do not use runtime PM for some IBM consoles (bnc#868931)
|
||||
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
|
||||
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
|
||||
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
|
||||
Patch1055: 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch
|
||||
# PATCH-FIX-SUSE 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch
|
||||
Patch1060: 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch
|
||||
# PATCH-FIX-SUSE 1062-rules-set-default-permissions-for-GenWQE-devices.patch (bnc#890977)
|
||||
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)
|
||||
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)
|
||||
Patch1095: 1095-set-ssd-disk-to-use-deadline-scheduler.patch
|
||||
# PATCH-FIX-SUSE 1096-new-udev-root-symlink-generator.patch
|
||||
Patch1096: 1096-new-udev-root-symlink-generator.patch
|
||||
# PATCH-FIX-SUSE 1097-udevd-increase-maximum-number-of-children.patch
|
||||
Patch1097: 1097-udevd-increase-maximum-number-of-children.patch
|
||||
# PATCH-FIX-OPENSUSE 1098-systemd-networkd-alias-network-service.patch
|
||||
Patch1098: 1098-systemd-networkd-alias-network-service.patch
|
||||
|
||||
%description
|
||||
Systemd is a system and service manager, compatible with SysV and LSB
|
||||
@ -622,6 +608,7 @@ cp %{SOURCE7} m4/
|
||||
%patch520 -p1
|
||||
%patch521 -p1
|
||||
%patch522 -p1
|
||||
%patch523 -p1
|
||||
|
||||
# udev patches
|
||||
%patch1001 -p1
|
||||
@ -633,28 +620,17 @@ cp %{SOURCE7} m4/
|
||||
%patch1011 -p1
|
||||
%patch1012 -p1
|
||||
%patch1013 -p1
|
||||
%patch1021 -p1
|
||||
%patch1035 -p1
|
||||
%patch1036 -p1
|
||||
%if %{with blkrrpart}
|
||||
%patch1037 -p1
|
||||
%endif
|
||||
%patch1040 -p1
|
||||
%patch1046 -p1
|
||||
%patch1050 -p1
|
||||
%patch1051 -p1
|
||||
%patch1053 -p1
|
||||
%if %{with blkrrpart}
|
||||
%else
|
||||
%patch1055 -p1
|
||||
%endif
|
||||
%patch1060 -p1
|
||||
%patch1062 -p1
|
||||
%patch1066 -p1
|
||||
%patch1088 -p1
|
||||
%patch1095 -p1
|
||||
%patch1096 -p1
|
||||
%patch1097 -p1
|
||||
%patch1098 -p1
|
||||
|
||||
# remove patch backups
|
||||
find -name '*.orig' -exec rm -f '{}' \+
|
||||
@ -724,10 +700,6 @@ export LDFLAGS
|
||||
CFLAGS="$CFLAGS -DNET_IFNAMES=1"
|
||||
%else
|
||||
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
|
||||
cflags -pipe CFLAGS
|
||||
cflags -Wl,-O2 LDFLAGS
|
||||
@ -1491,10 +1463,7 @@ exit 0
|
||||
%{_prefix}/lib/udev/scsi_id
|
||||
%{_prefix}/lib/udev/v4l_id
|
||||
%{_prefix}/lib/udev/udev-generate-persistent-rule
|
||||
%{_prefix}/lib/udev/net-set-sriov-names
|
||||
%{_prefix}/lib/udev/remount-tmpfs
|
||||
%{_prefix}/lib/udev/rule_generator.functions
|
||||
%{_prefix}/lib/udev/write_net_rules
|
||||
%{_prefix}/lib/udev/rootsymlink-generator
|
||||
%dir %{_prefix}/lib/udev/rules.d/
|
||||
%exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules
|
||||
|
@ -1,3 +1,47 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 11 14:48:03 UTC 2015 - werner@suse.de
|
||||
|
||||
- Remove libudev0 from baselibs.conf
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 11 12:12:58 UTC 2015 - werner@suse.de
|
||||
|
||||
- Drop 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch
|
||||
as now upstream code
|
||||
- Add 0001-Let-some-boolean-survive-a-daemon-reload.patch to fix
|
||||
bsc#933365 and boo#934077
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 2 13:33:24 UTC 2015 - pwieczorkiewicz@suse.com
|
||||
|
||||
- Add 1098-systemd-networkd-alias-network-service.patch to alias
|
||||
network.service the same way NetworkManager and wicked does.
|
||||
This is needed by yast2 and other parts of the system. boo#933092
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon May 18 14:39:47 UTC 2015 - werner@suse.de
|
||||
|
||||
- Modify patch 1021-udev-re-add-persistent-net-rules.patch to use
|
||||
the new return values of proc_cmdline() in enable_name_policy()
|
||||
this should fix boo#931165
|
||||
|
||||
-------------------------------------------------------------------
|
||||
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 Mar 16 15:35:31 UTC 2015 - werner@suse.de
|
||||
|
||||
@ -1524,7 +1568,7 @@ Tue Jul 8 10:59:26 UTC 2014 - werner@suse.de
|
||||
0006-systemctl-show-StatusErrno-value-in-systemctl-status.patch
|
||||
0007-service-flush-status-text-and-errno-values-each-time.patch
|
||||
|
||||
------------------------------------------------------------------
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 8 10:41:31 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add upstream patch
|
||||
@ -2366,7 +2410,7 @@ Wed Mar 12 14:35:10 UTC 2014 - werner@suse.de
|
||||
make sure that systemd can talk with dbus-daemon even on big
|
||||
endian systems (bnc#866732)
|
||||
|
||||
-----------------------------------------------------------------
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 11 11:32:37 UTC 2014 - hrvoje.senjan@gmail.com
|
||||
|
||||
- Due to previous reason, resurrect systemd-dbus-system-bus-address.patch
|
||||
@ -2374,7 +2418,7 @@ Tue Mar 11 11:32:37 UTC 2014 - hrvoje.senjan@gmail.com
|
||||
needed for quering default DBus directories, which we nowpass to configure.
|
||||
This also unbreaks libdbus <-> systemd-miniBuild Cycle
|
||||
|
||||
-----------------------------------------------------------------
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 11 11:01:53 UTC 2014 - werner@suse.de
|
||||
|
||||
- Add or port upstream bugfix patches:
|
||||
@ -2858,6 +2902,7 @@ Wed Feb 26 12:43:17 UTC 2014 - werner@suse.de
|
||||
unmounted before the interface is down (bnc#861489)
|
||||
|
||||
+-------------------------------------------------------------------
|
||||
-------------------------------------------------------------------
|
||||
Sun Feb 23 23:47:06 UTC 2014 - stefan.bruens@rwth-aachen.de
|
||||
|
||||
- enable compat-libs, BuildRequires binutils-gold
|
||||
|
43
systemd.spec
43
systemd.spec
@ -249,6 +249,8 @@ Patch520: systemd-add-user-keep.patch
|
||||
# PATCH-FIX-SUSE systemd-add-user-keep.patch (bnc#903009)
|
||||
Patch521: kbd-model-map.patch
|
||||
Patch522: 0001-core-rework-device-state-logic.patch
|
||||
# PATCH-FIX-SUSE/PATCH-FIX-UPSTREAM
|
||||
Patch523: 0001-Let-some-boolean-survive-a-daemon-reload.patch
|
||||
|
||||
# UDEV PATCHES
|
||||
# ============
|
||||
@ -276,40 +278,24 @@ 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
|
||||
# PATCH-FIX-SUSE Do not use runtime PM for some IBM consoles (bnc#868931)
|
||||
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
|
||||
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
|
||||
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
|
||||
Patch1055: 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch
|
||||
# PATCH-FIX-SUSE 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch
|
||||
Patch1060: 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch
|
||||
# PATCH-FIX-SUSE 1062-rules-set-default-permissions-for-GenWQE-devices.patch (bnc#890977)
|
||||
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)
|
||||
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)
|
||||
Patch1095: 1095-set-ssd-disk-to-use-deadline-scheduler.patch
|
||||
# PATCH-FIX-SUSE 1096-new-udev-root-symlink-generator.patch
|
||||
Patch1096: 1096-new-udev-root-symlink-generator.patch
|
||||
# PATCH-FIX-SUSE 1097-udevd-increase-maximum-number-of-children.patch
|
||||
Patch1097: 1097-udevd-increase-maximum-number-of-children.patch
|
||||
# PATCH-FIX-OPENSUSE 1098-systemd-networkd-alias-network-service.patch
|
||||
Patch1098: 1098-systemd-networkd-alias-network-service.patch
|
||||
|
||||
%description
|
||||
Systemd is a system and service manager, compatible with SysV and LSB
|
||||
@ -617,6 +603,7 @@ cp %{SOURCE7} m4/
|
||||
%patch520 -p1
|
||||
%patch521 -p1
|
||||
%patch522 -p1
|
||||
%patch523 -p1
|
||||
|
||||
# udev patches
|
||||
%patch1001 -p1
|
||||
@ -628,28 +615,17 @@ cp %{SOURCE7} m4/
|
||||
%patch1011 -p1
|
||||
%patch1012 -p1
|
||||
%patch1013 -p1
|
||||
%patch1021 -p1
|
||||
%patch1035 -p1
|
||||
%patch1036 -p1
|
||||
%if %{with blkrrpart}
|
||||
%patch1037 -p1
|
||||
%endif
|
||||
%patch1040 -p1
|
||||
%patch1046 -p1
|
||||
%patch1050 -p1
|
||||
%patch1051 -p1
|
||||
%patch1053 -p1
|
||||
%if %{with blkrrpart}
|
||||
%else
|
||||
%patch1055 -p1
|
||||
%endif
|
||||
%patch1060 -p1
|
||||
%patch1062 -p1
|
||||
%patch1066 -p1
|
||||
%patch1088 -p1
|
||||
%patch1095 -p1
|
||||
%patch1096 -p1
|
||||
%patch1097 -p1
|
||||
%patch1098 -p1
|
||||
|
||||
# remove patch backups
|
||||
find -name '*.orig' -exec rm -f '{}' \+
|
||||
@ -719,10 +695,6 @@ export LDFLAGS
|
||||
CFLAGS="$CFLAGS -DNET_IFNAMES=1"
|
||||
%else
|
||||
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
|
||||
cflags -pipe CFLAGS
|
||||
cflags -Wl,-O2 LDFLAGS
|
||||
@ -1486,10 +1458,7 @@ exit 0
|
||||
%{_prefix}/lib/udev/scsi_id
|
||||
%{_prefix}/lib/udev/v4l_id
|
||||
%{_prefix}/lib/udev/udev-generate-persistent-rule
|
||||
%{_prefix}/lib/udev/net-set-sriov-names
|
||||
%{_prefix}/lib/udev/remount-tmpfs
|
||||
%{_prefix}/lib/udev/rule_generator.functions
|
||||
%{_prefix}/lib/udev/write_net_rules
|
||||
%{_prefix}/lib/udev/rootsymlink-generator
|
||||
%dir %{_prefix}/lib/udev/rules.d/
|
||||
%exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules
|
||||
|
Loading…
Reference in New Issue
Block a user