#!/bin/bash # snap-pac # https://github.com/wesbarnett/snap-pac # Copyright (C) 2016 James W. Barnett # 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 2 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, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # Takes a snapper pre snapshot before a pacman transaction if [ -f /etc/snap-pac.conf ]; then source /etc/snap-pac.conf else echo "WARNING: /etc/snap-pac.conf is missing. Using default settings." fi cleanupalgo=${CLEANUP_ALGORITHM:-"number"} description=${POST_DESCRIPTION:-"$(echo $(ps -C pacman -o args=) | sed 'sX/usr/bin/pacmanXpacmanXg')"} configurations=${CONFIGS:-"root"} PREFILE_PREFIX="/usr/share/libalpm/hooks.bin/snap-pac/.pre" for x in $configurations; do snapper --config $x create --type pre --cleanup-algorithm $cleanupalgo --print-number --description "$description" > $PREFILE_PREFIX"_"$x done