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)
commite530f07e948ce58bec9e019524a147281c25e2e1
tree0c5a52a61790e13a98eaeef94bc119c229d2aeb2
parent74c4bce9cc66d70eff3023b8a048d0228869a12e
Provide workaround for dhcpcd/isc-dhcp-client + cloud-init for bookworm

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