slackware-current/source/ap/slackpkg/0002-Use-CHECKSUMS.md5.asc-to-determine-ChangeLog-newness.patch
Patrick J Volkerding b5ea33bed6 Fri Jun 15 04:12:46 UTC 2018
a/efibootmgr-16-x86_64-2.txz:  Rebuilt.
a/efivar-35-x86_64-1.txz:  Upgraded.
  Switch to efivar-35, since 36 seems to have problems. Thanks to _RDS_.
ap/slackpkg-2.83.0-noarch-3.txz:  Rebuilt.
  Don't remove ChangeLog.txt upon upgrade/reinstall.
  Use CHECKSUMS.md5.asc to determine if ChangeLog.txt is unchanged.
  Remove dead bjtu.edu.cn mirrors from the sample mirrors files.
isolinux/initrd.img:  Rebuilt.
  Include libefivar.so.1 on the installer (needed by efibootmgr).
usb-and-pxe-installers/usbboot.img:  Rebuilt.
  Include libefivar.so.1 on the installer (needed by efibootmgr).
2018-06-15 21:00:34 +02:00

57 lines
1.9 KiB
Diff

From e1fc7d99876aaba621fb353d8c484756e20ad0e8 Mon Sep 17 00:00:00 2001
From: "Patrick J. Volkerding" <volkerdi@slackware.com>
Date: Thu, 7 Jun 2018 19:03:40 -0500
Subject: [PATCH 1/3] Use CHECKSUMS.md5.asc to determine ChangeLog newness
Thanks to drgibbon on LQ for the suggestion.
Signed-off-by: Robby Workman <rworkman@slackware.com>
---
files/core-functions.sh | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/files/core-functions.sh b/files/core-functions.sh
index 667667c..ec753c7 100644
--- a/files/core-functions.sh
+++ b/files/core-functions.sh
@@ -970,10 +970,37 @@ function getpkg() {
#
function checkchangelog()
{
+ if ! [ -e ${ROOT}/${WORKDIR}/CHECKSUMS.md5.asc ]; then
+ touch ${ROOT}/${WORKDIR}/CHECKSUMS.md5.asc
+ fi
+
if ! [ -e ${ROOT}/${WORKDIR}/ChangeLog.txt ]; then
touch ${ROOT}/${WORKDIR}/ChangeLog.txt
fi
+ # First we will download CHECKSUMS.md5.asc since it is a very small
+ # file and if it has not changed, we can know that the ChangeLog
+ # has not changed either. If it _has_ changed, we'll need to pull
+ # the ChangeLog to check that as well.
+ echo -e "\tDownloading..."
+ getfile ${SOURCE}CHECKSUMS.md5.asc $TMPDIR/CHECKSUMS.md5.asc
+ if ! grep -q "PGP" $TMPDIR/CHECKSUMS.md5.asc ; then
+ echo -e "\
+\nError downloading from $SOURCE.\n\
+Please check your mirror and try again."
+ cleanup
+ fi
+ if diff --brief ${ROOT}/${WORKDIR}/CHECKSUMS.md5.asc $TMPDIR/CHECKSUMS.md5.asc ; then
+ # Before returning with the result that these signatures (and
+ # therefore the ChangeLog) are the same, we need to copy the
+ # ChangeLog into ${TMPDIR} in case the user decides to
+ # "download all other files":
+ cp ${ROOT}/${WORKDIR}/ChangeLog.txt $TMPDIR/ChangeLog.txt
+ return 0
+ fi
+ # CHECKSUMS.md5.asc was different, so we'll go on to download and test
+ # the full ChangeLog.txt.
+
echo -e "\tDownloading..."
#
# Download ChangeLog.txt first of all and test if it's equal
--
2.17.1