debian package uninstallation script (#3027)

* debian package uninstallation script

* Script to remove/uninstall dotnet pkgs from a OSX machine.

* name change of deb uninstall script

* Address PR feedback

Changes to fail the script if the 'pkgutil --forget' command fails.
This commit is contained in:
Bryan Thornbury 2016-05-13 20:37:20 -07:00 committed by Piotr Puszkiewicz
parent eb7054c90d
commit b23feed7c8
2 changed files with 77 additions and 0 deletions

View file

@ -0,0 +1,39 @@
#!/usr/bin/env bash
#
# Copyright (c) .NET Foundation and contributors. All rights reserved.
# Licensed under the MIT license. See LICENSE file in the project root for full license information.
#
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
current_user=$(whoami)
if [ $current_user != "root" ]; then
echo "$(basename $0) uninstallation script requires superuser privileges to run"
exit 1
fi
host_package_name="dotnet-host"
remove_all(){
apt-get purge -y $host_package_name
}
is_dotnet_host_installed(){
local out="$(dpkg -l | grep $host_package_name)"
[ -z "$out" ]
}
is_dotnet_host_installed
[ "$?" -eq 0 ] && echo "Unable to find dotnet installation to remove." \
&& exit 0
remove_all
[ "$?" -ne 0 ] && echo "Failed to remove dotnet packages." && exit 1
is_dotnet_host_installed
[ "$?" -ne 0 ] && \
echo "dotnet package removal succeeded but appear to still be installed. Please file an issue at https://github.com/dotnet/cli" && \
exit 1
echo "dotnet package removal succeeded."
exit 0

View file

@ -0,0 +1,38 @@
#!/usr/bin/env bash
#
# Copyright (c) .NET Foundation and contributors. All rights reserved.
# Licensed under the MIT license. See LICENSE file in the project root for full license information.
#
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
current_user=$(whoami)
if [ $current_user != "root" ]; then
echo "`basename "$0"` uninstallation script requires superuser privileges to run"
exit 1
fi
# this is the common suffix for all the dotnet pkgs
dotnet_pkg_name_suffix="com.microsoft.dotnet"
dotnet_install_root="/usr/local/share/dotnet"
dotnet_path_file="/etc/paths.d/dotnet"
remove_dotnet_pkgs(){
installed_pkgs=($(pkgutil --pkgs | grep $dotnet_pkg_name_suffix))
for i in "${installed_pkgs[@]}"
do
echo "Removing dotnet component - \"$i\""
pkgutil --force --forget "$i"
done
}
remove_dotnet_pkgs
[ "$?" -ne 0 ] && echo "Failed to remove dotnet packages." && exit 1
echo "Deleting install root - $dotnet_install_root"
rm -rf $dotnet_install_location
rm -f $dotnet_path_file
echo "dotnet packages removal succeeded."
exit 0