优化 OpenWrt-19.07 21.02 支持

This commit is contained in:
Hyy2001X 2021-04-08 16:45:11 +08:00
parent 26a10bbc7f
commit 783894d859
3 changed files with 94 additions and 76 deletions

View File

@ -75,25 +75,23 @@ jobs:
sudo chown $USER:$GROUPS /workdir sudo chown $USER:$GROUPS /workdir
echo "Compile_Date=$(date +%Y%m%d)" > $GITHUB_WORKSPACE/Openwrt.info echo "Compile_Date=$(date +%Y%m%d)" > $GITHUB_WORKSPACE/Openwrt.info
echo "Display_Date=$(date +'%Y/%m/%d')" >> $GITHUB_WORKSPACE/Openwrt.info echo "Display_Date=$(date +'%Y/%m/%d')" >> $GITHUB_WORKSPACE/Openwrt.info
echo "## $(date +"%Y%m%d")-$CONFIG_FILE" > update_log.txt echo " " > update_log.txt
echo "Artifacts_DATE=$(date +"%Y%m%d%H%M")" >> $GITHUB_ENV echo "Artifacts_DATE=$(date +"%Y%m%d%H%M")" >> $GITHUB_ENV
- name: Clone source code - name: Clone source code
run: | run: |
git clone -b $REPO_BRANCH $REPO_URL openwrt git clone -b $REPO_BRANCH $REPO_URL openwrt
ln -sf /workdir/openwrt $GITHUB_WORKSPACE/openwrt ln -sf /workdir/openwrt $GITHUB_WORKSPACE/openwrt
[ -f Configs/$CONFIG_FILE ] && cp Configs/$CONFIG_FILE openwrt/.config || exit 1
- name: Update & Install all feeds
run: |
cd openwrt cd openwrt
./scripts/feeds update -a ./scripts/feeds update -a
./scripts/feeds install -a ./scripts/feeds install -a
make defconfig
- name: Run [Firmware-Diy] Scripts - name: Run Custom Firmware-Diy Scripts
run: | run: |
chmod +x $DIY_SCRIPT chmod +x $DIY_SCRIPT
chmod +x $FUNCTION_SCRIPT chmod +x $FUNCTION_SCRIPT
[ -f Configs/$CONFIG_FILE ] && mv Configs/$CONFIG_FILE openwrt/.config
cd openwrt cd openwrt
source $GITHUB_WORKSPACE/$DIY_SCRIPT source $GITHUB_WORKSPACE/$DIY_SCRIPT
source $GITHUB_WORKSPACE/$FUNCTION_SCRIPT && Firmware-Diy_Base source $GITHUB_WORKSPACE/$FUNCTION_SCRIPT && Firmware-Diy_Base
@ -106,18 +104,14 @@ jobs:
TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }} TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }}
TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }} TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }}
- name: Download Packages - name: Preload and Compile the Openwrt
run: | run: |
cp Configs/$CONFIG_FILE openwrt/.config
cd openwrt cd openwrt
./scripts/feeds update -a
./scripts/feeds install -a ./scripts/feeds install -a
make defconfig make defconfig
make download -j$(nproc) V=s make download -j$(nproc)
find dl -size -1024c -exec rm -f {} \; echo "Start to compile OpenWrt ..."
- name: Compile the Openwrt
run: |
cd openwrt
make -j$(nproc) || make -j1 V=s make -j$(nproc) || make -j1 V=s
- name: Process the AutoBuild Firmware - name: Process the AutoBuild Firmware
@ -126,7 +120,7 @@ jobs:
source $GITHUB_WORKSPACE/$DIY_SCRIPT source $GITHUB_WORKSPACE/$DIY_SCRIPT
source $GITHUB_WORKSPACE/$FUNCTION_SCRIPT && PS_Firmware source $GITHUB_WORKSPACE/$FUNCTION_SCRIPT && PS_Firmware
- name: Upload AutoBuild Firmware to Artifacts - name: Upload Firmware to Artifacts
uses: actions/upload-artifact@main uses: actions/upload-artifact@main
if: env.UPLOAD_FIRMWARE == 'true' && !cancelled() if: env.UPLOAD_FIRMWARE == 'true' && !cancelled()
with: with:
@ -140,7 +134,7 @@ jobs:
name: OpenWrt_bin_${{ env.Artifacts_DATE }} name: OpenWrt_bin_${{ env.Artifacts_DATE }}
path: openwrt/bin path: openwrt/bin
- name: Upload AutoBuild Firmware to Release - name: Upload Firmware to Release
uses: softprops/action-gh-release@v1 uses: softprops/action-gh-release@v1
if: env.UPLOAD_RELEASE == 'true' && !cancelled() if: env.UPLOAD_RELEASE == 'true' && !cancelled()
env: env:

