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.
		
		
		
		
		
			
		
			
				
					
					
						
							104 lines
						
					
					
						
							3.0 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							104 lines
						
					
					
						
							3.0 KiB
						
					
					
				
								#!/bin/bash
							 | 
						|
								
							 | 
						|
								profiles(){
							 | 
						|
									_list_profiles;
							 | 
						|
									exit;
							 | 
						|
								};
							 | 
						|
								_list_profiles(){
							 | 
						|
									cd "$profdir";
							 | 
						|
									profiles=(*.profile);
							 | 
						|
									if [ ${#profiles[@]} -gt 0 ];then
							 | 
						|
										echo -e "$c_l";
							 | 
						|
										clear;
							 | 
						|
										slogo;
							 | 
						|
										echo -e "$y_l\n  $txt_profiles $txt_found $txt_for ( ./$(basename "$0") \"tcname\" -p=name.profile )";
							 | 
						|
										echo -e "$w_l  ======================================================\n";i=0;
							 | 
						|
										for e in "${profiles[@]}";do
							 | 
						|
											((i++));
							 | 
						|
											echo -e "$w_l  ($i) > $e";
							 | 
						|
										done;
							 | 
						|
									fi;
							 | 
						|
									echo -e "\n$rs_";
							 | 
						|
								};
							 | 
						|
								_save_profile(){
							 | 
						|
									if [ -f "$menudir/$_toolchainname.save" ];then
							 | 
						|
										source "$menudir/$_toolchainname.save";
							 | 
						|
										input=$("$gui" "$st_" "$bt_" "$title_" --title " -[ $1 Toolchain ]- " $ip_ "\n SAVE PROFILE\n" 0 0 "$_toolchainname");
							 | 
						|
										echo $enabled $usevars | sed -e 's/CARDREADER_//g;s/READER_//g;s/MODULE_//g;s/HAVE_//g;s/WEBIF_//g;s/WITH_//g;s/CS_//g;s/_CHARSETS//g;s/CW_CYCLE_CHECK/CWCC/g;s/SUPPORT//g;' >"$profdir/$input.profile";
							 | 
						|
									fi;
							 | 
						|
								};
							 | 
						|
								_load_profile(){
							 | 
						|
									if [ "$(ls -A "$profdir")" ];then
							 | 
						|
										ok=0;
							 | 
						|
										loadprofile="no";
							 | 
						|
										USESTRING=;
							 | 
						|
										_create_module_arrays;
							 | 
						|
										unset selection;
							 | 
						|
										declare -a SELECTION;
							 | 
						|
										cd "$profdir";
							 | 
						|
										p_files=(*.profile);
							 | 
						|
										i=0;
							 | 
						|
										for e in "${p_files[@]}";do
							 | 
						|
											((i++));SELECTION+=($e '<');
							 | 
						|
										done;
							 | 
						|
										pselect=$("$gui" "$st_" "$bt_" "$title_" --no-cancel --title " -[ $txt_select_profile_title ]- " --menu "\n $txt_select_profile\n\n" 0 0 "$i" "${SELECTION[@]}");
							 | 
						|
										[ $? = 255 ] && loadprofile="yes" && _toolchain_build_menu;
							 | 
						|
										"$gui" "$st_" "$bt_" "$title_" --yesno "\n$txt_confirm_profile_select\n\n$pselect\n\n" 0 0;
							 | 
						|
										response=$?;
							 | 
						|
										case "$response" in
							 | 
						|
											1)
							 | 
						|
													loadprofile="yes";
							 | 
						|
													_toolchain_build_menu;;
							 | 
						|
											255)
							 | 
						|
													loadprofile="yes";
							 | 
						|
													_toolchain_build_menu;;
							 | 
						|
										esac;
							 | 
						|
										if [ -f "$profdir/$pselect" ];then
							 | 
						|
											profile_vars=$(cat "$profdir/$pselect";);
							 | 
						|
											reset_="$("$svndir/config.sh" -D all)";
							 | 
						|
											for e in "${!USE_vars[@]}";do
							 | 
						|
												USE_vars[$e]=;
							 | 
						|
											done;
							 | 
						|
											for e1 in $profile_vars;do
							 | 
						|
												for e2 in "${!USE_vars[@]}";do
							 | 
						|
													[ "$e1" == "$e2" ] && USE_vars[$e1]="$e1=1";
							 | 
						|
												done;
							 | 
						|
												for sm in "${SHORT_MODULENAMES[@]}";do
							 | 
						|
													if [ "$e1" == "$sm" ];then
							 | 
						|
														_em_="$_em_ $(get_module_name "$sm")";
							 | 
						|
													fi;
							 | 
						|
												done;
							 | 
						|
											done;
							 | 
						|
											_set_=$("$svndir/config.sh" -E $_em_);
							 | 
						|
											USESTRING="$(echo "${USE_vars[@]}"| sed 's@USE_@@g' | sed 's@=1@@g'| tr -s ' ')";
							 | 
						|
											loadprofile="yes";
							 | 
						|
										fi;
							 | 
						|
									else
							 | 
						|
										$gui --msgbox "\n$txt_no_profile_found \n " 0 0;
							 | 
						|
									fi;
							 | 
						|
									loadprofile="no";
							 | 
						|
								};
							 | 
						|
								_create_native_profile(){
							 | 
						|
									[ ! -d "$tcdir/native/bin" ] && mkdir -p "$tcdir/native/bin";
							 | 
						|
									cd "$tcdir/native/bin";
							 | 
						|
									g="$(which gcc)";
							 | 
						|
									stripvar="$(which strip)";
							 | 
						|
									compiler_link="$($g -dumpmachine)-gcc";
							 | 
						|
									strip_link="$($g -dumpmachine)-strip";
							 | 
						|
									[ ! -L "$compiler_link" ] && ln -sf "$g"     "$compiler_link";
							 | 
						|
									[ ! -L "$strip_link" ]    && ln -sf "$stripvar" "$strip_link";
							 | 
						|
									cd "$tccfgdir";
							 | 
						|
									cat << EOF > native
							 | 
						|
								_toolchainname="native";
							 | 
						|
								default_use="USE_UTF8 USE_LIBCRYPTO";
							 | 
						|
								_oscamconfdir_default="/usr/local/etc";
							 | 
						|
								_oscamconfdir_custom="not_set";
							 | 
						|
								_compiler="$($g -dumpmachine)-";
							 | 
						|
								_tc_info="Native System Compiler \
							 | 
						|
								$(gcc --version)";
							 | 
						|
								_libsearchdir="/lib";
							 | 
						|
								_menuname="native";
							 | 
						|
								_sysroot="/usr/include";
							 | 
						|
								EOF
							 | 
						|
								cd "$workdir";
							 | 
						|
								};
							 | 
						|
								
							 |