Do not assume the changelog file is always present for the info file (#280)

The `(..)/raspberrypi-kernel/changelog.Debian.gz` file is not guaranteed
to be present in the built `ROOTFS_DIR`, for example when building very
minimal images without package documentation. In these cases, the `firmware`
variable will be left empty and the subsequent calls to `curl` will return
large 404 HTML content from GitHub.

Instead, simply check if the changelog file exists before using it.
This commit is contained in:
Hugo Hromic 2019-04-25 10:28:48 +01:00 committed by XECDesign
parent 407663a57f
commit 8acf95f237

View file

@ -50,6 +50,7 @@ cp "$ROOTFS_DIR/etc/rpi-issue" "$INFO_FILE"
{ {
if [ -f "$ROOTFS_DIR/usr/share/doc/raspberrypi-kernel/changelog.Debian.gz" ]; then
firmware=$(zgrep "firmware as of" \ firmware=$(zgrep "firmware as of" \
"$ROOTFS_DIR/usr/share/doc/raspberrypi-kernel/changelog.Debian.gz" | \ "$ROOTFS_DIR/usr/share/doc/raspberrypi-kernel/changelog.Debian.gz" | \
head -n1 | sed -n 's|.* \([^ ]*\)$|\1|p') head -n1 | sed -n 's|.* \([^ ]*\)$|\1|p')
@ -59,8 +60,9 @@ cp "$ROOTFS_DIR/etc/rpi-issue" "$INFO_FILE"
printf "Kernel: https://github.com/raspberrypi/linux/tree/%s\n" "$kernel" printf "Kernel: https://github.com/raspberrypi/linux/tree/%s\n" "$kernel"
uname="$(curl -s -L "https://github.com/raspberrypi/firmware/raw/$firmware/extra/uname_string7")" uname="$(curl -s -L "https://github.com/raspberrypi/firmware/raw/$firmware/extra/uname_string7")"
printf "Uname string: %s\n" "$uname" printf "Uname string: %s\n" "$uname"
fi
printf "\nPackages:\n" printf "\nPackages:\n"
dpkg -l --root "$ROOTFS_DIR" dpkg -l --root "$ROOTFS_DIR"
} >> "$INFO_FILE" } >> "$INFO_FILE"