Your IP : 216.73.216.1


Current Path : /proc/self/cwd/
Upload File :
Current File : //proc/self/cwd/kernel.tar

install.d/20-grub.install000075500000017422150522567230011222 0ustar00#!/bin/bash

if ! [[ $KERNEL_INSTALL_MACHINE_ID ]]; then
    exit 0
fi

[[ -f /etc/default/grub ]] && . /etc/default/grub
[[ -f /etc/os-release ]] && . /etc/os-release

COMMAND="$1"
KERNEL_VERSION="$2"
BOOT_DIR_ABS="$3"
KERNEL_IMAGE="$4"

KERNEL_DIR="${KERNEL_IMAGE%/*}"

MACHINE_ID=$KERNEL_INSTALL_MACHINE_ID

# Remove it, since for grub2 the images are always installed in /boot
rm -rf "${BOOT_DIR_ABS%/*}"

BLS_DIR="/boot/loader/entries"

mkbls() {
    local kernelver=$1 && shift
    local datetime=$1 && shift

    local debugname=""
    local debugid=""
    local flavor=""

    if [[ "$kernelver" == *\+* ]] ; then
        local flavor=-"${kernelver##*+}"
        if [[ "${flavor}" == "-debug" ]]; then
            local debugname=" with debugging"
            local debugid="-debug"
        fi
    fi

    cat <<EOF
title ${NAME} (${kernelver}) ${VERSION}${debugname}
version ${kernelver}${debugid}
linux /vmlinuz-${kernelver}
initrd /initramfs-${kernelver}.img
options \$kernelopts
id ${ID}-${datetime}-${kernelver}
grub_users \$grub_users
grub_arg --unrestricted
grub_class kernel${flavor}
EOF
}

[[ "$KERNEL_VERSION" == *\+* ]] && flavor=-"${KERNEL_VERSION##*+}"
case "$COMMAND" in
    add)
        if [[ "${KERNEL_DIR}" != "/boot" ]]; then
            for i in \
                "$KERNEL_IMAGE" \
                    "$KERNEL_DIR"/System.map \
                    "$KERNEL_DIR"/config \
                    "$KERNEL_DIR"/zImage.stub \
                    "$KERNEL_DIR"/dtb
            do
                [[ -e "$i" ]] || continue
                rm -f "/boot/${i##*/}-${KERNEL_VERSION}"
                cp -aT "$i" "/boot/${i##*/}-${KERNEL_VERSION}"
                command -v restorecon &>/dev/null && \
                    restorecon -R "/boot/${i##*/}-${KERNEL_VERSION}"
            done
            # hmac is .vmlinuz-<version>.hmac so needs a special treatment
            i="$KERNEL_DIR/.${KERNEL_IMAGE##*/}.hmac"
            if [[ -e "$i" ]]; then
                rm -f "/boot/.${KERNEL_IMAGE##*/}-${KERNEL_VERSION}.hmac"
                cp -a "$i" "/boot/.${KERNEL_IMAGE##*/}-${KERNEL_VERSION}.hmac"
                command -v restorecon &>/dev/null && \
                    restorecon "/boot/.${KERNEL_IMAGE##*/}-${KERNEL_VERSION}.hmac"
            fi
            # symvers is symvers-<version>.gz symlink, needs a special treatment
            i="$KERNEL_DIR/symvers.gz"
            if [[ -e "$i" ]]; then
                rm -f "/boot/symvers-${KERNEL_VERSION}.gz"
                ln -s "$i" "/boot/symvers-${KERNEL_VERSION}.gz"
                command -v restorecon &>/dev/null && \
                    restorecon "/boot/symvers-${KERNEL_VERSION}.gz"
            fi
        fi

        if [[ "x${GRUB_ENABLE_BLSCFG}" = "xtrue" ]] || [[ ! -f /sbin/new-kernel-pkg ]]; then
            eval "$(grub2-get-kernel-settings)" || true
            [[ -d "$BLS_DIR" ]] || mkdir -m 0700 -p "$BLS_DIR"
            BLS_ID="${MACHINE_ID}-${KERNEL_VERSION}"
            BLS_TARGET="${BLS_DIR}/${BLS_ID}.conf"
            if [[ -f "${KERNEL_DIR}/bls.conf" ]]; then
                cp -aT "${KERNEL_DIR}/bls.conf" "${BLS_TARGET}" || exit $?
            else
                mkbls "${KERNEL_VERSION}" \
                    "$(date -u +%Y%m%d%H%M%S -d "$(stat -c '%y' "${KERNEL_DIR}")")" \
                    >"${BLS_TARGET}"
            fi

            LINUX="$(grep '^linux[ \t]' "${BLS_TARGET}" | sed -e 's,^linux[ \t]*,,')"
            INITRD="$(grep '^initrd[ \t]' "${BLS_TARGET}" | sed -e 's,^initrd[ \t]*,,')"
            LINUX_RELPATH="$(grub2-mkrelpath /boot${LINUX})"
            BOOTPREFIX="$(dirname ${LINUX_RELPATH})"
            ROOTPREFIX="$(dirname "/boot${LINUX}")"

            if [[ $LINUX != $LINUX_RELPATH ]]; then
                sed -i -e "s,^linux.*,linux ${BOOTPREFIX}${LINUX},g" "${BLS_TARGET}"
                sed -i -e "s,^initrd.*,initrd ${BOOTPREFIX}${INITRD},g" "${BLS_TARGET}"
            fi

            if ( [[ "$KERNEL_VERSION" != *${GRUB_DEFAULT_KERNEL_TYPE}* ]] && \
                     [ "x$GRUB_NON_STANDARD_KERNEL" == "xtrue" ] ) || \
                   ( echo "$KERNEL_VERSION" | grep -E -q "64k|auto|rt|uki" && \
                    	[ "x$GRUB_NON_STANDARD_KERNEL" != "xtrue" ] ) || \
                   ( [[ "$KERNEL_VERSION" == *debug* ]] && [ "x$GRUB_DEFAULT_TO_DEBUG" != "xtrue" ] ); then
                GRUB_UPDATE_DEFAULT_KERNEL=false
            fi

	    # There is a bug which occures in case of several machine ID entries exist in
            # /boot/loader/entries - grub doesn't load default entry which is
            # set in saved_entry variable by ID (machineID+kernel ver)
            # As a temporary workaround we set entry's Title value instead of ID.
	    BLS_TITLE="$(grep '^title[ \t]' "${BLS_TARGET}" | sed -e 's/^title[ \t]*//')"
            if [ "x$GRUB_UPDATE_DEFAULT_KERNEL" = "xtrue" ]; then
                if [ -z "${BLS_TITLE}" ]; then
                    NEWDEFAULT="${BLS_ID}"
		else
                    NEWDEFAULT="${BLS_TITLE}"
                fi
            fi

            if [ "x$GRUB_LINUX_MAKE_DEBUG" = "xtrue" ]; then
                ARCH="$(uname -m)"
                BLS_DEBUG_ID="$(echo ${BLS_ID} | sed -e "s/${KERNEL_VERSION}/${KERNEL_VERSION}~debug/")"
                BLS_DEBUG="$(echo ${BLS_TARGET} | sed -e "s/${KERNEL_VERSION}/${KERNEL_VERSION}~debug/")"
                cp -aT  "${BLS_TARGET}" "${BLS_DEBUG}"
                TITLE="$(grep '^title[ \t]' "${BLS_DEBUG}" | sed -e 's/^title[ \t]*//')"
                sed -i -e "s/^title.*/title ${TITLE}${GRUB_LINUX_DEBUG_TITLE_POSTFIX}/" "${BLS_DEBUG}"
                sed -i -e "s/^id.*/id ${BLS_DEBUG_ID}/" "${BLS_DEBUG}"
                sed -i -e "s/^options.*/options \$kernelopts ${GRUB_CMDLINE_LINUX_DEBUG}/" "${BLS_DEBUG}"
                if [ -n "$NEWDEFAULT" -a "x$GRUB_DEFAULT_TO_DEBUG" = "xtrue" ]; then
                    NEWDEFAULT="${BLS_DEBUG_ID}"
                fi
            fi
            if [ -n "$NEWDEFAULT" ]; then
                grub2-editenv - set "saved_entry=${NEWDEFAULT}"
            fi

            # this probably isn't the best place to do this, but it will do for now.
            if [ -e "${ROOTPREFIX}${INITRD}" -a -e "${ROOTPREFIX}${LINUX}" -a \
                 "${ROOTPREFIX}${INITRD}" -ot "${ROOTPREFIX}${LINUX}" -a \
                 -x /usr/lib/kernel/install.d/50-dracut.install ]; then
                rm -f "${ROOTPREFIX}${INITRD}"
            fi
            exit 0
        fi

        /sbin/new-kernel-pkg --package "kernel${flavor}" --install "$KERNEL_VERSION" || exit $?
        /sbin/new-kernel-pkg --package "kernel${flavor}" --mkinitrd --dracut --depmod --update "$KERNEL_VERSION" || exit $?
        /sbin/new-kernel-pkg --package "kernel${flavor}" --rpmposttrans "$KERNEL_VERSION" || exit $?
        # If grubby is used there's no need to run other installation plugins
        exit 77
        ;;
    remove)

        if [[ "x${GRUB_ENABLE_BLSCFG}" = "xtrue" ]] || [[ ! -f /sbin/new-kernel-pkg ]]; then
            ARCH="$(uname -m)"
            BLS_TARGET="${BLS_DIR}/${MACHINE_ID}-${KERNEL_VERSION}.conf"
            BLS_DEBUG="$(echo ${BLS_TARGET} | sed -e "s/${KERNEL_VERSION}/${KERNEL_VERSION}~debug/")"
            rm -f "${BLS_TARGET}" "${BLS_DEBUG}"

            for i in vmlinuz System.map config zImage.stub dtb; do
                rm -rf "/boot/${i}-${KERNEL_VERSION}"
            done
            # hmac is .vmlinuz-<version>.hmac so needs a special treatment
            rm -f "/boot/.vmlinuz-${KERNEL_VERSION}.hmac"
            # symvers is symvers-<version>.gz symlink, needs a special treatment
            rm -f "/boot/symvers-${KERNEL_VERSION}.gz"

            exit 0
        fi

        /sbin/new-kernel-pkg --package "kernel${flavor+-$flavor}" --rminitrd --rmmoddep --remove "$KERNEL_VERSION" || exit $?
        # If grubby is used there's no need to run other installation plugins
        exit 77
        ;;
    *)
        ;;
esac
install.d/90-loaderentry.install000075500000003667150522567230012630 0ustar00#!/bin/bash
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh

COMMAND="$1"
KERNEL_VERSION="$2"
BOOT_DIR_ABS="$3"
KERNEL_IMAGE="$4"

if ! [[ $KERNEL_INSTALL_MACHINE_ID ]]; then
    exit 0
fi

if ! [[ -d "$BOOT_DIR_ABS" ]]; then
    exit 0
fi

MACHINE_ID=$KERNEL_INSTALL_MACHINE_ID

BOOT_DIR="/$MACHINE_ID/$KERNEL_VERSION"
BOOT_ROOT=${BOOT_DIR_ABS%$BOOT_DIR}
LOADER_ENTRY="$BOOT_ROOT/loader/entries/$MACHINE_ID-$KERNEL_VERSION.conf"

if [[ $COMMAND == remove ]]; then
    exec rm -f "$LOADER_ENTRY"
fi

if ! [[ $COMMAND == add ]]; then
    exit 1
fi

if ! [[ $KERNEL_IMAGE ]]; then
    exit 1
fi

if [[ -f /etc/os-release ]]; then
    . /etc/os-release
elif [[ -f /usr/lib/os-release ]]; then
    . /usr/lib/os-release
fi

if ! [[ $PRETTY_NAME ]]; then
    PRETTY_NAME="Linux $KERNEL_VERSION"
fi

if [[ -f /etc/kernel/cmdline ]]; then
    read -r -d '' -a BOOT_OPTIONS < /etc/kernel/cmdline
elif [[ -f /usr/lib/kernel/cmdline ]]; then
    read -r -d '' -a BOOT_OPTIONS < /usr/lib/kernel/cmdline
else
    declare -a BOOT_OPTIONS

    read -r -d '' -a line < /proc/cmdline
    for i in "${line[@]}"; do
        [[ "${i#initrd=*}" != "$i" ]] && continue
        BOOT_OPTIONS+=("$i")
    done
fi

cp "$KERNEL_IMAGE" "$BOOT_DIR_ABS/linux" &&
   chown root:root "$BOOT_DIR_ABS/linux" &&
   chmod 0644 "$BOOT_DIR_ABS/linux" || {
    echo "Could not copy '$KERNEL_IMAGE to '$BOOT_DIR_ABS/linux'." >&2
    exit 1
}

mkdir -p "${LOADER_ENTRY%/*}" || {
    echo "Could not create loader entry directory '${LOADER_ENTRY%/*}'." >&2
    exit 1
}

{
    echo "title      $PRETTY_NAME"
    echo "version    $KERNEL_VERSION"
    echo "machine-id $MACHINE_ID"
    echo "options    ${BOOT_OPTIONS[*]}"
    echo "linux      $BOOT_DIR/linux"
    [[ -f $BOOT_DIR_ABS/initrd ]] && \
        echo "initrd     $BOOT_DIR/initrd"
    :
} > "$LOADER_ENTRY" || {
    echo "Could not create loader entry '$LOADER_ENTRY'." >&2
    exit 1
}
exit 0
install.d/50-depmod.install000075500000000560150522567240011532 0ustar00#!/bin/bash
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh

[[ $2 ]] || exit 1

case "$1" in
    add)
        exec depmod -a "$2"
        ;;
    remove)
        exec rm -f /lib/modules/"$2"/modules.{alias{,.bin},builtin.bin,dep{,.bin},devname,softdep,symbols{,.bin}}
        ;;
    *)
        exit 0
esac
install.d/99-grub-mkconfig.install000075500000000713150522567240013031 0ustar00#!/bin/bash

if ! [[ $KERNEL_INSTALL_MACHINE_ID ]]; then
    exit 0
fi

ARCH=$(uname -m)

[[ -f /etc/default/grub ]] && . /etc/default/grub

# Can't assume a BLS capable bootloader on ppc64
if [[ x$GRUB_ENABLE_BLSCFG != xfalse &&
	  $ARCH != "ppc64" && $ARCH != "ppc64le" ]]; then
    exit 0
fi

COMMAND="$1"

case "$COMMAND" in
    add|remove)
        grub2-mkconfig --no-grubenv-update -o /boot/grub2/grub.cfg >& /dev/null
        ;;
    *)
        ;;
esac
install.d/50-dracut.install000075500000003171150522567240011545 0ustar00#!/bin/bash

COMMAND="$1"
KERNEL_VERSION="$2"
BOOT_DIR_ABS="$3"
KERNEL_IMAGE="$4"

# If KERNEL_INSTALL_MACHINE_ID is defined but empty, BOOT_DIR_ABS is a fake directory.
# So, let's skip to create initrd.
if ! [[ ${KERNEL_INSTALL_MACHINE_ID-x} ]]; then
    exit 0
fi

if [[ -d "$BOOT_DIR_ABS" ]]; then
    INITRD="initrd"
else
    BOOT_DIR_ABS="/boot"
    INITRD="initramfs-${KERNEL_VERSION}.img"
fi

