🛠️ build(map): add array to package removal process

This commit is contained in:
Eshan Roy
2024-08-01 04:21:21 +05:30
parent 59ddebc57b
commit 876db49f10

View File

@@ -1,5 +1,4 @@
#!/bin/bash #!/bin/bash
# set -e
# Author : Eshan Roy <eshan@snigdhaos.or> # Author : Eshan Roy <eshan@snigdhaos.or>
# Author URL : https://eshanized.github.io/ # Author URL : https://eshanized.github.io/
@@ -8,163 +7,60 @@ echo
echo "--->> Start snigdhaos-virtual-machine-check <<---" echo "--->> Start snigdhaos-virtual-machine-check <<---"
echo echo
# Detect virtualization platform
result=$(systemd-detect-virt) result=$(systemd-detect-virt)
# First remove the db.lck # Remove db.lck if it exists
while [ -e "/var/lib/pacman/db.lck" ]; do
while [ -e "/var/lib/pacman/db.lck" ]; echo 'Pacman is not ready yet. Trying in 10 Seconds.'
do sleep 5
echo 'Pacman is not ready yet. Trying in 10 Seconds.' if [ -e "/var/lib/pacman/db.lck" ]; then
# shellcheck disable=SC2004 echo "Snigdha OS Removing Pacman db.lck!"
seconds=$(($seconds + 5)) rm /var/lib/pacman/db.lck
sleep 5 fi
if [[ "$seconds" == "30" ]]; then
echo "Snigdha OS Removing Pacman db.lck!"
rm /var/lib/pacman/db.lck
fi
done done
echo echo
# shellcheck disable=SC2086 echo "You Are On : $result"
echo "You Are On : "$result
echo echo
if [[ $result == "oracle" ]]; then # Define packages to remove for each virtualization platform
# removing pre-installed vmware declare -A packages_to_remove
if [ -f /etc/xdg/autostart/vmware-user.desktop ]; then packages_to_remove[oracle]="open-vm-tools xf86-video-vmware qemu-guest-agent"
rm /etc/xdg/autostart/vmware-user.desktop packages_to_remove[kvm]="open-vm-tools xf86-video-vmware virtualbox-guest-utils virtualbox-guest-utils-nox"
echo "[REMOVED] vmware-user.desktop" packages_to_remove[vmware]="virtualbox-guest-utils virtualbox-guest-utils-nox qemu-guest-agent"
fi packages_to_remove[none]="virtualbox-guest-utils virtualbox-guest-utils-nox qemu-guest-agent open-vm-tools xf86-video-vmware"
if pacman -Qi open-vm-tools &> /dev/null; then # Remove packages and disable services
systemctl disable vmware-vmblock-fuse.service for package in ${packages_to_remove[$result]}; do
systemctl disable vmtoolsd.service if pacman -Qi $package &> /dev/null; then
echo "[DISABLE] vmtoolsd.service" systemctl disable $package.service
pacman -Rns open-vm-tools --noconfirm pacman -Rns $package --noconfirm
echo "[REMOVED] open-vm-tools" echo "[REMOVED] $package"
fi fi
done
if pacman -Qi xf86-video-vmware &> /dev/null; then # Remove additional files
pacman -Rns xf86-video-vmware --noconfirm if [ -f /etc/xdg/autostart/vmware-user.desktop ]; then
echo "[REMOVED] xf86-video-vmware" rm /etc/xdg/autostart/vmware-user.desktop
fi echo "[REMOVED] vmware-user.desktop"
if [ -f /etc/systemd/system/multi-user.target.wants/vmtoolsd.service ]; then
rm /etc/systemd/system/multi-user.target.wants/vmtoolsd.service
echo "[REMOVED] vmtoolsd.service"
fi
if pacman -Qi qemu-guest-agent &> /dev/null; then
systemctl disable qemu-guest-agent.service
pacman -Rns qemu-guest-agent --noconfirm
echo "[REMOVED] qemu-guest-agent"
fi
fi fi
if [ $result == "kvm" ]; then if [ -f /etc/systemd/system/multi-user.target.wants/vmtoolsd.service ]; then
if [ -f /etc/xdg/autostart/vmware-user.desktop ]; then rm /etc/systemd/system/multi-user.target.wants/vmtoolsd.service
rm /etc/xdg/autostart/vmware-user.desktop echo "[REMOVED] vmtoolsd.service"
echo "[REMOVED] vmware-user.desktop"
fi
if pacman -Qi open-vm-tools &> /dev/null; then
systemctl disable vmware-vmblock-fuse.service
systemctl disable vmtoolsd.service
echo "[DISABLE] vmtoolsd.service"
pacman -Rns open-vm-tools --noconfirm
echo "[REMOVED] open-vm-tools"
fi
if pacman -Qi xf86-video-vmware &> /dev/null; then
pacman -Rns xf86-video-vmware --noconfirm
echo "[REMOVED] xf86-video-vmware"
fi
if pacman -Qi virtualbox-guest-utils &> /dev/null; then
systemctl disable vboxservice.service
pacman -Rns virtualbox-guest-utils --noconfirm
echo "[REMOVED] virtualbox-guest-utils"
fi
if pacman -Qi virtualbox-guest-utils-nox &> /dev/null; then
systemctl disable vboxservice.service
pacman -Rns virtualbox-guest-utils-nox --noconfirm
echo "[REMOVED] virtualbox-guest-utils-nox"
fi
fi fi
if [ $result == "vmware" ]; then if [ -f /usr/local/bin/snigdhaos-virtual-machine-check ]; then
if pacman -Qi virtualbox-guest-utils &> /dev/null; then rm /usr/local/bin/snigdhaos-virtual-machine-check
systemctl disable vboxservice.service echo "[REMOVED] /usr/local/bin/snigdhaos-virtual-machine-check"
pacman -Rns virtualbox-guest-utils --noconfirm
echo "[REMOVED] virtualbox-guest-utils"
fi
if pacman -Qi virtualbox-guest-utils-nox &> /dev/null; then
systemctl disable vboxservice.service
pacman -Rns virtualbox-guest-utils-nox --noconfirm
echo "[REMOVED] virtualbox-guest-utils-nox"
fi
if pacman -Qi qemu-guest-agent &> /dev/null; then
systemctl disable qemu-guest-agent.service
pacman -Rns qemu-guest-agent --noconfirm
echo "[REMOVED] qemu-guest-agent"
fi
fi fi
if [ $result == "none" ]; then if [ -f /etc/systemd/system/multi-user.target.wants/virtual-machine-check.service ]; then
if pacman -Qi virtualbox-guest-utils &> /dev/null; then rm /etc/systemd/system/multi-user.target.wants/virtual-machine-check.service
systemctl disable vboxservice.service echo "[REMOVED] AVM-Check Script"
pacman -Rns virtualbox-guest-utils --noconfirm
echo "[REMOVED] virtualbox-guest-utils"
fi
if pacman -Qi virtualbox-guest-utils-nox &> /dev/null; then
systemctl disable vboxservice.service
pacman -Rns virtualbox-guest-utils-nox --noconfirm
echo "[REMOVED] virtualbox-guest-utils-nox"
fi
if pacman -Qi qemu-guest-agent &> /dev/null; then
systemctl disable qemu-guest-agent.service
pacman -Rns qemu-guest-agent --noconfirm
echo "[REMOVED] qemu-guest-agent"
fi
if [ -f /etc/xdg/autostart/vmware-user.desktop ]; then
rm /etc/xdg/autostart/vmware-user.desktop
echo "[REMOVED] vmware-user.desktop"
fi
if pacman -Qi open-vm-tools &> /dev/null; then
systemctl disable vmware-vmblock-fuse.service
systemctl disable vmtoolsd.service
echo "[DISABLE] vmtoolsd.service"
pacman -Rns open-vm-tools --noconfirm
echo "[REMOVED] open-vm-tools"
fi
if pacman -Qi xf86-video-vmware &> /dev/null; then
pacman -Rns xf86-video-vmware --noconfirm
echo "[REMOVED] xf86-video-vmware"
fi
if [ -f /etc/systemd/system/multi-user.target.wants/vmtoolsd.service ]; then
rm /etc/systemd/system/multi-user.target.wants/vmtoolsd.service
echo "[REMOVED] vmtoolsd.service"
fi
if [ -f /usr/local/bin/snigdhaos-virtual-machine-check ]; then
rm /usr/local/bin/snigdhaos-virtual-machine-check
echo "[REMOVED] /usr/local/bin/snigdhaos-virtual-machine-check"
fi
if [ -f /etc/systemd/system/multi-user.target.wants/virtual-machine-check.service ]; then
rm /etc/systemd/system/multi-user.target.wants/virtual-machine-check.service
echo "[REMOVED] AVM-Check Script"
fi
fi fi
echo echo
echo "--->> End snigdhaos-virtual-machine-check <<---" echo "--->> End snigdhaos-virtual-machine-check <<---"
echo echo