View File

@ -75,25 +75,23 @@ jobs:
sudo chown $USER:$GROUPS /workdir sudo chown $USER:$GROUPS /workdir
echo "Compile_Date=$(date +%Y%m%d)" > $GITHUB_WORKSPACE/Openwrt.info echo "Compile_Date=$(date +%Y%m%d)" > $GITHUB_WORKSPACE/Openwrt.info
echo "Display_Date=$(date +'%Y/%m/%d')" >> $GITHUB_WORKSPACE/Openwrt.info echo "Display_Date=$(date +'%Y/%m/%d')" >> $GITHUB_WORKSPACE/Openwrt.info
echo "## $(date +"%Y%m%d")-$CONFIG_FILE" > update_log.txt echo " " > update_log.txt
echo "Artifacts_DATE=$(date +"%Y%m%d%H%M")" >> $GITHUB_ENV echo "Artifacts_DATE=$(date +"%Y%m%d%H%M")" >> $GITHUB_ENV
- name: Clone source code - name: Clone source code
run: | run: |
git clone -b $REPO_BRANCH $REPO_URL openwrt git clone -b $REPO_BRANCH $REPO_URL openwrt
ln -sf /workdir/openwrt $GITHUB_WORKSPACE/openwrt ln -sf /workdir/openwrt $GITHUB_WORKSPACE/openwrt
[ -f Configs/$CONFIG_FILE ] && cp Configs/$CONFIG_FILE openwrt/.config || exit 1
- name: Update & Install all feeds
run: |
cd openwrt cd openwrt
./scripts/feeds update -a ./scripts/feeds update -a
./scripts/feeds install -a ./scripts/feeds install -a
make defconfig
- name: Run [Firmware-Diy] Scripts - name: Run Custom Firmware-Diy Scripts
run: | run: |
chmod +x $DIY_SCRIPT chmod +x $DIY_SCRIPT
chmod +x $FUNCTION_SCRIPT chmod +x $FUNCTION_SCRIPT
[ -f Configs/$CONFIG_FILE ] && mv Configs/$CONFIG_FILE openwrt/.config
cd openwrt cd openwrt
source $GITHUB_WORKSPACE/$DIY_SCRIPT source $GITHUB_WORKSPACE/$DIY_SCRIPT
source $GITHUB_WORKSPACE/$FUNCTION_SCRIPT && Firmware-Diy_Base source $GITHUB_WORKSPACE/$FUNCTION_SCRIPT && Firmware-Diy_Base
@ -106,18 +104,14 @@ jobs:
TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }} TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }}
TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }} TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }}
- name: Download Packages - name: Preload and Compile the Openwrt
run: | run: |
cp Configs/$CONFIG_FILE openwrt/.config
cd openwrt cd openwrt
./scripts/feeds update -a
./scripts/feeds install -a ./scripts/feeds install -a
make defconfig make defconfig
make download -j$(nproc) V=s make download -j$(nproc)
find dl -size -1024c -exec rm -f {} \; echo "Start to compile OpenWrt ..."
- name: Compile the Openwrt
run: |
cd openwrt
make -j$(nproc) || make -j1 V=s make -j$(nproc) || make -j1 V=s
- name: Process the AutoBuild Firmware - name: Process the AutoBuild Firmware
@ -126,7 +120,7 @@ jobs:
source $GITHUB_WORKSPACE/$DIY_SCRIPT source $GITHUB_WORKSPACE/$DIY_SCRIPT
source $GITHUB_WORKSPACE/$FUNCTION_SCRIPT && PS_Firmware source $GITHUB_WORKSPACE/$FUNCTION_SCRIPT && PS_Firmware
- name: Upload AutoBuild Firmware to Artifacts - name: Upload Firmware to Artifacts
uses: actions/upload-artifact@main uses: actions/upload-artifact@main
if: env.UPLOAD_FIRMWARE == 'true' && !cancelled() if: env.UPLOAD_FIRMWARE == 'true' && !cancelled()
with: with:
@ -140,7 +134,7 @@ jobs:
name: OpenWrt_bin_${{ env.Artifacts_DATE }} name: OpenWrt_bin_${{ env.Artifacts_DATE }}
path: openwrt/bin path: openwrt/bin
- name: Upload AutoBuild Firmware to Release - name: Upload Firmware to Release
uses: softprops/action-gh-release@v1 uses: softprops/action-gh-release@v1
if: env.UPLOAD_RELEASE == 'true' && !cancelled() if: env.UPLOAD_RELEASE == 'true' && !cancelled()
env: env:

