#!/bin/bash # # metapkg v0.1: install or remove a pkgtool metapackage # # feedback: rhatto at riseup.net | GPL # # Metapkg 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 any later version. # # Metapkg 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., 59 Temple # Place - Suite 330, Boston, MA 02111-1307, USA # # A metapackage is a file containing a list of packages. # This script just installs all the packages in a metapackage. # Remeber that mkjail template == metapkg metapackage. # # # TODO # # In the mean term, metapkg will not be developed, but the code will rest # until someone need it. Some ideas to think for the future of metapkg would # be a better integration with simplepkg structure, like: # # - By default metapkg searches by a slack-required in the package/slackbuilds repos # - With -f, metapkg uses a local file (template, slack-required or tagfile) # COMMON="/usr/libexec/simplepkg/common.sh" BASENAME="`basename $0`" ROOT="/" function usage { echo "usage: [ROOT=/otherroot] $BASENAME --option [metapackage]" echo "options: --install, --remove" exit 1 } if [ -f "$COMMON" ]; then source $COMMON else echo "error: file $COMMON found, check your `basename $0` installation" exit 1 fi if [ -z "$2" ]; then usage else eval_config $BASENAME -u fi if [ ! -f "$BASE_CONF/$2.template" ]; then echo error: template $2 not found exit 1 else TEMPLATE="$BASE_CONF/$2.template" unset server fi if [ "$1" == "--install" ] || [ "$1" == "install" ]; then install_packages elif [ "$1" == "--remove" ] || [ "$1" == "remove" ]; then remove_packages else usage fi