2014-10-07 01:16:29 +02:00
|
|
|
#!/bin/bash
|
2014-10-08 11:11:19 +02:00
|
|
|
#
|
|
|
|
# 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; version 2 of the License.
|
|
|
|
#
|
|
|
|
# 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.
|
2014-10-07 01:16:29 +02:00
|
|
|
|
2014-10-08 13:14:28 +02:00
|
|
|
version=@version@
|
|
|
|
|
2015-01-09 21:39:29 +01:00
|
|
|
SYSCONFDIR='@sysconfdir@'
|
|
|
|
|
2014-11-13 16:31:15 +01:00
|
|
|
[[ -r @libdir@/util-msg.sh ]] && source @libdir@/util-msg.sh
|
|
|
|
[[ -r @libdir@/util.sh ]] && source @libdir@/util.sh
|
2014-10-07 01:16:29 +02:00
|
|
|
|
2015-01-13 13:41:28 +01:00
|
|
|
load_user_info
|
2015-01-09 21:39:29 +01:00
|
|
|
|
|
|
|
load_config "${USER_CONFIG}/manjaro-tools.conf"
|
|
|
|
load_config "${SYSCONFDIR}/manjaro-tools.conf"
|
2014-10-07 01:16:29 +02:00
|
|
|
|
2014-11-11 21:19:26 +01:00
|
|
|
create_set(){
|
2015-01-14 22:29:46 +01:00
|
|
|
msg "Creating [${sets_dir_pkg}/${name}.set] ..."
|
|
|
|
if [[ -f ${sets_dir_pkg}/${name}.set ]];then
|
|
|
|
msg2 "Backing up ${sets_dir_pkg}/${name}.set.orig"
|
|
|
|
mv "${sets_dir_pkg}/${name}.set" "${sets_dir_pkg}/${name}.set.orig"
|
2014-11-11 21:19:26 +01:00
|
|
|
fi
|
|
|
|
local list=$(find * -maxdepth 0 -type d | sort)
|
|
|
|
for item in ${list[@]};do
|
|
|
|
cd $item
|
|
|
|
if [[ -f PKGBUILD ]];then
|
|
|
|
msg2 "Adding ${item##*/}"
|
2015-01-14 22:29:46 +01:00
|
|
|
echo ${item##*/} >> ${sets_dir_pkg}/${name}.set || break
|
2014-11-11 21:19:26 +01:00
|
|
|
fi
|
|
|
|
cd ..
|
|
|
|
done
|
|
|
|
}
|
|
|
|
|
|
|
|
remove_set(){
|
2015-01-14 22:29:46 +01:00
|
|
|
msg "Removing [${sets_dir_pkg}/${name}.set] ..."
|
|
|
|
rm ${sets_dir_pkg}/${name}.set
|
2014-11-11 21:19:26 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
show_set(){
|
2015-01-14 22:29:46 +01:00
|
|
|
local list=$(cat ${sets_dir_pkg}/${name}.set)
|
|
|
|
msg "Content of [${sets_dir_pkg}/${name}.set] ..."
|
2014-11-11 21:19:26 +01:00
|
|
|
for item in ${list[@]}; do
|
|
|
|
msg2 "$item"
|
|
|
|
done
|
|
|
|
}
|
|
|
|
|
2014-10-07 10:34:33 +02:00
|
|
|
query=false
|
2014-10-07 17:27:39 +02:00
|
|
|
create=false
|
|
|
|
remove=false
|
2014-10-07 23:06:20 +02:00
|
|
|
display=false
|
2014-10-07 01:16:29 +02:00
|
|
|
name='default'
|
|
|
|
|
|
|
|
usage() {
|
|
|
|
echo "Usage: ${0##*/} [options]"
|
2014-10-07 10:34:33 +02:00
|
|
|
echo " -c <name> Create set"
|
2014-10-07 17:27:39 +02:00
|
|
|
echo " -r <name> Remove set"
|
2014-10-07 23:06:20 +02:00
|
|
|
echo " -d <name> Display set"
|
2014-11-16 23:18:01 +01:00
|
|
|
echo " -q Show sets"
|
2014-10-07 10:34:33 +02:00
|
|
|
echo ' -h This help'
|
2014-10-07 01:16:29 +02:00
|
|
|
echo ''
|
|
|
|
echo ''
|
|
|
|
exit 1
|
|
|
|
}
|
|
|
|
|
2014-11-13 00:19:49 +01:00
|
|
|
orig_argv=("$@")
|
|
|
|
|
2014-10-07 23:06:20 +02:00
|
|
|
opts='c:r:d:qh'
|
2014-10-07 01:16:29 +02:00
|
|
|
|
|
|
|
while getopts "${opts}" arg; do
|
|
|
|
case "${arg}" in
|
2014-10-07 17:27:39 +02:00
|
|
|
c) name="$OPTARG"; create=true ;;
|
|
|
|
r) name="$OPTARG"; remove=true ;;
|
2014-10-07 10:34:33 +02:00
|
|
|
q) query=true ;;
|
2014-10-07 23:06:20 +02:00
|
|
|
d) name="$OPTARG"; display=true;;
|
2014-10-07 01:16:29 +02:00
|
|
|
h) usage ;;
|
|
|
|
esac
|
|
|
|
done
|
|
|
|
|
2014-10-07 17:27:39 +02:00
|
|
|
shift $(($OPTIND - 1))
|
2014-10-07 10:34:33 +02:00
|
|
|
|
2015-01-14 22:29:46 +01:00
|
|
|
sets_dir_pkg="${sets_dir}/pkg"
|
|
|
|
|
2014-11-13 00:19:49 +01:00
|
|
|
check_root "$0" "${orig_argv[@]}"
|
2014-10-07 10:34:33 +02:00
|
|
|
|
2014-11-16 23:18:01 +01:00
|
|
|
if ${create};then
|
|
|
|
create_set
|
|
|
|
elif ${remove};then
|
|
|
|
remove_set
|
|
|
|
elif ${display};then
|
|
|
|
show_set
|
|
|
|
else
|
2015-01-14 22:29:46 +01:00
|
|
|
msg "Available sets: $(load_sets ${sets_dir_pkg})"
|
2014-11-16 23:18:01 +01:00
|
|
|
fi
|