summaryrefslogtreecommitdiffstats
path: root/scripts/announce-release.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/announce-release.sh')
-rwxr-xr-xscripts/announce-release.sh156
1 files changed, 0 insertions, 156 deletions
diff --git a/scripts/announce-release.sh b/scripts/announce-release.sh
deleted file mode 100755
index c7f8dea..0000000
--- a/scripts/announce-release.sh
+++ /dev/null
@@ -1,156 +0,0 @@
-#!/bin/sh
-
-set -e
-
-FROM_NAME='Patrick McDermott'
-FROM_EMAIL='patrick.mcdermott@libiquity.com'
-SIG="$(cat <<-EOF
- Patrick McDermott, CEO
- Libiquity
- Putting customers in control of high-quality technologies
- https://www.libiquity.com/
- EOF
- )"
-KEY='2250 31F0 47FF E516 63ED 516F 1A45 9ECD E4D6 04BE'
-TO_EMAIL='proteanos-dev@lists.proteanos.com'
-
-package="${1}"
-version="${2}"
-package_name="${3}"
-srcdir="${0%/scripts/announce-release.sh}"
-
-export GIT_DIR="${srcdir}/.git"
-
-heading()
-{
- local name="${1}"
- shift 1
-
- printf '%s\n' "${name}"
- printf '%s\n' "${name}" | sed 's/./=/g'
-}
-
-about="$(sed -n '
- H;
- ${
- g;
- s/^\n*[^\n][^\n]*\n[=-][=-]*\n\n*//;
- s/\n*[^\n][^\n]*\n[=-][=-]*\n.*$//;
- p;
- };
- ' "${srcdir}/README")"
-news="$(sed -n '
- H;
- ${
- g;
- s/^\n*[^\n][^\n]*\n[=-][=-]*\n\n*//;
- s/^Released: [^\n]*\n\n*//;
- s/\n*[^\n][^\n]*\n[=-][=-]*\n.*$//;
- p;
- };
- ' "${srcdir}/NEWS")"
-old_version="$(sed -n "/^${package_name} version /p;" "${srcdir}/NEWS" | \
- sed -n "2{ s/^${package_name} version / Since Version /p; };")"
-old_tag="$(git tag --sort=-creatordate | sed -n '2{p;q;}')"
-# Empty tree SHA-1 hash:
-[ -z "${old_tag}" ] && old_tag='4b825dc642cb6eb9a060e54bf8d69288fbee4904'
-
-shortlog="$(git shortlog "${old_tag}..HEAD" | \
- sed '/^..*$/s/^//')"
-if [ $(printf '%s\n' "${shortlog}" | wc -l) -gt 100 ]; then
- shortlog="$(git shortlog -s "${old_tag}..HEAD"; cat <<-EOF
-
- Commit descriptions suppressed for brevity. To see a log summary with
- descriptions, run:
-
- \$ git shortlog ${old_tag}..${package}/${version}
- EOF
- )"
-fi
-diffstat="$(git diff --stat=72 --color=never --find-renames=50% \
- "${old_tag}..HEAD")"
-if [ $(printf '%s\n' "${diffstat}" | wc -l) -gt 50 ]; then
- diffstat="$(printf '%s\n' "${diffstat}" | tail -n 1; cat <<-EOF
-
- Difference statistics truncated for brevity. To see full statistics,
- run:
-
- \$ git diff --stat --find-renames=50% \\
- > ${old_tag}..${package}/${version}
- EOF
- )"
-fi
-
-message="$({ cat | sed 's/=/=3D/g; s/ $/=20/; s/\t$/=09/;'; } <<-EOF
- Content-Type: text/plain; charset=UTF-8
- Content-Transfer-Encoding: quoted-printable
-
- $(heading 'About')
-
- ${about}
-
- $(heading 'Downloading')
-
- Source archives are available from the files site by HTTP or FTP:
-
- http://files.proteanos.com/pub/${package}/${version}/
- ftp://files.proteanos.com/pub/${package}/${version}/
-
- Here are the MD5 checksums:
-
- $(sed 's/^/ /' MD5SUMS)
-
- Here are the SHA-256 checksums:
-
- $(sed 's/^/ /' SHA256SUMS)
-
- The sources are maintained in a Git repository:
-
- http://git.proteanos.com/${package}/${package}.git/
- git://git.proteanos.com/${package}/${package}.git/
-
- This release is marked by the "${package}/${version}" tag.
-
- $(heading "NEWS for Version ${version}")
-
- ${news}
-
- $(heading "Shortlog of Changes${old_version}")
-
- ${shortlog}
-
- $(heading "Diffstat of Changes${old_version}")
-
- ${diffstat}
-
- --
- ${SIG}
- EOF
- )"
-
-{ sed 's/$/\r/' | /usr/sbin/sendmail -f "${FROM_EMAIL}" \
- "${TO_EMAIL}"; } <<-EOF
- Date: $(LC_ALL='POSIX' date '+%a, %d %b %Y %H:%M:%S %z')
- From: ${FROM_NAME} <${FROM_EMAIL}>
- To: ${TO_EMAIL}
- Subject: ${package_name} ${version} released
- Message-ID: $(LC_ALL='POSIX' date \
- '+%Y%m%d%H%M%S').${FROM_EMAIL}
- Organization: Libiquity LLC
- MIME-Version: 1.0
- Content-Type: multipart/signed; micalg=pgp-sha256; boundary="=-=-=";
- protocol="application/pgp-signature"
-
- --=-=-=
- ${message}
-
- --=-=-=
- Content-Type: application/pgp-signature
- Content-Description: OpenPGP digital signature
-
- $(printf '%s\n' "${message}" | sed 's/$/\r/' | \
- gpg --local-user "${KEY}" --armor --output - \
- --digest-algo SHA256 --detach-sign)
-
- --=-=-=--
- EOF