meta: Add option to specify additional dependencies for package expand-on-first-boot in case an encrypted disk has to be resized

Message ID 20240904171614.138923-1-alexander.heinisch@siemens.com
State Superseded, archived
Headers show
Series meta: Add option to specify additional dependencies for package expand-on-first-boot in case an encrypted disk has to be resized | expand

Commit Message

alexander.heinisch Sept. 4, 2024, 5:16 p.m. UTC
From: Alexander Heinisch <alexander.heinisch@siemens.com>

Although, disk encryption itself is not handled in isar (as of now), downstream projects
using disk encryption break this package. To mitigate this, we added an additional variable
to specify debian packages to be installed, when disk encryption is used. Depending on the
specific implementation (tpm, password prompt, ...) downstream projects can set the dependencies
needed for their strategy to handle the resize.

Note: We decided against fixing this by bbappending in downstream packages, because we believe
this approach scales better and is also easier to maintain.

Signed-off-by: Alexander Heinisch <alexander.heinisch@siemens.com>
---
 .../expand-on-first-boot/expand-on-first-boot_1.5.bb          | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Jan Kiszka Sept. 5, 2024, 4:51 a.m. UTC | #1
On 04.09.24 19:16, alexander.heinisch@siemens.com wrote:
> From: Alexander Heinisch <alexander.heinisch@siemens.com>
> 
> Although, disk encryption itself is not handled in isar (as of now), downstream projects
> using disk encryption break this package. To mitigate this, we added an additional variable
> to specify debian packages to be installed, when disk encryption is used. Depending on the
> specific implementation (tpm, password prompt, ...) downstream projects can set the dependencies
> needed for their strategy to handle the resize.
> 
> Note: We decided against fixing this by bbappending in downstream packages, because we believe
> this approach scales better and is also easier to maintain.
> 
> Signed-off-by: Alexander Heinisch <alexander.heinisch@siemens.com>
> ---
>  .../expand-on-first-boot/expand-on-first-boot_1.5.bb          | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/meta/recipes-support/expand-on-first-boot/expand-on-first-boot_1.5.bb b/meta/recipes-support/expand-on-first-boot/expand-on-first-boot_1.5.bb
> index 1b5b066b..ea52ae9e 100644
> --- a/meta/recipes-support/expand-on-first-boot/expand-on-first-boot_1.5.bb
> +++ b/meta/recipes-support/expand-on-first-boot/expand-on-first-boot_1.5.bb
> @@ -10,7 +10,9 @@ inherit dpkg-raw
>  DESCRIPTION = "This service grows the last partition to the full medium during first boot"
>  MAINTAINER = "isar-users <isar-users@googlegroups.com>"
>  
> -DEBIAN_DEPENDS = "systemd, sed, grep, coreutils, mount, e2fsprogs, fdisk (>=2.29.2-3) | util-linux (<2.29.2-3), util-linux"
> +# Additional packages that are needed to resize the disk if it is encrypted.
> +ADDITIONAL_DISK_ENCRYPTION_PACKAGES ?= ""
> +DEBIAN_DEPENDS = "systemd, sed, grep, coreutils, mount, e2fsprogs, fdisk (>=2.29.2-3) | util-linux (<2.29.2-3), util-linux, ${ADDITIONAL_DISK_ENCRYPTION_PACKAGES}"

Maybe time to start wrapping this long line around (I explained around
how ;)).

Jan

>  
>  SRC_URI = " \
>      file://expand-on-first-boot.service \

Patch

diff --git a/meta/recipes-support/expand-on-first-boot/expand-on-first-boot_1.5.bb b/meta/recipes-support/expand-on-first-boot/expand-on-first-boot_1.5.bb
index 1b5b066b..ea52ae9e 100644
--- a/meta/recipes-support/expand-on-first-boot/expand-on-first-boot_1.5.bb
+++ b/meta/recipes-support/expand-on-first-boot/expand-on-first-boot_1.5.bb
@@ -10,7 +10,9 @@  inherit dpkg-raw
 DESCRIPTION = "This service grows the last partition to the full medium during first boot"
 MAINTAINER = "isar-users <isar-users@googlegroups.com>"
 
-DEBIAN_DEPENDS = "systemd, sed, grep, coreutils, mount, e2fsprogs, fdisk (>=2.29.2-3) | util-linux (<2.29.2-3), util-linux"
+# Additional packages that are needed to resize the disk if it is encrypted.
+ADDITIONAL_DISK_ENCRYPTION_PACKAGES ?= ""
+DEBIAN_DEPENDS = "systemd, sed, grep, coreutils, mount, e2fsprogs, fdisk (>=2.29.2-3) | util-linux (<2.29.2-3), util-linux, ${ADDITIONAL_DISK_ENCRYPTION_PACKAGES}"
 
 SRC_URI = " \
     file://expand-on-first-boot.service \