summaryrefslogtreecommitdiffstats
path: root/source/ap/slackpkg/0002-Use-CHECKSUMS.md5.asc-to-determine-ChangeLog-newness.patch
diff options
context:
space:
mode:
Diffstat (limited to 'source/ap/slackpkg/0002-Use-CHECKSUMS.md5.asc-to-determine-ChangeLog-newness.patch')
-rw-r--r--source/ap/slackpkg/0002-Use-CHECKSUMS.md5.asc-to-determine-ChangeLog-newness.patch57
1 files changed, 57 insertions, 0 deletions
diff --git a/source/ap/slackpkg/0002-Use-CHECKSUMS.md5.asc-to-determine-ChangeLog-newness.patch b/source/ap/slackpkg/0002-Use-CHECKSUMS.md5.asc-to-determine-ChangeLog-newness.patch
new file mode 100644
index 000000000..267967737
--- /dev/null
+++ b/source/ap/slackpkg/0002-Use-CHECKSUMS.md5.asc-to-determine-ChangeLog-newness.patch
@@ -0,0 +1,57 @@
+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
+