Update package list

Updated package list in preparation for unified package management. For
the moment still uses basic bash script to manage package installation.
Packages are collected in a big list, with some packages being ignored.

This is in preparation for the possibility to manage future package
'groups' directly in pacman meta packages. They will then be added /
removed to the individual PKGBUILD files as dependencies and will
automatically be kept up-to-date, added and removed on all systems which
use the corresponding meta group.

It also opens the path to have commit-time checking of irregularities
between the packages stipulated in the dotfile repository and the
current running system. This can be done by adding all packages of the
different package group lists, unifying them and removing potential
ignored packages.

It allows e.g. printing a warning when committing changes to the
repository while the system packages and the repository packages differ,
to make sure no package dependencies were introduced without knowing it
and which would introduce potential breaking changes into the dotfiles.
This commit is contained in:
Marty Oehme 2020-02-07 22:07:53 +01:00
parent 83728d6fb0
commit c7ed986c0e
No known key found for this signature in database
GPG key ID: 0CCB0526EFB9611A
4 changed files with 58 additions and 38 deletions

View file

@ -51,19 +51,25 @@ install() {
fi
echo "====================== BEGINNING INSTALLATION ============================="
if ! "$unattended"; then
export BOOTSTRAP_PACKAGES="bootstrap/packages.csv"
export BOOTSTRAP_PACKAGES="_bootstrap/packages.txt"
"$bootstrap_dir"/install_packages.sh
else
export BOOTSTRAP_PACKAGES="bootstrap/packages.csv"
export BOOTSTRAP_PACKAGES="_bootstrap/packages.txt"
"$bootstrap_dir"/install_packages.sh -f
fi
unset BOOTSTRAP_PACKAGES
echo "=================== BEGINNING DOTFILE MANAGEMENT =========================="
stow -R ./*/
# get all top level directories, remove their slashes and dots
# finally get rid of .dot-directories, since they are for the repo not for my homedir
targets="$(find . -maxdepth 1 -type d | sed -e 's/^\.\/\(.*\)$/\1/' | sed -e '/^\./d')"
# shellcheck disable=2086
# -- for some reason stow only works with unqoted var expansion
stow -R ${targets} 2> >(grep -v 'Absolute/relative mismatch between Stow dir' 1>&2)
echo "====================== INSTALLATION FINISHED =============================="
exit 0
}
main "$@"