Add file purpose. Switch license from BSD-3-Clause-Clear to GPL-3.0-or-later.

This commit is contained in:
inference 2023-01-24 09:06:28 +00:00
parent 161fb62ce7
commit c8506749a7
Signed by: inference
SSH Key Fingerprint: SHA256:9Pl0nZ2UJacgm+IeEtLSZ4FOESgP1eKCtRflfPfdX9M

36
portage/bashrc Normal file
View File

@ -0,0 +1,36 @@
# Inferencium
# Portage - bashrc
# Copyright 2022-2023 Inference
# SPDX-License-Identifier: GPL-3.0-or-later
# Version: 1.0.0.2
# Automatically update cfg-update index.
pre_pkg_setup() {
[[ $ROOT = / ]] && cfg-update --index
}
function pre_pkg_preinst() {
# Sign out-of-tree kernel modules.
if [[ "$(type -t linux-mod_pkg_preinst)" != "function" ]]; then
# The package does not seem to install any kernel modules.
return
fi
# Get signature algorithm used by the kernel.
local module_sig_hash="$(grep -Po '(?<=CONFIG_MODULE_SIG_HASH=").*(?=")' "${KERNEL_DIR}/.config")"
# Get the key file used by the kernel.
local module_sig_key="$(grep -Po '(?<=CONFIG_MODULE_SIG_KEY=").*(?=")' "${KERNEL_DIR}/.config")"
module_sig_key="${module_sig_key:-certs/signing_key.pem}"
# Key file or PKCS11 URI path.
if [[ "${module_sig_key#pkcs11:}" == "${module_sig_key}" && "${module_sig_key#/}" == "${module_sig_key}" ]]; then
local key_path="${KERNEL_DIR}/${module_sig_key}"
else
local key_path="${module_sig_key}"
fi
# Certificate path.
local cert_path="${KERNEL_DIR}/certs/signing_key.x509"
# Sign all installed modules before merging.
find "${D%/}/${INSDESTTREE#/}/" -name "*.ko" -exec "${KERNEL_DIR}/scripts/sign-file" "${module_sig_hash}" "${key_path}" "${cert_path}" '{}' \;
}