# ------------------------------------------------------------------------------ # Install or remove packages # This file is part of the init.sh project # Copyright (c) 2019-2021 Geoffray Levasseur # ------------------------------------------------------------------------------ # This file is distributed under 3-clause BSD license. # The complete license agreement can be obtained at: # https://opensource.org/licenses/BSD-3-Clause # ------------------------------------------------------------------------------ # Variable: # * PKGS_RMLIST: packages to remove # * PKGS_BLACKLIST: package to mark as forbidden (will be removed if not) # * PKGSEL: List of package to install # ------------------------------------------------------------------------------ export VER_install_pkg="0.1.2" export DEP_install_pkg="upgrade_dist" install_pkg() { # Remove unnecessary packages if [[ -n $PKGS_RMLIST ]]; then prnt I "Suppression de paquets supperflus..." pkgrm $PKGS_RMLIST fi # Blacklist some anoying packages (and remove them if needed) if [[ -n PKGS_BLACKLIST ]]; then for pkg in $PKGS_BLACKLIST; do prnt I "Mise du paquet $pkg en liste noire..." local dest=/etc/apt/preferences.d/blacklist_$pkg installfile pkgman/blacklist.conf $dest && sed -i -e "s/@pkg@/pkg/" $dest # If blacklisted we suppose uninstall as well (if neeeded) pkgrm $pkg done fi # Install all the configured packages if [[ -n $PKGSEL ]]; then prnt I "Installation de la sélection de paquets..." pkginst $PKGSEL fi # Cleaning prnt I "Suppression des paquets résiduels le cas échéant..." pkgautorm } precheck_install_pkg() { if [[ -z PKGS_RMLIST ]]; then prnt I "Aucun paquet à désinstaller" else prnt I "$(echo $PKGS_RMLIST | wc -w) paquets à supprimer." fi if [[ -z PKGS_BLACKLIST ]]; then prnt W "Les paquets $pkg seront placés en liste noire !" fi if [[ -z $PKGSEL ]]; then prnt W "Pas de paquet additionel à installer !" else prnt I "$(echo $PKGSEL | wc -w) paquets additionels seront installés." fi file_exists pkgman/blacklist.conf } export -f install_pkg export -f precheck_install_pkg # EOF