适配 AutoUpdate V6.0(test)
This commit is contained in:
		
							parent
							
								
									e89a8cc61a
								
							
						
					
					
						commit
						27d9ac4be4
					
				|  | @ -1,38 +1,37 @@ | ||||||
| #!/bin/bash | #!/bin/bash | ||||||
| # https://github.com/Hyy2001X/AutoBuild-Actions | # AutoBuild Module by Hyy2001 <https://github.com/Hyy2001X/AutoBuild-Actions> | ||||||
| # AutoBuild Module by Hyy2001 |  | ||||||
| # AutoBuild Functions | # AutoBuild Functions | ||||||
| 
 | 
 | ||||||
| GET_TARGET_INFO() { | GET_INFO() { | ||||||
| 	Diy_Core | 	Diy_Core | ||||||
| 	Home="${GITHUB_WORKSPACE}/openwrt" | 	Home="${GITHUB_WORKSPACE}/openwrt" | ||||||
| 	[ -f "${GITHUB_WORKSPACE}/Openwrt.info" ] && . ${GITHUB_WORKSPACE}/Openwrt.info | 	[ -f "${GITHUB_WORKSPACE}/Openwrt.info" ] && source ${GITHUB_WORKSPACE}/Openwrt.info | ||||||
| 	[[ "${Short_Firmware_Date}" == true ]] && Compile_Date="$(echo ${Compile_Date} | cut -c1-8)" | 	[[ "${Short_Firmware_Date}" == true ]] && Compile_Date="$(echo ${Compile_Date} | cut -c1-8)" | ||||||
| 	User_Repo="$(grep "https://github.com/[a-zA-Z0-9]" ${GITHUB_WORKSPACE}/.git/config | cut -c8-100 | sed 's/^[ \t]*//g')" | 	User_Repo="$(grep "https://github.com/[a-zA-Z0-9]" ${GITHUB_WORKSPACE}/.git/config | cut -c8-100 | sed 's/^[ \t]*//g')" | ||||||
| 	[[ -z "${Author}" ]] && { | 	[[ -z "${Author}" ]] && { | ||||||
| 		Author="$(echo "${User_Repo}" | egrep -o "[a-zA-Z0-9]+" | awk 'NR==4')" | 		Author="$(echo "${User_Repo}" | cut -d "/" -f4)" | ||||||
| 	} | 	} | ||||||
| 	Openwrt_Author="$(echo "${Openwrt_Repo}" | egrep -o "[a-zA-Z0-9]+" | awk 'NR==4')" | 	Openwrt_Author="$(echo "${Openwrt_Repo}" | cut -d "/" -f4)" | ||||||
| 	Current_Branch="$(GET_BRANCH)" | 	Openwrt_Repo_Name="$(echo "${Openwrt_Repo}" | cut -d "/" -f5)" | ||||||
| 	In_Firmware_Info=package/base-files/files/etc/openwrt_info | 	Openwrt_Branch="$(GET_BRANCH)" | ||||||
| 	[[ ! ${Current_Branch} == master ]] && { | 	[[ ! ${Openwrt_Branch} == master ]] && { | ||||||
| 		Current_Branch="$(echo ${Current_Branch} | egrep -o "[0-9]+.[0-9]+")" | 		Openwrt_Branch="$(echo ${Openwrt_Branch} | egrep -o "[0-9]+.[0-9]+")" | ||||||
| 		Openwrt_Version_="R${Current_Branch}-" | 		Openwrt_Version_="R${Openwrt_Branch}-" | ||||||
| 	} || { | 	} || { | ||||||
| 		Openwrt_Version_="R$(date +%y.%m)-" | 		Openwrt_Version_="R$(date +%y.%m)-" | ||||||
| 	} | 	} | ||||||
| 	case ${Openwrt_Author} in | 	case "${Openwrt_Author}" in | ||||||
| 	coolsnowwolf) | 	coolsnowwolf) | ||||||
| 		Version_File=package/lean/default-settings/files/zzz-default-settings | 		Version_File=package/lean/default-settings/files/zzz-default-settings | ||||||
| 		Old_Version="$(egrep -o "R[0-9]+\.[0-9]+\.[0-9]+" ${Version_File})" | 		Old_Version="$(egrep -o "R[0-9]+\.[0-9]+\.[0-9]+" ${Version_File})" | ||||||
| 		Openwrt_Version="${Old_Version}-${Compile_Date}" | 		CURRENT_Version="${Old_Version}-${Compile_Date}" | ||||||
| 	;; | 	;; | ||||||
| 	immortalwrt) | 	immortalwrt) | ||||||
| 		Version_File=package/base-files/files/etc/openwrt_release | 		Version_File=package/base-files/files/etc/openwrt_release | ||||||
| 		Openwrt_Version="${Openwrt_Version_}${Compile_Date}" | 		CURRENT_Version="${Openwrt_Version_}${Compile_Date}" | ||||||
| 	;; | 	;; | ||||||
| 	*) | 	*) | ||||||
| 		Openwrt_Version="${Openwrt_Version_}${Compile_Date}" | 		CURRENT_Version="${Openwrt_Version_}${Compile_Date}" | ||||||
| 	;; | 	;; | ||||||
| 	esac | 	esac | ||||||
| 	while [[ -z "${x86_Test}" ]] | 	while [[ -z "${x86_Test}" ]] | ||||||
|  | @ -43,11 +42,12 @@ GET_TARGET_INFO() { | ||||||
| 		[[ -z "${x86_Test}" ]] && TIME "[ERROR] Can not obtain the TARGET_PROFILE !" && exit 1 | 		[[ -z "${x86_Test}" ]] && TIME "[ERROR] Can not obtain the TARGET_PROFILE !" && exit 1 | ||||||
| 	done | 	done | ||||||
| 	[[ "${x86_Test}" == x86_64 ]] && { | 	[[ "${x86_Test}" == x86_64 ]] && { | ||||||
| 		TARGET_PROFILE="x86_64" | 		TARGET_PROFILE=x86_64 | ||||||
| 	} || { | 	} || { | ||||||
| 		TARGET_PROFILE="$(egrep -o "CONFIG_TARGET.*DEVICE.*=y" .config | sed -r 's/.*DEVICE_(.*)=y/\1/')" | 		TARGET_PROFILE="$(egrep -o "CONFIG_TARGET.*DEVICE.*=y" .config | sed -r 's/.*DEVICE_(.*)=y/\1/')" | ||||||
| 	} | 	} | ||||||
| 	[[ -z "${TARGET_PROFILE}" ]] && TARGET_PROFILE="${Default_Device}" | 	[[ -z "${TARGET_PROFILE}" ]] && TARGET_PROFILE="${Default_Device}" | ||||||
|  | 	[[ -z "${Default_Device}" ]] && Default_Device="${TARGET_PROFILE}" | ||||||
| 	[[ "${TARGET_PROFILE}" == x86_64 ]] && { | 	[[ "${TARGET_PROFILE}" == x86_64 ]] && { | ||||||
| 		[[ "$(cat ${Home}/.config)" =~ "CONFIG_TARGET_IMAGES_GZIP=y" ]] && { | 		[[ "$(cat ${Home}/.config)" =~ "CONFIG_TARGET_IMAGES_GZIP=y" ]] && { | ||||||
| 			Firmware_Type=img.gz | 			Firmware_Type=img.gz | ||||||
|  | @ -56,7 +56,7 @@ GET_TARGET_INFO() { | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	TARGET_BOARD="$(awk -F '[="]+' '/TARGET_BOARD/{print $2}' .config)" | 	TARGET_BOARD="$(awk -F '[="]+' '/TARGET_BOARD/{print $2}' .config)" | ||||||
| 	case ${TARGET_BOARD} in | 	case "${TARGET_BOARD}" in | ||||||
| 	ramips | reltek | ipq40xx | ath79) | 	ramips | reltek | ipq40xx | ath79) | ||||||
| 		Firmware_Type=bin | 		Firmware_Type=bin | ||||||
| 	;; | 	;; | ||||||
|  | @ -66,45 +66,100 @@ GET_TARGET_INFO() { | ||||||
| 	esac | 	esac | ||||||
| 	TARGET_SUBTARGET="$(awk -F '[="]+' '/TARGET_SUBTARGET/{print $2}' .config)" | 	TARGET_SUBTARGET="$(awk -F '[="]+' '/TARGET_SUBTARGET/{print $2}' .config)" | ||||||
| 
 | 
 | ||||||
| 	echo "Author=${Author}" > ${Home}/TARGET_INFO | 	case "${Openwrt_Author}" in | ||||||
| 	echo "Default_Device=${Default_Device}" >> ${Home}/TARGET_INFO | 	immortalwrt) | ||||||
| 	echo "INCLUDE_Obsolete_PKG_Compatible=${INCLUDE_Obsolete_PKG_Compatible}" >> ${Home}/TARGET_INFO | 		Firmware_Head=immortalwrt | ||||||
| 	echo "Upload_VM_Firmware=${Upload_VM_Firmware}" >> ${Home}/TARGET_INFO | 	;; | ||||||
| 	echo "Firmware_Type=${Firmware_Type}" >> ${Home}/TARGET_INFO | 	*) | ||||||
| 	echo "TARGET_PROFILE=${TARGET_PROFILE}" >> ${Home}/TARGET_INFO | 		Firmware_Head=openwrt | ||||||
| 	echo "Openwrt_Version=${Openwrt_Version}" >> ${Home}/TARGET_INFO | 	;; | ||||||
| 	echo "Openwrt_Author=${Openwrt_Author}" >> ${Home}/TARGET_INFO | 	esac | ||||||
| 	echo "TARGET_BOARD=${TARGET_BOARD}" >> ${Home}/TARGET_INFO | 	case "${Openwrt_Branch}" in | ||||||
| 	echo "TARGET_SUBTARGET=${TARGET_SUBTARGET}" >> ${Home}/TARGET_INFO | 	19.07 | 18.06) | ||||||
| 	echo "Home=${Home}" >> ${Home}/TARGET_INFO | 		case "${Openwrt_Author}" in | ||||||
| 	echo "Current_Branch=${Current_Branch}" >> ${Home}/TARGET_INFO | 		immortalwrt) | ||||||
| 	echo "Upload_VM_Firmware=${Upload_VM_Firmware}" >> ${Home}/TARGET_INFO | 			Legacy_Tail=combined-squashfs | ||||||
|  | 			UEFI_Tail=uefi-gpt-squashfs | ||||||
|  | 		;; | ||||||
|  | 		*) | ||||||
|  | 			Legacy_Tail=combined-squashfs | ||||||
|  | 			UEFI_Tail=combined-squashfs-efi | ||||||
|  | 		;; | ||||||
|  | 		esac | ||||||
|  | 	;; | ||||||
|  | 	*) | ||||||
|  | 		Legacy_Tail=generic-squashfs-combined | ||||||
|  | 		UEFI_Tail=generic-squashfs-combined-efi | ||||||
|  | 	;; | ||||||
|  | 	esac | ||||||
| 
 | 
 | ||||||
