Compare commits
No commits in common. "rawhide" and "f41" have entirely different histories.
11 changed files with 365 additions and 343 deletions
|
|
@ -41,13 +41,19 @@ fi
|
|||
|
||||
case "${COMMAND}" in
|
||||
add)
|
||||
# Exit early if system-update.target is active - rhbz#1518401
|
||||
/usr/bin/systemctl -q is-active system-update-pre.target system-update.target
|
||||
RET=$?
|
||||
# needs to run in background as rpmdb might be locked otherwise
|
||||
if [ -e /bin/systemctl ] ; then
|
||||
# Exit early if system-update.target is active - rhbz#1518401
|
||||
/bin/systemctl is-active system-update.target &>/dev/null
|
||||
RET=$?
|
||||
|
||||
[[ $RET == 0 ]] && exit 0
|
||||
[ $RET == 0 ] && exit 0
|
||||
|
||||
/bin/systemctl restart "akmods@${KERNEL_VERSION}.service" --no-block >/dev/null 2>&1
|
||||
/bin/systemctl restart akmods@${KERNEL_VERSION}.service --no-block >/dev/null 2>&1
|
||||
else
|
||||
nohup /usr/sbin/akmods --from-kernel-posttrans --kernels ${KERNEL_VERSION} > /dev/null 2>&1 &
|
||||
fi
|
||||
exit 0
|
||||
;;
|
||||
remove)
|
||||
# Nothing to do
|
||||
|
|
|
|||
|
|
@ -46,6 +46,6 @@ below.
|
|||
|
||||
You can confirm the enrollment of the new keypair once the system
|
||||
rebooted with:
|
||||
`mokutil --list-enrolled
|
||||
`mokutil --list-enrolled | grep Issuer`
|
||||
or with:
|
||||
`mokutil --test-key /etc/pki/akmods/certs/public_key.der`
|
||||
|
|
|
|||
136
akmods
136
akmods
|
|
@ -37,7 +37,7 @@
|
|||
|
||||
# global vars
|
||||
myprog="akmods"
|
||||
myver="0.6.2"
|
||||
myver="0.6.0"
|
||||
kmodlogfile=
|
||||
continue_line=""
|
||||
tmpdir=
|
||||
|
|
@ -47,39 +47,6 @@ verboselevel=2
|
|||
# So we always retry anyway
|
||||
alwaystry=1
|
||||
|
||||
# Check Running plymouth
|
||||
no_plymouth=1
|
||||
last_message=""
|
||||
|
||||
function check_plymouth() {
|
||||
which plymouth > /dev/null 2> /dev/null
|
||||
if [[ "$?" -eq 1 ]]
|
||||
then
|
||||
no_plymouth=1
|
||||
return 0
|
||||
fi
|
||||
|
||||
plymouth --ping
|
||||
no_plymouth=$?
|
||||
}
|
||||
|
||||
# new or del, msg
|
||||
akmods_echo_plymouth(){
|
||||
if [[ "$no_plymouth" -eq 0 ]]
|
||||
then
|
||||
if [[ "$1" -eq 1 ]]
|
||||
then
|
||||
plymouth display-message --text="$2"
|
||||
last_message=$2
|
||||
else
|
||||
if [ -z "${last_message}" ]; then
|
||||
plymouth hide-message --text="$last_message" &
|
||||
last_message=""
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
akmods_echo()
|
||||
{
|
||||
# where to output
|
||||
|
|
@ -91,7 +58,7 @@ akmods_echo()
|
|||
shift
|
||||
|
||||
# output to console
|
||||
if (( verboselevel >= this_verbose )) ; then
|
||||
if (( ${verboselevel} >= ${this_verbose} )) ; then
|
||||
if [[ "${1}" == "--success" ]] ; then
|
||||
echo_success
|
||||
continue_line=""
|
||||
|
|
@ -110,7 +77,7 @@ akmods_echo()
|
|||
elif [[ "${1}" == "-n" ]] ; then
|
||||
continue_line="true"
|
||||
fi
|
||||
echo "$@" >&"${this_fd}"
|
||||
echo "$@" >&${this_fd}
|
||||
fi
|
||||
|
||||
# no need to print the status flags in the logs
|
||||
|
|
@ -124,11 +91,11 @@ akmods_echo()
|
|||
fi
|
||||
|
||||
# global logfile
|
||||
echo "$(date +%Y/%m/%d\ %H:%M:%S) akmods: $*" >> "/var/log/akmods/akmods.log"
|
||||
echo "$(date +%Y/%m/%d\ %H:%M:%S) akmods: $@" >> "/var/log/akmods/akmods.log"
|
||||
|
||||
# the kmods logfile as well, if we work on a kmod
|
||||
if [[ -n "${kmodlogfile}" ]] ; then
|
||||
echo "$(date +%Y/%m/%d\ %H:%M:%S) akmods: $*" >> "${kmodlogfile}"
|
||||
echo "$(date +%Y/%m/%d\ %H:%M:%S) akmods: $@" >> "${kmodlogfile}"
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
@ -140,7 +107,7 @@ finally()
|
|||
# remove lockfile
|
||||
rm -f /var/cache/akmods/.lockfile
|
||||
|
||||
exit "${1:-128}"
|
||||
exit ${1:-128}
|
||||
}
|
||||
|
||||
# Make sure finally() is run regardless of reason for exiting.
|
||||
|
|
@ -148,7 +115,7 @@ trap "finally" ABRT HUP INT QUIT
|
|||
|
||||
create_tmpdir()
|
||||
{
|
||||
if ! tmpdir="$(mktemp -d -p /tmp "${myprog}.XXXXXXXX")/" ; then
|
||||
if ! tmpdir="$(mktemp -d -p /tmp ${myprog}.XXXXXXXX)/" ; then
|
||||
akmods_echo 2 1 "ERROR: failed to create tmpdir."
|
||||
akmods_echo 2 1 --failure ; return 1
|
||||
fi
|
||||
|
|
@ -169,13 +136,11 @@ remove_tmpdir()
|
|||
|
||||
cleanup_cachedir ()
|
||||
{
|
||||
local excluded
|
||||
excluded=$(find /boot -name 'vmlinuz-*' '!' -name '*rescue*' 2>/dev/null | sed 's/.*vmlinuz-//')
|
||||
local -a file_list
|
||||
mapfile -t file_list < <(find /var/cache/akmods -mindepth 2 -type f -not -name .last.log 2>/dev/null | grep -Fv -f <(echo "${excluded}"))
|
||||
for one_file in "${file_list[@]}"; do
|
||||
if grep -q ".*\.rpm$" <<< "${one_file}" ; then
|
||||
if ! rpm -q "$(basename "${one_file%.rpm}")" >/dev/null ; then
|
||||
for one_file in $(ls /var/cache/akmods/*/* 2>/dev/null | \
|
||||
grep -v "$(ls -I "*rescue*" /boot/vmlinuz-* | \
|
||||
sed 's%.*vmlinuz-%%g')") ; do
|
||||
if $(grep -qE ".*\.rpm$" <<< "${one_file}") ; then
|
||||
if ! $(rpm -q "$(basename ${one_file%.rpm})" >/dev/null) ; then
|
||||
rm -f "${one_file}"
|
||||
fi
|
||||
else
|
||||
|
|
@ -196,6 +161,11 @@ init ()
|
|||
UMASK=022
|
||||
umask ${UMASK}
|
||||
|
||||
# fall back to current kernel if user didn't provide one
|
||||
if [[ ! -n "${kernels}" ]] ; then
|
||||
kernels="$(uname -r)"
|
||||
fi
|
||||
|
||||
# we get the echo_{success,failure} stuff from there
|
||||
if [[ -r /etc/rc.d/init.d/functions ]] ; then
|
||||
source /etc/rc.d/init.d/functions
|
||||
|
|
@ -285,7 +255,7 @@ check_default_kernel()
|
|||
# IMPORTANT: "bootctl is-installed" check that systemd-boot is installed only.
|
||||
# It doesn't check if systemd-boot is the default loader.
|
||||
# So we assume grubby results if available
|
||||
if command -v grubby >/dev/null 2>&1 ; then
|
||||
if [ ! -h /usr/sbin/grubby ] && command -v grubby >/dev/null 2>&1 ; then
|
||||
default_kernel=$(grubby --default-kernel | sed -e 's/^.*vmlinuz-//')
|
||||
elif bootctl is-installed >/dev/null 2>&1 ; then
|
||||
# Leave jq as optional - isDefault requires systemd 253
|
||||
|
|
@ -302,15 +272,14 @@ check_default_kernel()
|
|||
default_kernel=""
|
||||
fi
|
||||
|
||||
local _kernels
|
||||
if [[ "${default_kernel}" == "$(uname -r)" ]] ; then
|
||||
_kernels="${default_kernel}"
|
||||
if [[ x${default_kernel} == x"$(uname -r)" ]] ; then
|
||||
local _kernels="${default_kernel}"
|
||||
else
|
||||
_kernels="${default_kernel} $(uname -r)"
|
||||
local _kernels="${default_kernel} $(uname -r)"
|
||||
fi
|
||||
|
||||
for _kernel in ${_kernels} ; do
|
||||
if check_kernel_devel "${_kernel}" ; then
|
||||
if [[ $(check_kernel_devel "${_kernel}" == 0) ]] ; then
|
||||
kernels="${kernels} ${_kernel}"
|
||||
fi
|
||||
done
|
||||
|
|
@ -362,7 +331,6 @@ buildinstall_kmod()
|
|||
unset TMPDIR
|
||||
|
||||
# build module using akmod
|
||||
akmods_echo_plymouth 1 "akmod: Building ${this_kmodsrpm}..."
|
||||
akmods_echo 1 4 "Building RPM using the command '/usr/sbin/akmodsbuild --kernels ${this_kernelver} ${this_kmodsrpm}'"
|
||||
/sbin/runuser -s /bin/bash -c "/usr/sbin/akmodsbuild --quiet --kernels ${this_kernelver} --outputdir ${tmpdir}results --logfile ${tmpdir}/akmodsbuild.log ${this_kmodsrpm}" akmods >> "${kmodlogfile}" 2>&1
|
||||
local returncode=$?
|
||||
|
|
@ -373,14 +341,10 @@ buildinstall_kmod()
|
|||
fi
|
||||
|
||||
# result
|
||||
if (( returncode != 0 )) ; then
|
||||
if (( ! ${returncode} == 0 )) ; then
|
||||
if [[ -n "${continue_line}" ]] ; then
|
||||
akmods_echo 1 2 --failure
|
||||
fi
|
||||
|
||||
akmods_echo_plymouth 0 ""
|
||||
akmods_echo_plymouth 1 "akmod: Building ${this_kmodsrpm} failed!"
|
||||
sleep 5
|
||||
akmods_echo 2 1 "Building rpms failed; see /var/cache/akmods/${this_kmodname}/${this_kmodverrel}-for-${this_kernelver}.failed.log for details"
|
||||
cp -fl "${kmodlogfile}" "/var/cache/akmods/${this_kmodname}/${this_kmodverrel}-for-${this_kernelver}.failed.log"
|
||||
kmodlogfile=""
|
||||
|
|
@ -389,18 +353,13 @@ buildinstall_kmod()
|
|||
fi
|
||||
|
||||
# dnf/yum install - repository disabled on purpose see rfbz#3350
|
||||
|
||||
akmods_echo_plymouth 0 ""
|
||||
akmods_echo_plymouth 1 "akmod: Installing ${this_kmodsrpm}..."
|
||||
akmods_echo 1 4 "Installing newly built rpms"
|
||||
local -a rpm_paths
|
||||
mapfile -t rpm_paths < <(find "${tmpdir}results" -type f -name '*.rpm' | grep -v debuginfo)
|
||||
if [[ -f /usr/bin/dnf ]] ; then
|
||||
akmods_echo 1 4 "DNF detected"
|
||||
dnf -y "${pkg_install:-install}" --nogpgcheck --disablerepo='*' "${rpm_paths[@]}" >> "${kmodlogfile}" 2>&1
|
||||
dnf -y ${pkg_install:-install} --nogpgcheck --disablerepo='*' $(find "${tmpdir}results" -type f -name '*.rpm' | grep -v debuginfo) >> "${kmodlogfile}" 2>&1
|
||||
else
|
||||
akmods_echo 1 4 "DNF not found, using YUM instead."
|
||||
yum -y "${pkg_install:-install}" --nogpgcheck --disablerepo='*' "${rpm_paths[@]}" >> "${kmodlogfile}" 2>&1
|
||||
yum -y ${pkg_install:-install} --nogpgcheck --disablerepo='*' $(find "${tmpdir}results" -type f -name '*.rpm' | grep -v debuginfo) >> "${kmodlogfile}" 2>&1
|
||||
fi
|
||||
local returncode=$?
|
||||
|
||||
|
|
@ -408,14 +367,10 @@ buildinstall_kmod()
|
|||
cp "${tmpdir}results/"* "/var/cache/akmods/${this_kmodname}/"
|
||||
|
||||
# everything fine?
|
||||
if (( returncode != 0 )) ; then
|
||||
if (( ${returncode} != 0 )) ; then
|
||||
if [[ -n "${continue_line}" ]] ; then
|
||||
akmods_echo 1 2 --failure
|
||||
fi
|
||||
|
||||
akmods_echo_plymouth 0 ""
|
||||
akmods_echo_plymouth 1 "akmod: Installing ${this_kmodsrpm} failed!"
|
||||
sleep 5
|
||||
akmods_echo 2 1 "Could not install newly built RPMs. You can find them and the logfile in:"
|
||||
akmods_echo 2 1 "/var/cache/akmods/${this_kmodname}/${this_kmodverrel}-for-${this_kernelver}.failed.log"
|
||||
cp -fl "${kmodlogfile}" "/var/cache/akmods/${this_kmodname}/${this_kmodverrel}-for-${this_kernelver}.failed.log"
|
||||
|
|
@ -430,8 +385,6 @@ buildinstall_kmod()
|
|||
kmodlogfile=""
|
||||
remove_tmpdir
|
||||
|
||||
akmods_echo_plymouth 0 ""
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
|
|
@ -445,8 +398,7 @@ check_kmod_up2date()
|
|||
return 1
|
||||
fi
|
||||
|
||||
local kmodpackage_file
|
||||
kmodpackage_file="$(modinfo "${this_kmodname}" -k "${this_kernelver}" -n 2>/dev/null)"
|
||||
local kmodpackage_file="$(modinfo ${this_kmodname} -k ${this_kernelver} -n 2>/dev/null)"
|
||||
|
||||
# kmod present, even with weak-modules?
|
||||
if [[ ! -n "${kmodpackage_file}" ]] && [[ ! -d /lib/modules/${this_kernelver}/extra/${this_kmodname}/ ]] ; then
|
||||
|
|
@ -463,13 +415,12 @@ check_kmod_up2date()
|
|||
fi
|
||||
|
||||
# kmod up2date?
|
||||
local kmodpackage
|
||||
# Weak module symlink case
|
||||
if [ -n "${kmodpackage_file}" ] && [ -h "${kmodpackage_file}" ] && echo "${kmodpackage_file}" | grep -q "weak-updates" ; then
|
||||
kmodpackage="$(rpm -qf "$(readlink -e "${kmodpackage_file}")" 2> /dev/null)"
|
||||
if [ -n "${kmodpackage_file}" ] && [ -h "${kmodpackage_file}" ] && $(echo "${kmodpackage_file}" | grep -q "weak-updates") ; then
|
||||
local kmodpackage="$(rpm -qf $(readlink -e ${kmodpackage_file}) 2> /dev/null)"
|
||||
# Regular module file case
|
||||
else
|
||||
kmodpackage="$(rpm -qf "/lib/modules/${this_kernelver}/extra/${this_kmodname}/" 2> /dev/null)"
|
||||
local kmodpackage="$(rpm -qf /lib/modules/${this_kernelver}/extra/${this_kmodname}/ 2> /dev/null)"
|
||||
fi
|
||||
if [[ ! -n "${kmodpackage}" ]] ; then
|
||||
# seems we didn't get what we wanted
|
||||
|
|
@ -477,10 +428,8 @@ check_kmod_up2date()
|
|||
akmods_echo 1 2 -n "Warning: Could not determine what package owns /lib/modules/${this_kernelver}/extra/${this_kmodname}/"
|
||||
return 0
|
||||
fi
|
||||
local kmodver
|
||||
kmodver=$(rpm -q --qf '%{EPOCH}:%{VERSION}-%{RELEASE}\n' "${kmodpackage}" | sed 's|(none)|0|; s!\.\(fc\|el\|lvn\)[0-9]*!!g')
|
||||
local akmodver
|
||||
akmodver=$(rpm -qp --qf '%{EPOCH}:%{VERSION}-%{RELEASE}\n' /usr/src/akmods/"${this_kmodname}"-kmod.latest | sed 's|(none)|0|; s!\.\(fc\|el\|lvn\)[0-9]*!!g')
|
||||
local kmodver=$(rpm -q --qf '%{EPOCH}:%{VERSION}-%{RELEASE}\n' "${kmodpackage}" | sed 's|(none)|0|; s!\.\(fc\|el\|lvn\)[0-9]*!!g')
|
||||
local akmodver=$(rpm -qp --qf '%{EPOCH}:%{VERSION}-%{RELEASE}\n' /usr/src/akmods/"${this_kmodname}"-kmod.latest | sed 's|(none)|0|; s!\.\(fc\|el\|lvn\)[0-9]*!!g')
|
||||
|
||||
rpmdev-vercmp "${kmodver}" "${akmodver}" &>/dev/null
|
||||
local retvalue=$?
|
||||
|
|
@ -507,8 +456,7 @@ check_kmods()
|
|||
|
||||
akmods_echo 1 2 -n "Checking kmods exist for ${this_kernelver}"
|
||||
for akmods_kmodfile in /usr/src/akmods/*-kmod.latest ; do
|
||||
local this_kmodname
|
||||
this_kmodname="$(basename "${akmods_kmodfile%%-kmod.latest}")"
|
||||
local this_kmodname="$(basename ${akmods_kmodfile%%-kmod.latest})"
|
||||
|
||||
# actually check this akmod?
|
||||
if [[ -n "${akmods}" ]] ; then
|
||||
|
|
@ -521,7 +469,7 @@ check_kmods()
|
|||
fi
|
||||
|
||||
# go
|
||||
if ! check_kmod_up2date "${this_kernelver}" "${this_kmodname}" ; then
|
||||
if ! check_kmod_up2date ${this_kernelver} ${this_kmodname} ; then
|
||||
# okay, kmod wasn't found or is not up2date
|
||||
if [[ -n "${continue_line}" ]] ; then
|
||||
akmods_echo 1 2 --success
|
||||
|
|
@ -539,15 +487,14 @@ check_kmods()
|
|||
fi
|
||||
fi
|
||||
|
||||
local this_kmodverrel
|
||||
this_kmodverrel="$(rpm -qp --qf '%{VERSION}-%{RELEASE}' "${akmods_kmodfile}" | sed 's!\.\(fc\|el\|lvn\)[0-9]*!!g' )"
|
||||
local this_kmodverrel="$(rpm -qp --qf '%{VERSION}-%{RELEASE}' "${akmods_kmodfile}" | sed 's!\.\(fc\|el\|lvn\)[0-9]*!!g' )"
|
||||
if [[ ! -n "${alwaystry}" ]] && [[ -e "/var/cache/akmods/${this_kmodname}/${this_kmodverrel}-for-${this_kernelver}".failed.log ]] ; then
|
||||
akmods_echo 1 2 -n "Ignoring ${this_kmodname}-kmod as it failed earlier"
|
||||
akmods_echo 1 2 --warning
|
||||
local someignored="true"
|
||||
else
|
||||
akmods_echo 1 2 -n "Building and installing ${this_kmodname}-kmod"
|
||||
buildinstall_kmod "${this_kernelver}" "${this_kmodname}" "${akmods_kmodfile}" "${this_kmodverrel}"
|
||||
buildinstall_kmod ${this_kernelver} ${this_kmodname} ${akmods_kmodfile} ${this_kmodverrel}
|
||||
local returncode=$?
|
||||
if [[ "$returncode" == "0" ]] ; then
|
||||
akmods_echo 1 2 --success
|
||||
|
|
@ -574,7 +521,7 @@ check_kmods()
|
|||
|
||||
# akmods for newly installed akmod rpms as wells as akmods.service run
|
||||
# after udev and systemd-modules-load.service have tried to load modules
|
||||
if [[ -n "${somesucceeded}" ]] && [[ "${this_kernelver}" == "$(uname -r)" ]] ; then
|
||||
if [[ -n "${somesucceeded}" ]] && [[ ${this_kernelver} = "$(uname -r)" ]] ; then
|
||||
find /sys/devices -name modalias -print0 | xargs -0 cat | xargs modprobe -a -b -q
|
||||
if [ -f /usr/bin/systemctl ] ; then
|
||||
systemctl restart systemd-modules-load.service
|
||||
|
|
@ -605,7 +552,7 @@ while [ "${1}" ] ; do
|
|||
exit 1
|
||||
fi
|
||||
|
||||
if ! check_kernel_devel "${1}" ; then
|
||||
if [[ $(check_kernel_devel "${1}" != 0) ]] ; then
|
||||
echo "ERROR: kernel or kernel-devel required for ${1}" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
|
@ -659,11 +606,11 @@ while [ "${1}" ] ; do
|
|||
shift
|
||||
;;
|
||||
--verbose)
|
||||
(( verboselevel++ ))
|
||||
let verboselevel++
|
||||
shift
|
||||
;;
|
||||
--quiet)
|
||||
(( verboselevel-- ))
|
||||
let verboselevel--
|
||||
shift
|
||||
;;
|
||||
--help)
|
||||
|
|
@ -682,7 +629,6 @@ while [ "${1}" ] ; do
|
|||
esac
|
||||
done
|
||||
|
||||
check_plymouth
|
||||
# sanity checks
|
||||
init
|
||||
|
||||
|
|
@ -693,7 +639,7 @@ fi
|
|||
|
||||
# go
|
||||
for kernel in ${kernels} ; do
|
||||
check_kmods "${kernel}"
|
||||
check_kmods ${kernel}
|
||||
done
|
||||
|
||||
# finished :)
|
||||
|
|
|
|||
|
|
@ -433,12 +433,6 @@ function create_cacert_config() {
|
|||
# Set '-batch' argument.
|
||||
AUTOMATIC_BUILD_OPTION="-batch"
|
||||
|
||||
local cert_country_code=$(locale country_ab2)
|
||||
if [[ -z ${cert_country_code} ]]; then
|
||||
echo -e "${BOLD_YELLOW_TEXT}WARNING:${CLEAR_TEXT} COULD NOT DETECT COUNTRY CODE FROM LOCALE; USING FALLBACK VALUE: US" >&2
|
||||
cert_country_code=US
|
||||
fi
|
||||
|
||||
# Utilise default values if 'AUTOMATIC_BUILD' is equal to '1'.
|
||||
# - Set OpenSSL field values.
|
||||
# - Comment default and min/max values.
|
||||
|
|
@ -447,7 +441,7 @@ function create_cacert_config() {
|
|||
-e "s#\(emailAddress *= \).*#\1akmods@${cert_hostname}#" \
|
||||
-e "s#\(localityName *= \).*#\1None#" \
|
||||
-e "s#\(stateOrProvinceName *= \).*#\1None#" \
|
||||
-e "s#\(countryName *= \).*#\1${cert_country_code}#" \
|
||||
-e "s#\(countryName *= \).*#\1$(locale country_ab2)#" \
|
||||
-e "s#\(commonName *= \).*#\1${KEYNAME}#" \
|
||||
-e "s/^[^#]*_default *= /#&/" \
|
||||
-e "s/^[^#]*_min/#&/" \
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ finally()
|
|||
# remove tmpfiles
|
||||
remove_tmpdir
|
||||
|
||||
exit "${1:-128}"
|
||||
exit ${1:-128}
|
||||
}
|
||||
|
||||
# Make sure finally() is run regardless of reason for exiting.
|
||||
|
|
@ -51,7 +51,7 @@ trap "finally" ABRT HUP INT QUIT
|
|||
|
||||
create_tmpdir()
|
||||
{
|
||||
if ! tmpdir="$(mktemp -d -p /tmp "${myprog}.XXXXXXXX")/" ; then
|
||||
if ! tmpdir="$(mktemp -d -p /tmp ${myprog}.XXXXXXXX)/" ; then
|
||||
echo "ERROR: failed to create tmpdir." >&2
|
||||
finally 1
|
||||
fi
|
||||
|
|
@ -79,24 +79,24 @@ for kernel in ${kernels} ; do
|
|||
echo "Building ${srpm} for kernel ${kernel}"
|
||||
# Note: This builds as root, but this is pretty safe because its happening in the ostree %post sandbox.
|
||||
# In fact, given that /usr is a rofiles-fuse mount no other user can access /usr in this sandbox anyway.
|
||||
akmodsbuild --quiet --kernels "${kernel}" --outputdir "${tmpdir}results" --logfile "${tmpdir}/akmodsbuild.log" "${srpm}" 2>&1
|
||||
akmodsbuild --quiet --kernels ${kernel} --outputdir ${tmpdir}results --logfile "${tmpdir}/akmodsbuild.log" "${srpm}" 2>&1
|
||||
returncode=$?
|
||||
if (( returncode != 0 )); then
|
||||
if (( ! ${returncode} == 0 )); then
|
||||
finally 1
|
||||
fi
|
||||
done
|
||||
|
||||
for f in $(find "${tmpdir}results" -type f -name '*.rpm' | grep -v debuginfo) ; do
|
||||
rpm2cpio "${f}" | cpio --quiet -D / -id
|
||||
rpm2cpio $f | cpio --quiet -D / -id
|
||||
returncode=$?
|
||||
if (( returncode != 0 )); then
|
||||
if (( ! ${returncode} == 0 )); then
|
||||
echo "Extracting $f failed:" 2>&1
|
||||
finally 1
|
||||
fi
|
||||
done
|
||||
|
||||
for kernel in ${kernels} ; do
|
||||
depmod -v "${kernel}" 2>&1
|
||||
depmod -v ${kernel} 2>&1
|
||||
done
|
||||
|
||||
finally 0
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
[Unit]
|
||||
Description=Builds and install new kmods from akmod packages
|
||||
ConditionPathExists=!/run/ostree-booted
|
||||
Before=display-manager.service
|
||||
Before=@SERVICE@
|
||||
After=akmods-keygen.target
|
||||
Wants=akmods-keygen.target
|
||||
|
||||
25
akmods.spec
25
akmods.spec
|
|
@ -1,5 +1,5 @@
|
|||
Name: akmods
|
||||
Version: 0.6.2
|
||||
Version: 0.6.0
|
||||
Release: %autorelease
|
||||
Summary: Automatic kmods build and install tool
|
||||
|
||||
|
|
@ -11,7 +11,7 @@ Source0: 95-akmods.preset
|
|||
Source1: akmods
|
||||
Source2: akmodsbuild
|
||||
Source3: akmods.h2m
|
||||
Source6: akmods.service
|
||||
Source6: akmods.service.in
|
||||
Source7: akmods-shutdown
|
||||
Source8: akmods-shutdown.service
|
||||
Source9: README
|
||||
|
|
@ -26,16 +26,15 @@ Source17: akmods-kmodgenca
|
|||
Source18: akmods-keygen.target
|
||||
Source19: akmods-keygen@.service
|
||||
Source20: %{name}-tmpfiles.conf
|
||||
Source21: akmods.sysusers.conf
|
||||
|
||||
BuildArch: noarch
|
||||
|
||||
BuildRequires: help2man
|
||||
|
||||
# Needed for older branches el8+, noop on f43+
|
||||
%{?sysusers_requires_compat}
|
||||
|
||||
# not picked up automatically
|
||||
%if 0%{?rhel} == 6
|
||||
Requires: %{_bindir}/nohup
|
||||
%endif
|
||||
Requires: %{_bindir}/flock
|
||||
Requires: %{_bindir}/time
|
||||
|
||||
|
|
@ -69,6 +68,7 @@ Suggests: (kernel-devel if kernel-core)
|
|||
Suggests: (kernel-rt-devel if kernel-rt)
|
||||
|
||||
# we create a special user that used by akmods to build kmod packages
|
||||
Requires(pre): shadow-utils
|
||||
|
||||
# systemd unit requirements.
|
||||
BuildRequires: systemd
|
||||
|
|
@ -125,9 +125,9 @@ install -pm 0755 %{SOURCE13} %{buildroot}%{_prefix}/lib/kernel/install.d/
|
|||
mkdir -p \
|
||||
%{buildroot}%{_unitdir} \
|
||||
%{buildroot}%{_presetdir}
|
||||
|
||||
sed "s|@SERVICE@|display-manager.service|" %{SOURCE6} >\
|
||||
%{buildroot}%{_unitdir}/akmods.service
|
||||
install -pm 0644 %{SOURCE0} %{buildroot}%{_presetdir}/
|
||||
install -pm 0644 %{SOURCE6} %{buildroot}%{_unitdir}/
|
||||
install -pm 0755 %{SOURCE7} %{buildroot}%{_sbindir}/
|
||||
install -pm 0644 %{SOURCE8} %{buildroot}%{_unitdir}/
|
||||
install -pm 0644 %{SOURCE11} %{buildroot}%{_unitdir}/
|
||||
|
|
@ -143,11 +143,13 @@ help2man -N -i %{SOURCE3} -s 1 \
|
|||
-o %{buildroot}%{_mandir}/man1/akmodsbuild.1 \
|
||||
%{buildroot}%{_sbindir}/akmodsbuild
|
||||
|
||||
install -m0644 -D %{SOURCE21} %{buildroot}%{_sysusersdir}/akmods.conf
|
||||
|
||||
|
||||
%pre
|
||||
%sysusers_create_compat %{SOURCE21}
|
||||
# create group and user
|
||||
getent group akmods >/dev/null || groupadd -r akmods
|
||||
getent passwd akmods >/dev/null || \
|
||||
useradd -r -g akmods -d /var/cache/akmods/ -s /sbin/nologin \
|
||||
-c "User is used by akmods to build akmod packages" akmods
|
||||
|
||||
%post
|
||||
%systemd_post akmods.service
|
||||
|
|
@ -195,7 +197,6 @@ install -m0644 -D %{SOURCE21} %{buildroot}%{_sysusersdir}/akmods.conf
|
|||
%dir %attr(-,akmods,akmods) %{_localstatedir}/cache/akmods
|
||||
%dir %attr(0775,root,akmods) %{_localstatedir}/log/%{name}
|
||||
%{_mandir}/man1/*
|
||||
%{_sysusersdir}/akmods.conf
|
||||
|
||||
|
||||
%changelog
|
||||
|
|
|
|||
|
|
@ -1,3 +0,0 @@
|
|||
#Type Name ID GECOS Home directory Shell
|
||||
g akmods - - - -
|
||||
u akmods - 'User is used by akmods to build akmod packages' /var/cache/akmods/ -
|
||||
79
akmodsbuild
79
akmodsbuild
|
|
@ -23,10 +23,14 @@
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
myprog="akmodsbuild"
|
||||
myver="0.6.2"
|
||||
myver="0.5.6"
|
||||
|
||||
# defaults that might get overwritten by user:
|
||||
kernels="$(uname -r)"
|
||||
target="$(uname -m)"
|
||||
if [[ "${target}" == "armv7l" ]] ; then
|
||||
target="armv7hl"
|
||||
fi
|
||||
numberofjobs=$(grep -c processor /proc/cpuinfo 2> /dev/null)
|
||||
verboselevel=2
|
||||
outputdir="${PWD}"
|
||||
|
|
@ -60,7 +64,7 @@ init ()
|
|||
|
||||
# SRPMS available?
|
||||
for srpm in ${srpms}; do
|
||||
if [[ ! -r "${srpm}" ]] ; then
|
||||
if [[ ! -r ${srpm} ]] ; then
|
||||
echo "ERROR: Can't find SRPM ${srpm}"
|
||||
exit 1
|
||||
fi
|
||||
|
|
@ -77,28 +81,19 @@ init ()
|
|||
|
||||
|
||||
# make sure this is a number
|
||||
if ! (( numberofjobs > 0 )) ; then
|
||||
if ! (( ${numberofjobs} > 0 )) ; then
|
||||
echo "Warning: using hardcoded defaut value for number of jobs"
|
||||
numberofjobs=2
|
||||
fi
|
||||
|
||||
## preparations
|
||||
# tmpdir
|
||||
if ! tmpdir="$(mktemp -d -p /tmp "${myprog}.XXXXXXXX")" ; then
|
||||
if ! tmpdir="$(mktemp -d -p /tmp ${myprog}.XXXXXXXX)" ; then
|
||||
echo "ERROR: Could create tempdir."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "${target}" ] ; then
|
||||
case "${kernels}" in
|
||||
*x86_64_v4) target=x86_64_v4;;
|
||||
*x86_64_v3) target=x86_64_v3;;
|
||||
*x86_64_v2) target=x86_64_v2;;
|
||||
*armv7hl) target=armv7hl;;
|
||||
*) target="$(uname -m)" ;;
|
||||
esac
|
||||
fi
|
||||
# buildtree
|
||||
# buildtreee
|
||||
mkdir "${tmpdir}"/{BUILD,SOURCES,SPECS,SRPMS,RPMS,RPMS/"${target}"}
|
||||
|
||||
# logfile
|
||||
|
|
@ -106,7 +101,7 @@ init ()
|
|||
logfile="${tmpdir}/logfile"
|
||||
fi
|
||||
|
||||
if { [[ -e "${logfile}" ]] && [[ ! -w "${logfile}" ]] ; } || ! touch "${logfile}" ; then
|
||||
if ( [[ -e "${logfile}" ]] && [[ ! -w "${logfile}" ]] ) || ! touch "${logfile}" ; then
|
||||
echo "ERROR: Could not write logfile."
|
||||
finally
|
||||
exit 1
|
||||
|
|
@ -148,12 +143,12 @@ akmods_echo()
|
|||
fi
|
||||
|
||||
# output to console
|
||||
if (( verboselevel >= this_verbose )) ; then
|
||||
echo "$@" >&"${this_fd}"
|
||||
if (( ${verboselevel} >= ${this_verbose} )) ; then
|
||||
echo "$@" >&${this_fd}
|
||||
fi
|
||||
|
||||
# global logfile
|
||||
if [[ ! -n "${notlogfile}" ]] ; then
|
||||
if [[ ! -n ${notlogfile} ]] ; then
|
||||
echo "$@" >> "${logfile}"
|
||||
fi
|
||||
}
|
||||
|
|
@ -164,8 +159,8 @@ watch_rpmbuild()
|
|||
# background function to show rpmbuild progress
|
||||
# does't use akmods_echo here; this stage handles the output on its own
|
||||
# (seperate process and there is no need to log this)
|
||||
if (( verboselevel == 2 )) ; then
|
||||
tail --pid "${1}" -n +1 -s 0.1 -f "${2}" 2>/dev/null | grep --line-buffered -e '%prep' -e '%build' -e '%install' -e '%clean' | while read -r line ; do
|
||||
if (( ${verboselevel} == 2 )) ; then
|
||||
tail --pid ${1} -n +1 -s 0.1 -f ${2} 2>/dev/null | grep --line-buffered -e '%prep' -e '%build' -e '%install' -e '%clean' | while read line ; do
|
||||
if [[ "${line}" != "${line##*prep}" ]] ; then
|
||||
echo -n "prep "
|
||||
elif [[ "${line}" != "${line##*build}" ]] ; then
|
||||
|
|
@ -177,8 +172,8 @@ watch_rpmbuild()
|
|||
# last linefeed is done by the caller
|
||||
fi
|
||||
done
|
||||
elif (( verboselevel > 2 )) ; then
|
||||
tail --pid "${1}" -n +1 -s 0.1 -f "${2}"
|
||||
elif (( ${verboselevel} > 2 )) ; then
|
||||
tail --pid ${1} -n +1 -s 0.1 -f ${2}
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
@ -199,32 +194,31 @@ process_srpm()
|
|||
--define "_rpmdir ${tmpdir}/RPMS" \
|
||||
--define "_smp_mflags -j${numberofjobs}" \
|
||||
--define "kernels ${kernels}" \
|
||||
--target "${target}" \
|
||||
--target ${target} \
|
||||
--rebuild "${source_rpm}" 2>&1 | tee -a "${logfile}" > "${tmpdir}/.joblog" &
|
||||
|
||||
local rpmbuild_jobid=$!
|
||||
|
||||
# show progress
|
||||
if (( verboselevel >= 2 )) ; then
|
||||
watch_rpmbuild "${rpmbuild_jobid}" "${tmpdir}/.joblog" 2> /dev/null &
|
||||
if (( ${verboselevel} >= 2 )) ; then
|
||||
watch_rpmbuild ${rpmbuild_jobid} "${tmpdir}/.joblog" 2> /dev/null &
|
||||
local watch_jobid=$!
|
||||
fi
|
||||
|
||||
# wait for rpmbuild
|
||||
wait "${rpmbuild_jobid}"
|
||||
local rpmbuild_returncode
|
||||
rpmbuild_returncode=$(tail -n 1 "${tmpdir}/.jobexit")
|
||||
wait ${rpmbuild_jobid}
|
||||
local rpmbuild_returncode=$(tail -n 1 "${tmpdir}/.jobexit")
|
||||
unset rpmbuild_jobid
|
||||
|
||||
# give watch_rpmbuild a moment to catch up; kill it if it does not
|
||||
if (( verboselevel >= 2 )) ; then
|
||||
if (( ${verboselevel} >= 2 )) ; then
|
||||
sleep 0.5
|
||||
kill "${watch_jobid}" &> /dev/null
|
||||
kill ${watch_jobid} &> /dev/null
|
||||
unset watch_jobid
|
||||
fi
|
||||
|
||||
# did rpmbuild succeed?
|
||||
if (( rpmbuild_returncode != 0 )) ; then
|
||||
if (( ${rpmbuild_returncode} != 0 )) ; then
|
||||
# linefeed:
|
||||
akmods_echo 1 2 ""
|
||||
|
||||
|
|
@ -232,16 +226,15 @@ process_srpm()
|
|||
akmods_echo 2 2 --not-logfile "--- "
|
||||
tail -n 35 "${tmpdir}/.joblog" >&2
|
||||
akmods_echo 2 2 --not-logfile "---"
|
||||
return "${rpmbuild_returncode}"
|
||||
return ${rpmbuild_returncode}
|
||||
fi
|
||||
|
||||
# finish status for watch_rpmbuild
|
||||
if (( verboselevel >= 2 )) ; then
|
||||
akmods_echo 1 2 -n "Successful; "
|
||||
if (( ${verboselevel} >= 2 )) ; then
|
||||
akmods_echo 1 2 -n "Successfull; "
|
||||
fi
|
||||
|
||||
local rpms_built
|
||||
rpms_built="$(cd "${tmpdir}"/RPMS/"${target}" || exit ; echo *)"
|
||||
local rpms_built="$(cd "${tmpdir}"/RPMS/"${target}" ; echo *)"
|
||||
|
||||
if ! mv "${tmpdir}/RPMS/${target}/"* "${outputdir}" ; then
|
||||
# linefeed:
|
||||
|
|
@ -251,11 +244,11 @@ process_srpm()
|
|||
return 128
|
||||
fi
|
||||
|
||||
if (( verboselevel == 1 )) ; then
|
||||
if (( ${verboselevel} == 1 )) ; then
|
||||
for rpm in ${rpms_built}; do
|
||||
echo "${outputdir%%/}/${rpm}"
|
||||
done
|
||||
elif (( verboselevel >= 2 )) ; then
|
||||
elif (( ${verboselevel} >= 2 )) ; then
|
||||
akmods_echo 1 2 "Saved ${rpms_built} in ${outputdir%%/}/"
|
||||
fi
|
||||
|
||||
|
|
@ -318,11 +311,11 @@ while [ "${1}" ] ; do
|
|||
shift
|
||||
;;
|
||||
-v|--verbose)
|
||||
(( verboselevel++ ))
|
||||
let verboselevel++
|
||||
shift
|
||||
;;
|
||||
-q|--quiet)
|
||||
(( verboselevel-- ))
|
||||
let verboselevel--
|
||||
shift
|
||||
;;
|
||||
-h|--help)
|
||||
|
|
@ -350,12 +343,12 @@ init
|
|||
|
||||
# go
|
||||
for srpm in ${srpms}; do
|
||||
process_srpm "${srpm}"
|
||||
process_srpm ${srpm}
|
||||
returncode=$?
|
||||
|
||||
if (( returncode != 0 )) ; then
|
||||
if (( ${returncode} != 0 )) ; then
|
||||
finally
|
||||
exit "${returncode}"
|
||||
exit ${returncode}
|
||||
fi
|
||||
done
|
||||
|
||||
|
|
|
|||
47
akmodsinit
Normal file
47
akmodsinit
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
#!/bin/bash -
|
||||
#
|
||||
# akmodinit Builds and install new kmods from akmod packages
|
||||
#
|
||||
# Author: Thorsten Leemhuis <fedora@leemhuis.info>
|
||||
#
|
||||
# chkconfig: 2345 5 95
|
||||
#
|
||||
# description: akmodsinit calls akmod during system boot to build and install
|
||||
# kmods for the currently running kernel if neccessary.
|
||||
#
|
||||
# processname: akmodsd
|
||||
# pidfile: /var/run/akmodsd.pid
|
||||
#
|
||||
|
||||
### BEGIN INIT INFO
|
||||
# Provides: akmodsd
|
||||
# Required-Start: $local_fs
|
||||
# Required-Stop: $local_fs
|
||||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 0 1 6
|
||||
# Short-Description: Builds and install new kmods from akmod packages
|
||||
# Description: akmodsinit calls akmod during system boot to build and install
|
||||
# kmods for the currently running kernel if neccessary.
|
||||
### END INIT INFO
|
||||
|
||||
start_akmods ()
|
||||
{
|
||||
# build and install all kmods if neccessary
|
||||
# for the currently running kernel (default in akmods)
|
||||
/usr/sbin/akmods --from-init
|
||||
}
|
||||
|
||||
|
||||
# See how we were called.
|
||||
case "$1" in
|
||||
start|restart|reload|condrestart)
|
||||
start_akmods
|
||||
;;
|
||||
stop|status)
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
echo $"Usage: $0 start"
|
||||
exit 2
|
||||
;;
|
||||
esac
|
||||
376
changelog
376
changelog
|
|
@ -1,178 +1,216 @@
|
|||
* Fri May 02 2025 Marcel Hetzendorfer <mh7596@gmail.com> - 0.6.0-11
|
||||
- Show building and installing on plymouth boot screen
|
||||
|
||||
* Tue Feb 11 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.6.0-10
|
||||
- Add sysusers.d config file to allow rpm to create users/groups
|
||||
automatically
|
||||
|
||||
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.0-9
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||
|
||||
* Wed Dec 11 2024 Nicolas Chauvet <kwizart@gmail.com> - 0.6.0-8
|
||||
- Update others hostname occurences
|
||||
|
||||
* Tue Dec 10 2024 Nicolas Chauvet <kwizart@gmail.com> - 0.6.0-7
|
||||
- Drop hostname deps - rhbz#2330137
|
||||
|
||||
* Thu Nov 28 2024 Nicolas Chauvet <kwizart@gmail.com> - 0.6.0-6
|
||||
- Validate or discard default_kernel - rhbz#2270414
|
||||
|
||||
* Fri Nov 08 2024 Nicolas Chauvet <kwizart@gmail.com> - 0.6.0-5
|
||||
- Fix KEYNAME lengh - rhbz#2323702
|
||||
|
||||
* Wed Oct 02 2024 Rohan Barar <rohan.barar@gmail.com> - 0.6.0-4
|
||||
- Add robust missing key pair logic
|
||||
|
||||
* Wed Oct 02 2024 Rohan Barar <rohan.barar@gmail.com> - 0.6.0-3
|
||||
- Improved error handling + Bug fixes
|
||||
|
||||
* Tue Oct 01 2024 Rohan Barar <rohan.barar@gmail.com> - 0.6.0-2
|
||||
- Add check for elevated privileges
|
||||
|
||||
* Tue Oct 01 2024 Nicolas Chauvet <kwizart@gmail.com> - 0.6.0-1
|
||||
- Bump akmods version
|
||||
|
||||
* Tue Oct 01 2024 Nicolas Chauvet <kwizart@gmail.com> - 0.5.10-30
|
||||
- Remove duplicate akmodsposttrans call - rhbz#2011120
|
||||
|
||||
* Thu Sep 26 2024 Rohan Barar <rohan.barar@gmail.com> - 0.5.10-29
|
||||
- Avoid double error on empty user-provided key pair name.
|
||||
|
||||
* Thu Sep 26 2024 Rohan Barar <rohan.barar@gmail.com> - 0.5.10-28
|
||||
- Corrected erroneous code introduced in previous commits.
|
||||
|
||||
* Thu Sep 26 2024 Rohan Barar <rohan.barar@gmail.com> - 0.5.10-27
|
||||
- Fixed typo 'if' to 'fi'.
|
||||
|
||||
* Thu Sep 26 2024 Rohan Barar <rohan.barar@gmail.com> - 0.5.10-26
|
||||
- Added check for existing key pair with same name as user-specified new
|
||||
key pair name.
|
||||
|
||||
* Thu Sep 26 2024 Rohan Barar <rohan.barar@gmail.com> - 0.5.10-25
|
||||
- Added ability for user to name key pair.
|
||||
|
||||
* Sun Sep 22 2024 Rohan Barar <rohan.barar@gmail.com> - 0.5.10-24
|
||||
- Introduced loop to gracefully handle extremely rare key pair name
|
||||
collision events.
|
||||
|
||||
* Sat Sep 21 2024 Rohan Barar <rohan.barar@gmail.com> - 0.5.10-23
|
||||
- Refactor key pair naming scheme to enhance robustness + Removed collision
|
||||
check and key pair backup function due to bug with ':' in file names
|
||||
alongside superfluous nature of function given improved naming scheme.
|
||||
|
||||
* Sat Sep 21 2024 Rohan Barar <rohan.barar@gmail.com> - 0.5.10-22
|
||||
- Removed 'sudo' prefixes as per request in PR #23.
|
||||
|
||||
* Sat Sep 21 2024 Rohan Barar <rohan.barar@gmail.com> - 0.5.10-21
|
||||
- Further improvements to argument parsing logic.
|
||||
|
||||
* Fri Sep 20 2024 Rohan Barar <rohan.barar@gmail.com> - 0.5.10-20
|
||||
- Improved clarity of exit status code comments.
|
||||
|
||||
* Fri Sep 20 2024 Rohan Barar <rohan.barar@gmail.com> - 0.5.10-19
|
||||
- Revert "Utilise robust shebang." as per request on PR #23.
|
||||
|
||||
* Fri Sep 20 2024 Rohan Barar <rohan.barar@gmail.com> - 0.5.10-18
|
||||
- Added support for combined single-letter arguments + Chowned symlinks.
|
||||
|
||||
* Fri Sep 20 2024 Rohan Barar <rohan.barar@gmail.com> - 0.5.10-17
|
||||
- Improved mokutil error handling + Added sudo prefixes.
|
||||
|
||||
* Fri Sep 20 2024 Rohan Barar <rohan.barar@gmail.com> - 0.5.10-16
|
||||
- Added error handling for failed cacert modification.
|
||||
|
||||
* Fri Sep 20 2024 Rohan Barar <rohan.barar@gmail.com> - 0.5.10-15
|
||||
- Whitespace changes for consistency.
|
||||
|
||||
* Fri Sep 20 2024 Rohan Barar <rohan.barar@gmail.com> - 0.5.10-14
|
||||
- Extract functions to enhance readability + Set 'commonName' to match
|
||||
'KEYNAME'.
|
||||
|
||||
* Fri Sep 20 2024 Rohan Barar <rohan.barar@gmail.com> - 0.5.10-13
|
||||
- Added logic to detect broken existing key pairs.
|
||||
|
||||
* Fri Sep 20 2024 Rohan Barar <rohan.barar@gmail.com> - 0.5.10-12
|
||||
- Improved user feedback in event of existing key pair.
|
||||
|
||||
* Fri Sep 20 2024 Rohan Barar <rohan.barar@gmail.com> - 0.5.10-11
|
||||
- Updated copyright information.
|
||||
|
||||
* Fri Sep 20 2024 Rohan Barar <rohan.barar@gmail.com> - 0.5.10-10
|
||||
- Various changes to avoid ShellCheck warnings.
|
||||
|
||||
* Fri Sep 20 2024 Rohan Barar <rohan.barar@gmail.com> - 0.5.10-9
|
||||
- Align license to 80 character width.
|
||||
|
||||
* Fri Sep 20 2024 Rohan Barar <rohan.barar@gmail.com> - 0.5.10-8
|
||||
- Utilise robust shebang.
|
||||
|
||||
* Fri Sep 20 2024 Rohan Barar <rohan.barar@gmail.com> - 0.5.10-7
|
||||
- Removed hard-coded paths.
|
||||
|
||||
* Fri Aug 23 2024 Nicolas Chauvet <kwizart@gmail.com> - 0.5.10-6
|
||||
- Fix parsing multiple kernel
|
||||
|
||||
* Fri Aug 23 2024 Nicolas Chauvet <kwizart@gmail.com> - 0.5.10-5
|
||||
- Use check_kernel_devel return code as appropriate
|
||||
|
||||
* Fri Aug 23 2024 Nicolas Chauvet <kwizart@gmail.com> - 0.5.10-4
|
||||
- Change check_kernel_devel() to return instead of exit
|
||||
|
||||
* Fri Aug 23 2024 Nicolas Chauvet <kwizart@gmail.com> - 0.5.10-3
|
||||
- akmods --from-init only operates on current kernel
|
||||
|
||||
* Fri Aug 23 2024 Nicolas Chauvet <kwizart@gmail.com> - 0.5.10-2
|
||||
- Deprecate akmods-shutdown script
|
||||
|
||||
* Fri Aug 23 2024 Nicolas Chauvet <kwizart@gmail.com> - 0.5.10-1
|
||||
- Bump to akmods 0.5.10
|
||||
|
||||
* Fri Aug 23 2024 Nicolas Chauvet <kwizart@gmail.com> - 0.5.9-8
|
||||
- Only check for default_kernel is no value - rhbz#2293047
|
||||
|
||||
* Fri Aug 23 2024 Nicolas Chauvet <kwizart@gmail.com> - 0.5.9-7
|
||||
- Revert "Call Init before the argument parser"
|
||||
|
||||
* Fri Aug 23 2024 Nicolas Chauvet <kwizart@gmail.com> - 0.5.9-6
|
||||
- Switch to use sdubby alternatives to grubby
|
||||
|
||||
* Fri Aug 23 2024 Nicolas Chauvet <kwizart@gmail.com> - 0.5.9-5
|
||||
- Drop older rhel and use -core
|
||||
|
||||
* Fri Aug 23 2024 Nicolas Chauvet <kwizart@gmail.com> - 0.5.9-4
|
||||
- Drop older rhel cases
|
||||
|
||||
* Mon Aug 19 2024 Jonathan Wakely <jwakely@fedoraproject.org> - 0.5.9-3
|
||||
- Fix bug URLs in man page
|
||||
|
||||
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.9-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||
|
||||
* Thu Jul 04 2024 Nicolas Chauvet <kwizart@gmail.com> - 0.5.9-1
|
||||
- akmods release 0.5.9
|
||||
|
||||
* Thu Jul 04 2024 Hans de Goede <hdegoede@redhat.com> - 0.5.8-10
|
||||
- Fix intel-ipu6-kmod installation with kernel >= 6.10
|
||||
|
||||
* Thu Jul 04 2024 Marius Schwarz <fedoradev@cloud-foo.de> - 0.5.8-9
|
||||
- Call Init before the argument parser
|
||||
|
||||
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.8-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.8-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Tue Dec 05 2023 Nicolas Chauvet <kwizart@gmail.com> - 0.5.8-6
|
||||
- Workaround for rhbz#1889136 when localpkg_gpgcheck=True
|
||||
|
||||
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.8-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Fri May 05 2023 Nicolas Chauvet <kwizart@gmail.com> - 0.5.8-1
|
||||
* Fri May 5 2023 Nicolas Chauvet <kwizart@gmail.com> - 0.5.8-1
|
||||
- Don't emit weak-deps from deprecated arches on all
|
||||
- Allow akmods --rebuild to force rebuild+reinstall - rhbz#2140012
|
||||
- ensure to build for grub or systemd-boot default kernel - rhbz#2124086
|
||||
- Drop "which" as akmods dependency
|
||||
|
||||
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.7-10
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.7-9
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Wed May 04 2022 Nicolas Chauvet <kwizart@gmail.com> - 0.5.7-8
|
||||
- Fix logrotate permission access to /var/log/akmods directory - rhbz#2078490
|
||||
- Rename logrotate config file
|
||||
|
||||
* Wed Mar 09 2022 Timothée Ravier <tim@siosm.fr> - 0.5.7-7
|
||||
- Use 'Require' instead of 'Suggest' for kernel*-devel packages.
|
||||
|
||||
* Thu Jan 27 2022 Nicolas Viéville <nicolas.vieville@uphf.fr> - 0.5.7-6
|
||||
- Adapt usage of lockfile to systemd-tmpfiles
|
||||
- Re-locate akmods logs in /var/log
|
||||
|
||||
* Wed Jan 26 2022 Timothée Ravier <tim@siosm.fr> - 0.5.7-5
|
||||
- Use kernel*-core variants in conditional Suggests
|
||||
|
||||
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.7-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Mon Dec 20 2021 Nicolas Chauvet <kwizart@gmail.com> - 0.5.7-3
|
||||
- Drop perl-interpeter
|
||||
- Drop akmodsinit
|
||||
- Only use preset on rhel
|
||||
- kernel-devel-matched support
|
||||
see also https://src.fedoraproject.org/rpms/akmods/pull-request/7
|
||||
|
||||
* Fri Dec 10 2021 Nicolas Chauvet <kwizart@gmail.com> - 0.5.7-2
|
||||
- Bump kmodtool requirement
|
||||
- Rename kABI list
|
||||
- Drop EL6 support
|
||||
- Switch to distro agnostic deps
|
||||
|
||||
* Fri Oct 22 2021 Nicolas Viéville <nicolas.vieville@uphf.fr> - 0.5.7-1
|
||||
- Add local akmods CA signing keys and support tools to sign modules for
|
||||
Secure boot thanks to Stanislas Leduc <stanislas.leduc@balinor.net>
|
||||
- Add akmods-keygen service to generate MOK key pair on first run
|
||||
|
||||
* Fri Oct 22 2021 Nicolas Viéville <nicolas.vieville@uphf.fr> - 0.5.6-29
|
||||
- Remove trailing spaces and clean-up
|
||||
- Use %%{name} when possible
|
||||
- Convert if statement from "[!] $variable" to "[!] -n $variable"
|
||||
- Fix kernel list build when parsing command line options
|
||||
- Ensure to build for grub default kernel
|
||||
- Improve detection of already installed (weak-)modules in akmods (RHEL)
|
||||
- akmods uses logrotate and clean-up /var/cache/akmods sub-directories of
|
||||
old logs and rpm files from no more installed kmod packages
|
||||
(rhbz #1542658).
|
||||
|
||||
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.6-28
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Mon Jan 25 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.6-27
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.6-26
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.6-25
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Wed Nov 20 2019 Nicolas Viéville <nicolas.vieville@uphf.fr> - 0.5.6-24
|
||||
- Check kernel presence differently for systemd-boot machines - rhbz#1769144
|
||||
|
||||
* Wed Oct 16 2019 Leigh Scott <leigh123linux@googlemail.com> - 0.5.6-23
|
||||
- Add requires kernel-abi-whitelists for RHEL
|
||||
|
||||
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.6-22
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Mon May 20 2019 Nicolas Chauvet <kwizart@gmail.com> - 0.5.6-21
|
||||
- Add check for rhel8
|
||||
|
||||
* Wed May 15 2019 Nicolas Viéville <nicolas.vieville@uphf.fr> - 0.5.6-20
|
||||
- Fix akmodsposttrans after kernel update/install on Fedora >= 28 and
|
||||
RHEL >= 7 - rhbz#1709055
|
||||
|
||||
* Thu Feb 28 2019 Alexander Larsson <alexl@redhat.com> - 0.5.6-19
|
||||
- Support ostree/silverblue builds - rhbz#1667014
|
||||
|
||||
* Thu Feb 28 2019 Hans de Goede <hdegoede@redhat.com>
|
||||
- Do not fail when the old initscripts pkg is not installed - rhbz#1680121
|
||||
|
||||
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.6-18
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Mon Nov 05 2018 Nicolas Chauvet <kwizart@gmail.com> - 0.5.6-17
|
||||
- Don't enforce target arch - rhbz#1644430
|
||||
- Rework log file path
|
||||
- Avoid using /usr/lib/modules for el6 compat
|
||||
|
||||
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.6-16
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Mon Mar 26 2018 Nicolas Chauvet <kwizart@gmail.com> - 0.5.6-15
|
||||
- Add inihibitor for akmods@.service
|
||||
- Use restart on akmodsposttrans
|
||||
|
||||
* Mon Mar 26 2018 Nicolas Chauvet <kwizart@gmail.com> - 0.5.6-14
|
||||
- Switch to always retry by default
|
||||
- Drop akmods preset by f28
|
||||
- Don't enable service on ah
|
||||
- Test a rw directory
|
||||
|
||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.6-13
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Wed Dec 13 2017 Nicolas Chauvet <kwizart@gmail.com> - 0.5.6-12
|
||||
- Update kernel posttrans method - rhbz#1518401
|
||||
|
||||
* Thu Aug 03 2017 Nicolas Chauvet <kwizart@gmail.com> - 0.5.6-11
|
||||
- Rework kernel-devel requires on el
|
||||
|
||||
* Thu Aug 03 2017 Nicolas Chauvet <kwizart@gmail.com> - 0.5.6-10
|
||||
- Enable suggests on fedora
|
||||
- Add back el6 support in spec
|
||||
- Add Requires elfutils-libelf-devel
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.6-9
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Thu Jul 13 2017 Petr Pisar <ppisar@redhat.com> - 0.5.6-8
|
||||
- perl dependency renamed to perl-interpreter
|
||||
<https://fedoraproject.org/wiki/Changes/perl_Package_to_Install_Core_Modules>
|
||||
|
||||
* Thu May 4 2017 Hans de Goede <hdegoede@redhat.com> - 0.5.6-7
|
||||
- "udevadm trigger" may have bad side-effects (rhbz#454407) instead
|
||||
look for modalias files under /sys/devices and call modprobe directly
|
||||
- Fix exit status when no akmod packages are installed, so that systemd
|
||||
does not consider the akmods.service as having failed to start
|
||||
|
||||
* Wed May 3 2017 Hans de Goede <hdegoede@redhat.com> - 0.5.6-6
|
||||
- Run "udevadm trigger" and "systemctl restart systemd-modules-load.service"
|
||||
when new kmod packages have been build and installed so that the new
|
||||
modules may be used immediately without requiring a reboot
|
||||
|
||||
* Mon Mar 6 2017 Hans de Goede <hdegoede@redhat.com> - 0.5.6-5
|
||||
- Add LICENSE file (rhbz#1422918)
|
||||
|
||||
* Fri Feb 24 2017 Hans de Goede <hdegoede@redhat.com> - 0.5.6-4
|
||||
- Replace %%{_prefix}/lib/systemd/system-preset with %%{_presetdir}
|
||||
|
||||
* Thu Feb 16 2017 Hans de Goede <hdegoede@redhat.com> - 0.5.6-3
|
||||
- Submit to Fedora for package review
|
||||
|
||||
* Mon Nov 28 2016 Nicolas Chauvet <kwizart@gmail.com> - 0.5.6-2
|
||||
- Use Suggests kernel-devel weak-dependency - see rfbz#3386
|
||||
|
||||
* Fri Oct 14 2016 Richard Shaw <hobbes1069@gmail.com> - 0.5.6-1
|
||||
- Disable shutdown systemd service file by default.
|
||||
- Remove modprobe line from main service file.
|
||||
|
||||
* Wed Aug 17 2016 Sérgio Basto <sergio@serjux.com> - 0.5.4-3
|
||||
- New release
|
||||
|
||||
* Sun Jan 03 2016 Nicolas Chauvet <kwizart@gmail.com> - 0.5.4-2
|
||||
- Revert conflicts kernel-debug-devel
|
||||
|
||||
* Thu Jul 23 2015 Richard Shaw <hobbes1069@gmail.com> - 0.5.4-1
|
||||
- Do not mark a build as failed when only installing the RPM fails.
|
||||
- Run akmods-shutdown script instead of akmods on shutdown.
|
||||
- Add systemd preset file to enable services by default.
|
||||
|
||||
* Wed Jul 15 2015 Richard Shaw <hobbes1069@gmail.com> - 0.5.3-2
|
||||
- Add package conflicts to stop pulling in kernel-debug-devel, fixes BZ#3386.
|
||||
- Add description for the formatting of the <kernel> parameter, BZ#3580.
|
||||
- Update static man pages and clean them up.
|
||||
- Fixed another instance of TMPDIR causing issues.
|
||||
- Added detection of dnf vs yum to akmods, fixed BZ#3481.
|
||||
|
||||
* Wed Apr 1 2015 Richard Shaw <hobbes1069@gmail.com> - 0.5.2-1
|
||||
- Fix temporary directory creation when TMPDIR environment variable is set,
|
||||
fixes BZ#2596.
|
||||
- Update systemd scripts to use macros.
|
||||
- Fix akmods run on shutdown systemd unit file, fixes BZ#3503.
|
||||
|
||||
* Sun Nov 16 2014 Nicolas Chauvet <kwizart@gmail.com> - 0.5.1-4
|
||||
- Fix akmods on armhfp - rfbz#3117
|
||||
- Use yum instead of rpm to install packages - rfbz#3350
|
||||
Switch to a better date format
|
||||
|
||||
* Fri Jan 11 2013 Richard Shaw <hobbes1069@gmail.com> - 0.5.1-3
|
||||
- Really fix akmods.service.in.
|
||||
|
||||
* Fri Jun 01 2012 Richard Shaw <hobbes1069@gmail.com> - 0.5.1-2
|
||||
- Add service file to run again on shutdown.
|
||||
- Add conditional for Fedora 18 to specify correct systemd graphical service.
|
||||
|
||||
* Thu Apr 12 2012 Nicolas Chauvet <kwizart@gmail.com> - 0.4.0-4
|
||||
- Rebuilt
|
||||
|
||||
* Tue Mar 20 2012 Richard Shaw <hobbes1069@gmail.com> - 0.4.0-3
|
||||
- Add additional error output if the needed kernel development files are not
|
||||
installed. (Fixes #561)
|
||||
|
||||
* Mon Mar 05 2012 Richard Shaw <hobbes1069@gmail.com> - 0.4.0-2
|
||||
- Remove remaining references to previous Fedora releases
|
||||
- Remove legacy SysV init script from CVS.
|
||||
- Added man page for akmods and cleaned up man page for akmodsbuild.
|
||||
|
||||
* Tue Feb 07 2012 Nicolas Chauvet <kwizart@gmail.com> - 0.4.0-1
|
||||
- Update for UsrMove support
|
||||
- Remove unused references to older fedora
|
||||
- Change Requires from kernel-devel to kernel-devel-uname-r
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue