systemd / mkosi

💽 Build Bespoke OS Images
https://mkosi.systemd.io/
1.16k stars 315 forks source link

CLI --environment FOO=foo is not available in scripts #2918

Closed plastikos closed 2 months ago

plastikos commented 2 months ago

mkosi commit the issue has been seen with

23.1 and d87c4dd08d7cb9ff504413640a004a92f36794c1

Used host distribution

Debian GNU/Linux trixie/sid

Used target distribution

Ubuntu Noble Numbat (24.04)

Linux kernel version used

6.9.9-amd64

CPU architectures issue was seen on

x86_64

Unexpected behaviour you saw

--environment FOO=foo does not result in an environment variable FOO set in scripts.

mkosi.postinst.chroot:

#!/bin/sh
set -eux
env | sort
printf "FOO=%s\n" "$FOO"

It appears that mkosi fails to process any CLI argument. Surely I'm doing something wrong ... ?

Used mkosi config

[Distribution]
Distribution=ubuntu
# noble == 24.04
Release=noble
Repositories=noble,main,restricted,universe
Architecture=x86-64

[Output]
Format=disk

[Content]
# let mkosi.postinst access the internet
# (needed because we are updating and installing packages there)
WithNetwork=yes
Bootable=yes
Bootloader=systemd-boot

[Validation]
SecureBoot=no

mkosi output

user@host:/tmp/mkosi_fails_to_process_cli_args$ PYTHONPATH="$HOME/dev/mkosi.git" python3.12 -m mkosi build --environment FOO=foo --environment BAR=bar
‣ Syncing package manager metadata for default image
Hit:1 http://security.ubuntu.com/ubuntu noble-security InRelease
Hit:2 http://archive.ubuntu.com/ubuntu noble InRelease
Hit:3 http://archive.ubuntu.com/ubuntu noble-updates InRelease
Reading package lists... Done
W: Skipping acquire of configured file 'noble/source/Sources' as repository 'http://security.ubuntu.com/ubuntu noble-security InRelease' doesn't have the component 'noble' (component misspelt in sources.list?)
W: Skipping acquire of configured file 'noble/binary-amd64/Packages' as repository 'http://security.ubuntu.com/ubuntu noble-security InRelease' doesn't have the component 'noble' (component misspelt in sources.list?)
W: Skipping acquire of configured file 'noble/i18n/Translation-en' as repository 'http://security.ubuntu.com/ubuntu noble-security InRelease' doesn't have the component 'noble' (component misspelt in sources.list?)
W: Skipping acquire of configured file 'noble/source/Sources' as repository 'http://archive.ubuntu.com/ubuntu noble InRelease' doesn't have the component 'noble' (component misspelt in sources.list?)
W: Skipping acquire of configured file 'noble/binary-amd64/Packages' as repository 'http://archive.ubuntu.com/ubuntu noble InRelease' doesn't have the component 'noble' (component misspelt in sources.list?)
W: Skipping acquire of configured file 'noble/i18n/Translation-en' as repository 'http://archive.ubuntu.com/ubuntu noble InRelease' doesn't have the component 'noble' (component misspelt in sources.list?)
W: Skipping acquire of configured file 'noble/source/Sources' as repository 'http://archive.ubuntu.com/ubuntu noble-updates InRelease' doesn't have the component 'noble' (component misspelt in sources.list?)
W: Skipping acquire of configured file 'noble/binary-amd64/Packages' as repository 'http://archive.ubuntu.com/ubuntu noble-updates InRelease' doesn't have the component 'noble' (component misspelt in sources.list?)
W: Skipping acquire of configured file 'noble/i18n/Translation-en' as repository 'http://archive.ubuntu.com/ubuntu noble-updates InRelease' doesn't have the component 'noble' (component misspelt in sources.list?)
‣ Building default image
‣  Installing Ubuntu
Reading package lists... Done
Building dependency tree... Done
Note, selecting 'base-files' instead of 'usr-is-merged'
The following additional packages will be installed:
  debconf gcc-14-base libacl1 libattr1 libaudit-common libaudit1 libblkid1 libbz2-1.0 libc6 libcap-ng0 libcap2 libcrypt1 libdb5.3t64
  libdebconfclient0 libgcc-s1 libgcrypt20 libgmp10 libgpg-error0 liblz4-1 liblzma5 libmd0 libmount1 libpam-modules libpam-modules-bin
  libpam-runtime libpam0g libpcre2-8-0 libselinux1 libsmartcols1 libssl3t64 libsystemd0 libtinfo6 libudev1 libuuid1 libzstd1 mawk zlib1g
Suggested packages:
  bash-doc debconf-doc debconf-kde-helper debconf-utils libgtk3-perl libnet-ldap-perl libterm-readline-gnu-perl perl whiptail | dialog
  diffutils-doc wdiff apt debsig-verify less manpages glibc-doc locales libnss-nis libnss-nisplus rng-tools cryptsetup-bin libpam-doc
  sensible-utils bzip2 ncompress xz-utils tar-scripts tar-doc dosfstools kbd util-linux-extra util-linux-locales
Recommended packages:
  bash-completion bsdextrautils apt-utils debconf-i18n libidn2-0 libgpg-error-l10n uuid-runtime sensible-utils
The following NEW packages will be installed:
  base-files base-passwd bash bsdutils coreutils dash debconf debianutils diffutils dpkg findutils gcc-14-base grep gzip hostname
  init-system-helpers libacl1 libattr1 libaudit-common libaudit1 libblkid1 libbz2-1.0 libc-bin libc6 libcap-ng0 libcap2 libcrypt1 libdb5.3t64
  libdebconfclient0 libgcc-s1 libgcrypt20 libgmp10 libgpg-error0 liblz4-1 liblzma5 libmd0 libmount1 libpam-modules libpam-modules-bin
  libpam-runtime libpam0g libpcre2-8-0 libselinux1 libsmartcols1 libssl3t64 libsystemd0 libtinfo6 libudev1 libuuid1 libzstd1 login mawk
  ncurses-base ncurses-bin perl-base sed sysvinit-utils tar util-linux zlib1g
0 upgraded, 60 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/19.0 MB of archives.
After this operation, 69.3 MB of additional disk space will be used.
/usr/bin/dpkg --root=/buildroot --force-unsafe-io --force-architecture --force-depends --no-debsig --status-fd 26 --no-triggers --unpack --auto-deconfigure /var/cache/apt/archives/gcc-14-base_14-20240412-0ubuntu1_amd64.deb /var/cache/apt/archives/libgcc-s1_14-20240412-0ubuntu1_amd64.deb /var/cache/apt/archives/libc6_2.39-0ubuntu8.2_amd64.deb /var/cache/apt/archives/mawk_1.3.4.20240123-1build1_amd64.deb /var/cache/apt/archives/libcrypt1_1%3a4.4.36-4build1_amd64.deb 
/usr/bin/dpkg --root=/buildroot --force-unsafe-io --force-architecture --force-depends --no-debsig --status-fd 26 --no-triggers --configure gcc-14-base:amd64 libgcc-s1:amd64 libc6:amd64 mawk:amd64 
/usr/bin/dpkg --root=/buildroot --force-unsafe-io --force-architecture --force-depends --no-debsig --status-fd 26 --no-triggers --unpack --auto-deconfigure /var/cache/apt/archives/base-files_13ubuntu10_amd64.deb /var/cache/apt/archives/libtinfo6_6.4+20240113-1ubuntu2_amd64.deb /var/cache/apt/archives/debianutils_5.17build1_amd64.deb 
/usr/bin/dpkg --root=/buildroot --force-unsafe-io --force-architecture --force-depends --no-debsig --status-fd 26 --no-triggers --configure libtinfo6:amd64 
/usr/bin/dpkg --root=/buildroot --force-unsafe-io --force-architecture --force-depends --no-debsig --status-fd 26 --no-triggers --unpack --auto-deconfigure /var/cache/apt/archives/bash_5.2.21-2ubuntu4_amd64.deb /var/cache/apt/archives/libcap2_1%3a2.66-5ubuntu2_amd64.deb /var/cache/apt/archives/libgpg-error0_1.47-3build2_amd64.deb /var/cache/apt/archives/libgcrypt20_1.10.3-2build1_amd64.deb /var/cache/apt/archives/liblz4-1_1.9.4-1build1_amd64.deb /var/cache/apt/archives/liblzma5_5.6.1+really5.4.5-1_amd64.deb /var/cache/apt/archives/libzstd1_1.5.5+dfsg2-2build1_amd64.deb /var/cache/apt/archives/libsystemd0_255.4-1ubuntu8.2_amd64.deb 
/usr/bin/dpkg --root=/buildroot --force-unsafe-io --force-architecture --force-depends --no-debsig --status-fd 26 --no-triggers --configure libcap2:amd64 libgpg-error0:amd64 libgcrypt20:amd64 liblz4-1:amd64 liblzma5:amd64 libzstd1:amd64 libsystemd0:amd64 
/usr/bin/dpkg --root=/buildroot --force-unsafe-io --force-architecture --force-depends --no-debsig --status-fd 26 --no-triggers --unpack --auto-deconfigure /var/cache/apt/archives/bsdutils_1%3a2.39.3-9ubuntu6_amd64.deb /var/cache/apt/archives/libacl1_2.3.2-1build1_amd64.deb /var/cache/apt/archives/libattr1_1%3a2.5.2-1build1_amd64.deb /var/cache/apt/archives/libgmp10_2%3a6.3.0+dfsg-2ubuntu6_amd64.deb /var/cache/apt/archives/libpcre2-8-0_10.42-4ubuntu2_amd64.deb /var/cache/apt/archives/libselinux1_3.5-2ubuntu2_amd64.deb /var/cache/apt/archives/libssl3t64_3.0.13-0ubuntu3.1_amd64.deb 
/usr/bin/dpkg --root=/buildroot --force-unsafe-io --force-architecture --force-depends --no-debsig --status-fd 26 --no-triggers --configure libacl1:amd64 libattr1:amd64 libgmp10:amd64 libpcre2-8-0:amd64 libselinux1:amd64 libssl3t64:amd64 
/usr/bin/dpkg --root=/buildroot --force-unsafe-io --force-architecture --force-depends --no-debsig --status-fd 26 --no-triggers --unpack --auto-deconfigure /var/cache/apt/archives/coreutils_9.4-3ubuntu6_amd64.deb /var/cache/apt/archives/libbz2-1.0_1.0.8-5.1_amd64.deb /var/cache/apt/archives/libmd0_1.1.0-2build1_amd64.deb /var/cache/apt/archives/zlib1g_1%3a1.3.dfsg-3.1ubuntu2_amd64.deb /var/cache/apt/archives/tar_1.35+dfsg-3build1_amd64.deb 
/usr/bin/dpkg --root=/buildroot --force-unsafe-io --force-architecture --force-depends --no-debsig --status-fd 26 --no-triggers --configure libbz2-1.0:amd64 libmd0:amd64 zlib1g:amd64 
/usr/bin/dpkg --root=/buildroot --force-unsafe-io --force-architecture --force-depends --no-debsig --status-fd 26 --no-triggers --unpack --auto-deconfigure /var/cache/apt/archives/dpkg_1.22.6ubuntu6_amd64.deb /var/cache/apt/archives/dash_0.5.12-6ubuntu5_amd64.deb /var/cache/apt/archives/diffutils_1%3a3.10-1build1_amd64.deb /var/cache/apt/archives/findutils_4.9.0-5build1_amd64.deb /var/cache/apt/archives/grep_3.11-4build1_amd64.deb /var/cache/apt/archives/gzip_1.12-1ubuntu3_amd64.deb /var/cache/apt/archives/hostname_3.23+nmu2ubuntu2_amd64.deb /var/cache/apt/archives/libaudit-common_1%3a3.1.2-2.1build1_all.deb /var/cache/apt/archives/libcap-ng0_0.8.4-2build2_amd64.deb /var/cache/apt/archives/libaudit1_1%3a3.1.2-2.1build1_amd64.deb /var/cache/apt/archives/debconf_1.5.86ubuntu1_all.deb /var/cache/apt/archives/libpam0g_1.5.3-5ubuntu5.1_amd64.deb /var/cache/apt/archives/libdb5.3t64_5.3.28+dfsg2-7_amd64.deb /var/cache/apt/archives/libpam-modules-bin_1.5.3-5ubuntu5.1_amd64.deb 
/usr/bin/dpkg --root=/buildroot --force-unsafe-io --force-architecture --force-depends --no-debsig --status-fd 26 --no-triggers --configure libaudit-common:all libcap-ng0:amd64 libaudit1:amd64 libcrypt1:amd64 libdb5.3t64:amd64 debconf:all libpam0g:amd64 libpam-modules-bin:amd64 
/usr/bin/dpkg --root=/buildroot --force-unsafe-io --force-architecture --force-depends --no-debsig --status-fd 26 --no-triggers --unpack --auto-deconfigure /var/cache/apt/archives/libpam-modules_1.5.3-5ubuntu5.1_amd64.deb /var/cache/apt/archives/libpam-runtime_1.5.3-5ubuntu5.1_all.deb 
/usr/bin/dpkg --root=/buildroot --force-unsafe-io --force-architecture --force-depends --no-debsig --status-fd 26 --no-triggers --configure libpam-modules:amd64 libpam-runtime:all 
/usr/bin/dpkg --root=/buildroot --force-unsafe-io --force-architecture --force-depends --no-debsig --status-fd 26 --no-triggers --unpack --auto-deconfigure /var/cache/apt/archives/login_1%3a4.13+dfsg1-4ubuntu3_amd64.deb /var/cache/apt/archives/ncurses-bin_6.4+20240113-1ubuntu2_amd64.deb 
/usr/bin/dpkg --root=/buildroot --force-unsafe-io --force-architecture --force-depends --no-debsig --status-fd 26 --no-triggers --configure tar:amd64 dpkg:amd64 
/usr/bin/dpkg --root=/buildroot --force-unsafe-io --force-architecture --force-depends --no-debsig --status-fd 26 --no-triggers --unpack --auto-deconfigure /var/cache/apt/archives/perl-base_5.38.2-3.2build2_amd64.deb /var/cache/apt/archives/sed_4.9-2build1_amd64.deb /var/cache/apt/archives/libblkid1_2.39.3-9ubuntu6_amd64.deb /var/cache/apt/archives/libmount1_2.39.3-9ubuntu6_amd64.deb /var/cache/apt/archives/libsmartcols1_2.39.3-9ubuntu6_amd64.deb /var/cache/apt/archives/libudev1_255.4-1ubuntu8.2_amd64.deb /var/cache/apt/archives/libuuid1_2.39.3-9ubuntu6_amd64.deb 
/usr/bin/dpkg --root=/buildroot --force-unsafe-io --force-architecture --force-depends --no-debsig --status-fd 26 --no-triggers --configure libblkid1:amd64 libmount1:amd64 libsmartcols1:amd64 libudev1:amd64 libuuid1:amd64 
/usr/bin/dpkg --root=/buildroot --force-unsafe-io --force-architecture --force-depends --no-debsig --status-fd 26 --no-triggers --unpack --auto-deconfigure /var/cache/apt/archives/util-linux_2.39.3-9ubuntu6_amd64.deb /var/cache/apt/archives/libdebconfclient0_0.271ubuntu3_amd64.deb /var/cache/apt/archives/base-passwd_3.6.3build1_amd64.deb /var/cache/apt/archives/init-system-helpers_1.66ubuntu1_all.deb /var/cache/apt/archives/libc-bin_2.39-0ubuntu8.2_amd64.deb /var/cache/apt/archives/ncurses-base_6.4+20240113-1ubuntu2_all.deb /var/cache/apt/archives/sysvinit-utils_3.08-6ubuntu3_amd64.deb 
/usr/bin/dpkg --root=/buildroot --force-unsafe-io --force-architecture --force-depends --no-debsig --status-fd 26 --configure --pending 
Reading package lists... Done
Building dependency tree... Done
Suggested packages:
  bash-doc debconf-doc debconf-kde-helper debconf-utils libgtk3-perl libnet-ldap-perl libterm-readline-gnu-perl perl whiptail | dialog
  diffutils-doc wdiff apt debsig-verify less manpages glibc-doc locales libnss-nis libnss-nisplus rng-tools cryptsetup-bin libpam-doc
  sensible-utils bzip2 ncompress xz-utils tar-scripts tar-doc dosfstools kbd util-linux-extra util-linux-locales
