#! /bin/sh # This file is part of BEAM # Copyright (C) 2012 Sergey Poznyakoff # # BEAM 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, or (at your option) # any later version. # # BEAM 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 BEAM. If not, see . libdir=@LIBDIR@/beam set -e . $libdir/common.sh set +e if [ "$1" = "--wtf" ]; then wtf $(basename $0) list what is included in backups exit 0 fi help() { cat < EOF exit 0 } ########################################################### # Main ########################################################### numbered_list= while [ $# -ne 0 ] do case $1 in -l|--number) numbered_list=1;; -h|--help) help;; -V|--version) print_version;; *) echo >&2 "$0: unrecognized option $1"; exit 1;; esac shift done load_config if [ -z "$backup_items" ]; then echo "Nothing is being backed up" fi delayed_exit= loaded_types= if test -n "$numbered_list"; then n=0 fi prefix= for item in $backup_items do eval type=\$${item}_type if [ -z "$type" ]; then error "${item}_type not set" delayed_exit=1 continue fi if echo "$loaded_types" | grep -wq $type; then : elif [ -x $libdir/${type}.sh ]; then . $libdir/${type}.sh || delayed_exit=1 loaded_types="$loaded_files $type" else error "$libdir/${type}.sh not found" delayed_exit=1 fi if test -n "$numbered_list"; then n=$((n + 1)) prefix="$n. " fi ${type}_list $item "$prefix" || delayed_exit=1 done test -n "$delayed_exit" && abend 1 "aborting" exit 0