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.
		
		
		
		
		
			
		
			
				
					
					
						
							196 lines
						
					
					
						
							5.4 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							196 lines
						
					
					
						
							5.4 KiB
						
					
					
				
								#!/bin/bash
							 | 
						|
								
							 | 
						|
								checkout(){
							 | 
						|
									echo -en "$c_l";
							 | 
						|
									fc1="$(mktemp)";
							 | 
						|
									clear;
							 | 
						|
									ologo;
							 | 
						|
									i=0;
							 | 
						|
									COUNT=0;
							 | 
						|
									if [ -d "$svndir" ];then
							 | 
						|
										rm -rf "$svndir";
							 | 
						|
										echo -e "$p_l\n  $txt_delete $txt_existing oscam-svn $re_\n";
							 | 
						|
									else
							 | 
						|
										echo -e "$p_l\n  $txt_no oscam-svn $txt_found\n$re_";
							 | 
						|
									fi;
							 | 
						|
									echo -e  "$w_l  SVN TrunkURL  : $g_l$trunkurl$re_";
							 | 
						|
									[ ! -z "$1" ] && [ $(($1)) -gt 6999 ] && opt_="-r$1" && mac_="($txt_selected)" || opt_='';
							 | 
						|
									echo -en "$w_l  SVN FileCount : ";
							 | 
						|
									svn info -R "$trunkurl" |grep '^URL' |uniq |wc -l >"$fc1";
							 | 
						|
									n=$(cat "$fc1");
							 | 
						|
									echo -e "$g_l""$txt_found $n";
							 | 
						|
									echo -en "$w_l  SVN checkout  : ";
							 | 
						|
									while read line filename;do
							 | 
						|
										counter=$(( 100*(++i)/n));
							 | 
						|
										tput cup 11 18;
							 | 
						|
										[ "$counter" -lt "100" ] && echo -en "$g_l""$counter%$re_" || echo -en "$g_l""100%$re_";
							 | 
						|
									done < <( svn co "$trunkurl" $opt_ "$svndir" |sed "s|$svndir/||g");
							 | 
						|
									tput cup 11 18;
							 | 
						|
									echo -en "$g_l""100%$re_";
							 | 
						|
									if [ -f "$svndir/config.sh" ];then
							 | 
						|
										tput cup 12 2;
							 | 
						|
										echo -en "$w_l""SVN Revision  : $y_l""$("$svndir/config.sh" -r) $b_l$mac_$re_\n$w_l  SVN UserPath  : $y_l""$svndir";
							 | 
						|
									fi;
							 | 
						|
									[ -f "$svndir/config.h" ]&& reset_="$("$svndir/config.sh" -R)";
							 | 
						|
									_fix_config_h;
							 | 
						|
									rm -rf "$fc1";
							 | 
						|
									_nl;
							 | 
						|
									[ -f "$workdir/SVN-IS-PATCHED" ] && rm -f "$workdir/SVN-IS-PATCHED";
							 | 
						|
									tarsvn;
							 | 
						|
								};
							 | 
						|
								svnrestore(){
							 | 
						|
									clear;
							 | 
						|
									echo -en "$c_l";
							 | 
						|
									ologo;
							 | 
						|
									if [ "$1" == "list" ];then
							 | 
						|
										cd "$bsvn";
							 | 
						|
										bfiles="$(find . -type f |sed 's|./||' |sed 's|.tar.gz||')";
							 | 
						|
										bcount=$(echo "$bfiles" |wc -w);
							 | 
						|
										if [ "$bcount" -gt "0" ];then
							 | 
						|
											echo -e "\n$c_l    $bcount$w_l svn backups found\n    ____________________$re_\n";
							 | 
						|
											for b in $bfiles;do
							 | 
						|
												echo -e "$c_l    --> $w_l$b";
							 | 
						|
											done;
							 | 
						|
											_nl;
							 | 
						|
										else
							 | 
						|
											echo -e "\n$r_l    $bcount$w_l svn backups found\n    ____________________$re_\n";
							 | 
						|
										fi;
							 | 
						|
										exit;
							 | 
						|
									fi;
							 | 
						|
									if [ -d "$svndir" ];then
							 | 
						|
										rm -rf "$svndir";
							 | 
						|
										echo -e "$p_l\n  $txt_delete $txt_existing oscam-svn $re_\n";
							 | 
						|
									else
							 | 
						|
										echo -e "$p_l\n  $txt_no oscam-svn $txt_found\n$re_";
							 | 
						|
									fi;
							 | 
						|
									untarsvn $1;
							 | 
						|
									[ -f "$svndir/config.h" ]&& echo -en "$w_l""  SVN Revision  : $y_l""$("$svndir/config.sh" -r) restored\n\n$re_";
							 | 
						|
									[ -L "$workdir/lastbuild.log" ]&& rm "$workdir/lastbuild.log";
							 | 
						|
									[ -L "$workdir/lastpatch.log" ]&& rm "$workdir/lastpatch.log";
							 | 
						|
									[ -f "$workdir/SVN-IS-PATCHED" ] && rm -f "$workdir/SVN-IS-PATCHED";
							 | 
						|
								};
							 | 
						|
								quicksvnrestore(){
							 | 
						|
									untarsvn $1;
							 | 
						|
								};
							 | 
						|
								svnup(){
							 | 
						|
									echo -en "$c_l";
							 | 
						|
									clear;
							 | 
						|
									ologo;
							 | 
						|
									i=1;
							 | 
						|
									if [ -d "$svndir" ];then
							 | 
						|
										echo -en "$p_l\n  $txt_update oscam-svn $re_\n";
							 | 
						|
									else
							 | 
						|
										checkout;
							 | 
						|
										return;
							 | 
						|
									fi;
							 | 
						|
									echo -en "\n$w_l  SVN TrunkURL  : $g_l""$trunkurl""$re_";
							 | 
						|
									svn co "$trunkurl" "$svndir" -q;
							 | 
						|
									if [ -f "$svndir/config.sh" ];then
							 | 
						|
										tput cup 10 2;
							 | 
						|
										echo -e "$w_l""SVN Revision  : ""$y_l$("$svndir/config.sh" -r) $b_l$mac_$re_\n$w_l  SVN UserPath  : $y_l""$svndir\n$re_";
							 | 
						|
									fi;
							 | 
						|
									if [ -f "$svndir/config.h" ];then
							 | 
						|
										reset_="$("$svndir/config.sh" -R)";
							 | 
						|
										_fix_config_h;
							 | 
						|
									fi;
							 | 
						|
								};
							 | 
						|
								svnpatch(){
							 | 
						|
									if [ ! -f "$workdir/SVN-IS-PATCHED" ];then
							 | 
						|
										clear;
							 | 
						|
										echo -e $C;
							 | 
						|
										ologo;
							 | 
						|
										unset patchlist;
							 | 
						|
										cd "$pdir";
							 | 
						|
										patchlist=(*.patch);
							 | 
						|
										if [ "$(ls -A "$pdir"/*.patch 2>/dev/null)" ];then
							 | 
						|
											touch "$workdir/SVN-IS-PATCHED";
							 | 
						|
											for p in "${patchlist[@]}";do
							 | 
						|
												echo -e $WH"\n\n    -> $p <-\n"$W;
							 | 
						|
												sleep 1;
							 | 
						|
												patch -d$svndir/ -p0 < "$pdir/$p" |sed -e "s/^patching file/$G patching > $WH/g;s/^Hunk/$P Hunk     > $Y/g;s/FAILED/$R FAILED/g; ;s/-- saving/$Y -- saving/g;";
							 | 
						|
											done;
							 | 
						|
										else
							 | 
						|
											echo -e $WH"    $txt_no patch $txt_found";
							 | 
						|
										fi;
							 | 
						|
									else
							 | 
						|
										clear;
							 | 
						|
										echo -e $C;
							 | 
						|
										ologo;
							 | 
						|
										echo -e $WH"    already patched";
							 | 
						|
									fi;
							 | 
						|
									echo -e $W;
							 | 
						|
								};
							 | 
						|
								_dialog_checkout(){
							 | 
						|
									upc="$(mktemp)";
							 | 
						|
									(echo -en " $txt_verify_syscheck ";
							 | 
						|
									[ "$sanity" == "1" ] && echo -e "ok" && sleep 1;
							 | 
						|
									if [ "${s3cfg_vars[NO_SVN_AUTOUPDATE]}" == "0" ];then
							 | 
						|
										echo -en  " $txt_verify_svn ";
							 | 
						|
										if [ -f "$svndir/config.sh" ];then
							 | 
						|
											echo "ok";
							 | 
						|
											sleep 1;
							 | 
						|
											echo -en " $txt_update_svn $txt_wait\n";
							 | 
						|
											cd "$svndir";
							 | 
						|
											svn -q update;
							 | 
						|
											echo 1 >"$upc";
							 | 
						|
											sleep 1;
							 | 
						|
										fi;
							 | 
						|
									fi;) | "$gui" "$st_" "$bt_" "$title_" "$pb_" 5 52;
							 | 
						|
									if [ "${s3cfg_vars[NO_SVN_AUTOUPDATE]}" == "0" ];then
							 | 
						|
										upc1=$(cat "$upc" 2>/dev/null);
							 | 
						|
										rm -f "$upc";
							 | 
						|
										[ ! "$upc1" == "1" ] && _dialog_checkout1;
							 | 
						|
										if [ -f "$svndir/config.sh" ];then
							 | 
						|
											reset_="$("$svndir/config.sh" -R)";
							 | 
						|
											_fix_config_h;
							 | 
						|
										fi;
							 | 
						|
										_get_config_menu;
							 | 
						|
									fi;
							 | 
						|
									if [ -n "$1" ];then
							 | 
						|
										if [ -f "$tccfgdir/$1" ] && [ -f "$svndir/config.sh" ];then
							 | 
						|
											source "$tccfgdir/$1";
							 | 
						|
											if [ ! -f "$tcdir/$_toolchainname/bin/$_compiler""gcc" ];then
							 | 
						|
												first="$1";
							 | 
						|
												_toolchain_gui_install;
							 | 
						|
											fi;
							 | 
						|
											loadprofile="yes";
							 | 
						|
											_toolchain_build_menu "$1";
							 | 
						|
										else
							 | 
						|
											_select_menu;
							 | 
						|
										fi;
							 | 
						|
									fi;
							 | 
						|
									_select_menu;
							 | 
						|
								};
							 | 
						|
								_dialog_checkout1(){
							 | 
						|
									rm -rf "$svndir" 2>/dev/null;
							 | 
						|
									COUNT=0;
							 | 
						|
									[ -z "$1" ] && rn=0 || rn="$1";
							 | 
						|
									if [ "$rn" -ge "7000" ];then
							 | 
						|
										_rev="-r $rn";
							 | 
						|
										sc_text="Revision: $rn";
							 | 
						|
									else
							 | 
						|
										_rev='';
							 | 
						|
										sc_text="$txt_latest";
							 | 
						|
									fi;
							 | 
						|
									(echo -en "$txt_prepare_svn $txt_wait";)| "$gui" "$st_" "$bt_" "$title_" "$pb_" 3 55;
							 | 
						|
									nnn="$(svn info $_rev -R "$trunkurl" |grep "^URL: " |uniq |wc -l)";
							 | 
						|
									"$gui" "$st_" "$bt_" "$title_" --title " -[ SVN Checkout $sc_text ]- " --gauge "  $txt_wait" 6 75 < <(while read line filename;do ((++i));PCT=$(( 100*i/(nnn+1) ));
							 | 
						|
								cat <<EOF
							 | 
						|
								XXX
							 | 
						|
								$PCT
							 | 
						|
								  $line
							 | 
						|
								XXX
							 | 
						|
								EOF
							 | 
						|
								done < <(svn co "$trunkurl" "$svndir" $_rev| sed "s@$svndir@@g"| awk '{print $2}';
							 | 
						|
									cd "$svndir";
							 | 
						|
									if [ -f "$svndir/config.sh" ];then
							 | 
						|
										reset_="$("$svndir/config.sh" -R)";
							 | 
						|
										echo "Revision: $(REVISION) done...";
							 | 
						|
										_fix_config_h;
							 | 
						|
										[ -f "$workdir/SVN-IS-PATCHED" ] && rm -f "$workdir/SVN-IS-PATCHED";
							 | 
						|
										_get_config_menu;
							 | 
						|
									fi;));
							 | 
						|
								};
							 | 
						|
								REVISION(){
							 | 
						|
									[ -d "$svndir" ] && cd "$svndir" && svnversion -n . 2>/dev/null| sed 's/[^0-9]//g' || echo " nosvn ";
							 | 
						|
								};
							 | 
						|
								
							 |