45 lines
855 B
Bash
Executable file
45 lines
855 B
Bash
Executable file
#!/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
|