| 	echo "Github=${User_Repo}" > ${In_Firmware_Info} | 	case "${TARGET_PROFILE}" in | ||||||
| 	echo "CURRENT_Version=${Openwrt_Version}" >> ${In_Firmware_Info} | 	x86_64) | ||||||
| 	echo "DEFAULT_Device=${TARGET_PROFILE}" >> ${In_Firmware_Info} | 		Default_Legacy_Firmware="${Firmware_Head}-${TARGET_BOARD}-${TARGET_SUBTARGET}-${Legacy_Tail}.${Firmware_Type}" | ||||||
| 	echo "Firmware_Type=${Firmware_Type}" >> ${In_Firmware_Info} | 		Default_UEFI_Firmware="${Firmware_Head}-${TARGET_BOARD}-${TARGET_SUBTARGET}-${UEFI_Tail}.${Firmware_Type}" | ||||||
|  | 		AutoBuild_Firmware='AutoBuild-${Openwrt_Repo_Name}-${TARGET_PROFILE}-${CURRENT_Version}-${x86_64_Boot}-${SHA5BIT}.${Firmware_Type}' | ||||||
|  | 		Egrep_Firmware='AutoBuild-${Openwrt_Repo_Name}-${TARGET_PROFILE}-R[0-9].+-[0-9]+-${x86_64_Boot}-[0-9a-z]+.${Firmware_Type}' | ||||||
|  | 	;; | ||||||
|  | 	*) | ||||||
|  | 		Default_Firmware="${Firmware_Head}-${TARGET_BOARD}-${TARGET_SUBTARGET}-${TARGET_PROFILE}-squashfs-sysupgrade.${Firmware_Type}" | ||||||
|  | 		AutoBuild_Firmware='AutoBuild-${Openwrt_Repo_Name}-${TARGET_PROFILE}-${CURRENT_Version}-${SHA5BIT}.${Firmware_Type}' | ||||||
|  | 		Egrep_Firmware='AutoBuild-${Openwrt_Repo_Name}-${TARGET_PROFILE}-R[0-9].+-[0-9]+-[0-9a-z]+.${Firmware_Type}' | ||||||
|  | 	;; | ||||||
|  | 	esac | ||||||
|  | 	Firmware_Path="bin/targets/${TARGET_BOARD}/${TARGET_SUBTARGET}" | ||||||
| 
 | 
 | ||||||
