优化代码&部分问题修复
This commit is contained in:
		
							parent
							
								
									e00bace23a
								
							
						
					
					
						commit
						9384c402e8
					
				|  | @ -15,7 +15,7 @@ Diy_Core() { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| Firmware-Diy() { | Firmware-Diy() { | ||||||
| 	Update_Makefile exfat package/kernel/exfat | 	Update_Makefile exfat $(PKG_Finder d package exfat) | ||||||
| 	ExtraPackages svn ../feeds/packages/admin netdata https://github.com/openwrt/packages/trunk/admin | 	ExtraPackages svn ../feeds/packages/admin netdata https://github.com/openwrt/packages/trunk/admin | ||||||
| 
 | 
 | ||||||
| 	case ${TARGET_PROFILE} in | 	case ${TARGET_PROFILE} in | ||||||
|  |  | ||||||
|  | @ -5,27 +5,27 @@ | ||||||
| 
 | 
 | ||||||
| GET_TARGET_INFO() { | GET_TARGET_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" ] && . ${GITHUB_WORKSPACE}/Openwrt.info | ||||||
| 	Owner_Repo="$(grep "https://github.com/[a-zA-Z0-9]" ${GITHUB_WORKSPACE}/.git/config | cut -c8-100)" | 	Owner_Repo="$(grep "https://github.com/[a-zA-Z0-9]" ${GITHUB_WORKSPACE}/.git/config | cut -c8-100)" | ||||||
| 	Source_Repo="$(grep "https://github.com/[a-zA-Z0-9]" ${Home}/.git/config | cut -c8-100)" | 	Source_Repo="$(grep "https://github.com/[a-zA-Z0-9]" ${Home}/.git/config | cut -c8-100)" | ||||||
| 	Source_Owner="$(echo "${Source_Repo}" | egrep -o "[a-z]+" | awk 'NR==4')" | 	Source_Owner="$(echo "${Source_Repo}" | egrep -o "[a-z]+" | awk 'NR==4')" | ||||||
| 	Current_Branch="$(git branch | sed 's/* //g')" | 	Current_Branch="$(git branch | sed 's/* //g')" | ||||||
| 	if [[ ! ${Current_Branch} == master ]];then | 	AB_Firmware_Info=package/base-files/files/etc/openwrt_info | ||||||
|  | 	[[ ! ${Current_Branch} == master ]] && { | ||||||
| 		Current_Branch="$(echo ${Current_Branch} | egrep -o "[0-9]+.[0-9]+")" | 		Current_Branch="$(echo ${Current_Branch} | egrep -o "[0-9]+.[0-9]+")" | ||||||
| 		Openwrt_Version_="R${Current_Branch}-" | 		Openwrt_Version_="R${Current_Branch}-" | ||||||
| 	else | 	} || { | ||||||
| 		Openwrt_Version_="R18.06-" | 		Openwrt_Version_="R18.06-" | ||||||
| 	fi | 	} | ||||||
| 	AB_Firmware_Info=package/base-files/files/etc/openwrt_info |  | ||||||
| 	case ${Source_Owner} in | 	case ${Source_Owner} 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}" | 		Openwrt_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}" | 		Openwrt_Version="${Openwrt_Version_}${Compile_Date}" | ||||||
| 	;; | 	;; | ||||||
| 	*) | 	*) | ||||||
|  | @ -39,22 +39,22 @@ GET_TARGET_INFO() { | ||||||
| 		x86_Test="$(egrep -o "CONFIG_TARGET.*Generic=y" .config | sed -r 's/CONFIG_TARGET_(.*)_Generic=y/\1/')" | 		x86_Test="$(egrep -o "CONFIG_TARGET.*Generic=y" .config | sed -r 's/CONFIG_TARGET_(.*)_Generic=y/\1/')" | ||||||
| 		[[ -z "${x86_Test}" ]] && TIME "Can not obtain the TARGET_PROFILE !" && exit 1 | 		[[ -z "${x86_Test}" ]] && TIME "Can not obtain the TARGET_PROFILE !" && exit 1 | ||||||
| 	done | 	done | ||||||
| 	if [[ "${x86_Test}" == "x86_64" ]];then | 	[[ "${x86_Test}" == "x86_64" ]] && { | ||||||
| 		TARGET_PROFILE="x86_64" | 		TARGET_PROFILE="x86_64" | ||||||
| 	else | 	} || { | ||||||
| 		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/')" | ||||||
| 	fi | 	} | ||||||
| 	[[ -z "${TARGET_PROFILE}" ]] && TARGET_PROFILE="${Default_Device}" | 	[[ -z "${TARGET_PROFILE}" ]] && TARGET_PROFILE="${Default_Device}" | ||||||
| 	case ${TARGET_PROFILE} in | 	case ${TARGET_PROFILE} in | ||||||
| 	x86_64) | 	x86_64) | ||||||
| 		if [[ "$(cat ${Home}/.config)" =~ "CONFIG_TARGET_IMAGES_GZIP=y" ]];then | 		[[ "$(cat ${Home}/.config)" =~ "CONFIG_TARGET_IMAGES_GZIP=y" ]] && { | ||||||
| 			Firmware_Type="img.gz" | 			Firmware_Type=img.gz | ||||||
| 		else | 		} || { | ||||||
| 			Firmware_Type="img" | 			Firmware_Type=img | ||||||
| 		fi | 		} | ||||||
| 	;; | 	;; | ||||||
| 	*) | 	*) | ||||||
| 		Firmware_Type="bin" | 		Firmware_Type=bin | ||||||
| 	;; | 	;; | ||||||
| 	esac | 	esac | ||||||
| 	TARGET_BOARD="$(awk -F '[="]+' '/TARGET_BOARD/{print $2}' .config)" | 	TARGET_BOARD="$(awk -F '[="]+' '/TARGET_BOARD/{print $2}' .config)" | ||||||
|  | @ -93,14 +93,15 @@ Firmware-Diy_Base() { | ||||||
| 	Auto_ExtraPackages | 	Auto_ExtraPackages | ||||||
| 	chmod +x -R ${GITHUB_WORKSPACE}/Scripts | 	chmod +x -R ${GITHUB_WORKSPACE}/Scripts | ||||||
| 	chmod +x -R ${GITHUB_WORKSPACE}/CustomFiles | 	chmod +x -R ${GITHUB_WORKSPACE}/CustomFiles | ||||||
| 	if [[ "${INCLUDE_AutoBuild_Tools}" == "true" ]];then | 	chmod +x -R ${GITHUB_WORKSPACE}/CustomPackages | ||||||
|  | 	[[ "${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 | ||||||
| 	fi | 	} | ||||||
| 	if [[ "${INCLUDE_AutoUpdate}" == "true" ]];then | 	[[ "${INCLUDE_AutoUpdate}" == true ]] && { | ||||||
| 		ExtraPackages git lean luci-app-autoupdate https://github.com/Hyy2001X main | 		ExtraPackages git lean luci-app-autoupdate https://github.com/Hyy2001X main | ||||||
| 		Replace_File Scripts/AutoUpdate.sh package/base-files/files/bin | 		Replace_File Scripts/AutoUpdate.sh package/base-files/files/bin | ||||||
| 	fi | 	} | ||||||
| 	if [[ "${INCLUDE_Theme_Argon}" == "true" ]];then | 	[[ "${INCLUDE_Theme_Argon}" == true ]] && { | ||||||
| 		case ${Source_Owner} in | 		case ${Source_Owner} in | ||||||
| 		coolsnowwolf) | 		coolsnowwolf) | ||||||
| 				ExtraPackages git lean luci-theme-argon https://github.com/jerrykuku 18.06 | 				ExtraPackages git lean luci-theme-argon https://github.com/jerrykuku 18.06 | ||||||
|  | @ -122,12 +123,10 @@ Firmware-Diy_Base() { | ||||||
| 			esac | 			esac | ||||||
| 		;; | 		;; | ||||||
| 		esac | 		esac | ||||||
| 	fi | 	} | ||||||
| 	if [ -f package/base-files/files/bin/AutoUpdate.sh ];then | 	[ -f package/base-files/files/bin/AutoUpdate.sh ] && { | ||||||
| 		AutoUpdate_Version=$(awk 'NR==6' package/base-files/files/bin/AutoUpdate.sh | awk -F '[="]+' '/Version/{print $2}') | 		AutoUpdate_Version=$(awk 'NR==6' package/base-files/files/bin/AutoUpdate.sh | awk -F '[="]+' '/Version/{print $2}') | ||||||
| 	else | 	} || AutoUpdate_Version=OFF | ||||||
| 		AutoUpdate_Version=OFF |  | ||||||
| 	fi |  | ||||||
| 
 | 
 | ||||||
| 	Replace_File CustomFiles/Depends/profile package/base-files/files/etc | 	Replace_File CustomFiles/Depends/profile package/base-files/files/etc | ||||||
| 	case ${Source_Owner} in | 	case ${Source_Owner} in | ||||||
|  | @ -135,11 +134,10 @@ Firmware-Diy_Base() { | ||||||
| 		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 | ||||||
| 		ExtraPackages git lean helloworld https://github.com/fw876 master | 		ExtraPackages git lean helloworld https://github.com/fw876 master | ||||||
| 		Update_Makefile xray-core package/lean/helloworld/xray-core | 		sed -i 's/143/143,8080/' $(PKG_Finder d package luci-app-ssr-plus)/root/etc/init.d/shadowsocksr | ||||||
| 		sed -i 's/143/143,8080/' package/lean/helloworld/luci-app-ssr-plus/root/etc/init.d/shadowsocksr |  | ||||||
| 		sed -i "s?iptables?#iptables?g" ${Version_File} > /dev/null 2>&1 | 		sed -i "s?iptables?#iptables?g" ${Version_File} > /dev/null 2>&1 | ||||||
| 		sed -i "s?${Old_Version}?${Old_Version} Compiled by ${Author} [${Display_Date}]?g" $Version_File | 		sed -i "s?${Old_Version}?${Old_Version} Compiled by ${Author} [${Display_Date}]?g" $Version_File | ||||||
| 		[[ "${INCLUDE_DRM_I915}" == "true" ]] && Replace_File CustomFiles/Depends/i915-5.4 target/linux/x86 config-5.4 | 		[[ "${INCLUDE_DRM_I915}" == true ]] && Replace_File CustomFiles/Depends/i915-5.4 target/linux/x86 config-5.4 | ||||||
| 	;; | 	;; | ||||||
| 	immortalwrt) | 	immortalwrt) | ||||||
| 		sed -i 's/143/143,8080/' package/lean/luci-app-ssr-plus/root/etc/init.d/shadowsocksr | 		sed -i 's/143/143,8080/' package/lean/luci-app-ssr-plus/root/etc/init.d/shadowsocksr | ||||||
|  | @ -147,7 +145,7 @@ Firmware-Diy_Base() { | ||||||
| 		Replace_File CustomFiles/Depends/ImmortalWrt package/base-files/files/etc openwrt_release | 		Replace_File CustomFiles/Depends/ImmortalWrt package/base-files/files/etc openwrt_release | ||||||
| 		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 | ||||||
| 		sed -i "s?Template?Compiled by ${Author} [${Display_Date}]?g" $Version_File | 		sed -i "s?Template?Compiled by ${Author} [${Display_Date}]?g" $Version_File | ||||||
| 		[[ "${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 | ||||||
| 	 | 	 | ||||||
|  | @ -164,9 +162,9 @@ Firmware-Diy_Base() { | ||||||
| 	;; | 	;; | ||||||
| 	esac | 	esac | ||||||
| 
 | 
 | ||||||
| 	if [[ "${INCLUDE_Obsolete_PKG_Compatible}" == "true" ]];then | 	[[ "${INCLUDE_Obsolete_PKG_Compatible}" == true ]] && { | ||||||
| 		TIME "Start to run Obsolete_Package_Compatible Scripts ..." | 		TIME "Start to run Obsolete_Package_Compatible Scripts ..." | ||||||
| 		if [[ ${Source_Owner} == openwrt ]];then | 		[[ ${Source_Owner} == openwrt ]] && { | ||||||
| 			case ${Current_Branch} in | 			case ${Current_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-${Current_Branch}.patch ./ | ||||||
|  | @ -183,10 +181,11 @@ Firmware-Diy_Base() { | ||||||
| 				TIME "[ERROR] Current branch: [${Current_Branch}] is not supported !" | 				TIME "[ERROR] Current branch: [${Current_Branch}] is not supported !" | ||||||
| 			;; | 			;; | ||||||
| 			esac | 			esac | ||||||
| 		else | 		} || { | ||||||
| 			TIME "[ERROR] Current source: [${Source_Owner}] is not supported !" | 			TIME "[ERROR] Current source: [${Source_Owner}] is not supported !" | ||||||
| 		fi | 		} | ||||||
| 	fi | 	} | ||||||
|  | 	TIME "[Firmware-Diy_Base] All done !" | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| PS_Firmware() { | PS_Firmware() { | ||||||
|  | @ -229,26 +228,26 @@ PS_Firmware() { | ||||||
| 		echo "[Preload Info] Legacy_Firmware: ${Legacy_Firmware}" | 		echo "[Preload Info] Legacy_Firmware: ${Legacy_Firmware}" | ||||||
| 		echo "[Preload Info] UEFI_Firmware: ${EFI_Firmware}" | 		echo "[Preload Info] UEFI_Firmware: ${EFI_Firmware}" | ||||||
| 		echo "[Preload Info] AutoBuild_Firmware: ${AutoBuild_Firmware}" | 		echo "[Preload Info] AutoBuild_Firmware: ${AutoBuild_Firmware}" | ||||||
| 		if [ -f "${Legacy_Firmware}" ];then | 		[ -f "${Legacy_Firmware}" ] && { | ||||||
| 			_MD5=$(md5sum ${Legacy_Firmware} | cut -d ' ' -f1) | 			_MD5=$(md5sum ${Legacy_Firmware} | cut -d ' ' -f1) | ||||||
| 			_SHA256=$(sha256sum ${Legacy_Firmware} | cut -d ' ' -f1) | 			_SHA256=$(sha256sum ${Legacy_Firmware} | cut -d ' ' -f1) | ||||||
| 			touch ${Home}/bin/Firmware/${AutoBuild_Firmware}.detail | 			touch ${Home}/bin/Firmware/${AutoBuild_Firmware}.detail | ||||||
| 			echo -e "\nMD5:${_MD5}\nSHA256:${_SHA256}" > ${Home}/bin/Firmware/${AutoBuild_Firmware}-Legacy.detail | 			echo -e "\nMD5:${_MD5}\nSHA256:${_SHA256}" > ${Home}/bin/Firmware/${AutoBuild_Firmware}-Legacy.detail | ||||||
| 			mv -f ${Legacy_Firmware} ${Home}/bin/Firmware/${AutoBuild_Firmware}-Legacy.${Firmware_Type} | 			mv -f ${Legacy_Firmware} ${Home}/bin/Firmware/${AutoBuild_Firmware}-Legacy.${Firmware_Type} | ||||||
| 			TIME "Legacy Firmware is detected !" | 			TIME "Legacy Firmware is detected !" | ||||||
| 		else | 		} || { | ||||||
| 			TIME "[ERROR] Legacy Firmware is not detected !" | 			TIME "[ERROR] Legacy Firmware is not detected !" | ||||||
| 		fi | 		} | ||||||
| 		if [ -f "${EFI_Firmware}" ];then | 		[ -f "${EFI_Firmware}" ] && { | ||||||
| 			_MD5=$(md5sum ${EFI_Firmware} | cut -d ' ' -f1) | 			_MD5=$(md5sum ${EFI_Firmware} | cut -d ' ' -f1) | ||||||
| 			_SHA256=$(sha256sum ${EFI_Firmware} | cut -d ' ' -f1) | 			_SHA256=$(sha256sum ${EFI_Firmware} | cut -d ' ' -f1) | ||||||
| 			touch ${Home}/bin/Firmware/${AutoBuild_Firmware}-UEFI.detail | 			touch ${Home}/bin/Firmware/${AutoBuild_Firmware}-UEFI.detail | ||||||
| 			echo -e "\nMD5:${_MD5}\nSHA256:${_SHA256}" > ${Home}/bin/Firmware/${AutoBuild_Firmware}-UEFI.detail | 			echo -e "\nMD5:${_MD5}\nSHA256:${_SHA256}" > ${Home}/bin/Firmware/${AutoBuild_Firmware}-UEFI.detail | ||||||
| 			cp ${EFI_Firmware} ${Home}/bin/Firmware/${AutoBuild_Firmware}-UEFI.${Firmware_Type} | 			cp ${EFI_Firmware} ${Home}/bin/Firmware/${AutoBuild_Firmware}-UEFI.${Firmware_Type} | ||||||
| 			TIME "UEFI Firmware is detected !" | 			TIME "UEFI Firmware is detected !" | ||||||
| 		else | 		} || { | ||||||
| 			TIME "[ERROR] UEFI Firmware is not detected !" | 			TIME "[ERROR] UEFI Firmware is not detected !" | ||||||
| 		fi | 		} | ||||||
| 	;; | 	;; | ||||||
| 	*) | 	*) | ||||||
| 		cd ${Home} | 		cd ${Home} | ||||||
|  | @ -257,15 +256,15 @@ PS_Firmware() { | ||||||
| 		AutoBuild_Detail="AutoBuild-${TARGET_PROFILE}-${Openwrt_Version}.detail" | 		AutoBuild_Detail="AutoBuild-${TARGET_PROFILE}-${Openwrt_Version}.detail" | ||||||
| 		echo "[Preload Info] Default_Firmware: ${Default_Firmware}" | 		echo "[Preload Info] Default_Firmware: ${Default_Firmware}" | ||||||
| 		echo "[Preload Info] AutoBuild_Firmware: ${AutoBuild_Firmware}" | 		echo "[Preload Info] AutoBuild_Firmware: ${AutoBuild_Firmware}" | ||||||
| 		if [ -f ${Firmware_Path}/${Default_Firmware} ];then | 		[ -f ${Firmware_Path}/${Default_Firmware} ] && { | ||||||
| 			mv -f ${Firmware_Path}/${Default_Firmware} bin/Firmware/${AutoBuild_Firmware} | 			mv -f ${Firmware_Path}/${Default_Firmware} bin/Firmware/${AutoBuild_Firmware} | ||||||
| 			_MD5=$(md5sum bin/Firmware/${AutoBuild_Firmware} | cut -d ' ' -f1) | 			_MD5=$(md5sum bin/Firmware/${AutoBuild_Firmware} | cut -d ' ' -f1) | ||||||
| 			_SHA256=$(sha256sum 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} | 			echo -e "\nMD5:${_MD5}\nSHA256:${_SHA256}" > bin/Firmware/${AutoBuild_Detail} | ||||||
| 			TIME "Firmware is detected !" | 			TIME "Firmware is detected !" | ||||||
| 		else | 		} || { | ||||||
| 			TIME "[ERROR] Firmware is not detected !" | 			TIME "[ERROR] Firmware is not detected !" | ||||||
| 		fi | 		} | ||||||
| 	;; | 	;; | ||||||
| 	esac | 	esac | ||||||
| 	cd ${Home} | 	cd ${Home} | ||||||
|  | @ -277,15 +276,23 @@ TIME() { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| Mkdir() { | Mkdir() { | ||||||
|  | 	[[ $# -ne 1 ]] && { | ||||||
|  | 		TIME "[ERROR] Error options: [$#] [$*] !" | ||||||
|  | 		return 0 | ||||||
|  | 	} | ||||||
| 	_DIR=${1} | 	_DIR=${1} | ||||||
| 	if [ ! -d "${_DIR}" ];then | 	[ ! -d "${_DIR}" ] && { | ||||||
| 		TIME "Creating new folder [${_DIR}] ..." | 		TIME "Creating new folder [${_DIR}] ..." | ||||||
| 		mkdir -p ${_DIR} | 		mkdir -p ${_DIR} | ||||||
| 	fi | 	} | ||||||
| 	unset _DIR | 	unset _DIR | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| PKG_Finder() { | PKG_Finder() { | ||||||
|  | 	[[ $# -ne 3 ]] && { | ||||||
|  | 		TIME "[ERROR] Error options: [$#] [$*] !" | ||||||
|  | 		return 0 | ||||||
|  | 	} | ||||||
| 	unset PKG_RESULT | 	unset PKG_RESULT | ||||||
| 	_PKG_TYPE=${1} | 	_PKG_TYPE=${1} | ||||||
| 	_PKG_DIR=${2} | 	_PKG_DIR=${2} | ||||||
|  | @ -299,36 +306,48 @@ PKG_Finder() { | ||||||
| Auto_ExtraPackages() { | Auto_ExtraPackages() { | ||||||
| 	COMMON_FILE="${GITHUB_WORKSPACE}/CustomPackages/Common" | 	COMMON_FILE="${GITHUB_WORKSPACE}/CustomPackages/Common" | ||||||
| 	TARGET_FILE="${GITHUB_WORKSPACE}/CustomPackages/${TARGET_PROFILE}" | 	TARGET_FILE="${GITHUB_WORKSPACE}/CustomPackages/${TARGET_PROFILE}" | ||||||
|  | 	Auto_ExtraPackages_mod ${COMMON_FILE} | ||||||
|  | 	Auto_ExtraPackages_mod ${TARGET_FILE} | ||||||
|  | } | ||||||
| 
 | 
 | ||||||
| 	if [ -f "${TARGET_FILE}" ];then | Auto_ExtraPackages_mod() { | ||||||
| 		if [ -f "${COMMON_FILE}" ];then |     _FILENAME=${1} | ||||||
| 			TIME "Loading Common Packages list ..." | 	echo "" >> ${_FILENAME} | ||||||
| 			echo -e "\n$(cat ${COMMON_FILE})" >> ${TARGET_FILE} |     [ -f "${_FILENAME}" ] && { | ||||||
| 		fi | 	    TIME "Loading Custom Packages list: [${_FILENAME}]..." | ||||||
| 		TIME "Loading Custom Packages list: [${TARGET_PROFILE}] ..." | 	    cat ${_FILENAME} | sed '/^$/d' | while read X | ||||||
| 		cat ${TARGET_FILE} | while read X | 	    do | ||||||
| 		do | 	    	[[ "${X}" != "" ]] && [[ -n ${X} ]] && ExtraPackages ${X} | ||||||
| 			[[ -n "${X}" ]] && ExtraPackages ${X} | 	    	unset X | ||||||
| 			unset X | 	    done | ||||||
| 		done | 	} | ||||||
| 		TIME "[CustomPackages] All done !" | 	unset _FILENAME | ||||||
| 	else |  | ||||||
| 		TIME "Custom Packages list: [${TARGET_PROFILE}] is not detected !" |  | ||||||
| 	fi |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| ExtraPackages() { | ExtraPackages() { | ||||||
| 	PKG_PROTO=${1} | 	[[ $# -lt 4 ]] && { | ||||||
|  | 		TIME "[ERROR] Error options: [$#] [$*] !" | ||||||
|  | 		return 0 | ||||||
|  | 	} | ||||||
|  | 	case ${1} in | ||||||
|  | 	git | svn) | ||||||
|  | 		PKG_PROTO=${1} | ||||||
|  | 	;; | ||||||
|  | 	*) | ||||||
|  | 		return 0 | ||||||
|  | 	;; | ||||||
|  | 	esac | ||||||
|  | 	 | ||||||
| 	PKG_DIR=${2} | 	PKG_DIR=${2} | ||||||
| 	PKG_NAME=${3} | 	PKG_NAME=${3} | ||||||
| 	REPO_URL=${4} | 	REPO_URL=${4} | ||||||
| 	REPO_BRANCH=${5} | 	REPO_BRANCH=${5} | ||||||
| 
 | 
 | ||||||
| 	Mkdir package/${PKG_DIR} | 	Mkdir "package/${PKG_DIR}" | ||||||
| 	if [ -d "package/${PKG_DIR}/${PKG_NAME}" ];then | 	[ -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}" | ||||||
| 	fi | 	} | ||||||
| 	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) | ||||||
|  | @ -340,14 +359,19 @@ ExtraPackages() { | ||||||
| 		svn checkout ${REPO_URL}/${PKG_NAME} ${PKG_NAME} > /dev/null 2>&1 | 		svn checkout ${REPO_URL}/${PKG_NAME} ${PKG_NAME} > /dev/null 2>&1 | ||||||
| 	;; | 	;; | ||||||
| 	esac | 	esac | ||||||
| 	if [ -f ${PKG_NAME}/Makefile ] || [ -f ${PKG_NAME}/README* ];then | 	[ -f ${PKG_NAME}/Makefile ] || [ -f ${PKG_NAME}/README* ] && { | ||||||
| 		TIME "Package [${PKG_NAME}] is detected!" | 		mv -f "${PKG_NAME}" "package/${PKG_DIR}" | ||||||
| 		mv -f ${PKG_NAME} package/${PKG_DIR} | 	} || { | ||||||
| 	fi | 		TIME "[ERROR] Package [${PKG_NAME}] is not detected!" | ||||||
|  | 	} | ||||||
| 	unset PKG_PROTO PKG_DIR PKG_NAME REPO_URL REPO_BRANCH | 	unset PKG_PROTO PKG_DIR PKG_NAME REPO_URL REPO_BRANCH | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| Replace_File() { | Replace_File() { | ||||||
|  | 	[[ $# -lt 2 ]] && { | ||||||
|  | 		TIME "[ERROR] Error options: [$#] [$*] !" | ||||||
|  | 		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} | ||||||
|  | @ -355,23 +379,27 @@ Replace_File() { | ||||||
| 	Mkdir ${PATCH_DIR} | 	Mkdir ${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" | ||||||
| 	if [ -${_TYPE1} "${GITHUB_WORKSPACE}/${FILE_NAME}" ];then | 	[ -${_TYPE1} "${GITHUB_WORKSPACE}/${FILE_NAME}" ] && { | ||||||
| 		[[ -n "${FILE_RENAME}" ]] && _RENAME="${FILE_RENAME}" || _RENAME="" | 		[[ -n "${FILE_RENAME}" ]] && _RENAME="${FILE_RENAME}" || _RENAME="" | ||||||
| 		if [ -${_TYPE1} "${GITHUB_WORKSPACE}/${FILE_NAME}" ];then | 		[ -${_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}" | ||||||
| 		else | 		} || { | ||||||
| 			TIME "CustomFiles ${_TYPE2} [${FILE_NAME}] is not detected !" | 			TIME "CustomFiles ${_TYPE2} [${FILE_NAME}] is not detected !" | ||||||
| 		fi | 		} | ||||||
| 	fi | 	} | ||||||
| 	unset FILE_NAME PATCH_DIR FILE_RENAME | 	unset FILE_NAME PATCH_DIR FILE_RENAME | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| Update_Makefile() { | Update_Makefile() { | ||||||
|  | 	[[ $# -ne 2 ]] && { | ||||||
|  | 		TIME "[ERROR] Error options: [$#] [$*] !" | ||||||
|  | 		return 0 | ||||||
|  | 	} | ||||||
| 	PKG_NAME=${1} | 	PKG_NAME=${1} | ||||||
| 	Makefile=${2}/Makefile | 	Makefile=${2}/Makefile | ||||||
| 	[ -f "/tmp/tmp_file" ] && rm -f /tmp/tmp_file | 	[ -f "/tmp/tmp_file" ] && rm -f /tmp/tmp_file | ||||||
| 	if [ -f "${Makefile}" ];then | 	[ -f "${Makefile}" ] && { | ||||||
| 		PKG_URL_MAIN="$(grep "PKG_SOURCE_URL:=" ${Makefile} | cut -c17-100)" | 		PKG_URL_MAIN="$(grep "PKG_SOURCE_URL:=" ${Makefile} | cut -c17-100)" | ||||||
| 		_process1=${PKG_URL_MAIN##*com/} | 		_process1=${PKG_URL_MAIN##*com/} | ||||||
| 		_process2=${_process1%%/tar*} | 		_process2=${_process1%%/tar*} | ||||||
|  | @ -379,29 +407,29 @@ Update_Makefile() { | ||||||
| 		PKG_SOURCE_URL="$(grep "PKG_SOURCE_URL:=" ${Makefile} | cut -c17-100)" | 		PKG_SOURCE_URL="$(grep "PKG_SOURCE_URL:=" ${Makefile} | cut -c17-100)" | ||||||
| 		PKG_DL_URL="${PKG_SOURCE_URL%\$(\PKG_VERSION*}" | 		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')" | 		Offical_Version="$(curl -s ${api_URL} 2>/dev/null | grep 'tag_name' | egrep -o '[0-9].+[0-9.]+' | awk 'NR==1')" | ||||||
| 		if [[ -z "${Offical_Version}" ]];then | 		[[ -z "${Offical_Version}" ]] && { | ||||||
| 			TIME "[ERROR] Failed to obtain the Offical version of [${PKG_NAME}] !" | 			TIME "[ERROR] Failed to obtain the Offical version of [${PKG_NAME}] !" | ||||||
| 			return | 			return | ||||||
| 		fi | 		} | ||||||
| 		Source_Version="$(grep "PKG_VERSION:=" ${Makefile} | cut -c14-20)" | 		Source_Version="$(grep "PKG_VERSION:=" ${Makefile} | cut -c14-20)" | ||||||
| 		Source_HASH="$(grep "PKG_HASH:=" ${Makefile} | cut -c11-100)" | 		Source_HASH="$(grep "PKG_HASH:=" ${Makefile} | cut -c11-100)" | ||||||
| 		if [[ -z "${Source_Version}" ]] || [[ -z "${Source_HASH}" ]];then | 		[[ -z "${Source_Version}" ]] || [[ -z "${Source_HASH}" ]] && { | ||||||
| 			TIME "[ERROR] Failed to obtain the Source version or Hash !" | 			TIME "[ERROR] Failed to obtain the Source version or Hash !" | ||||||
| 			return | 			return | ||||||
| 		fi | 		} | ||||||
| 		if [[ ! "${Source_Version}" == "${Offical_Version}" ]];then | 		[[ ! "${Source_Version}" == "${Offical_Version}" ]] && { | ||||||
| 			TIME "Updating package ${PKG_NAME} [${Source_Version}] to [${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} | 			sed -i "s?PKG_VERSION:=${Source_Version}?PKG_VERSION:=${Offical_Version}?g" ${Makefile} | ||||||
| 			wget -q "${PKG_DL_URL}${Offical_Version}?" -O /tmp/tmp_file | 			wget -q "${PKG_DL_URL}${Offical_Version}?" -O /tmp/tmp_file | ||||||
| 			if [[ "$?" -eq 0 ]];then | 			[[ "$?" -eq 0 ]] && { | ||||||
| 				Offical_HASH="$(sha256sum /tmp/tmp_file | cut -d ' ' -f1)" | 				Offical_HASH="$(sha256sum /tmp/tmp_file | cut -d ' ' -f1)" | ||||||
| 				sed -i "s?PKG_HASH:=${Source_HASH}?PKG_HASH:=${Offical_HASH}?g" ${Makefile} | 				sed -i "s?PKG_HASH:=${Source_HASH}?PKG_HASH:=${Offical_HASH}?g" ${Makefile} | ||||||
| 			else | 			} || { | ||||||
| 				TIME "[ERROR] Failed to update the package [${PKG_NAME}] !" | 				TIME "[ERROR] Failed to update the package [${PKG_NAME}] !" | ||||||
| 			fi | 			} | ||||||
| 		fi | 		} | ||||||
| 	else | 	} || { | ||||||
| 		TIME "Package ${PKG_NAME} is not detected !" | 		TIME "[ERROR] Package ${PKG_NAME} is not detected !" | ||||||
| 	fi | 	} | ||||||
| 	unset _process1 _process2 Offical_Version Source_Version | 	unset _process1 _process2 Offical_Version Source_Version | ||||||
| } | } | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue