forked from josch/mmdebstrap
make_mirror.sh: security.d.o dropped the MD5sum field for SHA256 in Packages.gz
This commit is contained in:
parent
a425b948dd
commit
a0001f3681
1 changed files with 13 additions and 3 deletions
|
@ -78,10 +78,20 @@ get_newaptnames() {
|
||||||
if [ ! -e "$1/$2" ]; then
|
if [ ! -e "$1/$2" ]; then
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
# skip empty files by trying to uncompress the first byte of the payload
|
||||||
|
if [ "$(gzip -dc "$1/$2" | head -c1 | wc -c)" -eq 0 ]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
gzip -dc "$1/$2" \
|
gzip -dc "$1/$2" \
|
||||||
| grep-dctrl --no-field-names --show-field=Package,Version,Architecture,Filename,MD5sum '' \
|
| grep-dctrl --no-field-names --show-field=Package,Version,Architecture,Filename,SHA256 '' \
|
||||||
| paste -sd " \n" \
|
| paste -sd " \n" \
|
||||||
| while read name ver arch fname md5; do
|
| while read name ver arch fname hash; do
|
||||||
|
# sanity check for the hash because sometimes the
|
||||||
|
# archive switches the hash algorithm
|
||||||
|
if [ "${#hash}" -ne 64 ]; then
|
||||||
|
echo "expected hash length of 64 but got ${#hash} for: $hash" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
dir="${fname%/*}"
|
dir="${fname%/*}"
|
||||||
# apt stores deb files with the colon encoded as %3a while
|
# apt stores deb files with the colon encoded as %3a while
|
||||||
# mirrors do not contain the epoch at all #645895
|
# mirrors do not contain the epoch at all #645895
|
||||||
|
@ -89,7 +99,7 @@ get_newaptnames() {
|
||||||
aptname="$rootdir/var/cache/apt/archives/${name}_${ver}_${arch}.deb"
|
aptname="$rootdir/var/cache/apt/archives/${name}_${ver}_${arch}.deb"
|
||||||
if [ -e "$aptname" ]; then
|
if [ -e "$aptname" ]; then
|
||||||
# make sure that we found the right file by checking its hash
|
# make sure that we found the right file by checking its hash
|
||||||
echo "$md5 $aptname" | md5sum --check >&2
|
echo "$hash $aptname" | sha256sum --check >&2
|
||||||
mkdir -p "$1/$dir"
|
mkdir -p "$1/$dir"
|
||||||
# since we move hardlinks around, the same hardlink might've been
|
# since we move hardlinks around, the same hardlink might've been
|
||||||
# moved already into the same place by another distribution.
|
# moved already into the same place by another distribution.
|
||||||
|
|
Loading…
Reference in a new issue