| 	echo "Author: ${Author}" | 	cat >> VARIABLE_FILE_Main <<EOF | ||||||
| 	echo "User Repo: ${User_Repo}" | Author=${Author} | ||||||
| 	echo "Firmware Version: ${Openwrt_Version}" | Github=${User_Repo} | ||||||
| 	echo "Firmware Type: ${Firmware_Type}" | Default_Device=${Default_Device} | ||||||
| 	echo "Openwrt Repo: ${Openwrt_Repo}" | TARGET_PROFILE=${TARGET_PROFILE} | ||||||
| 	echo "Openwrt Author: ${Openwrt_Author}" | TARGET_BOARD=${TARGET_BOARD} | ||||||
| 	echo "Openwrt Branch: ${Current_Branch}" | TARGET_SUBTARGET=${TARGET_SUBTARGET} | ||||||
| 	echo "TARGET_PROFILE: ${TARGET_PROFILE}" | Firmware_Type=${Firmware_Type} | ||||||
| 	echo "TARGET_BOARD: ${TARGET_BOARD}" | CURRENT_Version=${CURRENT_Version} | ||||||
| 	echo "TARGET_SUBTARGET: ${TARGET_SUBTARGET}" | Openwrt_Author=${Openwrt_Author} | ||||||
|  | Openwrt_Branch=${Openwrt_Branch} | ||||||
|  | AutoBuild_Firmware=${AutoBuild_Firmware} | ||||||
|  | Openwrt_Repo_Name=${Openwrt_Repo_Name} | ||||||
|  | Egrep_Firmware=${Egrep_Firmware} | ||||||
|  | EOF | ||||||
|  | 	cat >> VARIABLE_FILE_Sec <<EOF | ||||||
|  | INCLUDE_Obsolete_PKG_Compatible=${INCLUDE_Obsolete_PKG_Compatible} | ||||||
|  | Upload_VM_Firmware=${Upload_VM_Firmware} | ||||||
|  | Home=${Home} | ||||||
|  | Firmware_Path=${Firmware_Path} | ||||||
|  | Firmware_Head=${Firmware_Head} | ||||||
|  | EOF | ||||||
| 
 | 
 | ||||||
| 	TIME "[Preload Info] All done !" | 	case "${TARGET_PROFILE}" in | ||||||
|  | 	x86_64) | ||||||
|  | 		cat >> VARIABLE_FILE_Sec <<EOF | ||||||
|  | Default_Legacy_Firmware=${Default_Legacy_Firmware} | ||||||
|  | Default_UEFI_Firmware=${Default_UEFI_Firmware} | ||||||
|  | Legacy_Tail=${Legacy_Tail} | ||||||
|  | UEFI_Tail=${UEFI_Tail} | ||||||
|  | EOF | ||||||
|  | 	;; | ||||||
|  | 	*) | ||||||
|  | 		cat >> VARIABLE_FILE_Sec <<EOF | ||||||
|  | Default_Firmware=${Default_Firmware} | ||||||
|  | EOF | ||||||
|  | 	;; | ||||||
|  | 	esac | ||||||
|  | 	echo "$(cat VARIABLE_FILE_Main)" >> VARIABLE_FILE_Sec | ||||||
|  | 	echo -e "### Variable list ###\n$(cat VARIABLE_FILE_Sec)\n" | ||||||
|  | 	TIME "[Load variable info] All done !" | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| Firmware-Diy_Base() { | Firmware-Diy_Base() { | ||||||
| 	GET_TARGET_INFO | 	GET_INFO | ||||||
|  | 	mkdir -p package/base-files/files/etc/AutoBuild | ||||||
|  | 	[ -f VARIABLE_FILE_Main ] && cp VARIABLE_FILE_Main package/base-files/files/etc/AutoBuild/Default_Variable | ||||||
|  | 	Replace_File CustomFiles/Depends/Custom_Variable package/base-files/files/etc/AutoBuild | ||||||
| 	Auto_AddPackage | 	Auto_AddPackage | ||||||
| 	chmod +x -R ${GITHUB_WORKSPACE}/Scripts | 	chmod +x -R ${GITHUB_WORKSPACE}/Scripts | ||||||
| 	chmod +x -R ${GITHUB_WORKSPACE}/CustomFiles | 	chmod 777 -R ${GITHUB_WORKSPACE}/CustomFiles | ||||||
| 	chmod +x -R ${GITHUB_WORKSPACE}/CustomPackages | 	chmod 777 -R ${GITHUB_WORKSPACE}/CustomPackages | ||||||
| 	[[ "${INCLUDE_AutoBuild_Tools}" == true ]] && { | 	[[ "${INCLUDE_AutoBuild_Tools}" == true ]] && { | ||||||
| 		Replace_File Scripts/AutoBuild_Tools.sh package/base-files/files/bin | 		Replace_File Scripts/AutoBuild_Tools.sh package/base-files/files/bin | ||||||
| 	} | 	} | ||||||
|  | @ -113,12 +168,12 @@ Firmware-Diy_Base() { | ||||||
| 		Replace_File Scripts/AutoUpdate.sh package/base-files/files/bin | 		Replace_File Scripts/AutoUpdate.sh package/base-files/files/bin | ||||||
| 	} | 	} | ||||||
| 	[[ "${INCLUDE_Theme_Argon}" == true ]] && { | 	[[ "${INCLUDE_Theme_Argon}" == true ]] && { | ||||||
| 		case ${Openwrt_Author} in | 		case "${Openwrt_Author}" in | ||||||
| 		coolsnowwolf) | 		coolsnowwolf) | ||||||
| 			AddPackage git lean luci-theme-argon jerrykuku 18.06 | 			AddPackage git lean luci-theme-argon jerrykuku 18.06 | ||||||
| 		;; | 		;; | ||||||
| 		*) | 		*) | ||||||
| 			case ${Current_Branch} in | 			case "${Openwrt_Branch}" in | ||||||
| 			19.07) | 			19.07) | ||||||
| 				AddPackage git other luci-theme-argon jerrykuku v2.2.5 | 				AddPackage git other luci-theme-argon jerrykuku v2.2.5 | ||||||
| 			;; | 			;; | ||||||
|  | @ -129,7 +184,7 @@ Firmware-Diy_Base() { | ||||||
| 				AddPackage git other luci-theme-argon jerrykuku 18.06 | 				AddPackage git other luci-theme-argon jerrykuku 18.06 | ||||||
| 			;; | 			;; | ||||||
| 			*) | 			*) | ||||||
| 				TIME "[ERROR] Unknown Openwrt branch: [${Current_Branch}] !" | 				TIME "[ERROR] Unknown Openwrt branch: [${Openwrt_Branch}] !" | ||||||
| 			;; | 			;; | ||||||
| 			esac | 			esac | ||||||
| 		;; | 		;; | ||||||
|  | @ -158,11 +213,11 @@ Firmware-Diy_Base() { | ||||||
| 		fi | 		fi | ||||||
| 	} | 	} | ||||||
| 	[ -f package/base-files/files/bin/AutoUpdate.sh ] && { | 	[ -f package/base-files/files/bin/AutoUpdate.sh ] && { | ||||||
| 		AutoUpdate_Version=$(egrep -o "V[0-9]+.[0-9].+" package/base-files/files/bin/AutoUpdate.sh | awk 'NR==1') | 		AutoUpdate_Version=$(egrep -o "V[0-9].+" package/base-files/files/bin/AutoUpdate.sh | awk 'END{print}') | ||||||
| 	} || AutoUpdate_Version=OFF | 	} || AutoUpdate_Version=OFF | ||||||
| 	Replace_File CustomFiles/Depends/profile package/base-files/files/etc | 	Replace_File CustomFiles/Depends/profile package/base-files/files/etc | ||||||
| 	sed -i '/profile/d' package/base-files/files/lib/upgrade/keep.d/base-files-essential | 	Replace_File CustomFiles/Depends/base-files-essential package/base-files/files/lib/upgrade/keep.d | ||||||
| 	case ${Openwrt_Author} in | 	case "${Openwrt_Author}" in | ||||||
| 	coolsnowwolf) | 	coolsnowwolf) | ||||||
| 		Replace_File CustomFiles/Depends/coremark_lede.sh package/lean/coremark coremark.sh | 		Replace_File CustomFiles/Depends/coremark_lede.sh package/lean/coremark coremark.sh | ||||||
| 		Replace_File CustomFiles/Depends/cpuinfo_x86 package/lean/autocore/files/x86/sbin cpuinfo | 		Replace_File CustomFiles/Depends/cpuinfo_x86 package/lean/autocore/files/x86/sbin cpuinfo | ||||||
|  | @ -180,34 +235,31 @@ Firmware-Diy_Base() { | ||||||
| 		[[ "${INCLUDE_DRM_I915}" == true ]] && Replace_File CustomFiles/Depends/i915-4.19 target/linux/x86 config-4.19 | 		[[ "${INCLUDE_DRM_I915}" == true ]] && Replace_File CustomFiles/Depends/i915-4.19 target/linux/x86 config-4.19 | ||||||
| 	;; | 	;; | ||||||
| 	esac | 	esac | ||||||
| 	case ${Openwrt_Author} in | 	case "${Openwrt_Author}" in | ||||||
| 	immortalwrt) | 	immortalwrt) | ||||||
| 		Replace_File CustomFiles/Depends/banner package/lean/default-settings/files openwrt_banner | 		Replace_File CustomFiles/Depends/banner package/lean/default-settings/files openwrt_banner | ||||||
| 		sed -i "s?By?By ${Author}?g" package/lean/default-settings/files/openwrt_banner | 		sed -i "s?By?By ${Author}?g" package/lean/default-settings/files/openwrt_banner | ||||||
| 		sed -i "s?Openwrt?ImmortalWrt ${Openwrt_Version} / AutoUpdate ${AutoUpdate_Version}?g" package/lean/default-settings/files/openwrt_banner | 		sed -i "s?Openwrt?ImmortalWrt ${CURRENT_Version} / AutoUpdate ${AutoUpdate_Version}?g" package/lean/default-settings/files/openwrt_banner | ||||||
| 	;; | 	;; | ||||||
| 	*) | 	*) | ||||||
| 		Replace_File CustomFiles/Depends/banner package/base-files/files/etc | 		Replace_File CustomFiles/Depends/banner package/base-files/files/etc | ||||||
| 		sed -i "s?By?By ${Author}?g" package/base-files/files/etc/banner | 		sed -i "s?By?By ${Author}?g" package/base-files/files/etc/banner | ||||||
| 		sed -i "s?Openwrt?Openwrt ${Openwrt_Version} / AutoUpdate ${AutoUpdate_Version}?g" package/base-files/files/etc/banner | 		sed -i "s?Openwrt?Openwrt ${CURRENT_Version} / AutoUpdate ${AutoUpdate_Version}?g" package/base-files/files/etc/banner | ||||||
| 	;; | 	;; | ||||||
| 	esac | 	esac | ||||||
| 	TIME "[Firmware-Diy_Base] All done !" | 	TIME "[Firmware-Diy_Base] All done !" | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| Other_Scripts() { | Other_Scripts() { | ||||||
| 	[ -f TARGET_INFO ] && . TARGET_INFO || { | 	source ./VARIABLE_FILE_Sec | ||||||
| 		TIME "[ERROR] No variable_define file detected!" | 	case "${INCLUDE_Obsolete_PKG_Compatible}" in | ||||||
| 		exit 1 |  | ||||||
| 	} |  | ||||||
| 	case ${INCLUDE_Obsolete_PKG_Compatible} in |  | ||||||
| 	19.07) | 	19.07) | ||||||
| 		Current_Branch=19.07 | 		Openwrt_Branch=19.07 | ||||||
| 		Force_mode=1 | 		Force_mode=1 | ||||||
| 		INCLUDE_Obsolete_PKG_Compatible=true | 		INCLUDE_Obsolete_PKG_Compatible=true | ||||||
| 	;; | 	;; | ||||||
| 	21.02) | 	21.02) | ||||||
| 		Current_Branch=21.02 | 		Openwrt_Branch=21.02 | ||||||
| 		Force_mode=1 | 		Force_mode=1 | ||||||
| 		INCLUDE_Obsolete_PKG_Compatible=true | 		INCLUDE_Obsolete_PKG_Compatible=true | ||||||
| 	;; | 	;; | ||||||
|  | @ -215,17 +267,17 @@ Other_Scripts() { | ||||||
| 	if [[ "${INCLUDE_Obsolete_PKG_Compatible}" == true ]];then | 	if [[ "${INCLUDE_Obsolete_PKG_Compatible}" == true ]];then | ||||||
| 		TIME "Start to run Obsolete_Package_Compatible Scripts ..." | 		TIME "Start to run Obsolete_Package_Compatible Scripts ..." | ||||||
| 		if [[ ${Openwrt_Author} == openwrt ]] || [[ "${Force_mode}" == 1 ]];then | 		if [[ ${Openwrt_Author} == openwrt ]] || [[ "${Force_mode}" == 1 ]];then | ||||||
| 			case ${Current_Branch} in | 			case "${Openwrt_Branch}" in | ||||||
| 			19.07 | 21.02) | 			19.07 | 21.02) | ||||||
| 				Replace_File CustomFiles/Patches/0003-upx-ucl-${Current_Branch}.patch ./ | 				Replace_File CustomFiles/Patches/0003-upx-ucl-${Openwrt_Branch}.patch ./ | ||||||
| 				cat 0003-upx-ucl-${Current_Branch}.patch | patch -p1 > /dev/null 2>&1 | 				cat 0003-upx-ucl-${Openwrt_Branch}.patch | patch -p1 > /dev/null 2>&1 | ||||||
| 				# AddPackage svn feeds/packages/lang golang coolsnowwolf/packages/trunk/lang | 				# AddPackage svn feeds/packages/lang golang coolsnowwolf/packages/trunk/lang | ||||||
| 				TIME "Start to convert zh-cn translation files to zh_Hans ..." | 				TIME "Start to convert zh-cn translation files to zh_Hans ..." | ||||||
| 				Replace_File Scripts/Convert_Translation.sh package | 				Replace_File Scripts/Convert_Translation.sh package | ||||||
| 				cd ./package && bash ./Convert_Translation.sh && cd .. | 				cd ./package && bash ./Convert_Translation.sh && cd .. | ||||||
| 			;; | 			;; | ||||||
| 			*) | 			*) | ||||||
| 				TIME "Current branch: [${Current_Branch}] is not supported,skip..." | 				TIME "Current branch: [${Openwrt_Branch}] is not supported,skip..." | ||||||
| 			;; | 			;; | ||||||
| 			esac | 			esac | ||||||
| 		else | 		else | ||||||
|  | @ -235,125 +287,76 @@ Other_Scripts() { | ||||||
| 	if [ -s $GITHUB_WORKSPACE/Configs/Common ];then | 	if [ -s $GITHUB_WORKSPACE/Configs/Common ];then | ||||||
| 		TIME "Merging Common_Config to .config ..." | 		TIME "Merging Common_Config to .config ..." | ||||||
| 		echo -e "\n$(cat $GITHUB_WORKSPACE/Configs/Common)" >> .config | 		echo -e "\n$(cat $GITHUB_WORKSPACE/Configs/Common)" >> .config | ||||||
| 		cat .config |  | ||||||
| 	fi | 	fi | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| PS_Firmware() { | PS_Firmware() { | ||||||
| 	. TARGET_INFO | 	source ./VARIABLE_FILE_Sec | ||||||
| 	case ${Openwrt_Author} in |  | ||||||
| 	immortalwrt) |  | ||||||
| 		_Firmware=immortalwrt |  | ||||||
| 	;; |  | ||||||
| 	*) |  | ||||||
| 		_Firmware=openwrt |  | ||||||
| 	;; |  | ||||||
| 	esac |  | ||||||
| 	case ${Current_Branch} in |  | ||||||
| 	19.07 | 18.06) |  | ||||||
| 		case ${Openwrt_Author} in |  | ||||||
| 		immortalwrt) |  | ||||||
| 			_Legacy_Firmware=combined-squashfs |  | ||||||
| 			_EFI_Firmware=uefi-gpt-squashfs |  | ||||||
| 		;; |  | ||||||
| 		*) |  | ||||||
| 			_Legacy_Firmware=combined-squashfs |  | ||||||
| 			_EFI_Firmware=combined-squashfs-efi |  | ||||||
| 		;; |  | ||||||
| 		esac |  | ||||||
| 	;; |  | ||||||
| 	*) |  | ||||||
| 		_Legacy_Firmware=generic-squashfs-combined |  | ||||||
| 		_EFI_Firmware=generic-squashfs-combined-efi |  | ||||||
| 	;; |  | ||||||
| 	esac |  | ||||||
| 	Firmware_Path="bin/targets/${TARGET_BOARD}/${TARGET_SUBTARGET}" |  | ||||||
| 	rm -rf ${Firmware_Path}/packages | 	rm -rf ${Firmware_Path}/packages | ||||||
| 	Mkdir bin/Firmware | 	mkdir -p bin/Firmware | ||||||
|  | 	cd ${Firmware_Path} | ||||||
| 	case "${TARGET_PROFILE}" in | 	case "${TARGET_PROFILE}" in | ||||||
| 	x86_64) | 	x86_64) | ||||||
| 		cd ${Firmware_Path} | 		if [ -f "${Default_Legacy_Firmware}" ];then | ||||||
| 		Default_Firmware="${_Firmware}-${TARGET_BOARD}-${TARGET_SUBTARGET}" | 			cp ${Default_Legacy_Firmware} $(EVAL_FW x86_64 Legacy ${Home}/VARIABLE_FILE_Sec) | ||||||
| 		Legacy_Firmware="${_Firmware}-${TARGET_BOARD}-${TARGET_SUBTARGET}-${_Legacy_Firmware}.${Firmware_Type}" | 			TIME "Legacy Firmware: [${Default_Legacy_Firmware}] is detected !" | ||||||
| 		EFI_Firmware="${_Firmware}-${TARGET_BOARD}-${TARGET_SUBTARGET}-${_EFI_Firmware}.${Firmware_Type}" |  | ||||||
| 		AutoBuild_Firmware="AutoBuild-${TARGET_PROFILE}-${Openwrt_Version}" |  | ||||||
| 		echo "[Preload Info] Legacy_Firmware: ${Legacy_Firmware}" |  | ||||||
| 		echo "[Preload Info] UEFI_Firmware: ${EFI_Firmware}" |  | ||||||
| 		echo "[Preload Info] AutoBuild_Firmware: ${AutoBuild_Firmware}" |  | ||||||
| 		if [ -f "${Legacy_Firmware}" ];then |  | ||||||
| 			_MD5=$(md5sum ${Legacy_Firmware} | cut -d ' ' -f1) |  | ||||||
| 			_SHA256=$(sha256sum ${Legacy_Firmware} | cut -d ' ' -f1) |  | ||||||
| 			echo -e "MD5:${_MD5}\nSHA256:${_SHA256}" > ${Home}/bin/Firmware/${AutoBuild_Firmware}-Legacy.detail |  | ||||||
| 			cp ${Legacy_Firmware} ${AutoBuild_Firmware}-Legacy.${Firmware_Type} |  | ||||||
| 			TIME "Legacy Firmware is detected !" |  | ||||||
| 		fi | 		fi | ||||||
| 		if [ -f "${EFI_Firmware}" ];then | 		if [ -f "${Default_UEFI_Firmware}" ];then | ||||||
| 			_MD5=$(md5sum ${EFI_Firmware} | cut -d ' ' -f1) | 			cp ${Default_UEFI_Firmware} $(EVAL_FW x86_64 UEFI ${Home}/VARIABLE_FILE_Sec) | ||||||
| 			_SHA256=$(sha256sum ${EFI_Firmware} | cut -d ' ' -f1) | 			TIME "UEFI Firmware: [${Default_UEFI_Firmware}] is detected !" | ||||||
| 			echo -e "\nMD5:${_MD5}\nSHA256:${_SHA256}" > ${Home}/bin/Firmware/${AutoBuild_Firmware}-UEFI.detail |  | ||||||
| 			cp ${EFI_Firmware} ${AutoBuild_Firmware}-UEFI.${Firmware_Type} |  | ||||||
| 			TIME "UEFI Firmware is detected !" |  | ||||||
| 		fi | 		fi | ||||||
| 		if [[ "${Upload_VM_Firmware}" == true ]];then |  | ||||||
| 			TIME "Converting vmdk firmware to vhdx ..." |  | ||||||
| 			[ -f "${Default_Firmware}-${_Legacy_Firmware}.vmdk" ] && { |  | ||||||
| 				qemu-img convert -O vhdx ${Default_Firmware}-${_Legacy_Firmware}.vmdk ${AutoBuild_Firmware}-Legacy.vhdx |  | ||||||
| 				cp ${Default_Firmware}-${_Legacy_Firmware}.vmdk ${AutoBuild_Firmware}-Legacy.vmdk |  | ||||||
| 				cp ${Default_Firmware}-${_Legacy_Firmware}.vdi ${AutoBuild_Firmware}-Legacy.vdi |  | ||||||
| 			} |  | ||||||
| 			[ -f "${Default_Firmware}-${_UEFI_Firmware}.vmdk" ] && { |  | ||||||
| 				qemu-img convert -O vhdx ${Default_Firmware}-${_Legacy_Firmware}.vmdk ${AutoBuild_Firmware}-UEFI.vhdx |  | ||||||
| 				cp ${Default_Firmware}-${_UEFI_Firmware}.vmdk ${AutoBuild_Firmware}-UEFI.vmdk |  | ||||||
| 				cp ${Default_Firmware}-${_Legacy_Firmware}.vdi ${AutoBuild_Firmware}-Legacy.vdi |  | ||||||
| 			} |  | ||||||
| 		fi |  | ||||||
| 		mv -f AutoBuild-* ${Home}/bin/Firmware |  | ||||||
| 	;; | 	;; | ||||||
| 	*) | 	*) | ||||||
| 		cd ${Home} | 		if [ -f "${Default_Firmware}" ];then | ||||||
| 		Default_Firmware="${_Firmware}-${TARGET_BOARD}-${TARGET_SUBTARGET}-${TARGET_PROFILE}-squashfs-sysupgrade.${Firmware_Type}" | 			cp ${Default_Firmware} $(EVAL_FW common ${Home}/VARIABLE_FILE_Sec) | ||||||
| 		AutoBuild_Firmware="AutoBuild-${TARGET_PROFILE}-${Openwrt_Version}.${Firmware_Type}" | 			TIME "Firmware: [${Default_Firmware}] is detected !" | ||||||
| 		AutoBuild_Detail="AutoBuild-${TARGET_PROFILE}-${Openwrt_Version}.detail" |  | ||||||
| 		echo "[Preload Info] Default_Firmware: ${Default_Firmware}" |  | ||||||
| 		echo "[Preload Info] AutoBuild_Firmware: ${AutoBuild_Firmware}" |  | ||||||
| 		if [ -f "${Firmware_Path}/${Default_Firmware}" ];then |  | ||||||
| 			mv -f ${Firmware_Path}/${Default_Firmware} bin/Firmware/${AutoBuild_Firmware} |  | ||||||
| 			_MD5=$(md5sum bin/Firmware/${AutoBuild_Firmware} | cut -d ' ' -f1) |  | ||||||
| 			_SHA256=$(sha256sum bin/Firmware/${AutoBuild_Firmware} | cut -d ' ' -f1) |  | ||||||
| 			echo -e "\nMD5:${_MD5}\nSHA256:${_SHA256}" > bin/Firmware/${AutoBuild_Detail} |  | ||||||
| 			TIME "Firmware is detected !" |  | ||||||
| 		else | 		else | ||||||
| 			TIME "[ERROR] Firmware is not detected !" | 			TIME "[ERROR] Firmware is not detected !" | ||||||
| 		fi | 		fi | ||||||
| 	;; | 	;; | ||||||
| 	esac | 	esac | ||||||
|  | 	mv -f AutoBuild-* ${Home}/bin/Firmware | ||||||
| 	cd ${Home} | 	cd ${Home} | ||||||
| 	echo "[$(date "+%H:%M:%S")] Actions Avaliable: $(df -h | grep "/dev/root" | awk '{printf $4}')" | 	echo "[$(date "+%H:%M:%S")] Actions Avaliable: $(df -h | grep "/dev/root" | awk '{printf $4}')" | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | EVAL_FW() { | ||||||
|  | 	case "$1" in | ||||||
|  | 	x86_64) | ||||||
|  | 		x86_64_Boot=$2 | ||||||
|  | 		SHA5BIT=$(GET_SHA5BIT $(GET_VARIABLE Default_$2_Firmware= $3)) | ||||||
|  | 		EVAL_VARIABLE $(GET_VARIABLE AutoBuild_Firmware= $3) | ||||||
|  | 	;; | ||||||
|  | 	common) | ||||||
|  | 		SHA5BIT=$(GET_SHA5BIT $(GET_VARIABLE Default_Firmware= $2)) | ||||||
|  | 		EVAL_VARIABLE $(GET_VARIABLE AutoBuild_Firmware= $2) | ||||||
|  | 	;; | ||||||
|  | 	esac | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | EVAL_VARIABLE() { | ||||||
|  | 	eval OUTPUT=$1 | ||||||
|  | 	echo -e "${OUTPUT}" | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | GET_SHA5BIT() { | ||||||
|  | 	grep "$1" sha256sums | cut -c1-5 | ||||||
|  | } | ||||||
|  | 
 | ||||||
| GET_BRANCH() { | GET_BRANCH() { | ||||||
|     local Folder="$(pwd)" |     Folder="$(pwd)" | ||||||
|     [ -n "$1" ] && Folder="$1" |     [ -n "$1" ] && Folder="$1" | ||||||
|     git -C "${Folder}" rev-parse --abbrev-ref HEAD | grep -v HEAD || \ |     git -C "${Folder}" rev-parse --abbrev-ref HEAD | grep -v HEAD || \ | ||||||
|     git -C "${Folder}" describe --exact-match HEAD || \ |     git -C "${Folder}" describe --exact-match HEAD || \ | ||||||
|     git -C "${Folder}" rev-parse HEAD |     git -C "${Folder}" rev-parse HEAD | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| TIME() { | GET_VARIABLE() { | ||||||
| 	echo "[$(date "+%H:%M:%S")] ${*}" | 	echo -e "$(grep "$1" $2 | cut -c$(echo $1 | wc -c)-200 | cut -d ":" -f2)" | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| Mkdir() { | TIME() { | ||||||
| 	[[ $# -ne 1 ]] && { | 	echo "[$(date "+%H:%M:%S")] ${*}" | ||||||
| 		TIME "[ERROR] Error options: [$#] [$*] !" |  | ||||||
| 		return 0 |  | ||||||
| 	} |  | ||||||
| 	_DIR=${1} |  | ||||||
| 	[ ! -d "${_DIR}" ] && { |  | ||||||
| 		TIME "Creating new folder [${_DIR}] ..." |  | ||||||
| 		mkdir -p ${_DIR} |  | ||||||
| 	} |  | ||||||
| 	unset _DIR |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| PKG_Finder() { | PKG_Finder() { | ||||||
|  | @ -361,21 +364,12 @@ PKG_Finder() { | ||||||
| 		TIME "[ERROR] Error options: [$#] [$*] !" | 		TIME "[ERROR] Error options: [$#] [$*] !" | ||||||
| 		return 0 | 		return 0 | ||||||
| 	} | 	} | ||||||
| 	unset PKG_RESULT | 	find $2 -name $3 -type $1 -depth -exec echo {} \; | ||||||
| 	_PKG_TYPE=${1} |  | ||||||
| 	_PKG_DIR=${2} |  | ||||||
| 	_PKG_NAME=${3} |  | ||||||
| 	[[ -z ${_PKG_TYPE} ]] && [[ -z ${_PKG_NAME} ]] || [[ -z ${_PKG_DIR} ]] && return |  | ||||||
| 	_PKG_RESULT=$(find ${_PKG_DIR} -name ${_PKG_NAME} -type ${_PKG_TYPE} -exec echo {} \;) |  | ||||||
| 	[[ -n "${_PKG_RESULT}" ]] && echo "${_PKG_RESULT}" |  | ||||||
| 	unset _PKG_TYPE _PKG_DIR _PKG_NAME |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| Auto_AddPackage() { | Auto_AddPackage() { | ||||||
| 	COMMON_FILE="${GITHUB_WORKSPACE}/CustomPackages/Common" | 	Auto_AddPackage_mod ${GITHUB_WORKSPACE}/CustomPackages/Common | ||||||
| 	TARGET_FILE="${GITHUB_WORKSPACE}/CustomPackages/${TARGET_PROFILE}" | 	Auto_AddPackage_mod ${GITHUB_WORKSPACE}/CustomPackages/${TARGET_PROFILE} | ||||||
| 	Auto_AddPackage_mod ${COMMON_FILE} |  | ||||||
| 	Auto_AddPackage_mod ${TARGET_FILE} |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| Auto_AddPackage_mod() { | Auto_AddPackage_mod() { | ||||||
|  | @ -383,17 +377,14 @@ Auto_AddPackage_mod() { | ||||||
| 		TIME "[ERROR] Error options: [$#] [$*] !" | 		TIME "[ERROR] Error options: [$#] [$*] !" | ||||||
| 		return 0 | 		return 0 | ||||||
| 	} | 	} | ||||||
| 	_FILENAME=${1} | 	echo "" >> $1 | ||||||
| 	echo "" >> ${_FILENAME} | 	[ -s "$1" ] && { | ||||||
| 	[ -f "${_FILENAME}" ] && [ -s "${_FILENAME}" ] && { | 		TIME "Loading Custom Packages list: [$1]..." | ||||||
| 		TIME "Loading Custom Packages list: [${_FILENAME}]..." | 		cat $1 | sed '/^$/d' | while read X | ||||||
| 		cat ${_FILENAME} | sed '/^$/d' | while read X |  | ||||||
| 		do | 		do | ||||||
| 			[[ "${X}" != "" ]] && [[ -n ${X} ]] && AddPackage ${X} | 			[[ -n "${X}" ]] && AddPackage ${X} | ||||||
| 			unset X |  | ||||||
| 		done | 		done | ||||||
| 	} | 	} | ||||||
| 	unset _FILENAME |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| AddPackage() { | AddPackage() { | ||||||
|  | @ -401,27 +392,21 @@ AddPackage() { | ||||||
| 		TIME "[ERROR] Error options: [$#] [$*] !" | 		TIME "[ERROR] Error options: [$#] [$*] !" | ||||||
| 		return 0 | 		return 0 | ||||||
| 	} | 	} | ||||||
| 	case ${1} in | 	PKG_PROTO="$1" | ||||||
| 	git | svn) | 	PKG_DIR="$2" | ||||||
| 		PKG_PROTO=${1} | 	PKG_NAME="$3" | ||||||
| 		PKG_DIR=${2} |  | ||||||
| 		PKG_NAME=${3} |  | ||||||
| 	REPO_URL="https://github.com/${4}" | 	REPO_URL="https://github.com/${4}" | ||||||
| 		REPO_BRANCH=${5} | 	[[ -z "$5" ]] && REPO_BRANCH=master || REPO_BRANCH="$5" | ||||||
| 	;; | 
 | ||||||
| 	*) | 	mkdir -p package/${PKG_DIR} | ||||||
| 		return 0 |  | ||||||
| 	;; |  | ||||||
| 	esac |  | ||||||
| 	Mkdir package/${PKG_DIR} |  | ||||||
| 	[ -d "package/${PKG_DIR}/${PKG_NAME}" ] && { | 	[ -d "package/${PKG_DIR}/${PKG_NAME}" ] && { | ||||||
| 		TIME "Removing old package: [${PKG_NAME}] ..." | 		TIME "Removing old package: [${PKG_NAME}] ..." | ||||||
| 		rm -rf "package/${PKG_DIR}/${PKG_NAME}" | 		rm -rf package/${PKG_DIR}/${PKG_NAME} | ||||||
| 	} | 	} | ||||||
| 	TIME "Checking out package [${PKG_NAME}] to package/${PKG_DIR} ..." | 	TIME "Checking out package [${PKG_NAME}] to package/${PKG_DIR} ..." | ||||||
| 	case "${PKG_PROTO}" in | 	case "${PKG_PROTO}" in | ||||||
| 	git) | 	git) | ||||||
| 		[[ -z "${REPO_BRANCH}" ]] && REPO_BRANCH=master | 		 | ||||||
| 		PKG_URL="$(echo ${REPO_URL}/${PKG_NAME} | sed s/[[:space:]]//g)" | 		PKG_URL="$(echo ${REPO_URL}/${PKG_NAME} | sed s/[[:space:]]//g)" | ||||||
| 		git clone -b ${REPO_BRANCH} ${PKG_URL} ${PKG_NAME} > /dev/null 2>&1 | 		git clone -b ${REPO_BRANCH} ${PKG_URL} ${PKG_NAME} > /dev/null 2>&1 | ||||||
| 	;; | 	;; | ||||||
|  | @ -442,17 +427,17 @@ Replace_File() { | ||||||
| 		TIME "[ERROR] Error options: [$#] [$*] !" | 		TIME "[ERROR] Error options: [$#] [$*] !" | ||||||
| 		return 0 | 		return 0 | ||||||
| 	} | 	} | ||||||
| 	FILE_NAME=${1} | 	FILE_NAME=$1 | ||||||
| 	PATCH_DIR=${GITHUB_WORKSPACE}/openwrt/${2} | 	PATCH_DIR=${GITHUB_WORKSPACE}/openwrt/$2 | ||||||
| 	FILE_RENAME=${3} | 	FILE_RENAME=$3 | ||||||
| 
 | 
 | ||||||
| 	Mkdir ${PATCH_DIR} | 	mkdir -p ${PATCH_DIR} | ||||||
| 	[ -f "${GITHUB_WORKSPACE}/${FILE_NAME}" ] && _TYPE1="f" && _TYPE2="File" | 	[ -f "${GITHUB_WORKSPACE}/${FILE_NAME}" ] && _TYPE1="f" && _TYPE2="File" | ||||||
| 	[ -d "${GITHUB_WORKSPACE}/${FILE_NAME}" ] && _TYPE1="d" && _TYPE2="Folder" | 	[ -d "${GITHUB_WORKSPACE}/${FILE_NAME}" ] && _TYPE1="d" && _TYPE2="Folder" | ||||||
| 	[ -${_TYPE1} "${GITHUB_WORKSPACE}/${FILE_NAME}" ] && { | 	[ -${_TYPE1} "${GITHUB_WORKSPACE}/${FILE_NAME}" ] && { | ||||||
| 		[[ -n "${FILE_RENAME}" ]] && _RENAME="${FILE_RENAME}" || _RENAME="" | 		[[ -n "${FILE_RENAME}" ]] && _RENAME="${FILE_RENAME}" || _RENAME="" | ||||||
| 		[ -${_TYPE1} "${GITHUB_WORKSPACE}/${FILE_NAME}" ] && { | 		[ -${_TYPE1} "${GITHUB_WORKSPACE}/${FILE_NAME}" ] && { | ||||||
| 			TIME "Moving [${_TYPE2}] ${FILE_NAME} to ${2}/${FILE_RENAME} ..." | 			TIME "Moving [${_TYPE2}] ${FILE_NAME} to $2/${FILE_RENAME} ..." | ||||||
| 			mv -f "${GITHUB_WORKSPACE}/${FILE_NAME}" "${PATCH_DIR}/${_RENAME}" | 			mv -f "${GITHUB_WORKSPACE}/${FILE_NAME}" "${PATCH_DIR}/${_RENAME}" | ||||||
| 		} || { | 		} || { | ||||||
| 			TIME "CustomFiles ${_TYPE2} [${FILE_NAME}] is not detected !" | 			TIME "CustomFiles ${_TYPE2} [${FILE_NAME}] is not detected !" | ||||||
|  | @ -460,46 +445,3 @@ Replace_File() { | ||||||
| 	} | 	} | ||||||
| 	unset FILE_NAME PATCH_DIR FILE_RENAME | 	unset FILE_NAME PATCH_DIR FILE_RENAME | ||||||
| } | } | ||||||
| 
 |  | ||||||
| Update_Makefile() { |  | ||||||
| 	[[ $# -ne 2 ]] && { |  | ||||||
| 		TIME "[ERROR] Error options: [$#] [$*] !" |  | ||||||
| 		return 0 |  | ||||||
| 	} |  | ||||||
| 	PKG_NAME=${1} |  | ||||||
| 	Makefile=${2}/Makefile |  | ||||||
| 	[ -f "/tmp/tmp_file" ] && rm -f /tmp/tmp_file |  | ||||||
| 	[ -f "${Makefile}" ] && { |  | ||||||
| 		PKG_URL_MAIN="$(grep "PKG_SOURCE_URL:=" ${Makefile} | cut -c17-100)" |  | ||||||
| 		_process1=${PKG_URL_MAIN##*com/} |  | ||||||
| 		_process2=${_process1%%/tar*} |  | ||||||
| 		api_URL="https://api.github.com/repos/${_process2}/releases" |  | ||||||
| 		PKG_SOURCE_URL="$(grep "PKG_SOURCE_URL:=" ${Makefile} | cut -c17-100)" |  | ||||||
| 		PKG_DL_URL="${PKG_SOURCE_URL%\$(\PKG_VERSION*}" |  | ||||||
| 		Offical_Version="$(curl -s ${api_URL} 2>/dev/null | grep 'tag_name' | egrep -o '[0-9].+[0-9.]+' | awk 'NR==1')" |  | ||||||
| 		[[ -z "${Offical_Version}" ]] && { |  | ||||||
| 			TIME "[ERROR] Failed to obtain the Offical version of [${PKG_NAME}] !" |  | ||||||
| 			return |  | ||||||
| 		} |  | ||||||
| 		Source_Version="$(grep "PKG_VERSION:=" ${Makefile} | cut -c14-20)" |  | ||||||
| 		Source_HASH="$(grep "PKG_HASH:=" ${Makefile} | cut -c11-100)" |  | ||||||
| 		[[ -z "${Source_Version}" ]] || [[ -z "${Source_HASH}" ]] && { |  | ||||||
| 			TIME "[ERROR] Failed to obtain the Source version or Hash !" |  | ||||||
| 			return |  | ||||||
| 		} |  | ||||||
| 		[[ ! "${Source_Version}" == "${Offical_Version}" ]] && { |  | ||||||
| 			TIME "Updating package ${PKG_NAME} [${Source_Version}] to [${Offical_Version}] ..." |  | ||||||
| 			sed -i "s?PKG_VERSION:=${Source_Version}?PKG_VERSION:=${Offical_Version}?g" ${Makefile} |  | ||||||
| 			wget -q "${PKG_DL_URL}${Offical_Version}?" -O /tmp/tmp_file |  | ||||||
| 			[[ "$?" -eq 0 ]] && { |  | ||||||
| 				Offical_HASH="$(sha256sum /tmp/tmp_file | cut -d ' ' -f1)" |  | ||||||
| 				sed -i "s?PKG_HASH:=${Source_HASH}?PKG_HASH:=${Offical_HASH}?g" ${Makefile} |  | ||||||
| 			} || { |  | ||||||
| 				TIME "[ERROR] Failed to update the package [${PKG_NAME}] !" |  | ||||||
| 			} |  | ||||||
| 		} |  | ||||||
| 	} || { |  | ||||||
| 		TIME "[ERROR] Package ${PKG_NAME} is not detected !" |  | ||||||
| 	} |  | ||||||
| 	unset _process1 _process2 Offical_Version Source_Version |  | ||||||
| } |  | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue