From dbf1d808bde5886c029a2ed1a857184c08877e36 Mon Sep 17 00:00:00 2001 From: Ing Date: Sun, 14 May 2023 15:22:01 +0800 Subject: [PATCH] format tar --- .../arpl/overlayfs/opt/arpl/include/addons.sh | 6 +-- .../overlayfs/opt/arpl/include/modules.sh | 44 +++++++++++++++---- .../arpl/overlayfs/opt/arpl/install-addons.sh | 2 +- files/board/arpl/overlayfs/opt/arpl/menu.sh | 8 ++-- .../opt/arpl/model-configs/RS3618xs.yml | 2 +- .../arpl/overlayfs/opt/arpl/ramdisk-patch.sh | 4 +- .../overlayfs/opt/arpl/vmlinux-to-bzImage.sh | 4 +- 7 files changed, 48 insertions(+), 22 deletions(-) diff --git a/files/board/arpl/overlayfs/opt/arpl/include/addons.sh b/files/board/arpl/overlayfs/opt/arpl/include/addons.sh index 708bd481..a754ff98 100755 --- a/files/board/arpl/overlayfs/opt/arpl/include/addons.sh +++ b/files/board/arpl/overlayfs/opt/arpl/include/addons.sh @@ -42,12 +42,12 @@ function installAddon() { HAS_FILES=0 # First check generic files if [ -f "${ADDONS_PATH}/${ADDON}/all.tgz" ]; then - gzip -dc "${ADDONS_PATH}/${ADDON}/all.tgz" | tar xf - -C "${TMP_PATH}/${ADDON}" + tar -zxf "${ADDONS_PATH}/${ADDON}/all.tgz" -C "${TMP_PATH}/${ADDON}" HAS_FILES=1 fi # Now check specific platform files if [ -f "${ADDONS_PATH}/${ADDON}/${PLATFORM}-${KVER}.tgz" ]; then - gzip -dc "${ADDONS_PATH}/${ADDON}/${PLATFORM}-${KVER}.tgz" | tar xf - -C "${TMP_PATH}/${ADDON}" + tar -zxf "${ADDONS_PATH}/${ADDON}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/${ADDON}" HAS_FILES=1 fi # If has files to copy, copy it, else return error @@ -66,7 +66,7 @@ function installAddon() { function untarAddon() { rm -rf "${TMP_PATH}/addon" mkdir -p "${TMP_PATH}/addon" - tar xaf "${1}" -C "${TMP_PATH}/addon" || return + tar -xaf "${1}" -C "${TMP_PATH}/addon" || return ADDON=`readConfigKey "name" "${TMP_PATH}/addon/manifest.yml"` [ -z "${ADDON}" ] && return rm -rf "${ADDONS_PATH}/${ADDON}" diff --git a/files/board/arpl/overlayfs/opt/arpl/include/modules.sh b/files/board/arpl/overlayfs/opt/arpl/include/modules.sh index cb0b0e5a..03747f30 100644 --- a/files/board/arpl/overlayfs/opt/arpl/include/modules.sh +++ b/files/board/arpl/overlayfs/opt/arpl/include/modules.sh @@ -9,7 +9,7 @@ function getAllModules() { # Unzip modules for temporary folder rm -rf "${TMP_PATH}/modules" mkdir -p "${TMP_PATH}/modules" - gzip -dc "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" | tar xf - -C "${TMP_PATH}/modules" + tar -zxf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules" # Get list of all modules for F in `ls ${TMP_PATH}/modules/*.ko`; do X=`basename ${F}` @@ -33,11 +33,9 @@ function addToModules() { # Unzip modules for temporary folder rm -rf "${TMP_PATH}/modules" mkdir -p "${TMP_PATH}/modules" - gzip -dc "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" | tar xf - -C "${TMP_PATH}/modules" + tar -zxf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules" cp -f ${KOFILE} ${TMP_PATH}/modules - tar -cf "${MODULES_PATH}/${PLATFORM}-${KVER}.tar" -C "${TMP_PATH}/modules" . - gzip -c "${MODULES_PATH}/${PLATFORM}-${KVER}.tar" > "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" - rm -rf "${MODULES_PATH}/${PLATFORM}-${KVER}.tar" "${TMP_PATH}/modules" + tar -zcf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules" . } ############################################################################### @@ -52,9 +50,37 @@ function delToModules() { # Unzip modules for temporary folder rm -rf "${TMP_PATH}/modules" mkdir -p "${TMP_PATH}/modules" - gzip -dc "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" | tar xf - -C "${TMP_PATH}/modules" + tar -zxf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules" rm -f ${TMP_PATH}/modules/${KONAME} - tar -cf "${MODULES_PATH}/${PLATFORM}-${KVER}.tar" -C "${TMP_PATH}/modules" . - gzip -c "${MODULES_PATH}/${PLATFORM}-${KVER}.tar" > "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" - rm -rf "${MODULES_PATH}/${PLATFORM}-${KVER}.tar" "${TMP_PATH}/modules" + tar -zcf "${MODULES_PATH}/${PLATFORM}-${KVER}.tar" -C "${TMP_PATH}/modules" . +} + +############################################################################### +# get depends of ko +# 1 - Platform +# 2 - Kernel Version +# 3 - ko name +function getdepends() { + function _getdepends() { + if [ -f "${TMP_PATH}/modules/${1}.ko" ]; then + depends=(`modinfo "${TMP_PATH}/modules/${1}.ko" | grep depends: | awk -F: '{print $2}' | awk '$1=$1' | sed 's/,/ /g'`) + if [ ${#depends[*]} > 0 ]; then + for k in ${depends[@]} + do + echo "${k}" + _getdepends "${k}" + done + fi + fi + } + PLATFORM=${1} + KVER=${2} + KONAME=${3} + # Unzip modules for temporary folder + rm -rf "${TMP_PATH}/modules" + mkdir -p "${TMP_PATH}/modules" + tar -zxf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules" + DPS=(`_getdepends ${KONAME} | tr ' ' '\n' | sort -u`) + echo ${DPS[@]} + rm -rf "${TMP_PATH}/modules" } \ No newline at end of file diff --git a/files/board/arpl/overlayfs/opt/arpl/install-addons.sh b/files/board/arpl/overlayfs/opt/arpl/install-addons.sh index 485a9e3d..bc23c8ee 100755 --- a/files/board/arpl/overlayfs/opt/arpl/install-addons.sh +++ b/files/board/arpl/overlayfs/opt/arpl/install-addons.sh @@ -10,6 +10,6 @@ for F in `ls ${CACHE_PATH}/*.addon 2>/dev/null`; do rm -rf "${ADDONS_PATH}/${ADDON}" mkdir -p "${ADDONS_PATH}/${ADDON}" echo "Installing ${F} to ${ADDONS_PATH}/${ADDON}" - tar xaf "${F}" -C "${ADDONS_PATH}/${ADDON}" + tar -xaf "${F}" -C "${ADDONS_PATH}/${ADDON}" rm -f "${F}" done diff --git a/files/board/arpl/overlayfs/opt/arpl/menu.sh b/files/board/arpl/overlayfs/opt/arpl/menu.sh index 06fc30cd..53ad1eed 100755 --- a/files/board/arpl/overlayfs/opt/arpl/menu.sh +++ b/files/board/arpl/overlayfs/opt/arpl/menu.sh @@ -1075,8 +1075,8 @@ function advancedMenu() { dd if="${LOADER_DISK}" | gzip > backup.img.gz sz -be backup.img.gz rm -f backup.img.gz - dialog --backtitle "`backtitle`" --colors --aspect 18 \ - --msgbox "$(TEXT "backup is complete.")" 0 0 + dialog --backtitle "`backtitle`" --colors --aspect 18 \ + --msgbox "$(TEXT "backup is complete.")" 0 0 ;; r) if ! tty | grep -q "/dev/pts"; then @@ -1324,7 +1324,7 @@ function updateMenu() { if [ "${KEY: -1}" = "/" ]; then rm -Rf "${VALUE}" mkdir -p "${VALUE}" - gzip -dc "/tmp/`basename "${KEY}"`.tgz" | tar xf - -C "${VALUE}" + tar -zxf "/tmp/`basename "${KEY}"`.tgz" -C "${VALUE}" else mkdir -p "`dirname "${VALUE}"`" mv "/tmp/`basename "${KEY}"`" "${VALUE}" @@ -1377,7 +1377,7 @@ function updateMenu() { ADDON=`basename ${PKG} | sed 's|.addon||'` rm -rf "${ADDONS_PATH}/${ADDON}" mkdir -p "${ADDONS_PATH}/${ADDON}" - tar xaf "${PKG}" -C "${ADDONS_PATH}/${ADDON}" >/dev/null 2>&1 + tar -xaf "${PKG}" -C "${ADDONS_PATH}/${ADDON}" >/dev/null 2>&1 done DIRTY=1 dialog --backtitle "`backtitle`" --title "$(TEXT "Update addons")" --aspect 18 \ diff --git a/files/board/arpl/overlayfs/opt/arpl/model-configs/RS3618xs.yml b/files/board/arpl/overlayfs/opt/arpl/model-configs/RS3618xs.yml index d16fc7f2..1bf385d7 100644 --- a/files/board/arpl/overlayfs/opt/arpl/model-configs/RS3618xs.yml +++ b/files/board/arpl/overlayfs/opt/arpl/model-configs/RS3618xs.yml @@ -25,7 +25,7 @@ serial: - "1330" - "1430" middle: "ODN" - suffix: "numeric" + suffix: "alpha" dom: 2 dt: false disks: 12 diff --git a/files/board/arpl/overlayfs/opt/arpl/ramdisk-patch.sh b/files/board/arpl/overlayfs/opt/arpl/ramdisk-patch.sh index 6b4820dd..a8c1be45 100755 --- a/files/board/arpl/overlayfs/opt/arpl/ramdisk-patch.sh +++ b/files/board/arpl/overlayfs/opt/arpl/ramdisk-patch.sh @@ -107,7 +107,7 @@ echo -n "." # Extract modules to ramdisk rm -rf "${TMP_PATH}/modules" mkdir -p "${TMP_PATH}/modules" -gzip -dc "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" | tar xf - -C "${TMP_PATH}/modules" +tar -zxf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules" for F in `ls "${TMP_PATH}/modules/"*.ko`; do M=`basename ${F}` if arrayExistItem "${M:0:-3}" "${!USERMODULES[@]}"; then @@ -117,7 +117,7 @@ for F in `ls "${TMP_PATH}/modules/"*.ko`; do fi done mkdir -p "${RAMDISK_PATH}/usr/lib/firmware" -gzip -dc "${MODULES_PATH}/firmware.tgz" | tar xf - -C "${RAMDISK_PATH}/usr/lib/firmware" +tar -zxf "${MODULES_PATH}/firmware.tgz" -C "${RAMDISK_PATH}/usr/lib/firmware" # Clean rm -rf "${TMP_PATH}/modules" diff --git a/files/board/arpl/overlayfs/opt/arpl/vmlinux-to-bzImage.sh b/files/board/arpl/overlayfs/opt/arpl/vmlinux-to-bzImage.sh index f421a783..7c1d41af 100755 --- a/files/board/arpl/overlayfs/opt/arpl/vmlinux-to-bzImage.sh +++ b/files/board/arpl/overlayfs/opt/arpl/vmlinux-to-bzImage.sh @@ -58,7 +58,7 @@ if [ $KVER_MAJOR -eq 4 ] || [ $KVER_MAJOR -eq 3 ]; then # unknown 114460 #) 114570 #crc32 4 - gzip -cd "${SCRIPT_DIR}/bzImage-template-v4.gz" > "${ZIMAGE_MOD}" + gzip -dc "${SCRIPT_DIR}/bzImage-template-v4.gz" > "${ZIMAGE_MOD}" dd if="${VMLINUX_MOD}" of="${ZIMAGE_MOD}" bs=16494 seek=1 conv=notrunc >"${LOG_FILE}" 2>&1 || dieLog file_size_le "${VMLINUX_MOD}" | dd of="${ZIMAGE_MOD}" bs=15745134 seek=1 conv=notrunc >"${LOG_FILE}" 2>&1 || dieLog @@ -69,7 +69,7 @@ if [ $KVER_MAJOR -eq 4 ] || [ $KVER_MAJOR -eq 3 ]; then size_le $(($((16#`crc32 "${ZIMAGE_MOD}" | awk '{print$1}'`)) ^ 0xFFFFFFFF)) | dd of="${ZIMAGE_MOD}" conv=notrunc oflag=append >"${LOG_FILE}" 2>&1 || dieLog else # Kernel version 5.x - gzip -cd "${SCRIPT_DIR}/bzImage-template-v5.gz" > "${ZIMAGE_MOD}" + gzip -dc "${SCRIPT_DIR}/bzImage-template-v5.gz" > "${ZIMAGE_MOD}" dd if="${VMLINUX_MOD}" of="${ZIMAGE_MOD}" bs=14561 seek=1 conv=notrunc >"${LOG_FILE}" 2>&1 || dieLog file_size_le "${VMLINUX_MOD}" | dd of="${ZIMAGE_MOD}" bs=34463421 seek=1 conv=notrunc >"${LOG_FILE}" 2>&1 || dieLog