File: Setup

package info (click to toggle)
kshutdown 0.8-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 3,992 kB
  • ctags: 537
  • sloc: sh: 9,034; cpp: 4,409; perl: 2,796; makefile: 130
file content (204 lines) | stat: -rwxr-xr-x 4,753 bytes parent folder | download
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
#!/bin/bash

# TODO: 0.9: use kdialog

META_FULL_NAME="KShutDown"
META_VERSION=`cat VERSION`

if [[ (("$TERM" == "dumb") || ("$TERM" == "xterm")) && ("${1}" != "--launch-in-konsole") ]]; then
	echo
	echo "Press Ctrl+C to exit $META_FULL_NAME installer"
	konsole --notabbar --notoolbar --workdir `dirname "${0}"` -T "$META_FULL_NAME Installer" -e ${0} --launch-in-konsole
	exit
fi

# installation dirs
DEFAULT_DIR=`kde-config --prefix`
if [ -z "$DEFAULT_DIR" ]; then
	DEFAULT_DIR="/usr"
fi
INSTALL_DIR="$DEFAULT_DIR"

# colors
DEF_C="\E[37;40m"
KEY_C="\E[31;40m"

# configure options
CONFIGURE_OPTIONS=""
FAST_COMPILATION="true"

# i18n
# english
I18N_TITLE_DOCS="Documentation and License"
I18N_TITLE_SETUP="Compilation and Installation"
I18N_CHANGE_DIR="Change installation directory (prefix)"
I18N_CHANGES="Changes (q - quit)"
I18N_DISABLE_FAST="Disable fast compilation"
I18N_ENABLE_FAST="Enable fast compilation"
I18N_ENTER_ROOT_PASSWORD="Enter the root password to install $META_FULL_NAME"
I18N_INSTALL="Install"
I18N_LICENSE="License"
I18N_PRESS_ENTER="Press <Enter> to exit"
I18N_QUIT="Quit"

# polish
if [[ ("$LANG" == "pl_PL") || ("$LANG" == "pl") ]]; then
	I18N_TITLE_DOCS="Dokumentacja i licencja"
	I18N_TITLE_SETUP="Kompilacja i instalacja"
	I18N_CHANGE_DIR="Zmien�katalog instalacji (prefix)"
	I18N_CHANGES="Zmiany (q - wyjscie)"
	I18N_DISABLE_FAST="Wylacz szybka kompilacje"
	I18N_ENABLE_FAST="Wlacz szybka kompilacje"
	I18N_ENTER_ROOT_PASSWORD="Podaj haslo root-a, aby zainstalowac�$META_FULL_NAME"
	I18N_INSTALL="Instaluj"
	I18N_LICENSE="Licencja"
	I18N_PRESS_ENTER="Nacisnij <Enter>, aby wyjsc"
	I18N_QUIT="Zakoncz"
fi

# internal functions

ks_kill()
{
	echo
	echo
	echo "Setup: ${1}"
	echo
	echo "$I18N_PRESS_ENTER"
	read
	ks_quit 1
}

ks_quit()
{
	ks_reset
	exit ${1}
}

ks_reset()
{
	tput sgr0
}

ks_show_menu()
{
	echo -e "$DEF_C"
	clear
	echo
	echo
	echo "    $META_FULL_NAME $META_VERSION Setup"
	echo
	echo
	echo -e "    ${KEY_C}${I18N_TITLE_SETUP}${DEF_C}"
	echo -e "    [${KEY_C}i${DEF_C}] $I18N_INSTALL (./configure --prefix=${INSTALL_DIR}, make, kdesu -c \"make install\")"
	echo -e "    [${KEY_C}p${DEF_C}] $I18N_CHANGE_DIR"
	if [ -n "$FAST_COMPILATION" ]; then
		echo -e "    [${KEY_C}f${DEF_C}] $I18N_DISABLE_FAST";
	else
		echo -e "    [${KEY_C}f${DEF_C}] $I18N_ENABLE_FAST (--enable-final)";
	fi
	echo
	echo -e "    ${KEY_C}${I18N_TITLE_DOCS}${DEF_C}"
	echo -e "    [${KEY_C}c${DEF_C}] $I18N_CHANGES"
	echo -e "    [${KEY_C}l${DEF_C}] $I18N_LICENSE (GNU GPL)"
	echo -e "    [${KEY_C}r${DEF_C}] Readme"
	echo
	echo -e "    [${KEY_C}q${DEF_C}] $I18N_QUIT"
	echo
	echo
	echo "    http://kshutdown.sourceforge.net"
}

while [ 1 ]; do
	ks_show_menu
	# wait for a single key
	read -n 1 -s

	# install
	if [[ ("$REPLY" == "i") || ( "$REPLY" == "I" ) ]]; then
		if [ -n "$FAST_COMPILATION" ]; then
			CONFIGURE_OPTIONS="--prefix=${INSTALL_DIR} --enable-final";
		else
			CONFIGURE_OPTIONS="--prefix=${INSTALL_DIR}";
		fi
		echo
		echo "Setup: Configuring with '$CONFIGURE_OPTIONS'..."
		echo
		# configure
		if ./configure $CONFIGURE_OPTIONS; then
			echo "Setup: Compiling..."
			echo "       This may take a few minutes."
			echo
			# make
			if make; then
				# make install via su
				echo
				echo -e "\a"
				echo "$I18N_ENTER_ROOT_PASSWORD (make install)"
				if kdesu -c "make install"; then
					echo
					echo "Thank you for using $META_FULL_NAME!"
					echo "  The $META_FULL_NAME Team"
					echo
					echo "HOW TO RUN?"
					echo
					echo "K Menu: Accessories -> KShutDown"
					echo "Command: kshutdown"
					echo "Command line options: kshutdown --help"
					echo
					echo -e "$I18N_PRESS_ENTER"
					read
     				ks_quit
				else
					ks_kill "Installation failed!"
				fi
			else
				ks_kill "Compilation failed!"
			fi
		else
			echo
			echo
			echo "Setup: Make sure you have installed the 'kdelibs-devel' package"
			echo "       which is required to compile any KDE application."
			ks_kill "Configuration failed!"
		fi
		ks_quit

	# prefix
	elif [[ ("$REPLY" == "p") || ( "$REPLY" == "P" ) ]]; then
		echo
		echo "Enter a new prefix [${DEFAULT_DIR}]: "
		read -e
		if [ -z "$REPLY" ]; then
			REPLY="$DEFAULT_DIR"
		fi
		INSTALL_DIR="$REPLY"

	# toggle fast compilation
	elif [[ ("$REPLY" == "f") || ( "$REPLY" == "F" ) ]]; then
		if [ -z "$FAST_COMPILATION" ]; then
			FAST_COMPILATION="true";
		else
			FAST_COMPILATION="";
		fi

	# changes
	elif [[ ("$REPLY" == "c") || ( "$REPLY" == "C" ) ]]; then
		less "ChangeLog"

	# license
	elif [[ ("$REPLY" == "l") || ( "$REPLY" == "L" ) ]]; then
		less "COPYING"

	# readme
	elif [[ ("$REPLY" == "r") || ( "$REPLY" == "R" ) ]]; then
		less "README"

	# quit
	elif [[ ("$REPLY" == "q") || ( "$REPLY" == "Q" ) ]]; then
		ks_reset
		clear
		exit
	fi

done