mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-13 16:06:59 +02:00
eclass/verify-sig: Sync with Gentoo
It's from Gentoo commit c80dc591e4803f5f2feacde4a79d339c0cc2e3b5.
This commit is contained in:
parent
73253d793f
commit
467f949d76
@ -1,4 +1,4 @@
|
||||
# Copyright 2020-2024 Gentoo Authors
|
||||
# Copyright 2020-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# @ECLASS: verify-sig.eclass
|
||||
@ -48,6 +48,8 @@ esac
|
||||
if [[ -z ${_VERIFY_SIG_ECLASS} ]]; then
|
||||
_VERIFY_SIG_ECLASS=1
|
||||
|
||||
inherit eapi9-pipestatus
|
||||
|
||||
IUSE="verify-sig"
|
||||
|
||||
# @ECLASS_VARIABLE: VERIFY_SIG_METHOD
|
||||
@ -423,6 +425,36 @@ verify-sig_verify_signed_checksums() {
|
||||
esac
|
||||
}
|
||||
|
||||
# @FUNCTION: verify-sig_uncompress_verify_unpack
|
||||
# @USAGE: <compressed-tar> <sig-file> [<key-file>]
|
||||
# @DESCRIPTION:
|
||||
# Uncompress the <compressed-tar> tarball, verify the uncompressed
|
||||
# archive against the signature in <sig-file> and unpack it. This is
|
||||
# useful for kernel.org packages that sign the uncompressed tarball
|
||||
# instead of the compressed archive. <key-file> can either be passed
|
||||
# directly, or it defaults to VERIFY_SIG_OPENPGP_KEY_PATH. The function
|
||||
# dies if verification or any of the unpacking steps fail.
|
||||
verify-sig_uncompress_verify_unpack() {
|
||||
local file=${1}
|
||||
local unpacker
|
||||
|
||||
# TODO: integrate with unpacker.eclass somehow?
|
||||
case ${file} in
|
||||
*.tar.xz)
|
||||
unpacker=( xz -cd )
|
||||
;;
|
||||
*)
|
||||
die "${FUNCNAME}: only .tar.xz archives are supported at the moment"
|
||||
;;
|
||||
esac
|
||||
|
||||
einfo "Unpacking ${file} ..."
|
||||
verify-sig_verify_detached - "${@:2}" < <(
|
||||
"${unpacker[@]}" "${file}" | tee >(tar -xf - || die)
|
||||
pipestatus || die
|
||||
)
|
||||
}
|
||||
|
||||
# @FUNCTION: verify-sig_src_unpack
|
||||
# @DESCRIPTION:
|
||||
# Default src_unpack override that verifies signatures for all
|
||||
|
Loading…
Reference in New Issue
Block a user