101 lines
2.6 KiB
Plaintext
101 lines
2.6 KiB
Plaintext
post_install() {
|
|
THEME_NAME="melawy-lera-sugar"
|
|
local install_dir="/usr/share/refind/themes/$THEME_NAME"
|
|
|
|
echo "Searching rEFInd installation in EFI partition..."
|
|
if ! __has_esp__; then
|
|
echo "EFI partition not found" >&2
|
|
exit 1
|
|
fi
|
|
|
|
REFIND_DIR=$(find "$ESP" -type d -iname refind)
|
|
if ! [[ -d "${REFIND_DIR}" ]]; then
|
|
echo "rEFInd not installed in $ESP" >&2
|
|
exit 1
|
|
fi
|
|
echo "Found rEFInd in ${REFIND_DIR}"
|
|
|
|
echo "Installing theme in ${REFIND_DIR}/themes"
|
|
cd ${install_dir}
|
|
install -D -m0644 -t "${REFIND_DIR}/themes/$THEME_NAME/" *.conf
|
|
find . -exec install -D {} "${REFIND_DIR}/themes/$THEME_NAME/{}" \;
|
|
|
|
REFIND_CONF_PATH="${REFIND_DIR}/refind.conf"
|
|
EFI_THEME_PATH="${REFIND_DIR}/themes"
|
|
|
|
RESULT=$(grep "theme" $REFIND_CONF_PATH)
|
|
|
|
if [[ "$?" = "0" ]]; then
|
|
CURRENT_THEME=$(echo $RESULT | cut -d"/" -f2)
|
|
if [[ "$?" = "0" ]]; then
|
|
sed -e "s/$CURRENT_THEME/$THEME_NAME/g" -i $REFIND_CONF_PATH
|
|
fi
|
|
else
|
|
if [[ -z "$(tail -n 1 -c 1 $REFIND_CONF_PATH)" ]];then
|
|
echo "include themes/$THEME_NAME/theme.conf" >> $REFIND_CONF_PATH
|
|
else
|
|
echo -e "\ninclude themes/$THEME_NAME/theme.conf" >> $REFIND_CONF_PATH
|
|
fi
|
|
fi
|
|
}
|
|
|
|
post_upgrade() {
|
|
post_install
|
|
}
|
|
|
|
post_remove() {
|
|
THEME_NAME="melawy-lera-sugar"
|
|
|
|
echo "Removal of theme from EFI partition"
|
|
|
|
echo "Searching rEFInd installation in EFI partition..."
|
|
if ! __has_esp__; then
|
|
echo "EFI partition not found" >&2
|
|
exit 1
|
|
fi
|
|
|
|
REFIND_DIR=$(find "$ESP" -type d -iname refind)
|
|
if ! [[ -d "${REFIND_DIR}" ]]; then
|
|
echo "rEFInd not installed in $ESP" >&2
|
|
exit 1
|
|
fi
|
|
echo "Found rEFInd in ${REFIND_DIR}"
|
|
|
|
REFIND_CONF_PATH="${REFIND_DIR}/refind.conf"
|
|
sed -i "/$THEME_NAME/d" $REFIND_CONF_PATH
|
|
|
|
if ! [[ -d "${REFIND_DIR}/themes/$THEME_NAME" ]]; then
|
|
echo "Theme already uninstalled"
|
|
exit 0
|
|
fi
|
|
|
|
rm -r "${REFIND_DIR}/themes/$THEME_NAME"
|
|
echo "Theme uninstalled from ${REFIND_DIR}/themes/$THEME_NAME"
|
|
}
|
|
|
|
# Copied from https://github.com/jaltuna/sbmok/master/verify.sh
|
|
# Verify EFI System Partition
|
|
__has_esp__() {
|
|
__find_esp__
|
|
|
|
mount "$ESP" &>/dev/null
|
|
[[ -d "$ESP/EFI" ]] && return 0 || return 1
|
|
}
|
|
|
|
__find_esp__() {
|
|
local parttype
|
|
local fstype
|
|
local device
|
|
|
|
while read -r device; do
|
|
read -r parttype fstype ESP <<<"$(lsblk -o "PARTTYPE,FSTYPE,MOUNTPOINT" "$device" 2>/dev/null | awk 'NR==2')"
|
|
|
|
[[ "${parttype,,}" != "c12a7328-f81f-11d2-ba4b-00a0c93ec93b" ]] && continue
|
|
[[ "${fstype,,}" != "vfat" ]] && continue
|
|
[[ -z $(findmnt -sn "$ESP") ]] && continue
|
|
|
|
done <<<"$(fdisk -l 2>/dev/null | grep -i efi | cut -d " " -f 1)"
|
|
|
|
readonly ESP
|
|
}
|