diff --git a/bin/arch-package-index b/bin/arch-package-index index 15ab3fe..8f52c98 100755 --- a/bin/arch-package-index +++ b/bin/arch-package-index @@ -1,18 +1,18 @@ #!/bin/bash set -euo pipefail +source ${HOME}/bin/script_framework.sh + TARGET="${HOME}/.local/share/arch-package-index" # Check for pacman (and with it for Archlinux) which pacman >/dev/null 2>&1 || { - echo "Tool 'pacman' not found: This script only works for Archlinux" >&2 - exit 1 + fail "Tool 'pacman' not found: This script only works for Archlinux" } # Check for comm to be installed which comm >/dev/null 2>&1 || { - echo "Please install 'comm' utility" >&2 - exit 1 +fail "Please install 'comm' utility" } # Ensure the target dir exists @@ -21,12 +21,19 @@ mkdir -p ${TARGET} # CD into target dir pushd ${TARGET} >/dev/null 2>&1 +if ! [ -d .git ]; then + step "Initializing empty git dir" + git init -q +fi + [ -f groups.txt ] || { - echo "No groups.txt found, creating one with 'base' group." - echo "You might want to edit your ${TARGET}/groups.txt and add more groups installed on your system..." + warn "No groups.txt found, creating one with 'base' group." + warn "You might want to edit your ${TARGET}/groups.txt and add more groups installed on your system..." echo "base" >groups.txt } +step "Collecting installed packages..." + # Collect packages not contained in groups pacman -Qgq $(cat groups.txt) | sort >group-packages.txt @@ -38,19 +45,17 @@ comm -23 non-group-packages.txt official-packages.txt >aur-packages.txt # Remove temporary stores rm group-packages.txt non-group-packages.txt -echo "Package files updated" >&2 +info "Package files updated" -if [ -d '.git' ]; then - echo "Git directory found, creating update commit" >&2 +step "Creating update commit..." - git_files=( - aur-packages.txt - groups.txt - official-packages.txt - ) +git_files=( + aur-packages.txt + groups.txt + official-packages.txt +) - git add "${git_files[@]}" - git commit --no-gpg-sign -m 'Update from arch-package-index' "${git_files[@]}" -fi +git add "${git_files[@]}" +git commit -q --no-gpg-sign -m 'Update from arch-package-index' "${git_files[@]}" popd >/dev/null 2>&1