46 lines
855 B
Text
46 lines
855 B
Text
|
#!/bin/bash
|
||
|
|
||
|
restoreDir="/etc/restore"
|
||
|
|
||
|
hook_before() {
|
||
|
mkdir -p "$restoreDir" || exit 1
|
||
|
pushd "$restoreDir" || exit 2
|
||
|
|
||
|
rpm -qa | sort > Package.versions.list
|
||
|
rpm -qa --queryformat '%{NAME}.%{ARCH}\n' | sort > Package.list
|
||
|
#FIXME Need to put this to use for explicitely installed packages.
|
||
|
dnf repoquery --userinstalled > Package.userinstalled.list
|
||
|
|
||
|
cat > restore.sh <<EOF
|
||
|
#!/bin/bash
|
||
|
|
||
|
if [[ ! -f "Package.list" ]]; then
|
||
|
echo "This needs to be run inside the restore directory."
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
dnf install \$(cat Package.list)
|
||
|
EOF
|
||
|
|
||
|
popd || exit 2
|
||
|
}
|
||
|
|
||
|
hook_after() {
|
||
|
:
|
||
|
}
|
||
|
|
||
|
hook_fail() {
|
||
|
:
|
||
|
}
|
||
|
|
||
|
hook_final() {
|
||
|
:
|
||
|
}
|
||
|
|
||
|
case "$1" in
|
||
|
before) hook_before || exit $?;;
|
||
|
after) hook_after || exit $?;;
|
||
|
fail) hook_fail || exit $?;;
|
||
|
finally) hook_final || exit $?;;
|
||
|
esac
|