ret=0
case "$COMMAND" in
    add)
        INITRD_IMAGE_PREGENERATED=${KERNEL_IMAGE%/*}/initrd
        if [[ -f ${INITRD_IMAGE_PREGENERATED} ]]; then
            # we found an initrd at the same place as the kernel
            # use this and don't generate a new one
            cp "$INITRD_IMAGE_PREGENERATED" "$BOOT_DIR_ABS/$INITRD" \
                && chown root:root "$BOOT_DIR_ABS/$INITRD" \
                && chmod 0600 "$BOOT_DIR_ABS/$INITRD" \
                && exit 0
        fi

        if [[ -f /etc/kernel/cmdline ]]; then
            read -r -d '' -a BOOT_OPTIONS < /etc/kernel/cmdline
        elif [[ -f /usr/lib/kernel/cmdline ]]; then
            read -r -d '' -a BOOT_OPTIONS < /usr/lib/kernel/cmdline
        else
            read -r -d '' -a BOOT_OPTIONS < /proc/cmdline
        fi

        unset noimageifnotneeded

        for ((i=0; i < "${#BOOT_OPTIONS[@]}"; i++)); do
            if [[ ${BOOT_OPTIONS[$i]} == root\=PARTUUID\=* ]]; then
                noimageifnotneeded="yes"
                break
            fi
        done
	dracut -f ${noimageifnotneeded:+--noimageifnotneeded} "$BOOT_DIR_ABS/$INITRD" "$KERNEL_VERSION"
        ret=$?
	;;
    remove)
        rm -f -- "$BOOT_DIR_ABS/$INITRD"
        ret=$?
	;;
esac
exit $ret
install.d/51-dracut-rescue.install000075500000007164150522567250013041 0ustar00#!/bin/bash

export LANG=C

COMMAND="$1"
KERNEL_VERSION="$2"
BOOT_DIR_ABS="${3%/*}/0-rescue"
KERNEL_IMAGE="$4"


dropindirs_sort()
{
    suffix=$1; shift
    args=("$@")
    files=$(
        while (( $# > 0 )); do
            for i in ${1}/*${suffix}; do
                [[ -f $i ]] && echo ${i##*/}
            done
            shift
        done | sort -Vu
    )

    for f in $files; do
        for d in "${args[@]}"; do
            if [[ -f "$d/$f" ]]; then
                echo "$d/$f"
                continue 2
            fi
        done
    done
}

[[ -f /etc/os-release ]] && . /etc/os-release

if [[ ${KERNEL_INSTALL_MACHINE_ID+x} ]]; then
    MACHINE_ID=$KERNEL_INSTALL_MACHINE_ID
elif [[ -f /etc/machine-id ]] ; then
    read MACHINE_ID < /etc/machine-id
fi

if ! [[ $MACHINE_ID ]]; then
    exit 0
fi

if [[ -f /etc/kernel/cmdline ]]; then
    read -r -d '' -a BOOT_OPTIONS < /etc/kernel/cmdline
elif [[ -f /usr/lib/kernel/cmdline ]]; then
    read -r -d '' -a BOOT_OPTIONS < /usr/lib/kernel/cmdline
else
    read -r -d '' -a line < /proc/cmdline
    for i in "${line[@]}"; do
        [[ "${i#initrd=*}" != "$i" ]] && continue
        BOOT_OPTIONS+=("$i")
    done
fi

if [[ -d "${BOOT_DIR_ABS%/*}" ]]; then
    BOOT_DIR="/${MACHINE_ID}/0-rescue"
    BOOT_ROOT=${BOOT_DIR_ABS%$BOOT_DIR}
    LOADER_ENTRY="$BOOT_ROOT/loader/entries/${MACHINE_ID}-0-rescue.conf"
    KERNEL="linux"
    INITRD="initrd"
else
    BLS_DIR="/boot/loader/entries"
    BOOT_DIR_ABS="/boot"
    LOADER_ENTRY="$BLS_DIR/${MACHINE_ID}-0-rescue.conf"
    KERNEL="vmlinuz-0-rescue-${MACHINE_ID}"
    INITRD="initramfs-0-rescue-${MACHINE_ID}.img"
fi

ret=0

case "$COMMAND" in
    add)
        [[ -f "$LOADER_ENTRY" ]] && [[ -f "$BOOT_DIR_ABS/$KERNEL" ]] \
            && [[ -f "$BOOT_DIR_ABS/$INITRD" ]] && exit 0

        # source our config dir
        for f in $(dropindirs_sort ".conf" "/etc/dracut.conf.d" "/usr/lib/dracut/dracut.conf.d"); do
            [[ -e $f ]] && . "$f"
        done

        [[ $dracut_rescue_image != "yes" ]] && exit 0

        [[ -d "$BOOT_DIR_ABS" ]] || mkdir -p "$BOOT_DIR_ABS"

        if ! cp "$KERNEL_IMAGE" "$BOOT_DIR_ABS/$KERNEL"; then
            echo "Can't copy '$KERNEL_IMAGE to '$BOOT_DIR_ABS/$KERNEL'!" >&2
        fi

        HMAC=".${KERNEL}.hmac"

        KERNEL_DIR="${KERNEL_IMAGE%/*}"
        KERNEL_FILE="${KERNEL_IMAGE##*/}"

        HMAC_FILE="${KERNEL_DIR}/.${KERNEL_FILE}.hmac"

        if ! sed -E "s/([0-9a-f]+)(\s+).*$/\1\2${KERNEL}/" "$HMAC_FILE" > "$BOOT_DIR_ABS/$HMAC"; then
            echo "Can't create '$BOOT_DIR_ABS/$HMAC' from '$HMAC_FILE'!" >&2
        fi

        if [[ ! -f "$BOOT_DIR_ABS/$INITRD" ]]; then
            dracut -f --no-hostonly -a "rescue" "$BOOT_DIR_ABS/$INITRD" "$KERNEL_VERSION"
            ((ret+=$?))
        fi

        if [[ "${BOOT_DIR_ABS}" != "/boot" ]]; then
            {
                echo "title      $PRETTY_NAME - Rescue Image"
                echo "version    $KERNEL_VERSION"
                echo "machine-id $MACHINE_ID"
                echo "options    ${BOOT_OPTIONS[@]} rd.auto=1"
                echo "linux      $BOOT_DIR/linux"
                echo "initrd     $BOOT_DIR/initrd"
            } > $LOADER_ENTRY
        else
            if [[ -e "${BLS_DIR}/${MACHINE_ID}-${KERNEL_VERSION}.conf" ]]; then
                cp -aT "${BLS_DIR}/${MACHINE_ID}-${KERNEL_VERSION}.conf" $LOADER_ENTRY
            else
                cp -aT "${KERNEL_IMAGE%/*}/bls.conf" $LOADER_ENTRY
            fi
            sed -i 's/'$KERNEL_VERSION'/0-rescue-'${MACHINE_ID}'/' $LOADER_ENTRY
        fi

        ((ret+=$?))
        ;;

    remove)
        exit 0
        ;;

    *)
        usage
        ret=1;;
esac

exit $ret
install.d/60-kdump.install000075500000001427150522567250011407 0ustar00#!/usr/bin/bash

COMMAND="$1"
KERNEL_VERSION="$2"
KDUMP_INITRD_DIR_ABS="$3"
KERNEL_IMAGE="$4"

if ! [[ ${KERNEL_INSTALL_MACHINE_ID-x} ]]; then
    exit 0
fi

if [[ -d "$KDUMP_INITRD_DIR_ABS" ]]; then
    KDUMP_INITRD="initrdkdump"
else
    # If `KDUMP_BOOTDIR` is not writable, then the kdump
    # initrd must have been placed at `/var/lib/kdump`
    if [[ ! -w "/boot" ]]; then
        KDUMP_INITRD_DIR_ABS="/var/lib/kdump"
    else
        KDUMP_INITRD_DIR_ABS="/boot"
    fi
    KDUMP_INITRD="initramfs-${KERNEL_VERSION}kdump.img"
fi

ret=0
case "$COMMAND" in
    add)
        # Do nothing, kdump initramfs is strictly host only
        # and managed by kdump service
        ;;
    remove)
        rm -f -- "$KDUMP_INITRD_DIR_ABS/$KDUMP_INITRD"
        ret=$?
        ;;
esac
exit $ret
install.d/92-tuned.install000075500000002570150522567250011413 0ustar00#!/bin/bash

COMMAND="$1"
KERNEL_VERSION="$2"
BOOT_DIR_ABS="$3"
KERNEL_IMAGE="$4"

if ! [[ $KERNEL_INSTALL_MACHINE_ID ]]; then
  exit 0
fi

MACHINE_ID=$KERNEL_INSTALL_MACHINE_ID

# with grub2 always /boot
BOOT_ROOT="/boot"
LOADER_ENTRIES="$BOOT_ROOT/loader/entries"

[ -d "$LOADER_ENTRIES" ] || exit 0

[ "$COMMAND" = "add" ] || exit 0

ARCH=`uname -m`

pushd "$LOADER_ENTRIES" &> /dev/null
for f in `basename "$MACHINE_ID"`-*.conf; do
  # Skip non-files and rescue entries
  if [ ! -f "$f" -o "${f: -12}" == "-rescue.conf" ]; then
    continue
  fi
  # Skip boom managed entries
  if [[ "$f" =~ \w*-[0-9a-f]{7,}-.*-.*.conf ]]; then
    continue
  fi

  if [ "${ARCH:0:4}" = "s390" ]; then
    # On s390(x), the zipl bootloader doesn't support variables,
    # unpatch TuneD variables which could be there from the previous TuneD
    # versions
    grep -q '^\s*options\s\+.*\$tuned_params' "$f" && sed -i '/^\s*options\s\+/ s/\s\+\$tuned_params\b//g' "$f"
    grep -q '^\s*initrd\s\+.*\$tuned_initrd' "$f" && sed -i '/^\s*initrd\s\+/ s/\s\+\$tuned_initrd\b//g' "$f"
  else
    # Not on s390(x), add TuneD variables if they are not there
    grep -q '^\s*options\s\+.*\$tuned_params' "$f" || sed -i '/^\s*options\s\+/ s/\(.*\)/\1 \$tuned_params/' "$f"
    grep -q '^\s*initrd\s\+.*\$tuned_initrd' "$f" || sed -i '/^\s*initrd\s\+/ s/\(.*\)/\1 \$tuned_initrd/' "$f"
  fi
done
popd &> /dev/null

exit 0
install.d/20-grubby.install000075500000004314150522567260011554 0ustar00#!/bin/bash

if [[ ! -x /sbin/new-kernel-pkg ]]; then
    exit 0
fi

COMMAND="$1"
KERNEL_VERSION="$2"
BOOT_DIR_ABS="$3"
KERNEL_IMAGE="$4"

KERNEL_DIR="${KERNEL_IMAGE%/*}"
[[ "$KERNEL_VERSION" == *\+* ]] && flavor=-"${KERNEL_VERSION##*+}"
case "$COMMAND" in
    add)
        if [[ "${KERNEL_DIR}" != "/boot" ]]; then
            for i in \
                "$KERNEL_IMAGE" \
                    "$KERNEL_DIR"/System.map \
                    "$KERNEL_DIR"/config \
                    "$KERNEL_DIR"/zImage.stub \
                    "$KERNEL_DIR"/dtb \
                ; do
                [[ -e "$i" ]] || continue
                cp -aT "$i" "/boot/${i##*/}-${KERNEL_VERSION}"
                command -v restorecon &>/dev/null && \
                    restorecon -R "/boot/${i##*/}-${KERNEL_VERSION}"
            done
            # hmac is .vmlinuz-<version>.hmac so needs a special treatment
            i="$KERNEL_DIR/.${KERNEL_IMAGE##*/}.hmac"
            if [[ -e "$i" ]]; then
                cp -a "$i" "/boot/.${KERNEL_IMAGE##*/}-${KERNEL_VERSION}.hmac"
                command -v restorecon &>/dev/null && \
                    restorecon "/boot/.${KERNEL_IMAGE##*/}-${KERNEL_VERSION}.hmac"
            fi
            # symvers is symvers-<version>.gz so needs a special treatment
            i="$KERNEL_DIR/symvers.gz"
            if [[ -e "$i" ]]; then
                cp -a "$i" "/boot/symvers-${KERNEL_VERSION}.gz"
                command -v restorecon &>/dev/null && \
                    restorecon "/boot/symvers-${KERNEL_VERSION}.gz"
            fi
        fi
        /sbin/new-kernel-pkg --package "kernel${flavor}" --install "$KERNEL_VERSION" || exit $?
        /sbin/new-kernel-pkg --package "kernel${flavor}" --mkinitrd --dracut --depmod --update "$KERNEL_VERSION" || exit $?
        /sbin/new-kernel-pkg --package "kernel${flavor}" --rpmposttrans "$KERNEL_VERSION" || exit $?
        ;;
    remove)
        /sbin/new-kernel-pkg --package "kernel${flavor+-$flavor}" --rminitrd --rmmoddep --remove "$KERNEL_VERSION" || exit $?
        ;;
    *)
        ;;
esac

# skip other installation plugins, if we can't find a boot loader spec conforming setup
if ! [[ -d /boot/loader/entries || -L /boot/loader/entries ]]; then
    exit 77
fi