优化代码&部分问题修复

This commit is contained in:
Hyy2001X 2021-04-16 18:57:19 +08:00
parent e00bace23a
commit 9384c402e8
2 changed files with 119 additions and 91 deletions

View File

@ -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

View File

@ -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
} }