Hello,
While sourcing /lib/gentoo/functions.sh from https://github.com/projg2/getuto/blob/main/getuto#L44 the script ends if it’s run from a serial console:
(chroot) console / # bash -x getuto
+ set -e
+ QUIET=1
++ whoami
+ [[ root == \r\o\o\t ]]
+ mykeyservers=("hkps://keys.openpgp.org" "hkps://keys.gentoo.org")
+ export GNUPGHOME=/etc/portage/gnupg
+ GNUPGHOME=/etc/portage/gnupg
+ [[ '' == \-\v ]]
+ QUIET_GPG=
+ [[ -n 1 ]]
+ QUIET_GPG=--quiet
+ LASTRUNFILE=/etc/portage/gnupg/.getuto.last
+ [[ -f /lib/gentoo/functions.sh ]]
+ [[ -v TERM ]]
+ [[ -n vt220 ]]
+ [[ vt220 != dumb ]]
+ source /lib/gentoo/functions.sh
++ RC_GOT_FUNCTIONS=yes
++ EINFO_QUIET=no
++ EINFO_VERBOSE=no
++ RC_NOCOLOR=no
++ RC_ENDCOL=yes
++ RC_INDENTATION=
++ RC_DEFAULT_INDENT=2
++ RC_DOT_PATTERN=
++ '[' '!' -t 1 ']'
++ '[' '!' -t 2 ']'
++ COLS=0
++ '[' 0 -eq 0 ']'
++++ stty size
+++ set -- 0 0
+++ printf '0\n'
++ COLS=0
++ '[' -z 0 ']'
++ '[' 0 -gt 0 ']'
++ COLS=80
++ yesno yes
++ '[' -z yes ']'
++ case "$1" in
++ return 0
++ hash tput
+++ tput cuu1
+++ tput cuf 72 '
++ yesno no
++ '[' -z no ']'
++ case "$1" in
++ return 1
+++ tput bold
++ genfuncs_bold=''
+++ tput sgr0
++ genfuncs_norm=''
+++ tput setaf 1
++ BAD=''
(chroot) console / # COLS=80 bash -x getuto
+ set -e
+ QUIET=1
++ whoami
+ [[ root == \r\o\o\t ]]
+ mykeyservers=("hkps://keys.openpgp.org" "hkps://keys.gentoo.org")
+ export GNUPGHOME=/etc/portage/gnupg
+ GNUPGHOME=/etc/portage/gnupg
+ [[ '' == \-\v ]]
+ QUIET_GPG=
+ [[ -n 1 ]]
+ QUIET_GPG=--quiet
+ LASTRUNFILE=/etc/portage/gnupg/.getuto.last
+ [[ -f /lib/gentoo/functions.sh ]]
+ [[ -v TERM ]]
+ [[ -n vt220 ]]
+ [[ vt220 != dumb ]]
+ source /lib/gentoo/functions.sh
++ RC_GOT_FUNCTIONS=yes
++ EINFO_QUIET=no
++ EINFO_VERBOSE=no
++ RC_NOCOLOR=no
++ RC_ENDCOL=yes
++ RC_INDENTATION=
++ RC_DEFAULT_INDENT=2
++ RC_DOT_PATTERN=
++ '[' '!' -t 1 ']'
++ '[' '!' -t 2 ']'
++ COLS=0
++ '[' 0 -eq 0 ']'
++++ stty size
+++ set -- 0 0
+++ printf '0\n'
++ COLS=0
++ '[' -z 0 ']'
++ '[' 0 -gt 0 ']'
++ COLS=80
++ yesno yes
++ '[' -z yes ']'
++ case "$1" in
++ return 0
++ hash tput
+++ tput cuu1
+++ tput cuf 72 '
++ yesno no
++ '[' -z no ']'
++ case "$1" in
++ return 1
+++ tput bold
++ genfuncs_bold=''
+++ tput sgr0
++ genfuncs_norm=''
+++ tput setaf 1
++ BAD=''
(chroot) console / # TERM=dumb bash -x getuto
+ set -e
+ QUIET=1
++ whoami
+ [[ root == \r\o\o\t ]]
+ mykeyservers=("hkps://keys.openpgp.org" "hkps://keys.gentoo.org")
+ export GNUPGHOME=/etc/portage/gnupg
+ GNUPGHOME=/etc/portage/gnupg
+ [[ '' == \-\v ]]
+ QUIET_GPG=
+ [[ -n 1 ]]
+ QUIET_GPG=--quiet
+ LASTRUNFILE=/etc/portage/gnupg/.getuto.last
+ [[ -f /lib/gentoo/functions.sh ]]
+ [[ -v TERM ]]
+ [[ -n dumb ]]
+ [[ dumb != dumb ]]
+ gpgconf --kill gpg-agent
+ [[ ! -d /etc/portage/gnupg ]]
+ ebegin 'Initializing /etc/portage/gnupg'
+ echo 'Initializing /etc/portage/gnupg'
Initializing /etc/portage/gnupg
+ mkdir -p /etc/portage/gnupg
+ chmod u=rwx,go=rx /etc/portage/gnupg
++ openssl rand -base64 32
+ PASS=o8bCMinlQVhyruBTcDdFOlM+roHM084IINkkroJ+YoU=
++ mktemp
+ KEY_CONFIG_FILE=/tmp/tmp.koBJfTPikG
+ chmod 600 /tmp/tmp.koBJfTPikG
+ cat
+ gpg --quiet --no-permission-warning --batch --generate-key /tmp/tmp.koBJfTPikG
gpg: Generating Portage local OpenPGP trust key
gpg: done
+ rm -f /tmp/tmp.koBJfTPikG
+ touch /etc/portage/gnupg/pass
+ chmod 600 /etc/portage/gnupg/pass
+ echo o8bCMinlQVhyruBTcDdFOlM+roHM084IINkkroJ+YoU=
+ gpg --no-permission-warning --batch --list-secret-keys --keyid-format=long --with-colons
+ sed -n 's/^fpr:::::::::\([[:alnum:]]\+\):/\1/p'
+ grep '^fpr'
gpg: checking the trustdb
gpg: marginals needed: 3 completes needed: 1 trust model: pgp
gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u
+ mykeyid='1474C0684844BAE5C6F9E07CF8ED086916B2CCD0
15D482F9AD4D9EF6207CFAC89521AA6543440561'
+ [[ ! -f /usr/share/openpgp-keys/gentoo-release.asc ]]
+ gpg --quiet --no-permission-warning --batch --import /usr/share/openpgp-keys/gentoo-release.asc
++ gpg --no-permission-warning --batch --list-keys --keyid-format=long --with-colons
++ grep -v '1474C0684844BAE5C6F9E07CF8ED086916B2CCD0
15D482F9AD4D9EF6207CFAC89521AA6543440561'
++ grep '^fpr'
++ sed -n 's/^fpr:::::::::\([[:alnum:]]\+\):/\1/p'
+ myrelkeys='EF9538C9E8E64311A52CDEDFA13D0EF1914E7A72
F748E9B3C47E393CC24C8FAF7C2AC09CD98F2EDF
DCD05B71EAB94199527F44ACDB6B8C1F96D8BF6D
E1D6ABB63BFCFB4BA02FDF1CEC590EEAC9189250
D99EAC7379A850BCE47DA5F29E6438C817072058
C7FAC844D6122F080E1821A10403710E1415B4ED
13EBBDBEDE7A12775DFDB1BABB572E0E2D182910
534E4209AB49EEE1C19D96162C44695DB9F6043D'
+ for keyserver in "${mykeyservers[@]}"
+ gpg --quiet --no-permission-warning --batch --keyserver hkps://keys.openpgp.org --recv-keys EF9538C9E8E64311A52CDEDFA13D0EF1914E7A72 F748E9B3C47E393CC24C8FAF7C2AC09CD98F2EDF DCD05B71EAB94199527F44ACDB6B8C1F96D8BF6D E1D6ABB63BFCFB4BA02FDF1CEC590EEAC9189250 D99EAC7379A850BCE47DA5F29E6438C817072058 C7FAC844D6122F080E1821A10403710E1415B4ED 13EBBDBEDE7A12775DFDB1BABB572E0E2D182910 534E4209AB49EEE1C19D96162C44695DB9F6043D
gpg: keyserver receive failed: Server indicated a failure
+ true
+ for keyserver in "${mykeyservers[@]}"
+ gpg --quiet --no-permission-warning --batch --keyserver hkps://keys.gentoo.org --recv-keys EF9538C9E8E64311A52CDEDFA13D0EF1914E7A72 F748E9B3C47E393CC24C8FAF7C2AC09CD98F2EDF DCD05B71EAB94199527F44ACDB6B8C1F96D8BF6D E1D6ABB63BFCFB4BA02FDF1CEC590EEAC9189250 D99EAC7379A850BCE47DA5F29E6438C817072058 C7FAC844D6122F080E1821A10403710E1415B4ED 13EBBDBEDE7A12775DFDB1BABB572E0E2D182910 534E4209AB49EEE1C19D96162C44695DB9F6043D
gpg: keyserver receive failed: Server indicated a failure
+ true
+ for relkeyid in ${myrelkeys}
+ gpg --quiet --no-permission-warning --batch --yes --no-tty --passphrase-file=/etc/portage/gnupg/pass --pinentry-mode loopback --quick-lsign-key EF9538C9E8E64311A52CDEDFA13D0EF1914E7A72
pub rsa4096/A13D0EF1914E7A72
created: 2018-05-28 expires: 2024-07-01 usage: C
trust: unknown validity: unknown
Primary key fingerprint: EF95 38C9 E8E6 4311 A52C DEDF A13D 0EF1 914E 7A72
Gentoo repository mirrors (automated git signing key) <repomirrorci@gentoo.org>
This key is due to expire on 2024-07-01.
The signature will be marked as non-exportable.
+ for relkeyid in ${myrelkeys}
+ gpg --quiet --no-permission-warning --batch --yes --no-tty --passphrase-file=/etc/portage/gnupg/pass --pinentry-mode loopback --quick-lsign-key F748E9B3C47E393CC24C8FAF7C2AC09CD98F2EDF
gpg: "F748E9B3C47E393CC24C8FAF7C2AC09CD98F2EDF" is not the primary fingerprint
+ set -o pipefail
+ echo -e 'y\ny\n'
+ gpg --quiet --command-fd 0 --no-permission-warning --yes --no-tty --passphrase-file=/etc/portage/gnupg/pass --pinentry-mode loopback --lsign-key F748E9B3C47E393CC24C8FAF7C2AC09CD98F2EDF
+ set +o pipefail
+ for relkeyid in ${myrelkeys}
+ gpg --quiet --no-permission-warning --batch --yes --no-tty --passphrase-file=/etc/portage/gnupg/pass --pinentry-mode loopback --quick-lsign-key DCD05B71EAB94199527F44ACDB6B8C1F96D8BF6D
pub rsa4096/DB6B8C1F96D8BF6D
created: 2011-11-25 expires: 2024-07-01 usage: C
trust: unknown validity: unknown
Primary key fingerprint: DCD0 5B71 EAB9 4199 527F 44AC DB6B 8C1F 96D8 BF6D
Gentoo ebuild repository signing key (Automated Signing Key) <infrastructure@gentoo.org>
Gentoo Portage Snapshot Signing Key (Automated Signing Key)
This key is due to expire on 2024-07-01.
The signature will be marked as non-exportable.
+ for relkeyid in ${myrelkeys}
+ gpg --quiet --no-permission-warning --batch --yes --no-tty --passphrase-file=/etc/portage/gnupg/pass --pinentry-mode loopback --quick-lsign-key E1D6ABB63BFCFB4BA02FDF1CEC590EEAC9189250
gpg: "E1D6ABB63BFCFB4BA02FDF1CEC590EEAC9189250" is not the primary fingerprint
+ set -o pipefail
+ gpg --quiet --command-fd 0 --no-permission-warning --yes --no-tty --passphrase-file=/etc/portage/gnupg/pass --pinentry-mode loopback --lsign-key E1D6ABB63BFCFB4BA02FDF1CEC590EEAC9189250
+ echo -e 'y\ny\n'
+ set +o pipefail
+ for relkeyid in ${myrelkeys}
+ gpg --quiet --no-permission-warning --batch --yes --no-tty --passphrase-file=/etc/portage/gnupg/pass --pinentry-mode loopback --quick-lsign-key D99EAC7379A850BCE47DA5F29E6438C817072058
pub dsa1024/9E6438C817072058
created: 2004-07-20 expired: 2024-01-01 usage: SC
trust: unknown validity: expired
Primary key fingerprint: D99E AC73 79A8 50BC E47D A5F2 9E64 38C8 1707 2058
Gentoo Linux Release Engineering (Gentoo Linux Release Signing Key) <releng@gentoo.org>
This key has expired! Unable to sign.
gpg: Key not changed so no update needed.
+ for relkeyid in ${myrelkeys}
+ gpg --quiet --no-permission-warning --batch --yes --no-tty --passphrase-file=/etc/portage/gnupg/pass --pinentry-mode loopback --quick-lsign-key C7FAC844D6122F080E1821A10403710E1415B4ED
gpg: "C7FAC844D6122F080E1821A10403710E1415B4ED" is not the primary fingerprint
+ set -o pipefail
+ echo -e 'y\ny\n'
+ gpg --quiet --command-fd 0 --no-permission-warning --yes --no-tty --passphrase-file=/etc/portage/gnupg/pass --pinentry-mode loopback --lsign-key C7FAC844D6122F080E1821A10403710E1415B4ED
+ set +o pipefail
+ for relkeyid in ${myrelkeys}
+ gpg --quiet --no-permission-warning --batch --yes --no-tty --passphrase-file=/etc/portage/gnupg/pass --pinentry-mode loopback --quick-lsign-key 13EBBDBEDE7A12775DFDB1BABB572E0E2D182910
pub rsa4096/BB572E0E2D182910
created: 2009-08-25 expires: 2024-07-01 usage: SC
trust: unknown validity: unknown
Primary key fingerprint: 13EB BDBE DE7A 1277 5DFD B1BA BB57 2E0E 2D18 2910
Gentoo Linux Release Engineering (Automated Weekly Release Key) <releng@gentoo.org>
This key is due to expire on 2024-07-01.
The signature will be marked as non-exportable.
+ for relkeyid in ${myrelkeys}
+ gpg --quiet --no-permission-warning --batch --yes --no-tty --passphrase-file=/etc/portage/gnupg/pass --pinentry-mode loopback --quick-lsign-key 534E4209AB49EEE1C19D96162C44695DB9F6043D
gpg: "534E4209AB49EEE1C19D96162C44695DB9F6043D" is not the primary fingerprint
+ set -o pipefail
+ gpg --quiet --command-fd 0 --no-permission-warning --yes --no-tty --passphrase-file=/etc/portage/gnupg/pass --pinentry-mode loopback --lsign-key 534E4209AB49EEE1C19D96162C44695DB9F6043D
+ echo -e 'y\ny\n'
+ set +o pipefail
+ gpg --quiet --no-permission-warning --batch --check-trustdb
gpg: next trustdb check due at 2024-07-01
+ chmod ugo+r /etc/portage/gnupg/trustdb.gpg
+ eend
+ true
+ chmod ugo+r /etc/portage/gnupg/trustdb.gpg
+ gpgconf --kill gpg-agent
Hello,
While sourcing
/lib/gentoo/functions.shfrom https://github.com/projg2/getuto/blob/main/getuto#L44 the script ends if it’s run from a serial console: