You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
2.1 KiB
67 lines
2.1 KiB
#!/bin/bash |
|
|
|
UPGRADEBIN=@LIBEXECDIR@/system-upgrade-powerel |
|
TOOL_VERSION=@VERSION@ |
|
|
|
check() { |
|
[ -x $UPGRADEBIN ] || return 1 |
|
return 255 |
|
} |
|
|
|
depends() { |
|
echo plymouth |
|
} |
|
|
|
install() { |
|
# write our version info somewhere |
|
{ |
|
echo NAME=\"powerel-upgrade-tool\" |
|
echo VERSION=\"$TOOL_VERSION\" |
|
echo ID=powerel-upgrade-dracut |
|
echo VERSION_ID=$TOOL_VERSION |
|
echo PRETTY_NAME=\"powerel-upgrade-dracut-$TOOL_VERSION\" |
|
echo ANSI_COLOR=\"0\;36\" |
|
} > $initdir/etc/system-upgrade-release |
|
# stuff we need for initial boot |
|
# ------------------------------ |
|
# SELinux policy and contexts |
|
dracut_install /etc/selinux/config |
|
dracut_install /etc/selinux/*/policy/* |
|
dracut_install $(find /etc/selinux/*/contexts) |
|
# script to save initramfs at UPGRADEROOT |
|
inst_hook pre-pivot 99 "$moddir/keep-initramfs.sh" |
|
# remove the plymouth text plugin so we get either graphics or details |
|
rm -r ${initdir}/$(plymouth --get-splash-plugin-path)text.so \ |
|
${initdir}/usr/share/plymouth/themes/text/* |
|
|
|
|
|
# stuff we use in upgrade hook(s) |
|
# ------------------------------- |
|
# upgrader binary |
|
inst_binary $UPGRADEBIN |
|
# config file so we can find it |
|
mkdir -p "${initdir}/etc/conf.d" |
|
echo "UPGRADEBIN=$UPGRADEBIN" > "${initdir}/etc/conf.d/powerel-upgrade-tool.conf" |
|
|
|
# RPM hash/sig checks (via NSS) don't work without these |
|
inst_libdir_file "libfreebl*" "libsqlite*" "libsoftokn*" |
|
|
|
# RPM can't find the rpmdb without rpmconfig |
|
rpmconfig=$(find /etc/rpm /usr/lib/rpm -name "rpmrc" -o -name "macros*") |
|
dracut_install $rpmconfig |
|
|
|
# script to run before the upgrade |
|
inst_hook upgrade-pre 50 "$moddir/prepare-rootfs.sh" |
|
|
|
# script to actually run the upgrader binary |
|
inst_hook upgrade 50 "$moddir/do-upgrade.sh" |
|
|
|
# Run scripts generated by preupgrade-assistant after upgrade |
|
inst_hook upgrade-post 50 "$moddir/preupgrade-postupgrade.sh" |
|
|
|
# clean up after upgrade |
|
inst_hook upgrade-post 70 "$moddir/upgrade-cleanup.sh" |
|
|
|
# save the journal/logs after we're done |
|
inst_hook upgrade-post 99 "$moddir/save-journal.sh" |
|
}
|
|
|