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 | |
| } | |
| 
 | |
| 
 |