[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1013744: bullseye-pu: package ifenslave/2.13~deb11u1



Package: release.debian.org
Severity: normal
Tags: bullseye
User: release.debian.org@packages.debian.org
Usertags: pu
X-Debbugs-Cc: carnil@debian.org,guillem@debian.org

Dear SRM,

On the "known RC bugs" of the release notes two ifenslave bugs were
mentioned which people are interested to see fixed in bullseye.
Guillem Jover did fix those two (#990428, #968368) with an unstable
upload in october 2021.

In the same upload a couple of other bugfixes were done which seem
sensible to include, so instead of cherry-picking the two changes I
would like to propose a rebase to 2.13 for bullseye as well:

+ifenslave (2.13~deb11u1) bullseye; urgency=medium
+
+  * Rebuild for bullseye
+  * Revert "Bump Standards-Version to 4.6.0 (no changed needed)"

Reverthing here the Standards-Version bump (although this was no
change needed, but I assume you prefer to not have those changes).

+ -- Salvatore Bonaccorso <carnil@debian.org>  Sat, 25 Jun 2022 09:45:37 +0200
+
+ifenslave (2.13) unstable; urgency=medium
+
+  * QA upload.
+
+  [ Guillem Jover ]
+  * Fix MAC address setting messed up by udev for bond interfaces.
+    (Closes: #949062)

Not sure if you want this excluded. It installs a .link unit which
explicitly sets the MACAddressPolicy to none.

+  * Use ifquery instead of example contrib script ifstate. (Closes: #991930)
+  * Fix ifquery redirections.
+  * Bump Standards-Version to 4.6.0 (no changed needed).

Dropped above, but

+  * Remove long supported Linux version requirements from Description.

kept as it does not make sense to retain the "This package supports
2.6.x kernels and the recent 3.x.x kernels." formulation in the
description.
+
+  [ Sami Haahtinen ]
+  * Use correct argument in setup_slave_device(). (Closes: #968368)
+
+  [ Oleander Reis ]
+  * Handle slave definitions of interfaces with no bond settings.
+    (Closes: #990428)

Those two are the respective RC bugs fixed with the upload.

+  * Delete bond interfaces on ifdown -a. (Closes: #992102)
+
+ -- Guillem Jover <guillem@debian.org>  Sun, 17 Oct 2021 06:02:55 +0200

I have explicitly CC'ed Guillem as well who did the 2.13 upload to
unstable for comments. I'm open though to just cherry-pick the two
changes if you find this what should go to bullseye.

Regards,
Salvatore
diff -Nru ifenslave-2.12/debian/98-net-bonding.link ifenslave-2.13~deb11u1/debian/98-net-bonding.link
--- ifenslave-2.12/debian/98-net-bonding.link	1970-01-01 01:00:00.000000000 +0100
+++ ifenslave-2.13~deb11u1/debian/98-net-bonding.link	2022-06-25 09:45:37.000000000 +0200
@@ -0,0 +1,5 @@
+[Match]
+Driver=bonding
+
+[Link]
+MACAddressPolicy=none
diff -Nru ifenslave-2.12/debian/changelog ifenslave-2.13~deb11u1/debian/changelog
--- ifenslave-2.12/debian/changelog	2021-05-03 16:51:57.000000000 +0200
+++ ifenslave-2.13~deb11u1/debian/changelog	2022-06-25 09:45:37.000000000 +0200
@@ -1,3 +1,32 @@
+ifenslave (2.13~deb11u1) bullseye; urgency=medium
+
+  * Rebuild for bullseye
+  * Revert "Bump Standards-Version to 4.6.0 (no changed needed)"
+
+ -- Salvatore Bonaccorso <carnil@debian.org>  Sat, 25 Jun 2022 09:45:37 +0200
+
+ifenslave (2.13) unstable; urgency=medium
+
+  * QA upload.
+
+  [ Guillem Jover ]
+  * Fix MAC address setting messed up by udev for bond interfaces.
+    (Closes: #949062)
+  * Use ifquery instead of example contrib script ifstate. (Closes: #991930)
+  * Fix ifquery redirections.
+  * Bump Standards-Version to 4.6.0 (no changed needed).
+  * Remove long supported Linux version requirements from Description.
+
+  [ Sami Haahtinen ]
+  * Use correct argument in setup_slave_device(). (Closes: #968368)
+
+  [ Oleander Reis ]
+  * Handle slave definitions of interfaces with no bond settings.
+    (Closes: #990428)
+  * Delete bond interfaces on ifdown -a. (Closes: #992102)
+
+ -- Guillem Jover <guillem@debian.org>  Sun, 17 Oct 2021 06:02:55 +0200
+
 ifenslave (2.12) unstable; urgency=medium
 
   * QA upload.
diff -Nru ifenslave-2.12/debian/control ifenslave-2.13~deb11u1/debian/control
--- ifenslave-2.12/debian/control	2021-04-29 16:14:10.000000000 +0200
+++ ifenslave-2.13~deb11u1/debian/control	2022-06-25 09:45:37.000000000 +0200
@@ -26,4 +26,3 @@
  "channel bonding" or "trunking" techniques used in switches.
  .
  The kernel must have support for bonding devices for ifenslave to be useful.
- This package supports 2.6.x kernels and the recent 3.x.x kernels.
diff -Nru ifenslave-2.12/debian/ifenslave.if-post-down ifenslave-2.13~deb11u1/debian/ifenslave.if-post-down
--- ifenslave-2.12/debian/ifenslave.if-post-down	2021-04-29 16:14:10.000000000 +0200
+++ ifenslave-2.13~deb11u1/debian/ifenslave.if-post-down	2022-06-25 09:45:37.000000000 +0200
@@ -56,10 +56,13 @@
 read -r slaves < "$BOND_PARAMS/slaves"
 for slave in $slaves ; do
 	# This is supposed to have the side effect of freeing the interface.
-	ifquery --state "$slave" && ifdown $v "$slave"
+	ifquery --state "$slave" >/dev/null 2>&1 && ifdown $v "$slave"
 
 	# Anyway, ensure $slave is free.
 	if [ -f "/sys/class/net/$slave/master/bonding/slaves" ] ; then
 		echo "-$slave" > "$BOND_PARAMS/slaves" 2> /dev/null
 	fi
 done
+
+# Delete the bond interface
+ip link del dev "$IFACE"
diff -Nru ifenslave-2.12/debian/ifenslave.if-pre-up ifenslave-2.13~deb11u1/debian/ifenslave.if-pre-up
--- ifenslave-2.12/debian/ifenslave.if-pre-up	2021-05-03 16:41:02.000000000 +0200
+++ ifenslave-2.13~deb11u1/debian/ifenslave.if-pre-up	2022-06-25 09:45:37.000000000 +0200
@@ -83,8 +83,8 @@
 		export IFENSLAVE_ENV_NAME="IFUPDOWN_$slave"
 		IFUPDOWN_IFACE="$(printenv "$IFENSLAVE_ENV_NAME")"
 		unset IFENSLAVE_ENV_NAME
-		if ifquery --state "$slave" 2>/dev/null || [ -n "$IFUPDOWN_IFACE" ] ; then
-			# Skipping interface that's already up or being configured
+		if ( ( ifquery --state "$slave" >/dev/null 2>&1 ) && ( ifquery "$slave" | grep -q bond-master ) ) || [ -n "$IFUPDOWN_IFACE" ] ; then
+			# Skipping interface that's already up or being configured and has bonding configuration
 			continue
 		else
 			# Ensure $slave is down.
@@ -156,7 +156,7 @@
 			sysfs active_slave ""
 		else
 			# Need to force interface up before. Bonding will refuse to activate a down interface.
-			if ifquery -l "$IF_BOND_ACTIVE_SLAVE" 2>/dev/null ; then
+			if ifquery -l "$IF_BOND_ACTIVE_SLAVE" >/dev/null 2>&1 ; then
 				ifup "$IF_BOND_ACTIVE_SLAVE"
 			else
 				ip link set "$IF_BOND_ACTIVE_SLAVE" up
@@ -194,7 +194,7 @@
 
 setup_slave_device() {
 	# Require the bond master to have an iface stanza
-	if ! ifstate -l "$IF_BOND_MASTER" 2>/dev/null ; then
+	if ! ifquery -l "$IF_BOND_MASTER" >/dev/null 2>&1 ; then
 		echo "No iface stanza found for master $IF_BOND_MASTER" >&2
 		exit 1
 	fi
@@ -204,13 +204,13 @@
 	IFUPDOWN_IF_BOND_MASTER="$(printenv "$IFENSLAVE_ENV_NAME")"
 	unset IFENSLAVE_ENV_NAME
 	if [ -z "$IFUPDOWN_IF_BOND_MASTER" ] ; then
-		ifquery --state "$IF_BOND_MASTER" 2>/dev/null || ifup "$IF_BOND_MASTER"
+		ifquery --state "$IF_BOND_MASTER" >/dev/null 2>&1 || ifup "$IF_BOND_MASTER"
 	fi
 
 	# Enslave it to the master
-	ip link set "$slave" down 2>/dev/null
-	if ! sysfs_add slaves "$slave" 2>/dev/null ; then
-		echo "Failed to enslave $slave to $BOND_MASTER." >&2
+	ip link set "$1" down 2>/dev/null
+	if ! sysfs_add slaves "$1" 2>/dev/null ; then
+		echo "Failed to enslave $1 to $BOND_MASTER." >&2
 	fi
 
 	setup_primary
diff -Nru ifenslave-2.12/debian/ifenslave.install ifenslave-2.13~deb11u1/debian/ifenslave.install
--- ifenslave-2.12/debian/ifenslave.install	1970-01-01 01:00:00.000000000 +0100
+++ ifenslave-2.13~deb11u1/debian/ifenslave.install	2022-06-25 09:45:37.000000000 +0200
@@ -0,0 +1 @@
+debian/98-net-bonding.link    lib/systemd/network/

Reply to: