Cleanup checksum path
This commit is contained in:
129
openwrtbuilder
129
openwrtbuilder
@@ -41,7 +41,7 @@ printHelp() {
|
|||||||
init() {
|
init() {
|
||||||
debug "${FUNCNAME[0]}"
|
debug "${FUNCNAME[0]}"
|
||||||
|
|
||||||
declare -g ID RPM_MGR SCRIPTDIR
|
declare -g ID RPM_MGR SCRIPTDIR DL_TOOL
|
||||||
|
|
||||||
debug || echo "To enable debugging output, use --debug or -d"
|
debug || echo "To enable debugging output, use --debug or -d"
|
||||||
|
|
||||||
@@ -117,6 +117,15 @@ init() {
|
|||||||
pkg_install(){ sudo pacman -S --noconfirm --needed "$@"; }
|
pkg_install(){ sudo pacman -S --noconfirm --needed "$@"; }
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
if hash axel &>/dev/null; then
|
||||||
|
DL_TOOL="axel"
|
||||||
|
elif hash curl &>/dev/null; then
|
||||||
|
DL_TOOL="curl"
|
||||||
|
else
|
||||||
|
echo "Downloading the Image Builder requires axel or curl!"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -337,67 +346,36 @@ installDependencies() {
|
|||||||
getImageBuilder() {
|
getImageBuilder() {
|
||||||
debug "${FUNCNAME[0]}"
|
debug "${FUNCNAME[0]}"
|
||||||
|
|
||||||
declare dl_tool
|
|
||||||
|
|
||||||
if [[ -f "$IB_ARCHIVE" ]]; then
|
if [[ -f "$IB_ARCHIVE" ]]; then
|
||||||
echo "Image Builder $IB_ARCHIVE exists"
|
if askOK "$IB_ARCHIVE exists. Re-download?"; then
|
||||||
if askOk "Redownload Image Builder archive?"; then
|
|
||||||
rm -f "$IB_ARCHIVE"
|
rm -f "$IB_ARCHIVE"
|
||||||
else
|
else
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if hash axel &>/dev/null; then
|
echo "Downloading Image Builder archive using $DL_TOOL"
|
||||||
dl_tool="axel"
|
debug "$DL_TOOL -o $IB_ARCHIVE $IB_URL"
|
||||||
elif hash curl &>/dev/null; then
|
"$DL_TOOL" -o "$IB_ARCHIVE" "$IB_URL"
|
||||||
dl_tool="curl"
|
|
||||||
else
|
|
||||||
echo "Downloading the Image Builder requires axel or curl!"
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Downloading Image Builder archive using $dl_tool"
|
|
||||||
|
|
||||||
debug "$dl_tool -o $IB_ARCHIVE $IB_URL"
|
|
||||||
if ! "$dl_tool" -o "$IB_ARCHIVE" "$IB_URL"; then
|
|
||||||
echo "Could not download Image Builder archive"
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ ! -f "$IB_ARCHIVE" ]]; then
|
|
||||||
echo "Archive missing"
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
verifyImage() {
|
getImageBuilderChecksum() {
|
||||||
debug "${FUNCNAME[0]}"
|
debug "${FUNCNAME[0]}"
|
||||||
|
|
||||||
declare checksum
|
if [[ -f $IB_SHA256_FILE ]]; then
|
||||||
|
if askOk "$IB_SHA256_FILE exists. Re-download?"; then
|
||||||
if hash sha256sum &>/dev/null; then
|
rm -f "$IB_SHA256_FILE"
|
||||||
debug "Verifying Image Builder checksums"
|
else
|
||||||
|
return 0
|
||||||
if [[ -f $SHA256_FILE ]]; then
|
|
||||||
if askOk "$SHA256_FILE exists. Re-download?"; then
|
|
||||||
if ! curl -so "$SHA256_FILE" "$SHA256_URL"; then
|
|
||||||
debug "Failed to download checksum"
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
elif ! curl -so "$SHA256_FILE" "$SHA256_URL"; then
|
|
||||||
debug "Failed to download checksum"
|
|
||||||
fi
|
|
||||||
|
|
||||||
checksum=$(grep "${IB_ARCHIVE##*/}" "$SHA256_FILE" | cut -f1 -d' ')
|
"$DL_TOOL" -o "$IB_SHA256_FILE" "$IB_SHA256_URL"
|
||||||
debug "$IB_ARCHIVE $checksum"
|
|
||||||
echo -n "$checksum $IB_ARCHIVE" | sha256sum --check --status
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
extractImage() {
|
extractImageBuilder() {
|
||||||
debug "${FUNCNAME[0]}"
|
debug "${FUNCNAME[0]}"
|
||||||
|
|
||||||
echo "Extracting Image Builder archive"
|
echo "Extracting Image Builder archive"
|
||||||
@@ -459,7 +437,7 @@ sshBackup() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
makeImage() {
|
makeImages() {
|
||||||
debug "${FUNCNAME[0]}"
|
debug "${FUNCNAME[0]}"
|
||||||
|
|
||||||
# Reuse the existing output
|
# Reuse the existing output
|
||||||
@@ -473,17 +451,25 @@ makeImage() {
|
|||||||
|
|
||||||
[[ -d "$BUILDDIR" ]] || mkdir -p "$BUILDDIR"
|
[[ -d "$BUILDDIR" ]] || mkdir -p "$BUILDDIR"
|
||||||
|
|
||||||
if ! make image \
|
make image \
|
||||||
BIN_DIR="$THIS_BINDIR" \
|
BIN_DIR="$THIS_BINDIR" \
|
||||||
PROFILE="${P_ARR[profile]}" \
|
PROFILE="${P_ARR[profile]}" \
|
||||||
PACKAGES="${P_ARR[packages]}" \
|
PACKAGES="${P_ARR[packages]}" \
|
||||||
FILES="${FILESDIR}" \
|
FILES="${FILESDIR}" \
|
||||||
--directory="$BUILDDIR" \
|
--directory="$BUILDDIR" \
|
||||||
--jobs="$(nproc)" \
|
--jobs="$(nproc)" \
|
||||||
> "$BUILDDIR/make.log"; then
|
> "$BUILDDIR/make.log"
|
||||||
echo "Make image failed!"
|
}
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
verifyImages() {
|
||||||
|
debug "${FUNCNAME[0]}"
|
||||||
|
|
||||||
|
declare outfile
|
||||||
|
|
||||||
|
for outfile in "$THIS_BINDIR"/*.img.gz; do
|
||||||
|
verify "$outfile" "$IB_OUT_SHA256_FILE" || return 1
|
||||||
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -648,6 +634,19 @@ loadProfiles() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
verify() {
|
||||||
|
debug "${FUNCNAME[0]}"
|
||||||
|
declare file_to_check="$1"
|
||||||
|
declare sumfile="$2"
|
||||||
|
declare checksum
|
||||||
|
|
||||||
|
hash sha256sum &>/dev/null || return 1
|
||||||
|
[[ -f $sumfile && -f $file_to_check ]] || return 1
|
||||||
|
checksum=$(grep "${file_to_check##*/}" "$sumfile" | cut -f1 -d' ')
|
||||||
|
echo -n "$checksum $file_to_check" | sha256sum --check --status
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
debug "${FUNCNAME[0]}"
|
debug "${FUNCNAME[0]}"
|
||||||
|
|
||||||
@@ -710,8 +709,9 @@ main() {
|
|||||||
|
|
||||||
declare -g IB_URL="$url_prefix/$url_filename"
|
declare -g IB_URL="$url_prefix/$url_filename"
|
||||||
declare -g IB_ARCHIVE="$SRCDIR/$url_filename"
|
declare -g IB_ARCHIVE="$SRCDIR/$url_filename"
|
||||||
declare -g SHA256_URL="$url_prefix/sha256sums"
|
declare -g IB_SHA256_URL="$url_prefix/sha256sums"
|
||||||
declare -g SHA256_FILE="$BUILDDIR/sha256sums"
|
declare -g IB_SHA256_FILE="$BUILDDIR/sha256sums"
|
||||||
|
declare -g IB_OUT_SHA256_FILE="$THIS_BINDIR/sha256sums"
|
||||||
declare -g SEED_URL="$url_prefix/config.buildinfo"
|
declare -g SEED_URL="$url_prefix/config.buildinfo"
|
||||||
declare -g SEED_FILE="$GITSRCDIR/.config"
|
declare -g SEED_FILE="$GITSRCDIR/.config"
|
||||||
|
|
||||||
@@ -742,10 +742,11 @@ main() {
|
|||||||
IB_ARCHIVE=$IB_ARCHIVE
|
IB_ARCHIVE=$IB_ARCHIVE
|
||||||
SEED_URL=$SEED_URL
|
SEED_URL=$SEED_URL
|
||||||
SEED_FILE=$SEED_FILE
|
SEED_FILE=$SEED_FILE
|
||||||
SHA256_URL=$SHA256_URL
|
IB_SHA256_URL=$IB_SHA256_URL
|
||||||
SHA256_FILE=$SHA256_FILE
|
IB_SHA256_FILE=$IB_SHA256_FILE
|
||||||
FACTORIMGGZ: $FACTORYIMGGZ
|
IB_OUT_SHA256_FILE=$IB_OUT_SHA256_FILE
|
||||||
FACTORIMGGZFNAME: $FACTORYIMGGZFNAME
|
FACTORYIMGGZ: $FACTORYIMGGZ
|
||||||
|
FACTORYIMGGZFNAME: $FACTORYIMGGZFNAME
|
||||||
SYSUPGRADEIMGGZ: $SYSUPGRADEIMGGZ
|
SYSUPGRADEIMGGZ: $SYSUPGRADEIMGGZ
|
||||||
SYSUPGRADEIMGGZFNAME: $SYSUPGRADEIMGGZFNAME
|
SYSUPGRADEIMGGZFNAME: $SYSUPGRADEIMGGZFNAME
|
||||||
EOF
|
EOF
|
||||||
@@ -755,13 +756,21 @@ main() {
|
|||||||
|
|
||||||
(( FROM_SOURCE )) && fromSource
|
(( FROM_SOURCE )) && fromSource
|
||||||
|
|
||||||
getImageBuilder || return $?
|
# Acquire and verify Image Builder
|
||||||
verifyImage || getImageBuilder || verifyImage || return $?
|
getImageBuilder &&
|
||||||
extractImage || return $?
|
getImageBuilderChecksum &&
|
||||||
|
verify "$IB_ARCHIVE" "$IB_SHA256_FILE" ||
|
||||||
|
return $?
|
||||||
|
|
||||||
|
extractImageBuilder || return $?
|
||||||
|
|
||||||
addRepos
|
addRepos
|
||||||
|
|
||||||
#copyFiles
|
#copyFiles
|
||||||
|
|
||||||
[[ -v SSH_BACKUP_PATH ]] && sshBackup
|
[[ -v SSH_BACKUP_PATH ]] && sshBackup
|
||||||
if makeImage; then
|
|
||||||
|
if makeImages && verifyImages; then
|
||||||
[[ -v SSH_UPGRADE_PATH ]] && sshUpgrade
|
[[ -v SSH_UPGRADE_PATH ]] && sshUpgrade
|
||||||
[[ -v FLASH_DEV ]] && flashImage
|
[[ -v FLASH_DEV ]] && flashImage
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user