View File

@ -52,7 +52,32 @@ GET_TARGET_INFO() {
esac esac
TARGET_BOARD="$(awk -F '[="]+' '/TARGET_BOARD/{print $2}' .config)" TARGET_BOARD="$(awk -F '[="]+' '/TARGET_BOARD/{print $2}' .config)"
TARGET_SUBTARGET="$(awk -F '[="]+' '/TARGET_SUBTARGET/{print $2}' .config)" TARGET_SUBTARGET="$(awk -F '[="]+' '/TARGET_SUBTARGET/{print $2}' .config)"
echo "[Preload] All done !"
echo "Firmware_Type=${Firmware_Type}" > ${Home}/TARGET_INFO
echo "TARGET_PROFILE=${TARGET_PROFILE}" >> ${Home}/TARGET_INFO
echo "Openwrt_Version=${Openwrt_Version}" >> ${Home}/TARGET_INFO
echo "Source_Owner=${Source_Owner}" >> ${Home}/TARGET_INFO
echo "TARGET_BOARD=${TARGET_BOARD}" >> ${Home}/TARGET_INFO
echo "TARGET_SUBTARGET=${TARGET_SUBTARGET}" >> ${Home}/TARGET_INFO
echo "Home=${Home}" >> ${Home}/TARGET_INFO
echo "${Openwrt_Version}" > ${AB_Firmware_Info}
echo "${Owner_Repo}" >> ${AB_Firmware_Info}
echo "${TARGET_PROFILE}" >> ${AB_Firmware_Info}
echo "${Firmware_Type}" >> ${AB_Firmware_Info}
echo "Author: ${Author}"
echo "Author Github: ${Owner_Repo}"
echo "Firmware Version: ${Openwrt_Version}"
echo "Firmware Type: ${Firmware_Type}"
echo "Source: ${Source_Repo}"
echo "Source Author: ${Source_Owner}"
echo "Source Branch: ${Current_Branch}"
echo "TARGET_PTOFILE: ${TARGET_PROFILE}"
echo "TARGET_BOARD: ${TARGET_BOARD}"
echo "TARGET_SUBTARGET: ${TARGET_SUBTARGET}"
TIME "[Preload Info] All done !"
} }
Firmware-Diy_Base() { Firmware-Diy_Base() {
@ -72,19 +97,18 @@ Firmware-Diy_Base() {
else else
AutoUpdate_Version=OFF AutoUpdate_Version=OFF
fi 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
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
ExtraPackages git lean luci-theme-argon https://github.com/jerrykuku 18.06 ExtraPackages git lean luci-theme-argon https://github.com/jerrykuku 18.06
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 Update_Makefile xray-core package/lean/helloworld/xray-core
sed -i 's/143/143,8080/' package/lean/helloworld/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)
@ -114,41 +138,29 @@ Firmware-Diy_Base() {
esac esac
if [[ "${INCLUDE_Obsolete_PKG_Compatible}" == "true" ]];then if [[ "${INCLUDE_Obsolete_PKG_Compatible}" == "true" ]];then
echo "[$(date "+%H:%M:%S")] Start to run Obsolete_Package_Compatible Scripts ..." TIME "Start to run Obsolete_Package_Compatible Scripts ..."
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 ./
cat 0003-upx-ucl-${Current_Branch}.patch | patch -p1 > /dev/null 2>&1 cat 0003-upx-ucl-${Current_Branch}.patch | patch -p1 > /dev/null 2>&1
ExtraPackages svn ../feeds/packages/lang golang https://github.com/coolsnowwolf/packages/trunk/lang ExtraPackages svn ../feeds/packages/lang golang https://github.com/coolsnowwolf/packages/trunk/lang
echo "[$(date "+%H:%M:%S")] 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 cd ./package
bash ./Convert_Translation.sh bash ./Convert_Translation.sh
cd .. cd ..
;; ;;
*) *)
echo "[ERROR] Current branch: [${Current_Branch}] is not supported !" TIME "[ERROR] Current branch: [${Current_Branch}] is not supported !"
;; ;;
esac esac
fi fi
echo "${Openwrt_Version}" > ${AB_Firmware_Info}
echo "${Owner_Repo}" >> ${AB_Firmware_Info}
echo "${TARGET_PROFILE}" >> ${AB_Firmware_Info}
echo "${Firmware_Type}" >> ${AB_Firmware_Info}
echo "Author: ${Author}"
echo "Github: ${Owner_Repo}"
echo "Device: ${TARGET_PROFILE}"
echo "Firmware Version: ${Openwrt_Version}"
echo "Firmware Type: ${Firmware_Type}"
echo "Source: ${Source_Repo}"
echo "Branch: ${Current_Branch}"
} }
PS_Firmware() { PS_Firmware() {
GET_TARGET_INFO . TARGET_INFO
ls bin/targets/${TARGET_BOARD}/${TARGET_SUBTARGET}
case ${Source_Owner} in case ${Source_Owner} in
immortalwrt) immortalwrt)
_Firmware=immortalwrt _Firmware=immortalwrt
@ -169,13 +181,18 @@ PS_Firmware() {
Legacy_Firmware=${_Firmware}-${TARGET_BOARD}-${TARGET_SUBTARGET}-${_Legacy_Firmware}.${Firmware_Type} Legacy_Firmware=${_Firmware}-${TARGET_BOARD}-${TARGET_SUBTARGET}-${_Legacy_Firmware}.${Firmware_Type}
EFI_Firmware=${_Firmware}-${TARGET_BOARD}-${TARGET_SUBTARGET}-${_EFI_Firmware}.${Firmware_Type} EFI_Firmware=${_Firmware}-${TARGET_BOARD}-${TARGET_SUBTARGET}-${_EFI_Firmware}.${Firmware_Type}
AutoBuild_Firmware="AutoBuild-${TARGET_PROFILE}-${Openwrt_Version}" 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 if [ -f "${Legacy_Firmware}" ];then
_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}
echo "[$(date "+%H:%M:%S")] Legacy Firmware is detected !" TIME "Legacy Firmware is detected !"
else
TIME "[ERROR] Legacy Firmware is not detected !"
fi fi
if [ -f "${EFI_Firmware}" ];then if [ -f "${EFI_Firmware}" ];then
_MD5=$(md5sum ${EFI_Firmware} | cut -d ' ' -f1) _MD5=$(md5sum ${EFI_Firmware} | cut -d ' ' -f1)
@ -183,7 +200,9 @@ PS_Firmware() {
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}
echo "[$(date "+%H:%M:%S")] UEFI Firmware is detected !" TIME "UEFI Firmware is detected !"
else
TIME "[ERROR] UEFI Firmware is not detected !"
fi fi
;; ;;
*) *)
@ -191,21 +210,31 @@ PS_Firmware() {
Default_Firmware="${_Firmware}-${TARGET_BOARD}-${TARGET_SUBTARGET}-${TARGET_PROFILE}-squashfs-sysupgrade.${Firmware_Type}" Default_Firmware="${_Firmware}-${TARGET_BOARD}-${TARGET_SUBTARGET}-${TARGET_PROFILE}-squashfs-sysupgrade.${Firmware_Type}"
AutoBuild_Firmware="AutoBuild-${TARGET_PROFILE}-${Openwrt_Version}.${Firmware_Type}" AutoBuild_Firmware="AutoBuild-${TARGET_PROFILE}-${Openwrt_Version}.${Firmware_Type}"
AutoBuild_Detail="AutoBuild-${TARGET_PROFILE}-${Openwrt_Version}.detail" AutoBuild_Detail="AutoBuild-${TARGET_PROFILE}-${Openwrt_Version}.detail"
echo "Firmware: ${AutoBuild_Firmware}" echo "[Preload Info] Default_Firmware: ${Default_Firmware}"
mv -f ${Firmware_Path}/${Default_Firmware} bin/Firmware/${AutoBuild_Firmware} echo "[Preload Info] AutoBuild_Firmware: ${AutoBuild_Firmware}"
_MD5=$(md5sum bin/Firmware/${AutoBuild_Firmware} | cut -d ' ' -f1) if [ -f ${Default_Firmware} ];then
_SHA256=$(sha256sum bin/Firmware/${AutoBuild_Firmware} | cut -d ' ' -f1) mv -f ${Firmware_Path}/${Default_Firmware} bin/Firmware/${AutoBuild_Firmware}
echo -e "\nMD5:${_MD5}\nSHA256:${_SHA256}" > bin/Firmware/${AutoBuild_Detail} _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 "Common Firmware is detected !"
else
TIME "[ERROR] Common Firmware is not detected !"
fi
;; ;;
esac esac
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}')"
} }
TIME() {
echo "[$(date "+%H:%M:%S")] ${*}"
}
Mkdir() { Mkdir() {
_DIR=${1} _DIR=${1}
if [ ! -d "${_DIR}" ];then if [ ! -d "${_DIR}" ];then
echo "[$(date "+%H:%M:%S")] Creating new folder [${_DIR}] ..." TIME "Creating new folder [${_DIR}] ..."
mkdir -p ${_DIR} mkdir -p ${_DIR}
fi fi
unset _DIR unset _DIR
@ -219,20 +248,22 @@ PKG_Finder() {
[[ -z ${PKG_TYPE} ]] && [[ -z ${PKG_NAME} ]] || [[ -z ${PKG_DIR} ]] && return [[ -z ${PKG_TYPE} ]] && [[ -z ${PKG_NAME} ]] || [[ -z ${PKG_DIR} ]] && return
PKG_RESULT=$(find -name ${PKG_DIR}/${PKG_NAME} -type ${PKG_TYPE} -exec echo {} \;) PKG_RESULT=$(find -name ${PKG_DIR}/${PKG_NAME} -type ${PKG_TYPE} -exec echo {} \;)
if [[ ! -z "${PKG_RESULT}" ]];then if [[ ! -z "${PKG_RESULT}" ]];then
echo "[${PKG_NAME}] is detected,Dir: ${PKG_RESULT}" TIME "[${PKG_NAME}] is detected,Dir: ${PKG_RESULT}"
fi fi
unset PKG_TYPE PKG_DIR PKG_NAME
} }
Auto_ExtraPackages() { Auto_ExtraPackages() {
[[ ! -f "${GITHUB_WORKSPACE}/CustomPackages/${TARGET_PROFILE}" ]] && return [[ ! -f "${GITHUB_WORKSPACE}/CustomPackages/${TARGET_PROFILE}" ]] && return
echo "[$(date "+%H:%M:%S")] Loading Custom Packages list: [${TARGET_PROFILE}] ..." TIME "Loading Custom Packages list: [${TARGET_PROFILE}] ..."
echo "" >> ${GITHUB_WORKSPACE}/CustomPackages/${TARGET_PROFILE} echo "" >> ${GITHUB_WORKSPACE}/CustomPackages/${TARGET_PROFILE}
cat ${GITHUB_WORKSPACE}/CustomPackages/${TARGET_PROFILE} | while read X cat ${GITHUB_WORKSPACE}/CustomPackages/${TARGET_PROFILE} | while read X
do do
[[ -z "${X}" ]] && break [[ -z "${X}" ]] && break
ExtraPackages ${X} ExtraPackages ${X}
unset X
done done
echo "[$(date "+%H:%M:%S")] [CustomPackages] All done !" TIME "[CustomPackages] All done !"
} }
ExtraPackages() { ExtraPackages() {
@ -243,16 +274,16 @@ ExtraPackages() {
REPO_BRANCH=${5} REPO_BRANCH=${5}
if [[ $# -lt 4 ]];then if [[ $# -lt 4 ]];then
echo "[$(date "+%H:%M:%S")] [ERROR] Missing options,skip check out..." TIME "[ERROR] Missing options,skip check out..."
return return
fi fi
Mkdir package/${PKG_DIR} Mkdir package/${PKG_DIR}
if [ -d "package/${PKG_DIR}/${PKG_NAME}" ];then if [ -d "package/${PKG_DIR}/${PKG_NAME}" ];then
echo "[$(date "+%H:%M:%S")] 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 fi
[ -d "${PKG_NAME}" ] && rm -rf ${PKG_NAME} [ -d "${PKG_NAME}" ] && rm -rf ${PKG_NAME}
echo "[$(date "+%H:%M:%S")] 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 [[ -z "${REPO_BRANCH}" ]] && REPO_BRANCH=master
@ -262,11 +293,11 @@ 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
;; ;;
*) *)
echo "[$(date "+%H:%M:%S")] Error option: ${PKG_PROTO} !" && return TIME "[ERROR] Error option: ${PKG_PROTO} !" && return
;; ;;
esac esac
if [ -f ${PKG_NAME}/Makefile ] || [ -f ${PKG_NAME}/README* ] || [ ! "$(ls -A ${PKG_NAME})" = "" ];then if [ -f ${PKG_NAME}/Makefile ] || [ -f ${PKG_NAME}/README* ] || [ ! "$(ls -A ${PKG_NAME})" = "" ];then
echo "[$(date "+%H:%M:%S")] Package [${PKG_NAME}] is detected!" TIME "Package [${PKG_NAME}] is detected!"
mv -f ${PKG_NAME} package/${PKG_DIR} mv -f ${PKG_NAME} package/${PKG_DIR}
fi fi
unset PKG_PROTO PKG_DIR PKG_NAME REPO_URL REPO_BRANCH unset PKG_PROTO PKG_DIR PKG_NAME REPO_URL REPO_BRANCH
@ -283,10 +314,10 @@ Replace_File() {
if [ -${_TYPE1} "${GITHUB_WORKSPACE}/${FILE_NAME}" ];then if [ -${_TYPE1} "${GITHUB_WORKSPACE}/${FILE_NAME}" ];then
[[ ! -z "${FILE_RENAME}" ]] && _RENAME="${FILE_RENAME}" || _RENAME="" [[ ! -z "${FILE_RENAME}" ]] && _RENAME="${FILE_RENAME}" || _RENAME=""
if [ -${_TYPE1} "${GITHUB_WORKSPACE}/${FILE_NAME}" ];then if [ -${_TYPE1} "${GITHUB_WORKSPACE}/${FILE_NAME}" ];then
echo "[$(date "+%H:%M:%S")] 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 else
echo "[$(date "+%H:%M:%S")] CustomFiles ${_TYPE2} [${FILE_NAME}] is not detected,skip move ..." TIME "CustomFiles ${_TYPE2} [${FILE_NAME}] is not detected,skip move ..."
fi fi
fi fi
unset FILE_NAME PATCH_DIR FILE_RENAME unset FILE_NAME PATCH_DIR FILE_RENAME
@ -305,29 +336,28 @@ Update_Makefile() {
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 if [[ -z "${Offical_Version}" ]];then
echo "[ERROR] Failed to obtain the Offical version of [${PKG_NAME}],skip update ..." TIME "[ERROR] Failed to obtain the Offical version of [${PKG_NAME}],skip update ..."
return return
fi 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 if [[ -z "${Source_Version}" ]] || [[ -z "${Source_HASH}" ]];then
echo "[ERROR] Failed to obtain the Source version or HASH,skip update ..." TIME "[ERROR] Failed to obtain the Source version or Hash,skip update ..."
return return
fi fi
echo -e "Current ${PKG_NAME} version: ${Source_Version}\nOffical ${PKG_NAME} version: ${Offical_Version}"
if [[ ! "${Source_Version}" == "${Offical_Version}" ]];then if [[ ! "${Source_Version}" == "${Offical_Version}" ]];then
echo -e "[$(date "+%H:%M:%S")] 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 if [[ "$?" -eq 0 ]];then
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 else
echo "[ERROR] Failed to update the package [${PKG_NAME}],skip update ..." TIME "[ERROR] Failed to update the package [${PKG_NAME}],skip update ..."
fi fi
fi fi
else else
echo "[$(date "+%H:%M:%S")] Package ${PKG_NAME} is not detected,skip update ..." TIME "Package ${PKG_NAME} is not detected,skip update ..."
fi fi
unset _process1 _process2 Offical_Version Source_Version unset _process1 _process2 Offical_Version Source_Version
} }