#!/bin/sh
# Copyright 2002 Slackware Linux, Inc., Concord, CA, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# This is a simple script to install a package series from the command line.
# If you're already running Slackware, you can just run this script to install
# the packages.
#
# I originally got the idea for this tool because Slackware with both KDE and
# GNOME doesn't fit on a single CD-ROM anymore, so I wanted to provide a quick
# way to add a series later on with the same ease as the initial installation.
#
# To use this script, just run it as root in the current directory like this:
#
# ./install-packages
#
# Note that this script does not make any attempt to remove or upgrade existing
# packages. If you want to upgrade an existing installation, you will be better
# served using the pkgtools directly. Here's how to upgrade all the packages in
# this series:
#
# upgradepkg *.t?z (upgrades already installed packages)
# installpkg *.t?z (installs all packages, to make sure new ones are installed)
#
# If you upgrade a series like this, afterwards you might need to merge over any
# required changes in the new config files, which will have the suffix .new.
# These can be found like this:
#
# find / -name "*.new"
#
# OK, on with the show! Enjoy! :-)
#
# Patrick Volkerding <volkerdi@slackware.com>
# Use the existing maketag script to provide a package selection menu:
sh maketag
# Quick bail if nothing was requested:
if grep ADD /var/log/setup/tmp/SeTnewtag 1> /dev/null 2> /dev/null ; then
true
else
rm -f /var/log/setup/tmp/SeTnewtag
exit
fi
# Install the selected packages:
for PKG in *.t?z ; do
if [ ! "$ROOT" = "" ]; then
installpkg -root $ROOT -infobox -tagfile /var/log/setup/tmp/SeTnewtag $PKG
else
installpkg -infobox -tagfile /var/log/setup/tmp/SeTnewtag $PKG
fi
done
rm -f /var/log/setup/tmp/SeTnewtag
echo
echo "Done installing packages."