Recommended packages:
  bash-completion bsdextrautils apt-utils debconf-i18n libidn2-0 libgpg-error-l10n uuid-runtime sensible-utils
The following NEW packages will be installed:
  base-files base-passwd bash bsdutils coreutils dash debconf debianutils diffutils dpkg findutils gcc-14-base grep gzip hostname
  init-system-helpers libacl1 libattr1 libaudit-common libaudit1 libblkid1 libbz2-1.0 libc-bin libc6 libcap-ng0 libcap2 libcrypt1 libdb5.3t64
  libdebconfclient0 libgcc-s1 libgcrypt20 libgmp10 libgpg-error0 liblz4-1 liblzma5 libmd0 libmount1 libpam-modules libpam-modules-bin
  libpam-runtime libpam0g libpcre2-8-0 libselinux1 libsmartcols1 libssl3t64 libsystemd0 libtinfo6 libudev1 libuuid1 libzstd1 login mawk
  ncurses-base ncurses-bin perl-base sed sysvinit-utils tar util-linux zlib1g
0 upgraded, 60 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/19.0 MB of archives.
After this operation, 69.3 MB of additional disk space will be used.
Selecting previously unselected package gcc-14-base:amd64.
(Reading database ... 0 files and directories currently installed.)
Preparing to unpack .../gcc-14-base_14-20240412-0ubuntu1_amd64.deb ...
Unpacking gcc-14-base:amd64 (14-20240412-0ubuntu1) ...
Selecting previously unselected package libgcc-s1:amd64.
Preparing to unpack .../libgcc-s1_14-20240412-0ubuntu1_amd64.deb ...
Unpacking libgcc-s1:amd64 (14-20240412-0ubuntu1) ...
Selecting previously unselected package libc6:amd64.
Preparing to unpack .../libc6_2.39-0ubuntu8.2_amd64.deb ...
Use of uninitialized value in concatenation (.) or string at /usr/share/perl5/Debconf/Config.pm line 23.
Unpacking libc6:amd64 (2.39-0ubuntu8.2) ...
Selecting previously unselected package mawk.
Preparing to unpack .../mawk_1.3.4.20240123-1build1_amd64.deb ...
Unpacking mawk (1.3.4.20240123-1build1) ...
Selecting previously unselected package libcrypt1:amd64.
Preparing to unpack .../libcrypt1_1%3a4.4.36-4build1_amd64.deb ...
Unpacking libcrypt1:amd64 (1:4.4.36-4build1) ...
Setting up gcc-14-base:amd64 (14-20240412-0ubuntu1) ...
Setting up libgcc-s1:amd64 (14-20240412-0ubuntu1) ...
Setting up libc6:amd64 (2.39-0ubuntu8.2) ...
Use of uninitialized value in concatenation (.) or string at /usr/share/perl5/Debconf/Config.pm line 23.
Setting up mawk (1.3.4.20240123-1build1) ...
update-alternatives: using /usr/bin/mawk to provide /usr/bin/awk (awk) in auto mode
Selecting previously unselected package base-files.
(Reading database ... 340 files and directories currently installed.)
Preparing to unpack .../base-files_13ubuntu10_amd64.deb ...
Unpacking base-files (13ubuntu10) ...
Selecting previously unselected package libtinfo6:amd64.
Preparing to unpack .../libtinfo6_6.4+20240113-1ubuntu2_amd64.deb ...
Unpacking libtinfo6:amd64 (6.4+20240113-1ubuntu2) ...
Selecting previously unselected package debianutils.
Preparing to unpack .../debianutils_5.17build1_amd64.deb ...
Unpacking debianutils (5.17build1) ...
Setting up libtinfo6:amd64 (6.4+20240113-1ubuntu2) ...
Selecting previously unselected package bash.
(Reading database ... 555 files and directories currently installed.)
Preparing to unpack .../bash_5.2.21-2ubuntu4_amd64.deb ...
Unpacking bash (5.2.21-2ubuntu4) ...
Selecting previously unselected package libcap2:amd64.
Preparing to unpack .../libcap2_1%3a2.66-5ubuntu2_amd64.deb ...
Unpacking libcap2:amd64 (1:2.66-5ubuntu2) ...
Selecting previously unselected package libgpg-error0:amd64.
Preparing to unpack .../libgpg-error0_1.47-3build2_amd64.deb ...
Unpacking libgpg-error0:amd64 (1.47-3build2) ...
Selecting previously unselected package libgcrypt20:amd64.
Preparing to unpack .../libgcrypt20_1.10.3-2build1_amd64.deb ...
Unpacking libgcrypt20:amd64 (1.10.3-2build1) ...
Selecting previously unselected package liblz4-1:amd64.
Preparing to unpack .../liblz4-1_1.9.4-1build1_amd64.deb ...
Unpacking liblz4-1:amd64 (1.9.4-1build1) ...
Selecting previously unselected package liblzma5:amd64.
Preparing to unpack .../liblzma5_5.6.1+really5.4.5-1_amd64.deb ...
Unpacking liblzma5:amd64 (5.6.1+really5.4.5-1) ...
Selecting previously unselected package libzstd1:amd64.
Preparing to unpack .../libzstd1_1.5.5+dfsg2-2build1_amd64.deb ...
Unpacking libzstd1:amd64 (1.5.5+dfsg2-2build1) ...
Selecting previously unselected package libsystemd0:amd64.
Preparing to unpack .../libsystemd0_255.4-1ubuntu8.2_amd64.deb ...
Unpacking libsystemd0:amd64 (255.4-1ubuntu8.2) ...
Setting up libcap2:amd64 (1:2.66-5ubuntu2) ...
Setting up libgpg-error0:amd64 (1.47-3build2) ...
Setting up libgcrypt20:amd64 (1.10.3-2build1) ...
Setting up liblz4-1:amd64 (1.9.4-1build1) ...
Setting up liblzma5:amd64 (5.6.1+really5.4.5-1) ...
Setting up libzstd1:amd64 (1.5.5+dfsg2-2build1) ...
Setting up libsystemd0:amd64 (255.4-1ubuntu8.2) ...
Selecting previously unselected package bsdutils.
(Reading database ... 633 files and directories currently installed.)
Preparing to unpack .../bsdutils_1%3a2.39.3-9ubuntu6_amd64.deb ...
Unpacking bsdutils (1:2.39.3-9ubuntu6) ...
Selecting previously unselected package libacl1:amd64.
Preparing to unpack .../libacl1_2.3.2-1build1_amd64.deb ...
Unpacking libacl1:amd64 (2.3.2-1build1) ...
Selecting previously unselected package libattr1:amd64.
Preparing to unpack .../libattr1_1%3a2.5.2-1build1_amd64.deb ...
Unpacking libattr1:amd64 (1:2.5.2-1build1) ...
Selecting previously unselected package libgmp10:amd64.
Preparing to unpack .../libgmp10_2%3a6.3.0+dfsg-2ubuntu6_amd64.deb ...
Unpacking libgmp10:amd64 (2:6.3.0+dfsg-2ubuntu6) ...
Selecting previously unselected package libpcre2-8-0:amd64.
Preparing to unpack .../libpcre2-8-0_10.42-4ubuntu2_amd64.deb ...
Unpacking libpcre2-8-0:amd64 (10.42-4ubuntu2) ...
Selecting previously unselected package libselinux1:amd64.
Preparing to unpack .../libselinux1_3.5-2ubuntu2_amd64.deb ...
Unpacking libselinux1:amd64 (3.5-2ubuntu2) ...
Selecting previously unselected package libssl3t64:amd64.
Preparing to unpack .../libssl3t64_3.0.13-0ubuntu3.1_amd64.deb ...
Unpacking libssl3t64:amd64 (3.0.13-0ubuntu3.1) ...
Setting up libacl1:amd64 (2.3.2-1build1) ...
Setting up libattr1:amd64 (1:2.5.2-1build1) ...
Setting up libgmp10:amd64 (2:6.3.0+dfsg-2ubuntu6) ...
Setting up libpcre2-8-0:amd64 (10.42-4ubuntu2) ...
Setting up libselinux1:amd64 (3.5-2ubuntu2) ...
Setting up libssl3t64:amd64 (3.0.13-0ubuntu3.1) ...
Selecting previously unselected package coreutils.
(Reading database ... 701 files and directories currently installed.)
Preparing to unpack .../coreutils_9.4-3ubuntu6_amd64.deb ...
Unpacking coreutils (9.4-3ubuntu6) ...
Selecting previously unselected package libbz2-1.0:amd64.
Preparing to unpack .../libbz2-1.0_1.0.8-5.1_amd64.deb ...
Unpacking libbz2-1.0:amd64 (1.0.8-5.1) ...
Selecting previously unselected package libmd0:amd64.
Preparing to unpack .../libmd0_1.1.0-2build1_amd64.deb ...
Unpacking libmd0:amd64 (1.1.0-2build1) ...
Selecting previously unselected package zlib1g:amd64.
Preparing to unpack .../zlib1g_1%3a1.3.dfsg-3.1ubuntu2_amd64.deb ...
Unpacking zlib1g:amd64 (1:1.3.dfsg-3.1ubuntu2) ...
Selecting previously unselected package tar.
Preparing to unpack .../tar_1.35+dfsg-3build1_amd64.deb ...
Unpacking tar (1.35+dfsg-3build1) ...
Setting up libbz2-1.0:amd64 (1.0.8-5.1) ...
Setting up libmd0:amd64 (1.1.0-2build1) ...
Setting up zlib1g:amd64 (1:1.3.dfsg-3.1ubuntu2) ...
Selecting previously unselected package dpkg.
(Reading database ... 1095 files and directories currently installed.)
Preparing to unpack .../dpkg_1.22.6ubuntu6_amd64.deb ...
Unpacking dpkg (1.22.6ubuntu6) ...
Selecting previously unselected package dash.
Preparing to unpack .../dash_0.5.12-6ubuntu5_amd64.deb ...
Unpacking dash (0.5.12-6ubuntu5) ...
Selecting previously unselected package diffutils.
Preparing to unpack .../diffutils_1%3a3.10-1build1_amd64.deb ...
Unpacking diffutils (1:3.10-1build1) ...
Selecting previously unselected package findutils.
Preparing to unpack .../findutils_4.9.0-5build1_amd64.deb ...
Unpacking findutils (4.9.0-5build1) ...
Selecting previously unselected package grep.
Preparing to unpack .../grep_3.11-4build1_amd64.deb ...
Unpacking grep (3.11-4build1) ...
Selecting previously unselected package gzip.
Preparing to unpack .../gzip_1.12-1ubuntu3_amd64.deb ...
Unpacking gzip (1.12-1ubuntu3) ...
Selecting previously unselected package hostname.
Preparing to unpack .../hostname_3.23+nmu2ubuntu2_amd64.deb ...
Unpacking hostname (3.23+nmu2ubuntu2) ...
Selecting previously unselected package libaudit-common.
Preparing to unpack .../libaudit-common_1%3a3.1.2-2.1build1_all.deb ...
Unpacking libaudit-common (1:3.1.2-2.1build1) ...
Selecting previously unselected package libcap-ng0:amd64.
Preparing to unpack .../libcap-ng0_0.8.4-2build2_amd64.deb ...
Unpacking libcap-ng0:amd64 (0.8.4-2build2) ...
Selecting previously unselected package libaudit1:amd64.
Preparing to unpack .../libaudit1_1%3a3.1.2-2.1build1_amd64.deb ...
Unpacking libaudit1:amd64 (1:3.1.2-2.1build1) ...
Selecting previously unselected package debconf.
Preparing to unpack .../debconf_1.5.86ubuntu1_all.deb ...
Unpacking debconf (1.5.86ubuntu1) ...
Selecting previously unselected package libpam0g:amd64.
Preparing to unpack .../libpam0g_1.5.3-5ubuntu5.1_amd64.deb ...
Unpacking libpam0g:amd64 (1.5.3-5ubuntu5.1) ...
Selecting previously unselected package libdb5.3t64:amd64.
Preparing to unpack .../libdb5.3t64_5.3.28+dfsg2-7_amd64.deb ...
Unpacking libdb5.3t64:amd64 (5.3.28+dfsg2-7) ...
Selecting previously unselected package libpam-modules-bin.
Preparing to unpack .../libpam-modules-bin_1.5.3-5ubuntu5.1_amd64.deb ...
Unpacking libpam-modules-bin (1.5.3-5ubuntu5.1) ...
Setting up libaudit-common (1:3.1.2-2.1build1) ...
Setting up libcap-ng0:amd64 (0.8.4-2build2) ...
Setting up libaudit1:amd64 (1:3.1.2-2.1build1) ...
Setting up libcrypt1:amd64 (1:4.4.36-4build1) ...
Setting up libdb5.3t64:amd64 (5.3.28+dfsg2-7) ...
Setting up debconf (1.5.86ubuntu1) ...
Use of uninitialized value in concatenation (.) or string at /usr/share/perl5/Debconf/Config.pm line 23.
Setting up libpam0g:amd64 (1.5.3-5ubuntu5.1) ...
Use of uninitialized value in concatenation (.) or string at /usr/share/perl5/Debconf/Config.pm line 23.
Setting up libpam-modules-bin (1.5.3-5ubuntu5.1) ...
Selecting previously unselected package libpam-modules:amd64.
(Reading database ... 1657 files and directories currently installed.)
Preparing to unpack .../libpam-modules_1.5.3-5ubuntu5.1_amd64.deb ...
Use of uninitialized value in concatenation (.) or string at /usr/share/perl5/Debconf/Config.pm line 23.
Unpacking libpam-modules:amd64 (1.5.3-5ubuntu5.1) ...
Selecting previously unselected package libpam-runtime.
Preparing to unpack .../libpam-runtime_1.5.3-5ubuntu5.1_all.deb ...
Unpacking libpam-runtime (1.5.3-5ubuntu5.1) ...
Setting up libpam-modules:amd64 (1.5.3-5ubuntu5.1) ...
Setting up libpam-runtime (1.5.3-5ubuntu5.1) ...
Use of uninitialized value in concatenation (.) or string at /usr/share/perl5/Debconf/Config.pm line 23.
Selecting previously unselected package login.
(Reading database ... 1805 files and directories currently installed.)
Preparing to unpack .../login_1%3a4.13+dfsg1-4ubuntu3_amd64.deb ...
Unpacking login (1:4.13+dfsg1-4ubuntu3) ...
Selecting previously unselected package ncurses-bin.
Preparing to unpack .../ncurses-bin_6.4+20240113-1ubuntu2_amd64.deb ...
Unpacking ncurses-bin (6.4+20240113-1ubuntu2) ...
Setting up tar (1.35+dfsg-3build1) ...
update-alternatives: using /usr/sbin/rmt-tar to provide /usr/sbin/rmt (rmt) in auto mode
Setting up dpkg (1.22.6ubuntu6) ...
dpkg: warning: This system uses merged-usr-via-aliased-dirs, going behind dpkg's
dpkg: warning: back, breaking its core assumptions. This can cause silent file
dpkg: warning: overwrites and disappearances, and its general tools misbehavior.
dpkg: warning: See <https://wiki.debian.org/Teams/Dpkg/FAQ#broken-usrmerge>.
Selecting previously unselected package perl-base.
(Reading database ... 1967 files and directories currently installed.)
Preparing to unpack .../perl-base_5.38.2-3.2build2_amd64.deb ...
Unpacking perl-base (5.38.2-3.2build2) ...
Selecting previously unselected package sed.
Preparing to unpack .../sed_4.9-2build1_amd64.deb ...
Unpacking sed (4.9-2build1) ...
Selecting previously unselected package libblkid1:amd64.
Preparing to unpack .../libblkid1_2.39.3-9ubuntu6_amd64.deb ...
Unpacking libblkid1:amd64 (2.39.3-9ubuntu6) ...
Selecting previously unselected package libmount1:amd64.
Preparing to unpack .../libmount1_2.39.3-9ubuntu6_amd64.deb ...
Unpacking libmount1:amd64 (2.39.3-9ubuntu6) ...
Selecting previously unselected package libsmartcols1:amd64.
Preparing to unpack .../libsmartcols1_2.39.3-9ubuntu6_amd64.deb ...
Unpacking libsmartcols1:amd64 (2.39.3-9ubuntu6) ...
Selecting previously unselected package libudev1:amd64.
Preparing to unpack .../libudev1_255.4-1ubuntu8.2_amd64.deb ...
Unpacking libudev1:amd64 (255.4-1ubuntu8.2) ...
Selecting previously unselected package libuuid1:amd64.
Preparing to unpack .../libuuid1_2.39.3-9ubuntu6_amd64.deb ...
Unpacking libuuid1:amd64 (2.39.3-9ubuntu6) ...
Setting up libblkid1:amd64 (2.39.3-9ubuntu6) ...
Setting up libmount1:amd64 (2.39.3-9ubuntu6) ...
Setting up libsmartcols1:amd64 (2.39.3-9ubuntu6) ...
Setting up libudev1:amd64 (255.4-1ubuntu8.2) ...
Setting up libuuid1:amd64 (2.39.3-9ubuntu6) ...
Selecting previously unselected package util-linux.
(Reading database ... 2741 files and directories currently installed.)
Preparing to unpack .../util-linux_2.39.3-9ubuntu6_amd64.deb ...
Unpacking util-linux (2.39.3-9ubuntu6) ...
Selecting previously unselected package libdebconfclient0:amd64.
Preparing to unpack .../libdebconfclient0_0.271ubuntu3_amd64.deb ...
Unpacking libdebconfclient0:amd64 (0.271ubuntu3) ...
Selecting previously unselected package base-passwd.
Preparing to unpack .../base-passwd_3.6.3build1_amd64.deb ...
Unpacking base-passwd (3.6.3build1) ...
Selecting previously unselected package init-system-helpers.
Preparing to unpack .../init-system-helpers_1.66ubuntu1_all.deb ...
Unpacking init-system-helpers (1.66ubuntu1) ...
Selecting previously unselected package libc-bin.
Preparing to unpack .../libc-bin_2.39-0ubuntu8.2_amd64.deb ...
Unpacking libc-bin (2.39-0ubuntu8.2) ...
Selecting previously unselected package ncurses-base.
Preparing to unpack .../ncurses-base_6.4+20240113-1ubuntu2_all.deb ...
Unpacking ncurses-base (6.4+20240113-1ubuntu2) ...
Selecting previously unselected package sysvinit-utils.
Preparing to unpack .../sysvinit-utils_3.08-6ubuntu3_amd64.deb ...
Unpacking sysvinit-utils (3.08-6ubuntu3) ...
Setting up bsdutils (1:2.39.3-9ubuntu6) ...
Setting up grep (3.11-4build1) ...
Setting up libc-bin (2.39-0ubuntu8.2) ...
Setting up ncurses-bin (6.4+20240113-1ubuntu2) ...
Setting up coreutils (9.4-3ubuntu6) ...
Setting up diffutils (1:3.10-1build1) ...
Setting up perl-base (5.38.2-3.2build2) ...
Setting up hostname (3.23+nmu2ubuntu2) ...
Setting up ncurses-base (6.4+20240113-1ubuntu2) ...
Setting up init-system-helpers (1.66ubuntu1) ...
Setting up sed (4.9-2build1) ...
Setting up gzip (1.12-1ubuntu3) ...
Setting up util-linux (2.39.3-9ubuntu6) ...
update-alternatives: using /bin/more to provide /usr/bin/pager (pager) in auto mode
Setting up findutils (4.9.0-5build1) ...
Setting up sysvinit-utils (3.08-6ubuntu3) ...
Setting up debianutils (5.17build1) ...
update-alternatives: using /usr/bin/which.debianutils to provide /usr/bin/which (which) in auto mode
Setting up libdebconfclient0:amd64 (0.271ubuntu3) ...
Setting up base-files (13ubuntu10) ...
Setting up base-passwd (3.6.3build1) ...
Setting up dash (0.5.12-6ubuntu5) ...
Setting up login (1:4.13+dfsg1-4ubuntu3) ...
Setting up bash (5.2.21-2ubuntu4) ...
update-alternatives: using /usr/share/man/man7/bash-builtins.7.gz to provide /usr/share/man/man7/builtins.7.gz (builtins.7.gz) in auto mode
Processing triggers for libc-bin (2.39-0ubuntu8.2) ...
‣  Running postinstall script /tmp/mkosi_fails_to_process_cli_args/mkosi.postinst.chroot…
+ env
+ sort
ARCHITECTURE=x86-64
ARTIFACTDIR=/work/artifacts
BUILDROOT=/
CHROOT_OUTPUTDIR=/work/out
CHROOT_SCRIPT=/work/postinst
CHROOT_SRCDIR=/work/src
DISTRIBUTION=ubuntu
DISTRIBUTION_ARCHITECTURE=amd64
GIT_CONFIG_COUNT=1
GIT_CONFIG_KEY_0=safe.directory
GIT_CONFIG_VALUE_0=*
GIT_PROXY_SSL_CAINFO=/proxy.cacert
HOME=/
LANG=C.UTF-8
MKOSI_CONFIG=/work/config.json
MKOSI_GID=65436
MKOSI_UID=65436
OUTPUTDIR=/work/out
PACKAGEDIR=/work/packages
PATH=/work/scripts:/usr/bin:/usr/sbin
PWD=/work/src
RELEASE=noble
SCRIPT=/work/postinst
SRCDIR=/work/src
SYSTEMD_OFFLINE=1
SYSTEMD_TMPFILES_FORCE_SUBVOL=0
TERM=dumb
WITH_NETWORK=1
container=mkosi
/work/postinst: 7: FOO: parameter not set
‣ "/work/postinst final" returned non-zero exit code 2.
‣  (Fixing ownership of package manager cache directory)
DaanDeMeyer commented 2 months ago

@plastikos Options need to be passed before the verb instead of after it. Any arguments passed after the build verb are passed directly to any build scripts without being processed at all by mkosi.

plastikos commented 2 months ago

It seems so obvious now - it's even right there in the synopsis of the man page!

Thanks!