|
# Uninstall Wine-Staging, DXVK, meson & glslang buildtime deps on Debian
|
|
# Copyright (C) 2018 Pekka Helenius
|
|
#
|
|
# This program is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation, either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
##############################################################################
|
|
|
|
meson_deps=(
|
|
'dh-python'
|
|
'python3-setuptools'
|
|
'ninja-build'
|
|
)
|
|
|
|
#glslang_deps=(
|
|
# Nothing to remove actually, just python2.7 which is likely required by other packages
|
|
#)
|
|
|
|
wine_deps=(
|
|
'libxi-dev:amd64'
|
|
'libxt-dev:amd64'
|
|
'libxmu-dev:amd64'
|
|
'libx11-dev:amd64'
|
|
'libxext-dev:amd64'
|
|
'libxfixes-dev:amd64'
|
|
'libxrandr-dev:amd64'
|
|
'libxcursor-dev:amd64'
|
|
'libxrender-dev:amd64'
|
|
'libxkbfile-dev:amd64'
|
|
'libxxf86vm-dev:amd64'
|
|
'libxxf86dga-dev:amd64'
|
|
'libxinerama-dev:amd64'
|
|
'libgl1-mesa-dev:amd64'
|
|
'libglu1-mesa-dev:amd64'
|
|
'libxcomposite-dev:amd64'
|
|
'libpng-dev:amd64'
|
|
'libssl-dev:amd64'
|
|
'libv4l-dev:amd64'
|
|
'libxml2-dev:amd64'
|
|
'libgsm1-dev:amd64'
|
|
'libjpeg-dev:amd64'
|
|
# 'libkrb5-dev:amd64'
|
|
'libtiff-dev:amd64'
|
|
'libsane-dev:amd64'
|
|
'libudev-dev:amd64'
|
|
'libpulse-dev:amd64'
|
|
'liblcms2-dev:amd64'
|
|
# 'libldap2-dev:amd64'
|
|
'libxslt1-dev:amd64'
|
|
'unixodbc-dev:amd64'
|
|
'libcups2-dev:amd64'
|
|
'libcapi20-dev:amd64'
|
|
'libopenal-dev:amd64'
|
|
'libdbus-1-dev:amd64'
|
|
'freeglut3-dev:amd64'
|
|
'libmpg123-dev:amd64'
|
|
'libasound2-dev:amd64'
|
|
'libgphoto2-dev:amd64'
|
|
'libosmesa6-dev:amd64'
|
|
'libpcap0.8-dev:amd64'
|
|
'libgnutls28-dev:amd64'
|
|
'libncurses5-dev:amd64'
|
|
'libgettextpo-dev:amd64'
|
|
'libfreetype6-dev:amd64'
|
|
'libfontconfig1-dev:amd64'
|
|
'libgstreamer-plugins-base1.0-dev:amd64'
|
|
'ocl-icd-opencl-dev:amd64'
|
|
'libvulkan-dev:amd64'
|
|
|
|
'libxi-dev:i386'
|
|
'libxt-dev:i386'
|
|
'libxmu-dev:i386'
|
|
'libx11-dev:i386'
|
|
'libxext-dev:i386'
|
|
'libxfixes-dev:i386'
|
|
'libxrandr-dev:i386'
|
|
'libxcursor-dev:i386'
|
|
'libxrender-dev:i386'
|
|
'libxkbfile-dev:i386'
|
|
'libxxf86vm-dev:i386'
|
|
'libxxf86dga-dev:i386'
|
|
'libxinerama-dev:i386'
|
|
'libgl1-mesa-dev:i386'
|
|
'libglu1-mesa-dev:i386'
|
|
'libxcomposite-dev:i386'
|
|
'libpng-dev:i386'
|
|
'libssl-dev:i386'
|
|
'libv4l-dev:i386'
|
|
'libgsm1-dev:i386'
|
|
'libjpeg-dev:i386'
|
|
# 'libkrb5-dev:i386'
|
|
'libsane-dev:i386'
|
|
'libudev-dev:i386'
|
|
'libpulse-dev:i386'
|
|
'liblcms2-dev:i386'
|
|
# 'libldap2-dev:i386'
|
|
'unixodbc-dev:i386'
|
|
'libcapi20-dev:i386'
|
|
'libopenal-dev:i386'
|
|
'libdbus-1-dev:i386'
|
|
'freeglut3-dev:i386'
|
|
'libmpg123-dev:i386'
|
|
'libasound2-dev:i386'
|
|
'libgphoto2-dev:i386'
|
|
'libosmesa6-dev:i386'
|
|
'libpcap0.8-dev:i386'
|
|
'libncurses5-dev:i386'
|
|
'libgettextpo-dev:i386'
|
|
'libfreetype6-dev:i386'
|
|
'libfontconfig1-dev:i386'
|
|
'ocl-icd-opencl-dev:i386'
|
|
'libvulkan-dev:i386'
|
|
'libxslt1-dev:i386'
|
|
'libxml2-dev:i386'
|
|
'libicu-dev:i386'
|
|
'libtiff-dev:i386'
|
|
'libcups2-dev:i386'
|
|
'libgnutls28-dev:i386'
|
|
'libgstreamer1.0-dev:i386'
|
|
'libgstreamer-plugins-base1.0-dev:i386'
|
|
)
|
|
|
|
dxvk_deps=(
|
|
'meson'
|
|
'glslang'
|
|
'gcc-mingw-w64-base'
|
|
#'binutils-common'
|
|
'mingw-w64-common'
|
|
'binutils-mingw-w64-x86-64'
|
|
'binutils-mingw-w64-i686'
|
|
|
|
'mingw-w64-x86-64-dev'
|
|
'gcc-mingw-w64-x86-64'
|
|
'g++-mingw-w64-x86-64'
|
|
|
|
'mingw-w64-i686-dev'
|
|
'gcc-mingw-w64-i686'
|
|
'g++-mingw-w64-i686'
|
|
)
|
|
|
|
wine_deps_noremove=(
|
|
'gcc-multilib'
|
|
'g++-multilib'
|
|
'libxml-simple-perl'
|
|
'libxml-parser-perl'
|
|
'libxml-libxml-perl'
|
|
'lzma'
|
|
'flex'
|
|
'bison'
|
|
'quilt'
|
|
'gettext'
|
|
#'oss4-dev'
|
|
'sharutils'
|
|
'pkg-config'
|
|
'dctrl-tools'
|
|
'khronos-api'
|
|
'unicode-data'
|
|
'freebsd-glue'
|
|
'icoutils'
|
|
'librsvg2-bin'
|
|
'imagemagick'
|
|
'fontforge'
|
|
)
|
|
|
|
core_deps_noremove=(
|
|
'make' 'cmake' 'gcc' 'git' 'build-essential' 'fakeroot'
|
|
)
|
|
|
|
removals_name=('Meson' 'Wine Staging' 'DXVK')
|
|
removals=('${meson_deps[*]}' '${wine_deps[*]}' '${dxvk_deps[*]}')
|
|
|
|
echo -e "This script removes any development/build time dependencies related to Wine & DXVK\n"
|
|
|
|
i=0
|
|
for k in ${removals[*]}; do
|
|
echo -e "\nRemoving ${removals_name[$i]} buildtime dependencies\n"
|
|
sudo dpkg --remove --force-remove-reinstreq $(eval echo ${k})
|
|
let i++
|
|
done
|
|
|
|
# Manually obtained deb packages are expected to break system configuration, thus we need to fix it.
|
|
sudo apt --fix-broken -y install
|
|
|
|
echo -e "\nThe following Wine Staging buildtime dependencies were not removed:\n$(for o in ${wine_deps_noremove[*]}; do echo ${o}; done)\n"
|
|
|
|
echo -e "\nThe following core buildtime dependencies were not removed:\n$(for o in ${core_deps_noremove[*]}; do echo ${o}; done)\n"
|
|
|
|
read -r -p "Show list of auto removable packages which are no longer needed (use with precaution!)? [Y/n] " question
|
|
|
|
if [[ $(echo $question | sed 's/ //g') =~ ^([yY][eE][sS]|[yY])$ ]]; then
|
|
sudo apt-get purge --autoremove
|
|
fi
|
|
|