Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 386504c1 authored by Mohammed Althaf T's avatar Mohammed Althaf T 😊
Browse files

Merge branch '1892-master-apex' into 'master'

build: Include fixes for murena devices

See merge request !86
parents daa84bf7 ce27fffb
Loading
Loading
Loading
Loading
+46 −9
Original line number Diff line number Diff line
@@ -183,11 +183,12 @@ for branch in ${BRANCH_NAME//,/ }; do
    PRODUCT_VERSION_MAJOR=$(grep -oP 'PRODUCT_VERSION_MAJOR = \K.*' "$config_file")
    PRODUCT_VERSION_MINOR=$(grep -oP 'PRODUCT_VERSION_MINOR = \K.*' "$config_file")
    PRODUCT_VERSION_MAINTENANCE=$(grep -oP 'PRODUCT_VERSION_MAINTENANCE := \K.*' "$config_file")
    PRODUCT_PRERELEASE_STRING=$(grep -oP 'PRODUCT_PRERELEASE_STRING := \K.*' "$config_file")

    # Check if PRODUCT_VERSION_MAINTENANCE is not equal to 0
    e_ver="$PRODUCT_VERSION_MAJOR.$PRODUCT_VERSION_MINOR"
    e_ver="$PRODUCT_VERSION_MAJOR.$PRODUCT_VERSION_MINOR$PRODUCT_PRERELEASE_STRING"
    if [ "$PRODUCT_VERSION_MAINTENANCE" != "0" ]; then
      e_ver="$PRODUCT_VERSION_MAJOR.$PRODUCT_VERSION_MINOR.$PRODUCT_VERSION_MAINTENANCE"
      e_ver="$PRODUCT_VERSION_MAJOR.$PRODUCT_VERSION_MINOR.$PRODUCT_VERSION_MAINTENANCE$PRODUCT_PRERELEASE_STRING"
    fi

    echo ">> [$(date)] Setting \"$RELEASE_TYPE\" as release type"
@@ -215,6 +216,12 @@ for branch in ${BRANCH_NAME//,/ }; do
      echo ">> [$(date)] Adding keys path ($KEYS_DIR)"
      # Soong (Android 9+) complains if the signing keys are outside the build path
      ln -sf "$KEYS_DIR" user-keys
      if [ "$android_version_major" -lt "10" ]; then
        sed -i "1s;^;PRODUCT_DEFAULT_DEV_CERTIFICATE := user-keys/releasekey\nPRODUCT_OTA_PUBLIC_KEYS := user-keys/releasekey\nPRODUCT_EXTRA_RECOVERY_KEYS := user-keys/releasekey\n\n;" "vendor/$vendor/config/common.mk"
      fi
      if [ "$android_version_major" -lt "12" ]; then
        sed -i "1s;^;PRODUCT_DEFAULT_DEV_CERTIFICATE := user-keys/releasekey\nPRODUCT_OTA_PUBLIC_KEYS := user-keys/releasekey\n\n;" "vendor/$vendor/config/common.mk"
      fi
    fi

    # Remove build number and date on builds.
@@ -229,9 +236,6 @@ for branch in ${BRANCH_NAME//,/ }; do
    echo ">> [$(date)] Preparing build environment"
    source build/envsetup.sh >/dev/null

    ANDROID_BUILD_ID=$(grep -o 'BUILD_ID=.*' "build/make/core/build_id.mk" | cut -d "=" -f 2 | cut -c 1 | tr '[:upper:]' '[:lower:]')
    APEX_PACKAGE_LIST=$(cat "/root/apex.list")

    if [ -f /root/userscripts/before.sh ]; then
      echo ">> [$(date)] Running before.sh"
      /root/userscripts/before.sh
@@ -317,7 +321,7 @@ for branch in ${BRANCH_NAME//,/ }; do
        ln -fs /usr/bin/python2 /usr/bin/python

        export BUILD_DATETIME=$(date -u +%s)
        export BUILD_NUMBER=$(date -u -d @$BUILD_DATETIME +%Y%m%d00)
        export BUILD_NUMBER=$(date -u -d @$BUILD_DATETIME +%Y%m%d)${CI_PIPELINE_ID}

        export BUILD_USERNAME=eos
        export BUILD_HOSTNAME=eos
@@ -326,19 +330,51 @@ for branch in ${BRANCH_NAME//,/ }; do
        echo ">> [$(date)] BUILD_DATETIME=$BUILD_DATETIME"
        echo ">> [$(date)] BUILD_NUMBER=$BUILD_NUMBER"

        if [[ "${BRANCH_NAME}" = *"rc"* ]] || [[ "${BRANCH_NAME}" = *"alpha"* ]] || [[ "${BRANCH_NAME}" == *"beta"* ]]; then
          PRODUCT_PRERELEASE=$(echo ${BRANCH_NAME} | sed -E 's/v[0-9]*\.[0-9]*(\.[0-9]*)?-(beta|alpha|rc).*/\2/')
          export PRODUCT_PRERELEASE
          if [[ "${BRANCH_NAME}" = *"rc."* ]] || [[ "${BRANCH_NAME}" = *"alpha."* ]] || [[ "${BRANCH_NAME}" == *"beta."* ]]; then
            PRODUCT_PRERELEASE_VERSION=$(echo ${BRANCH_NAME} | sed -E 's/v[0-9]*\.[0-9]*(\.[0-9]*)?-.*.\.([0-9]*).*/\2/')
            export PRODUCT_PRERELEASE_VERSION
          fi
        fi

        BRUNCH_DEVICE=${codename}

        if [ "${ENG_BUILD}" = true ]; then
          BRUNCH_DEVICE=lineage_${codename}-eng
        fi

        if breakfast ${BRUNCH_DEVICE} &>>"$DEBUG_LOG"; then
        if [ "$android_version_major" -lt "12" ]; then
          if brunch ${BRUNCH_DEVICE} &>>"$DEBUG_LOG"; then
            currentdate=$(date +%Y%m%d)
            if [ "$builddate" != "$currentdate" ]; then
              find out/target/product/$codename -maxdepth 1 -name "e-*-$currentdate-*.zip*" -type f -exec sh /root/fix_build_date.sh {} $currentdate $builddate \; &>>"$DEBUG_LOG"
            fi

            # Move produced ZIP files to the main OUT directory
            echo ">> [$(date)] Moving build artifacts for $codename to '$ZIP_DIR/$zipsubdir'" | tee -a "$DEBUG_LOG"
            cd out/target/product/$codename
            for build in e-*.zip; do
              sha256sum "$build" >"$ZIP_DIR/$zipsubdir/$build.sha256sum"
            done
            find . -maxdepth 1 -name 'e-*.zip*' -type f -exec mv {} "$ZIP_DIR/$zipsubdir/" \; &>>"$DEBUG_LOG"
            cd "$source_dir"
            build_successful=true
          else
            echo ">> [$(date)] Failed build for $codename" | tee -a "$DEBUG_LOG"
          fi
        elif breakfast ${BRUNCH_DEVICE} &>>"$DEBUG_LOG"; then
          mka target-files-package otatools
          echo ">> [$(date)] Starting signing target-files-package"

          # Set the target files name
          TARGET_FILES=lineage_$DEVICE-target_files-$BUILD_NUMBER.zip
          E_VERSION=e-$e_ver-$ANDROID_BUILD_ID-$(date -u +%Y%m%d%H%M%S)-$RELEASE_TYPE-${DEVICE}.zip
          E_BRANCH_NAME=$e_ver-${branch_dir,,}
          if [[ "${BRANCH_NAME}" = *"rc"* ]] || [[ "${BRANCH_NAME}" = *"alpha"* ]] || [[ "${BRANCH_NAME}" == *"beta"* ]]; then
            E_BRANCH_NAME=$(sed 's/^v//' <<<"${BRANCH_NAME}")
          fi
          E_VERSION=e-$E_BRANCH_NAME-$BUILD_NUMBER-$RELEASE_TYPE-${DEVICE}.zip

          # Remove release-keys from build as its still using test-keys.
          if [ "$SIGN_BUILDS" != true ]; then
@@ -347,7 +383,8 @@ for branch in ${BRANCH_NAME//,/ }; do
            SIGN_TARGETS=(-o -d "user-keys")
          fi

          if [[ "$ANDROID_BUILD_ID" == [st] ]]; then
          if [ "$android_version_major" -ge 12 ]; then
            APEX_PACKAGE_LIST=$(cat "/root/apex.list")
            for PACKAGE in $APEX_PACKAGE_LIST; do
              if [ -f "user-keys/$PACKAGE.pem" ] &&
                [ -f "user-keys/$PACKAGE.x509.pem" ] &&
+71 −35
Original line number Diff line number Diff line
@@ -178,17 +178,24 @@ if [ -n "${BRANCH_NAME}" ] && [ -n "${DEVICE}" ]; then
  PRODUCT_VERSION_MAJOR=$(grep -oP 'PRODUCT_VERSION_MAJOR = \K.*' "$config_file")
  PRODUCT_VERSION_MINOR=$(grep -oP 'PRODUCT_VERSION_MINOR = \K.*' "$config_file")
  PRODUCT_VERSION_MAINTENANCE=$(grep -oP 'PRODUCT_VERSION_MAINTENANCE := \K.*' "$config_file")
  PRODUCT_PRERELEASE_STRING=$(grep -oP 'PRODUCT_PRERELEASE_STRING := \K.*' "$config_file")

  # Check if PRODUCT_VERSION_MAINTENANCE is not equal to 0
  e_ver="$PRODUCT_VERSION_MAJOR.$PRODUCT_VERSION_MINOR"
  e_ver="$PRODUCT_VERSION_MAJOR.$PRODUCT_VERSION_MINOR$PRODUCT_PRERELEASE_STRING"
  if [ "$PRODUCT_VERSION_MAINTENANCE" != "0" ]; then
    e_ver="$PRODUCT_VERSION_MAJOR.$PRODUCT_VERSION_MINOR.$PRODUCT_VERSION_MAINTENANCE"
    e_ver="$PRODUCT_VERSION_MAJOR.$PRODUCT_VERSION_MINOR.$PRODUCT_VERSION_MAINTENANCE$PRODUCT_PRERELEASE_STRING"
  fi

  if [ "$SIGN_BUILDS" = true ]; then
    echo ">> [$(date)] Adding keys path ($KEYS_DIR)"
    # Soong (Android 9+) complains if the signing keys are outside the build path
    ln -sf "$KEYS_DIR" user-keys
    if [ "$android_version_major" -lt "10" ]; then
      sed -i "1s;^;PRODUCT_DEFAULT_DEV_CERTIFICATE := user-keys/releasekey\nPRODUCT_OTA_PUBLIC_KEYS := user-keys/releasekey\nPRODUCT_EXTRA_RECOVERY_KEYS := user-keys/releasekey\n\n;" "vendor/$vendor/config/common.mk"
    fi
    if [ "$android_version_major" -lt "12" ]; then
      sed -i "1s;^;PRODUCT_DEFAULT_DEV_CERTIFICATE := user-keys/releasekey\nPRODUCT_OTA_PUBLIC_KEYS := user-keys/releasekey\n\n;" "vendor/$vendor/config/common.mk"
    fi
  fi

  # Remove build number and date on builds.
@@ -203,9 +210,6 @@ if [ -n "${BRANCH_NAME}" ] && [ -n "${DEVICE}" ]; then
  echo ">> [$(date)] Preparing build environment"
  source build/envsetup.sh >/dev/null

  ANDROID_BUILD_ID=$(grep -o 'BUILD_ID=.*' "build/make/core/build_id.mk" | cut -d "=" -f 2 | cut -c 1 | tr '[:upper:]' '[:lower:]')
  APEX_PACKAGE_LIST=$(cat "/root/apex.list")

  if [ -f /root/userscripts/before.sh ]; then
    echo ">> [$(date)] Running before.sh"
    /root/userscripts/before.sh
@@ -276,7 +280,7 @@ if [ -n "${BRANCH_NAME}" ] && [ -n "${DEVICE}" ]; then
    fi

    export BUILD_DATETIME=$(date -u +%s)
    export BUILD_NUMBER=$(date -u -d @$BUILD_DATETIME +%Y%m%d00)
    export BUILD_NUMBER=$(date -u -d @$BUILD_DATETIME +%Y%m%d)${CI_PIPELINE_ID}

    export BUILD_USERNAME=eos
    export BUILD_HOSTNAME=eos
@@ -285,6 +289,15 @@ if [ -n "${BRANCH_NAME}" ] && [ -n "${DEVICE}" ]; then
    echo ">> [$(date)] BUILD_DATETIME=$BUILD_DATETIME"
    echo ">> [$(date)] BUILD_NUMBER=$BUILD_NUMBER"

    if [[ "${BRANCH_NAME}" = *"rc"* ]] || [[ "${BRANCH_NAME}" = *"alpha"* ]] || [[ "${BRANCH_NAME}" == *"beta"* ]]; then
      PRODUCT_PRERELEASE=$(echo ${BRANCH_NAME} | sed -E 's/v[0-9]*\.[0-9]*(\.[0-9]*)?-(beta|alpha|rc).*/\2/')
      export PRODUCT_PRERELEASE
      if [[ "${BRANCH_NAME}" = *"rc."* ]] || [[ "${BRANCH_NAME}" = *"alpha."* ]] || [[ "${BRANCH_NAME}" == *"beta."* ]]; then
        PRODUCT_PRERELEASE_VERSION=$(echo ${BRANCH_NAME} | sed -E 's/v[0-9]*\.[0-9]*(\.[0-9]*)?-.*.\.([0-9]*).*/\2/')
        export PRODUCT_PRERELEASE_VERSION
      fi
    fi

    build_success=false
    if [ "${BUILD_ONLY_SYSTEMIMAGE}" = true ]; then
      breakfast "${BRUNCH_DEVICE}"
@@ -295,13 +308,25 @@ if [ -n "${BRANCH_NAME}" ] && [ -n "${DEVICE}" ]; then
      if lunch "${BRUNCH_DEVICE}" && mka sdk_addon; then
        build_success=true
      fi
    elif [ "$android_version_major" -lt "12" ]; then
      if [ "${BUILD_SUPER_IMAGE}" = true ]; then
        if breakfast "${BRUNCH_DEVICE}" && mka bacon superimage; then
          build_success=true
        fi
      elif brunch "${BRUNCH_DEVICE}"; then
        build_success=true
      fi
    elif breakfast "${BRUNCH_DEVICE}"; then
      mka target-files-package otatools
      echo ">> [$(date)] Starting signing target-files-package"

      # Set the target files name
      TARGET_FILES=lineage_$DEVICE-target_files-$BUILD_NUMBER.zip
      E_VERSION=e-$e_ver-$ANDROID_BUILD_ID-$(date -u +%Y%m%d%H%M%S)-$RELEASE_TYPE-${DEVICE}.zip
      E_BRANCH_NAME=$e_ver-${branch_dir,,}
      if [[ "${BRANCH_NAME}" = *"rc"* ]] || [[ "${BRANCH_NAME}" = *"alpha"* ]] || [[ "${BRANCH_NAME}" == *"beta"* ]]; then
        E_BRANCH_NAME=$(sed 's/^v//' <<<"${BRANCH_NAME}")
      fi
      E_VERSION=e-$E_BRANCH_NAME-$BUILD_NUMBER-$RELEASE_TYPE-${DEVICE}.zip

      # Remove release-keys from build as its still using test-keys.
      if [ "$SIGN_BUILDS" != true ]; then
@@ -311,6 +336,7 @@ if [ -n "${BRANCH_NAME}" ] && [ -n "${DEVICE}" ]; then
      fi

      if [ "$android_version_major" -ge 12 ]; then
        APEX_PACKAGE_LIST=$(cat "/root/apex.list")
        for PACKAGE in $APEX_PACKAGE_LIST; do
          if [ -f "user-keys/$PACKAGE.pem" ] &&
            [ -f "user-keys/$PACKAGE.x509.pem" ] &&
@@ -343,7 +369,7 @@ if [ -n "${BRANCH_NAME}" ] && [ -n "${DEVICE}" ]; then
        echo ">> [$(date)] Generating fastboot zip from target-files-package"
        img_from_target_files "$OUT/$TARGET_FILES" "$OUT/$FASTBOOT_PACKAGE"

        IMAGES=("recovery" "boot" "vendor_boot" "dtbo" "vbmeta" "vendor_kernel_boot" "super_empty" "system" "odm" "product" "system_ext" "vendor" "vbmeta_system" "super")
        IMAGES=("recovery" "boot" "vendor_boot" "dtbo" "vbmeta" "vbmeta_vendor" "vendor_kernel_boot" "super_empty" "system" "odm" "product" "system_ext" "vendor" "vbmeta_system" "super")

        for i in "${!IMAGES[@]}"; do
          if unzip -l "$OUT/$FASTBOOT_PACKAGE" | grep -q "${IMAGES[i]}.img"; then
@@ -355,11 +381,9 @@ if [ -n "${BRANCH_NAME}" ] && [ -n "${DEVICE}" ]; then
        IMG_FIRMWARE_PATH="$source_dir/vendor/firmware"
        QFIL_FLASH_PATH="$source_dir/vendor/murena-flash"

        FIRMWARE_CONFIG=$IMG_FIRMWARE_PATH/${DEVICE}/config.mk
        QFIL_CONFIG=$QFIL_FLASH_PATH/${DEVICE}/config.mk
        IMG_CONFIG=$IMG_FLASH_PATH/${DEVICE}/config.mk

        FIRMWARE_IMAGES=$(extract_images "FIRMWARE_IMAGES :=" "$FIRMWARE_CONFIG")
        QFIL_IMAGES=$(extract_images "HLOS_QFIL_TARGET :=" "$QFIL_CONFIG")
        IMG_IMAGES=$(extract_images "HLOS_IMAGES_TARGET :=" "$IMG_CONFIG")

@@ -370,23 +394,27 @@ if [ -n "${BRANCH_NAME}" ] && [ -n "${DEVICE}" ]; then
          build_super_image "$OUT/$TARGET_FILES" "$OUT/super.img"
        fi

        # Create a temp folder for creating IMG-e*
        mkdir -p $OUT/IMG

        if [ -f "$IMG_FLASH_PATH/${DEVICE}/flash_${DEVICE}_factory.sh" ] && [ ! -z "$FIRMWARE_IMAGES" ]; then
          if [[ $IMG_IMAGES =~ "userdata.img" ]]; then
        if echo "$QFIL_IMAGES $IMG_IMAGES" | grep -q "userdata.img"; then
          mka userdataimage
        fi

        if echo "$QFIL_IMAGES $IMG_IMAGES" | grep -q "cache.img"; then
          mka cacheimage
        fi

        # Create a temp folder for creating IMG-e*
        mkdir -p $OUT/IMG

        if [ -f "$IMG_FLASH_PATH/${DEVICE}/flash_${DEVICE}_factory.sh" ]; then
          # Copy required images for IMG-e*
          for IMAGE in $IMG_IMAGES; do
            cp $OUT/$IMAGE $OUT/IMG/$IMAGE
          done

          # Copy required images for IMG-e*
          for IMAGE in $FIRMWARE_IMAGES; do
            cp $IMG_FIRMWARE_PATH/${DEVICE}/radio/$IMAGE.img $OUT/IMG/$IMAGE.img
          done
          if [ -d "$IMG_FIRMWARE_PATH/${DEVICE}/radio" ]; then
            cp -rf "$IMG_FIRMWARE_PATH/${DEVICE}/radio/"* $OUT/IMG/
          fi

          # Copy required fastboot tools for IMG-e*
          cp -r $IMG_FLASH_PATH/fastboot/bin-msys $OUT/IMG/bin-msys
@@ -403,7 +431,7 @@ if [ -n "${BRANCH_NAME}" ] && [ -n "${DEVICE}" ]; then
          cd "$source_dir"
        fi

        if [ -f "$QFIL_FLASH_PATH/${DEVICE}/configs/rawprogram0.xml" ] && [ ! -z "$FIRMWARE_IMAGES" ] && [ ! -z "$QFIL_IMAGES" ]; then
        if [ -f "$QFIL_FLASH_PATH/${DEVICE}/configs/rawprogram0.xml" ] && [ ! -z "$QFIL_IMAGES" ]; then
          # Copy required images for IMG-e*
          for IMAGE in $QFIL_IMAGES; do
            cp $OUT/$IMAGE $OUT/IMG/$IMAGE
@@ -435,10 +463,18 @@ if [ -n "${BRANCH_NAME}" ] && [ -n "${DEVICE}" ]; then
        find "${OUT}" -maxdepth 1 -name "e-*-$currentdate-*.zip*" -type f -exec sh /root/fix_build_date.sh {} "$currentdate" "$builddate" \;
      fi

      IMG_OUT=$OUT
      if [ "$android_version_major" -lt "12" ]; then
        IMG_OUT=obj/PACKAGING/target_files_intermediates/lineage_*/IMAGES
      fi

      # Move produced ZIP files to the main OUT directory
      echo ">> [$(date)] Moving build artifacts for ${DEVICE} to '$ZIP_DIR/$zipsubdir'"
      cd "${OUT}" || return 1
      for build in $(ls e-*.zip); do
        if [ "$android_version_major" -lt "12" ]; then
          sha256sum "$build" >"$ZIP_DIR/$zipsubdir/$build.sha256sum"
        fi
        find . -maxdepth 1 \( -name 'e-*.zip*' -o -name 'IMG-e*.zip*' -o -name 'QFIL-e*.zip*' \) -type f -exec mv {} "$ZIP_DIR/$zipsubdir/" \;

        SKIP_DYNAMIC_IMAGES="odm.img product.img system.img system_ext.img vendor.img"
@@ -466,7 +502,7 @@ if [ -n "${BRANCH_NAME}" ] && [ -n "${DEVICE}" ]; then
          cd "${OUT}" || return 1
        fi
        if [ "$BACKUP_INTERMEDIATE_SYSTEM_IMG" = true ]; then
          mv $OUT/system.img ./
          mv $IMG_OUT/system.img ./
          zip "$ZIP_DIR/$zipsubdir/IMG-$build" system.img
          cd $ZIP_DIR/$zipsubdir
          sha256sum "IMG-$build" >"IMG-$build.sha256sum"
@@ -487,36 +523,36 @@ if [ -n "${BRANCH_NAME}" ] && [ -n "${DEVICE}" ]; then
          if [ "$RECOVERY_NEEDS_SUPPORT_IMG" = true ]; then
            # Copy the files specified by the flags
            if [ "$RECOVERY_NEEDS_BOOT_IMG" = true ]; then
              mv $OUT/boot.img "$BOOT_IMG_NAME"
              cp -a $IMG_OUT/boot.img "$BOOT_IMG_NAME"
              sha256sum "$BOOT_IMG_NAME" >"$BOOT_IMG_NAME.sha256sum"
            fi
            if [ "$RECOVERY_NEEDS_DTBO_IMG" = true ]; then
              cmv $OUT/dtbo.img "$DTBO_IMG_NAME"
              cp -a $IMG_OUT/dtbo.img "$DTBO_IMG_NAME"
              sha256sum "$DTBO_IMG_NAME" >"$DTBO_IMG_NAME.sha256sum"
            fi
            if [ "$RECOVERY_NEEDS_VBMETA_IMG" = true ]; then
              mv $OUT/vbmeta.img "$VBMETA_IMG_NAME"
              cp -a $IMG_OUT/vbmeta.img "$VBMETA_IMG_NAME"
              sha256sum "$VBMETA_IMG_NAME" >"$VBMETA_IMG_NAME.sha256sum"
            fi
            if [ "$RECOVERY_NEEDS_VENDOR_BOOT_IMG" = true ]; then
              mv $OUT/vendor_boot.img "$VENDOR_BOOT_IMG_NAME"
              cp -a $IMG_OUT/vendor_boot.img "$VENDOR_BOOT_IMG_NAME"
              sha256sum "$VENDOR_BOOT_IMG_NAME" >"$VENDOR_BOOT_IMG_NAME.sha256sum"
            fi
            if [ "$RECOVERY_NEEDS_SUPER_IMG" = true ]; then
              mv $OUT/super_empty.img "$SUPER_EMPTY_IMG_NAME"
              cp -a $IMG_OUT/super_empty.img "$SUPER_EMPTY_IMG_NAME"
              sha256sum "$SUPER_EMPTY_IMG_NAME" >"$SUPER_EMPTY_IMG_NAME.sha256sum"
            fi
            if [ "$RECOVERY_NEEDS_VENDOR_KERNEL_BOOT_IMG" = true ]; then
              mv $OUT/vendor_kernel_boot.img "$VENDOR_KERNEL_BOOT_IMG_NAME"
              cp -a $IMG_OUT/vendor_kernel_boot.img "$VENDOR_KERNEL_BOOT_IMG_NAME"
              sha256sum "$VENDOR_KERNEL_BOOT_IMG_NAME" >"$VENDOR_KERNEL_BOOT_IMG_NAME.sha256sum"
            fi

            if [ "$VBOOT_IS_RECOVERY" = true ]; then
              mv $OUT/vendor_boot.img "$RECOVERY_IMG_NAME"
            elif [ -f "recovery.img" ]; then
              mv $OUT/recovery.img "$RECOVERY_IMG_NAME"
              cp -a $IMG_OUT/vendor_boot.img "$RECOVERY_IMG_NAME"
            elif [ -f "$IMG_OUT/recovery.img" ]; then
              cp -a $IMG_OUT/recovery.img "$RECOVERY_IMG_NAME"
            else
              mv $OUT/boot.img "$RECOVERY_IMG_NAME"
              cp -a $IMG_OUT/boot.img "$RECOVERY_IMG_NAME"
            fi

            # Generate SHA256 checksum for RECOVERY_IMG_NAME
@@ -555,11 +591,11 @@ if [ -n "${BRANCH_NAME}" ] && [ -n "${DEVICE}" ]; then
            mv "$RECOVERY_ZIP_NAME"* "$ZIP_DIR/$zipsubdir/"
          else
            if [ "$VBOOT_IS_RECOVERY" = true ]; then
              mv $OUT/vendor_boot.img "$RECOVERY_IMG_NAME"
            elif [ -f "recovery.img" ]; then
              mv $OUT/recovery.img "$RECOVERY_IMG_NAME"
              cp -a $IMG_OUT/vendor_boot.img "$RECOVERY_IMG_NAME"
            elif [ -f "$IMG_OUT/recovery.img" ]; then
              cp -a $IMG_OUT/recovery.img "$RECOVERY_IMG_NAME"
            else
              mv $OUT/boot.img "$RECOVERY_IMG_NAME"
              cp -a $IMG_OUT/boot.img "$RECOVERY_IMG_NAME"
            fi

            # Calculate sha256sum and move file
@@ -573,7 +609,7 @@ if [ -n "${BRANCH_NAME}" ] && [ -n "${DEVICE}" ]; then
      if [ "${BUILD_ONLY_SYSTEMIMAGE}" = true ]; then
        build=e-$(grep lineage.version system/build.prop | sed s/#.*// | sed s/.*=// | tr -d \n).zip
        if [ "$BACKUP_INTERMEDIATE_SYSTEM_IMG" = true ]; then
          mv $OUT/system.img ./
          mv $IMG_OUT/system.img ./
          zip "$ZIP_DIR/$zipsubdir/IMG-$build" system.img
          cd $ZIP_DIR/$zipsubdir
          sha256sum "IMG-$build" >"IMG-$build.sha256sum"