You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
128 lines
3.6 KiB
128 lines
3.6 KiB
# --- SDE-COPYRIGHT-NOTE-BEGIN --- |
|
# This copyright note is auto-generated by ./scripts/Create-CopyPatch. |
|
# |
|
# Filename: package/.../stone/stone_mod_packages.sh |
|
# Copyright (C) 2008 The OpenSDE Project |
|
# Copyright (C) 2004 - 2006 The T2 SDE Project |
|
# Copyright (C) 1998 - 2003 Clifford Wolf |
|
# |
|
# More information can be found in the files COPYING and README. |
|
# |
|
# 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. A copy of the |
|
# GNU General Public License can be found in the file COPYING. |
|
# --- SDE-COPYRIGHT-NOTE-END --- |
|
# |
|
# [MAIN] 90 packages Package Management (Install, Update and Remove) |
|
|
|
if [ -n "$ROCK_INSTALL_SOURCE_DEV" ] ; then |
|
dev="$ROCK_INSTALL_SOURCE_DEV" |
|
dir="/mnt/source" ; root="/mnt/target" |
|
gasguiopt="-F" |
|
|
|
SDECFG_SHORTID="Automatically choose first" |
|
elif [ -n "$ROCK_INSTALL_SOURCE_URL" ] ; then |
|
dev="NETWORK INSTALL" |
|
dir="$ROCK_INSTALL_SOURCE_URL" ; root="/mnt/target" |
|
gasguiopt="-F" |
|
|
|
SDECFG_SHORTID="$( grep '^export SDECFG_SHORTID=' \ |
|
/etc/SDE-CONFIG/config 2> /dev/null | cut -f2- -d= )" |
|
SDECFG_SHORTID="${SDECFG_SHORTID//\'/}" |
|
else |
|
dev="/dev/cdrom" |
|
dir="/mnt/cdrom" ; root="/" |
|
gasguiopt= |
|
|
|
SDECFG_SHORTID="$( grep '^export SDECFG_SHORTID=' \ |
|
/etc/SDE-CONFIG/config 2> /dev/null | cut -f2- -d= )" |
|
SDECFG_SHORTID="${SDECFG_SHORTID//\'/}" |
|
fi |
|
|
|
read_ids() { |
|
mnt="`mktemp`" |
|
rm -f $mnt ; mkdir $mnt |
|
|
|
cmd="$cmd '' ''" |
|
|
|
if mount $opt $dev $mnt ; then |
|
for x in `cd $mnt; ls -d */{,TOOLCHAIN/}pkgs 2> /dev/null | sed -e 's,/pkgs$,,'` |
|
do |
|
cmd="$cmd '$x' 'SDECFG_SHORTID=\"$x\"'" |
|
done |
|
umount $mnt |
|
else |
|
cmd="$cmd 'The medium could not be mounted!' ''" |
|
fi |
|
|
|
rmdir $mnt |
|
} |
|
|
|
startgas() { |
|
[ -z "$( cd $dir; ls )" ] && mount $opt -v -o ro $dev $dir |
|
if [ "$SDECFG_SHORTID" = "Automatically choose first" ]; then |
|
SDECFG_SHORTID="$( cd $dir; ls -d */{,TOOLCHAIN/}pkgs 2> /dev/null | \ |
|
sed -e 's,/pkgs$,,' | head -n 1 )" |
|
echo "Using Config-ID <${SDECFG_SHORTID:-None}> .." |
|
fi |
|
if [ $startgas = 1 ] ; then |
|
echo |
|
echo "Running: gasgui $gasguiopt \\" |
|
echo " -c '$SDECFG_SHORTID' \\" |
|
echo " -t '$root' \\" |
|
echo " -d '$dev' \\" |
|
echo " -s '$dir'" |
|
echo |
|
gasgui $gasguiopt -c "$SDECFG_SHORTID" -t "$root" -d "$dev" -s "$dir" |
|
elif [ $startgas = 2 ] ; then |
|
echo |
|
echo "Running: stone gas main \\" |
|
echo " '$SDECFG_SHORTID' \\" |
|
echo " '$root' \\" |
|
echo " '$dev' \\" |
|
echo " '$dir'" |
|
$STONE gas main "$SDECFG_SHORTID" "$root" "$dev" "$dir" |
|
fi |
|
} |
|
|
|
main() { |
|
local startgas=0 |
|
while : ; do |
|
cmd="gui_menu packages 'Package Management |
|
|
|
Note: You can install, update and remove packages (as well as query |
|
package information) with the command-line tool \"mine\". This is just |
|
a simple frontend for the \"mine\" program.'" |
|
|
|
cmd="$cmd 'Mount Options: $opt'" |
|
cmd="$cmd 'gui_input \"Mount Options (e.g. -s -o sync) \" \"\$opt\" opt'" |
|
|
|
cmd="$cmd 'Source Device: $dev'" |
|
cmd="$cmd 'gui_input \"Source Device\" \"\$dev\" dev'" |
|
|
|
cmd="$cmd 'Mountpoint: $dir'" |
|
cmd="$cmd 'gui_input \"Mountpoint\" \"\$dir\" dir'" |
|
|
|
cmd="$cmd 'Config ID: $SDECFG_SHORTID'" |
|
cmd="$cmd 'gui_input \"Config ID\"" |
|
cmd="$cmd \"\$SDECFG_SHORTID\" SDECFG_SHORTID'" |
|
|
|
read_ids |
|
|
|
cmd="$cmd '' ''" |
|
type -p gasgui > /dev/null && |
|
cmd="$cmd 'Start gasgui Package Manager (recommended)' 'startgas=1'" |
|
cmd="$cmd 'Start gastone Package manager (minimal)' 'startgas=2'" |
|
|
|
if eval "$cmd" ; then |
|
if [ $startgas != 0 ]; then |
|
startgas $startgas |
|
break |
|
fi |
|
else |
|
break |
|
fi |
|
done |
|
} |
|
|
|
|