From e530f07e948ce58bec9e019524a147281c25e2e1 Mon Sep 17 00:00:00 2001 From: Michael Prokop Date: Fri, 8 Sep 2023 17:41:48 +0200 Subject: [PATCH] Provide workaround for dhcpcd/isc-dhcp-client + cloud-init for bookworm MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 | 10 ++++++++++ etc/grml/fai/config/package_config/DEBIAN_STABLE | 10 ++++++++++ etc/grml/fai/config/package_config/DEBIAN_TESTING | 10 ++++++++++ etc/grml/fai/config/package_config/DEBIAN_TRIXIE | 10 ++++++++++ etc/grml/fai/config/package_config/DEBIAN_UNSTABLE | 10 ++++++++++ etc/grml/fai/config/package_config/GRML_FULL | 1 - etc/grml/fai/config/package_config/GRML_SMALL | 1 - 7 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 etc/grml/fai/config/package_config/DEBIAN_BOOKWORM create mode 100644 etc/grml/fai/config/package_config/DEBIAN_STABLE create mode 100644 etc/grml/fai/config/package_config/DEBIAN_TESTING create mode 100644 etc/grml/fai/config/package_config/DEBIAN_TRIXIE create mode 100644 etc/grml/fai/config/package_config/DEBIAN_UNSTABLE diff --git a/etc/grml/fai/config/package_config/DEBIAN_BOOKWORM b/etc/grml/fai/config/package_config/DEBIAN_BOOKWORM new file mode 100644 index 0000000..af1c28b --- /dev/null +++ b/etc/grml/fai/config/package_config/DEBIAN_BOOKWORM @@ -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 index 0000000..af1c28b --- /dev/null +++ b/etc/grml/fai/config/package_config/DEBIAN_STABLE @@ -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 index 0000000..9a7cc24 --- /dev/null +++ b/etc/grml/fai/config/package_config/DEBIAN_TESTING @@ -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 index 0000000..9a7cc24 --- /dev/null +++ b/etc/grml/fai/config/package_config/DEBIAN_TRIXIE @@ -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 index 0000000..9a7cc24 --- /dev/null +++ b/etc/grml/fai/config/package_config/DEBIAN_UNSTABLE @@ -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/GRML_FULL b/etc/grml/fai/config/package_config/GRML_FULL index 2022b9f..5cceb2b 100644 --- a/etc/grml/fai/config/package_config/GRML_FULL +++ b/etc/grml/fai/config/package_config/GRML_FULL @@ -158,7 +158,6 @@ bridge-utils cdpr cifs-utils cloud-init -dhcpcd dnsmasq dnsutils ethstatus diff --git a/etc/grml/fai/config/package_config/GRML_SMALL b/etc/grml/fai/config/package_config/GRML_SMALL index e2b3849..3ad56a4 100644 --- a/etc/grml/fai/config/package_config/GRML_SMALL +++ b/etc/grml/fai/config/package_config/GRML_SMALL @@ -16,7 +16,6 @@ cpio cryptsetup cu dctrl-tools -dhcpcd diffutils disktype dmraid -- 2.1.4