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

Message ID 20240905072114.4838-1-alexander.heinisch@siemens.com
State Accepted, 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. 5, 2024, 7:21 a.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_1.5.bb                    | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

Comments

Jan Kiszka Sept. 5, 2024, 7:22 a.m. UTC | #1
On 05.09.24 09:21, 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_1.5.bb                    | 14 +++++++++++++-
>  1 file changed, 13 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..ebb22c84 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,19 @@ 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 \

Reviewed-by: Jan Kiszka <jan.kiszka@siemes.com>

Thanks,
Jan
Uladzimir Bely Sept. 9, 2024, 2:38 p.m. UTC | #2
On Thu, 2024-09-05 at 09:21 +0200, alexander.heinisch via isar-users
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_1.5.bb                    | 14
> +++++++++++++-
>  1 file changed, 13 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..ebb22c84 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,19 @@ 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 \
> -- 
> 2.43.0
> 

Applied to next, thanks.

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..ebb22c84 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,19 @@  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 \