summaryrefslogtreecommitdiff
path: root/helpers/binary_checksums
diff options
context:
space:
mode:
authorDaniel Baumann <daniel@debian.org>2010-05-01 08:24:56 +0200
committerDaniel Baumann <daniel@debian.org>2011-03-09 19:17:06 +0100
commit6e36d93f1f84b0854c269b08b16c203f03c53c4f (patch)
tree435059b868635fc0fdf18d0503cdc77f5a49f118 /helpers/binary_checksums
parent9326dc8b01231113d12417c4153a82cd3ab00029 (diff)
downloadlive-build-6e36d93f1f84b0854c269b08b16c203f03c53c4f.zip
live-build-6e36d93f1f84b0854c269b08b16c203f03c53c4f.tar.gz
Allow to include multiple checksum files and specify which hashes to use.
Diffstat (limited to 'helpers/binary_checksums')
-rwxr-xr-xhelpers/binary_checksums49
1 files changed, 30 insertions, 19 deletions
diff --git a/helpers/binary_checksums b/helpers/binary_checksums
index 2c507ad..dd8d369 100755
--- a/helpers/binary_checksums
+++ b/helpers/binary_checksums
@@ -23,13 +23,11 @@ Arguments "${@}"
Read_conffiles config/all config/common config/bootstrap config/chroot config/binary config/source
Set_defaults
-if [ "${LH_CHECKSUMS}" != "true" ] || [ "${LH_BINARY_IMAGES}" = "virtual-hdd" ]
+if [ "${LH_CHECKSUMS}" = "none" ] || [ "${LH_BINARY_IMAGES}" = "virtual-hdd" ]
then
exit 0
fi
-Echo_message "Begin creating binary md5sum.txt..."
-
# Requiring stage file
Require_stagefile .stage/config .stage/bootstrap
@@ -42,31 +40,44 @@ Check_lockfile .lock
# Creating lock file
Create_lockfile .lock
-# Remove old md5sums
-if [ -f binary/md5sum.txt ]
-then
- rm -f binary/md5sum.txt
-fi
-
-# Calculating md5sums
-cd binary
-find . -type f \! -path './isolinux/isolinux.bin' \! -path './boot/grub/stage2_eltorito' -print0 | sort -z | xargs -0 md5sum > ../md5sum.txt
-
-cat > md5sum.txt << EOF
-This file contains the list of md5 checksums of all files on this medium.
+for CHECKSUM in ${LH_CHECKSUMS}
+do
+ Echo_message "Begin creating binary ${CHECKSUM}sum.txt..."
+
+ # Remove old checksums
+ if [ -f binary/${CHECKSUM}sum.txt ]
+ then
+ rm -f binary/${CHECKSUM}sum.txt
+ fi
+
+ # Calculating checksums
+ cd binary
+ find . -type f \
+ \! -path './isolinux/isolinux.bin' \
+ \! -path './boot/grub/stage2_eltorito' \
+ \! -path './md5sum.txt' \
+ \! -path './sha1sum.txt' \
+ \! -path './sha256sum.txt' \
+ -print0 | sort -z | xargs -0 ${CHECKSUM}sum > ../${CHECKSUM}sum.txt
+
+cat > ${CHECKSUM}sum.txt << EOF
+This file contains the list of ${CHECKSUM} checksums of all files on this medium.
You can verify them automatically with the 'integrity-check' boot parameter,
-or, manually with: 'md5sum -c md5sum.txt'.
+or, manually with: '${CHECKSUM}sum -c ${CHECKSUM}sum.txt'.
EOF
-cat ../md5sum.txt >> md5sum.txt
-rm -f ../md5sum.txt
+ cat ../${CHECKSUM}sum.txt >> ${CHECKSUM}sum.txt
+ rm -f ../${CHECKSUM}sum.txt
+
+ cd "${OLDPWD}"
+done
# File list
+cd binary
find . | sed -e 's|^.||g' | grep "^/" | sort > ../binary.list
-
cd "${OLDPWD}"
# Creating stage file