aboutsummaryrefslogtreecommitdiff
path: root/utils/metapkg
blob: e3db6028ad566de952cb7f0e33eaed54c999c19b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#!/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