diff options
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/announce-release.sh | 156 |
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 |