Ensure metadata is generated for both delta_fs and delta_img
authorKarol Lewandowski <k.lewandowsk@samsung.com>
Thu, 30 Dec 2021 21:43:27 +0000 (22:43 +0100)
committerKarol Lewandowski <k.lewandowsk@samsung.com>
Fri, 31 Dec 2021 10:51:37 +0000 (11:51 +0100)
Change-Id: I910e76a88e2c732d3ea8e55f3ba24f4ccc594702

mk_delta/common/bin/mk_part_delta.sh

index d6843c6..1b6b8e9 100755 (executable)
@@ -18,6 +18,54 @@ fn_print_line()
        echo "*******************************************************************"
 }
 
+fn_gen_metadata()
+{
+       if [ "$PART_NAME" != "rootfs" ]; then
+               return
+       fi
+
+       echo "===== Start writing image versions ====="
+       local TMP_MNT_PNT="TMP_MNT_PNT"
+       local BUILD_STRING_FILE="build_string.txt"
+       mkdir -p ${TMP_MNT_PNT}
+
+       tar xvf ${OLD_TAR_DIR}/${OLD_TAR_FILE} ${PART_IMG_ORG}
+       sudo mount -o loop ${PART_IMG_ORG} ${TMP_MNT_PNT}
+       local OLD_BUILD_STRING=`cat ${TMP_MNT_PNT}/etc/info.ini | grep "Build=" | sed "s/Build=//" | sed "s/;$//"`
+       sudo umount ${TMP_MNT_PNT}
+       rm -rf ${PART_IMG_ORG}
+
+       tar xvf ${NEW_TAR_DIR}/${NEW_TAR_FILE} ${PART_IMG_ORG}
+       sudo mount -o loop ${PART_IMG_ORG} ${TMP_MNT_PNT}
+       local NEW_BUILD_STRING=`cat ${TMP_MNT_PNT}/etc/info.ini | grep "Build=" | sed "s/Build=//" | sed "s/;$//"`
+       local BINOUT="$(LC_ALL=C LANG=C file -b ${TMP_MNT_PNT}/bin/ls)"
+       sudo umount ${TMP_MNT_PNT}
+       rm -rf ${PART_IMG_ORG}
+
+       case "${BINOUT}" in
+               # ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, ...
+               *ELF*64-bit*x86-64*) ARCHITECTURE=x86-64;;
+
+               # ELF 32-bit LSB shared object, ARM, EABI5 version, dynamically linked, interpreter /lib/ld-linux.so.3, ...
+               *ELF*32-bit*ARM,*) ARCHITECTURE=arm32;;
+
+               # ELF 64-bit LSB pie executable, ARM aarch64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, ...
+               *ELF*64-bit*ARM*aarch64*) ARCHITECTURE=aarch64;;
+       esac
+
+       echo "${BUILD_STRING_FILE} : ${OLD_BUILD_STRING}@${NEW_BUILD_STRING}"
+       echo -n ${OLD_BUILD_STRING}@${NEW_BUILD_STRING} > ${BUILD_STRING_FILE}
+
+       sed     -e "s,@SOURCE_VERSION@,${OLD_BUILD_STRING},g" \
+               -e "s,@TARGET_VERSION@,${NEW_BUILD_STRING},g" \
+               -e "s,@ARCHITECTURE@,${ARCHITECTURE},g" \
+               -e "s,@IMAGE_TYPE@,all,g" \
+               < "../${UPDATE_INFO_PATH}" > "${UPDATE_INFO_FILE}"
+
+       rm -rf ${TMP_MNT_PNT}
+       echo "===== Finish writing image versions ====="
+}
+
 #------------------------------------------------------------------------------
 # Function :
 #      fn_mk_attribute
@@ -207,6 +255,8 @@ fn_mk_delta_img()
        DEBUG_DELTA=debug_${DELTA}
        #CFG_XML=${PART_NAME}_IMG.xml
        mkdir ${OUTPUT_DIR}/i
+
+       fn_gen_metadata
        fn_mk_delta_img_core
        if [ "$?" != "0" ]; then
                return 1
@@ -354,47 +404,6 @@ fn_mk_delta_fs()
                EXCLUDE_FILES="lost+found dev proc tmp var sys csa"
                TGT_MNT_PNT=${FAKE_ROOT}
 
-               echo "===== Start writing image versions ====="
-               local TMP_MNT_PNT="TMP_MNT_PNT"
-               local BUILD_STRING_FILE="build_string.txt"
-               mkdir -p ${TMP_MNT_PNT}
-
-               tar xvf ${OLD_TAR_DIR}/${OLD_TAR_FILE} ${PART_IMG_ORG}
-               sudo mount -o loop ${PART_IMG_ORG} ${TMP_MNT_PNT}
-               local OLD_BUILD_STRING=`cat ${TMP_MNT_PNT}/etc/info.ini | grep "Build=" | sed "s/Build=//" | sed "s/;$//"`
-               sudo umount ${TMP_MNT_PNT}
-               rm -rf ${PART_IMG_ORG}
-
-               tar xvf ${NEW_TAR_DIR}/${NEW_TAR_FILE} ${PART_IMG_ORG}
-               sudo mount -o loop ${PART_IMG_ORG} ${TMP_MNT_PNT}
-               local NEW_BUILD_STRING=`cat ${TMP_MNT_PNT}/etc/info.ini | grep "Build=" | sed "s/Build=//" | sed "s/;$//"`
-               local BINOUT="$(LC_ALL=C LANG=C file -b ${TMP_MNT_PNT}/bin/ls)"
-               sudo umount ${TMP_MNT_PNT}
-               rm -rf ${PART_IMG_ORG}
-
-               case "${BINOUT}" in
-                       # ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, ...
-                       *ELF*64-bit*x86-64*) ARCHITECTURE=x86-64;;
-
-                       # ELF 32-bit LSB shared object, ARM, EABI5 version, dynamically linked, interpreter /lib/ld-linux.so.3, ...
-                       *ELF*32-bit*ARM,*) ARCHITECTURE=arm32;;
-
-                       # ELF 64-bit LSB pie executable, ARM aarch64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, ...
-                       *ELF*64-bit*ARM*aarch64*) ARCHITECTURE=aarch64;;
-               esac
-
-               echo "${BUILD_STRING_FILE} : ${OLD_BUILD_STRING}@${NEW_BUILD_STRING}"
-               echo -n ${OLD_BUILD_STRING}@${NEW_BUILD_STRING} > ${BUILD_STRING_FILE}
-
-               sed     -e "s,@SOURCE_VERSION@,${OLD_BUILD_STRING},g" \
-                       -e "s,@TARGET_VERSION@,${NEW_BUILD_STRING},g" \
-                       -e "s,@ARCHITECTURE@,${ARCHITECTURE},g" \
-                       -e "s,@IMAGE_TYPE@,all,g" \
-                       < "../${UPDATE_INFO_PATH}" > "${UPDATE_INFO_FILE}"
-
-               rm -rf ${TMP_MNT_PNT}
-               echo "===== Finish writing image versions ====="
-
                ;;
        "ramdisk1" | "ramdisk" )
                EXCLUDE_FILES="lost+found dev proc tmp sys"
@@ -430,7 +439,7 @@ fn_mk_delta_fs()
        MNT_PNT_OLD=${BASE_OLD}/${TGT_MNT_PNT}
        MNT_PNT_NEW=${BASE_NEW}/${TGT_MNT_PNT}
 
-
+       fn_gen_metadata
        fn_mk_delta_fs_core
        if [ "$?" != "0" ]; then
                return 1