format tar

This commit is contained in:
Ing 2023-05-14 15:22:01 +08:00
parent d0bd7bf3f5
commit dbf1d808bd
7 changed files with 48 additions and 22 deletions

View File

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

View File

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

View File

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

View File

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

View File

@ -25,7 +25,7 @@ serial:
- "1330"
- "1430"
middle: "ODN"
suffix: "numeric"
suffix: "alpha"
dom: 2
dt: false
disks: 12

View File

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

View File

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