Added basic Fedora support

This commit is contained in:
2025-01-07 22:31:07 +01:00
parent 1dc94431ac
commit 49a8f3aa2b
3 changed files with 62 additions and 3 deletions

View File

@@ -29,14 +29,17 @@ while true; do
[Dd]* )
DoDebianReleaseUpdate=true
DoAlpineReleaseUpdate=false
DoFedoraReleaseUpdate=false
break;;
[Aa]* )
DoDebianReleaseUpdate=false
DoAlpineReleaseUpdate=true
DoFedoraReleaseUpdate=false
break;;
[Bb]* )
DoDebianReleaseUpdate=true
DoAlpineReleaseUpdate=true
DoFedoraReleaseUpdate=false
break;;
* ) echo "Please answer with (D)Debian, (A)Alpine or (B)oth.";;
esac
@@ -73,6 +76,21 @@ echo "Enter the Alpine version to upgrade to"
esac
done
fi
if $DoFedoraReleaseUpdate; then
echo "Enter the Fedora version to upgrade to"
read NewFedoraVersionNewFedoraVersion
while true; do
read -p "Upgrade to Fedora $NewFedoraVersion, is this correct? -> yes/no?" yn
case $yn in
[Nn]* )
echo "Enter the Fedora version to upgrade to"
read NewFedoraVersion
;;
[Yy]* ) break;;
* ) echo "Choose yes or no.";;
esac
done
fi
#CT updates
if $UpdateCT; then

View File

@@ -82,9 +82,29 @@ elif [[ "${DIST}" == *"alpine"* ]]; then
* ) echo "Choose yes or no.";;
esac
done
elif [[ "${DIST}" == *"fedora"* ]]; then
#Ask the wanted Fedora version
DoDebianReleaseUpdate=true
DoAlpineReleaseUpdate=true
DoFedoraReleaseUpdate=false
echo "Enter the Fedora version to upgrade to"
read NewFedoraVersionNewFedoraVersion
while true; do
read -p "Upgrade to Fedora $NewFedoraVersion, is this correct? -> yes/no?" yn
case $yn in
[Nn]* )
echo "Enter the Fedora version to upgrade to"
read NewFedoraVersion
;;
[Yy]* ) break;;
* ) echo "Choose yes or no.";;
esac
done
else
echo "Warning: Release upgrade are supported for this distro"
exit
fi
$TYPE-UpgradeRelease $ID

View File

@@ -57,7 +57,7 @@ UpdatePackages () {
elif [[ "${DIST}" == *"alpine"* ]]; then
$INSTCALL -- apk update
$INSTCALL -- apk upgrade
elif [[ "${DIST}" == *"centos"* ]]; then
elif [[ "${DIST}" == *"centos"* ]] || [[ "${DIST}" == *"fedora"* ]]; then
$INSTCALL -- dnf update -y
else
echo "Warning: Package manager in not supported"
@@ -202,8 +202,29 @@ UpgradeRelease () {
else
echo "Notice: Skiped, already up-to-date"
fi
elif [[ "${DIST}" == *"alpine"* ]]; then
echo "Notice: Release upgrade disabled for Alpine"
elif [[ "${DIST}" == *"fedora"* ]]; then
echo "Notice: Release upgrade disabled for Fedora"
elif [[ "${DIST}" == *"alpine"* ]] && $DoFedoraReleaseUpdate ; then
if [ $RELVERSION != $NewFedoraVersion ]; then
#Create snapshot before upgrading
$SNAPSHOTCMD "Before upgrade form Fedora $RELVERSION to Fedora $NewFedoraVersion"
#Fully update current version
$INSTCALL -- dnf install dnf-plugin-system-upgrade remove-retired-packages symlinks clean-rpm-gpg-pubkey -y
$INSTCALL -- dnf upgrade --refresh -y
$INSTCALL -- system-upgrade download --releasever=$RELVERSION -y
$INSTCALL -- system-upgrade reboot
echo waiting 5 minutes for Fedora to install its update while rebooting
sleep 300
$INSTCALL -- dnf remove --duplicates -y
$INSTCALL -- dnf autoremove -y
$INSTCALL -- clean-rpm-gpg-pubkey
$INSTCALL -- symlinks -r -d /usr
DOREBOOT=true
else
echo "Notice: Skiped, already up-to-date"
fi
elif [[ "${DIST}" == *"fedora"* ]]; then
echo "Notice: Release upgrade disabled for Fedora"
else
echo "Warning: Release upgrade are supported for this distro"
#exit 100