|
|
- # Uninstall Wine-Staging, DXVK, D9VK, 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'
- )
-
- d9vk_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' 'D9VK')
- removals=('${meson_deps[*]}' '${wine_deps[*]}' '${dxvk_deps[*]}' '${d9vk_deps[*]}')
-
- echo -e "This script removes any development/build time dependencies related to Wine, DXVK & D9VK\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
-
|