Provide workaround for dhcpcd/isc-dhcp-client + cloud-init for bookworm
authorMichael Prokop <mika@grml.org>
Fri, 8 Sep 2023 15:41:48 +0000 (17:41 +0200)
committerMichael Prokop <mika@grml.org>
Fri, 8 Sep 2023 15:42:03 +0000 (17:42 +0200)
tl;dr: we still use isc-dhcp-client for Debian bookworm, and switch to
dhcpcd for Debian trixie/testing and unstable/sid.

In commit e7ada958c30 (released as v0.44.0) we switched from
isc-dhcp-client to dhcpcd.

Sadly, cloud-init has a hard dependency on isc-dhcp-client (at least as
of v21.4-2 and up and until incl. v23.2.1-1). Now with having both
cloud-init *and* dhcpcd in the GRML_FULL class, grml-live builds against
bookworm fail, because bookworm ships cloud-init 22.4.2-1 with a hard
dependency on isc-dhcp-client. But dhcpcd in bookworm has a
Conflicts/Replaces with dhcp-client (see
https://bugs.debian.org/1036085), so installation of both dhcpcd and
isc-dhcp-client at the same time doesn't work, *yet*.

Once dhcpcd5 v9.4.1-24~deb12u1 made its way towards bookworm/stable, see
https://bugs.debian.org/1040951, we might no longer need this
workaround.

For now, to ensure that GRML_FULL works on bookworm OOTB and we can
still ship cloud-init with with GRML_FULL, we enable the switch towards
dhcpcd only for Debian trixie/testing and newer (currently
unstable/sid). Also see https://bugs.debian.org/1051421 and
https://github.com/grml/grml-live/issues/138

NOTE: grml-small would NOT be affected by this issue (as we don't ship
cloud-init there so far, and therefore don't have any dependency on
isc-dhcp-client). But to avoid confusion between different Grml
flavours, let's keep the behavior consistent across the GRML* classes.

NOTEĀ²: at least once bookworm no longer is the current Debian stable
release we need to revert (adjust) the DEBIAN_* classes again.

Closes: https://github.com/grml/grml-live/issues/138

etc/grml/fai/config/package_config/DEBIAN_BOOKWORM [new file with mode: 0644]
etc/grml/fai/config/package_config/DEBIAN_STABLE [new file with mode: 0644]
etc/grml/fai/config/package_config/DEBIAN_TESTING [new file with mode: 0644]
etc/grml/fai/config/package_config/DEBIAN_TRIXIE [new file with mode: 0644]
etc/grml/fai/config/package_config/DEBIAN_UNSTABLE [new file with mode: 0644]
etc/grml/fai/config/package_config/GRML_FULL
etc/grml/fai/config/package_config/GRML_SMALL

diff --git a/etc/grml/fai/config/package_config/DEBIAN_BOOKWORM b/etc/grml/fai/config/package_config/DEBIAN_BOOKWORM
new file mode 100644 (file)
index 0000000..af1c28b
--- /dev/null
@@ -0,0 +1,10 @@
+PACKAGES install
+
+# NOTE: as of grml-live v0.44.0 we switched from isc-dhcp-client to dhcpcd.
+# But cloud-init has a hard dependency on isc-dhcp-client (at least as of
+# v21.4-2 and up and until incl. v23.2.1-1). To ensure that GRML_FULL also
+# works on bookworm OOTB and we can ship cloud-init, we enable the switch
+# towards dhcpcd only for Debian trixie/testing and newer. Also see
+# https://bugs.debian.org/1051421 and
+# https://github.com/grml/grml-live/issues/138
+isc-dhcp-client
diff --git a/etc/grml/fai/config/package_config/DEBIAN_STABLE b/etc/grml/fai/config/package_config/DEBIAN_STABLE
new file mode 100644 (file)
index 0000000..af1c28b
--- /dev/null
@@ -0,0 +1,10 @@
+PACKAGES install
+
+# NOTE: as of grml-live v0.44.0 we switched from isc-dhcp-client to dhcpcd.
+# But cloud-init has a hard dependency on isc-dhcp-client (at least as of
+# v21.4-2 and up and until incl. v23.2.1-1). To ensure that GRML_FULL also
+# works on bookworm OOTB and we can ship cloud-init, we enable the switch
+# towards dhcpcd only for Debian trixie/testing and newer. Also see
+# https://bugs.debian.org/1051421 and
+# https://github.com/grml/grml-live/issues/138
+isc-dhcp-client
diff --git a/etc/grml/fai/config/package_config/DEBIAN_TESTING b/etc/grml/fai/config/package_config/DEBIAN_TESTING
new file mode 100644 (file)
index 0000000..9a7cc24
--- /dev/null
@@ -0,0 +1,10 @@
+PACKAGES install
+
+# NOTE: as of grml-live v0.44.0 we switched from isc-dhcp-client to dhcpcd.
+# But cloud-init has a hard dependency on isc-dhcp-client (at least as of
+# v21.4-2 and up and until incl. v23.2.1-1). To ensure that GRML_FULL also
+# works on bookworm OOTB and we can ship cloud-init, we enable the switch
+# towards dhcpcd only for Debian trixie/testing and newer. Also see
+# https://bugs.debian.org/1051421 and
+# https://github.com/grml/grml-live/issues/138
+dhcpcd
diff --git a/etc/grml/fai/config/package_config/DEBIAN_TRIXIE b/etc/grml/fai/config/package_config/DEBIAN_TRIXIE
new file mode 100644 (file)
index 0000000..9a7cc24
--- /dev/null
@@ -0,0 +1,10 @@
+PACKAGES install
+
+# NOTE: as of grml-live v0.44.0 we switched from isc-dhcp-client to dhcpcd.
+# But cloud-init has a hard dependency on isc-dhcp-client (at least as of
+# v21.4-2 and up and until incl. v23.2.1-1). To ensure that GRML_FULL also
+# works on bookworm OOTB and we can ship cloud-init, we enable the switch
+# towards dhcpcd only for Debian trixie/testing and newer. Also see
+# https://bugs.debian.org/1051421 and
+# https://github.com/grml/grml-live/issues/138
+dhcpcd
diff --git a/etc/grml/fai/config/package_config/DEBIAN_UNSTABLE b/etc/grml/fai/config/package_config/DEBIAN_UNSTABLE
new file mode 100644 (file)
index 0000000..9a7cc24
--- /dev/null
@@ -0,0 +1,10 @@
+PACKAGES install
+
+# NOTE: as of grml-live v0.44.0 we switched from isc-dhcp-client to dhcpcd.
+# But cloud-init has a hard dependency on isc-dhcp-client (at least as of
+# v21.4-2 and up and until incl. v23.2.1-1). To ensure that GRML_FULL also
+# works on bookworm OOTB and we can ship cloud-init, we enable the switch
+# towards dhcpcd only for Debian trixie/testing and newer. Also see
+# https://bugs.debian.org/1051421 and
+# https://github.com/grml/grml-live/issues/138
+dhcpcd
index 2022b9f..5cceb2b 100644 (file)
@@ -158,7 +158,6 @@ bridge-utils
 cdpr
 cifs-utils
 cloud-init
-dhcpcd
 dnsmasq
 dnsutils
 ethstatus