diff --git a/0001-Let-some-boolean-survive-a-daemon-reload.patch b/0001-Let-some-boolean-survive-a-daemon-reload.patch new file mode 100644 index 00000000..6e7b7fb9 --- /dev/null +++ b/0001-Let-some-boolean-survive-a-daemon-reload.patch @@ -0,0 +1,69 @@ +Based on deff2d3e18e831d63bf98dd4114e4e35e41966e8 Mon Sep 17 00:00:00 2001 +From: Werner Fink +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)) { diff --git a/1021-udev-re-add-persistent-net-rules.patch b/1021-udev-re-add-persistent-net-rules.patch deleted file mode 100644 index 5d21f1fe..00000000 --- a/1021-udev-re-add-persistent-net-rules.patch +++ /dev/null @@ -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 -+ -+# 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 . -+ -+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= 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 -+# Copyright (C) 2007 Kay Sievers -+# -+# 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 . -+ -+# debug, if UDEV_LOG= -+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 diff --git a/1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch b/1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch deleted file mode 100644 index d26c49c0..00000000 --- a/1036-rules-disable-usage-of-dev_id-in-persistent-rules.patch +++ /dev/null @@ -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}="" diff --git a/1040-re-enable-dev_id-conditionally-in-persistent-rules.patch b/1040-re-enable-dev_id-conditionally-in-persistent-rules.patch deleted file mode 100644 index e203d8d3..00000000 --- a/1040-re-enable-dev_id-conditionally-in-persistent-rules.patch +++ /dev/null @@ -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}="" diff --git a/1046-fix-duplicated-rules-with-layer3-interfaces.patch b/1046-fix-duplicated-rules-with-layer3-interfaces.patch deleted file mode 100644 index 47445a83..00000000 --- a/1046-fix-duplicated-rules-with-layer3-interfaces.patch +++ /dev/null @@ -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 - diff --git a/1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch b/1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch deleted file mode 100644 index 5a89f11c..00000000 --- a/1050-only-rename-SRIOV-VF-devices-when-name-starts-with-eth.patch +++ /dev/null @@ -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" diff --git a/1051-check-if-NAME-has-a-value.patch b/1051-check-if-NAME-has-a-value.patch deleted file mode 100644 index 3ea5f800..00000000 --- a/1051-check-if-NAME-has-a-value.patch +++ /dev/null @@ -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" diff --git a/1053-better-checks-in-write_net_rules.patch b/1053-better-checks-in-write_net_rules.patch deleted file mode 100644 index 5fa8076d..00000000 --- a/1053-better-checks-in-write_net_rules.patch +++ /dev/null @@ -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 diff --git a/1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch b/1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch deleted file mode 100644 index 8a108af0..00000000 --- a/1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch +++ /dev/null @@ -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 : ""); - 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; diff --git a/1088-drop-renaming-of-virtual-interfaces-in-guest.patch b/1088-drop-renaming-of-virtual-interfaces-in-guest.patch deleted file mode 100644 index a25861cd..00000000 --- a/1088-drop-renaming-of-virtual-interfaces-in-guest.patch +++ /dev/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" diff --git a/1098-systemd-networkd-alias-network-service.patch b/1098-systemd-networkd-alias-network-service.patch new file mode 100644 index 00000000..92afb327 --- /dev/null +++ b/1098-systemd-networkd-alias-network-service.patch @@ -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 diff --git a/baselibs.conf b/baselibs.conf index 2738ae81..7ed6abac 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -5,7 +5,6 @@ systemd # postun "if [ "$1" == "0" ]; then" # postun "%{_sbindir}/pam-config -d --systemd || :" # postun "fi" -libudev0 libgudev-1_0-0 libudev1 nss-myhostname diff --git a/systemd-mini.changes b/systemd-mini.changes index 3c1a26a7..a469ea14 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -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 diff --git a/systemd-mini.spec b/systemd-mini.spec index 95168d8f..88c4728f 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -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 diff --git a/systemd.changes b/systemd.changes index 3c1a26a7..a469ea14 100644 --- a/systemd.changes +++ b/systemd.changes @@ -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 diff --git a/systemd.spec b/systemd.spec index 76876ece..8fbaa905 100644 --- a/systemd.spec +++ b/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