akshara/usr/lib/dracut/modules.d/10akshara/handle-update.sh

37 lines
1.2 KiB
Bash
Executable file

#!/bin/sh
echo
# Remove "$NEWROOT"/.successful-update if exists
rm -f "$NEWROOT"/.successful-update "$NEWROOT"/.update
# Check if there is an available update
if [ -d "$NEWROOT"/.update_rootfs ]; then
# Available, rename old /usr and move new /usr to /
if [ -d "$NEWROOT"/.update_rootfs/usr ]; then
rm -rf "$NEWROOT"/.old.usr
mv "$NEWROOT"/usr "$NEWROOT"/.old.usr >/dev/null 2>&1
mv "$NEWROOT"/.update_rootfs/usr "$NEWROOT"/usr
fi
# Same for /etc
if [ -d "$NEWROOT"/.update_rootfs/etc ]; then
rm -rf "$NEWROOT"/.old.etc
mv "$NEWROOT"/etc "$NEWROOT"/.old.etc >/dev/null 2>&1
mv "$NEWROOT"/.update_rootfs/etc "$NEWROOT"/etc
fi
# Same for /var
if [ -d "$NEWROOT"/.update_rootfs/var ]; then
rm -rf "$NEWROOT"/.old.var
mv "$NEWROOT"/var "$NEWROOT"/.old.var >/dev/null 2>&1
mv "$NEWROOT"/.update_rootfs/var "$NEWROOT"/var
fi
rm -rf "$NEWROOT"/.old.update_rootfs
mv "$NEWROOT"/.update_rootfs "$NEWROOT"/.old.update_rootfs
touch "$NEWROOT"/.successful-update
fi
mkdir -p "$NEWROOT"/.blendOS-overlays/usr
mount -t overlay overlay -o index=off -o metacopy=off -o ro,lowerdir="$NEWROOT"/usr,upperdir="$NEWROOT"/.blendOS-overlays/usr "$NEWROOT"/usr