release-sign-tarballs revision 3114ead9a60b65191e92dea6c76c038c03a8f1dc
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico#!/bin/bash
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNicoSIGNER="bryce@bryceharrington.org"
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNicoVERSION="0.92"
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNicoPKG_NAME="inkscape"
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico# Locate Dependencies
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico#------------------------------------------------------------------------------
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNicoMD5SUM=`which md5sum || which gmd5sum`
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNicoSHA1SUM=`which sha1sum || which gsha1sum`
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNicoSHA256SUM=`which sha256sum || which gsha256sum`
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico# Choose which make program to use (could be gmake)
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNicoMAKE=${MAKE:="make"}
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico# Set the default make tarball creation command
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNicoMAKE_DIST_CMD=distcheck
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico# Choose which grep program to use (on Solaris, must be gnu grep)
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNicoif [ "x$GREP" = "x" ] ; then
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico if [ -x /usr/gnu/bin/grep ] ; then
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico GREP=/usr/gnu/bin/grep
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico else
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico GREP=grep
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico fi
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNicofi
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico# Find path for GnuPG v2
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNicoif [ "x$GPG" = "x" ] ; then
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico if [ -x /usr/bin/gpg2 ] ; then
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico GPG=/usr/bin/gpg2
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico else
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico GPG=gpg
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico fi
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNicofi
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico# Function: sign_or_fail
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico#------------------------------------------------------------------------------
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico#
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico# Sign the given file, if any
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico# Output the name of the signature generated to stdout (all other output to
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico# stderr)
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico# Return 0 on success, 1 on fail
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico#
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNicosign_or_fail() {
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico if [ -n "$1" ]; then
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico sig=$1.sig
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico rm -f $sig
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico [ -n ${SIGNER} ] && signer="-u $SIGNER"
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico echo "$GPG $signer --detach-sign $1" 1>&2
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico $GPG $signer --detach-sign $1 1>&2
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico if [ $? -ne 0 ]; then
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico echo "Error: failed to sign $1." >&2
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico return 1
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico fi
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico echo $sig
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico fi
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico return 0
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico}
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNicosign_packages() {
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico targz="${PKG_NAME}-${VERSION}.tar.gz"
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico tarbz2="${PKG_NAME}-${VERSION}.tar.bz2"
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico tarxz="${PKG_NAME}-${VERSION}.tar.xz"
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico zip="${PKG_NAME}-${VERSION}.zip"
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico # The tar.gz is always required
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico gpgsignerr=0
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico siggz="$(sign_or_fail ${targz})"
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico gpgsignerr=$((${gpgsignerr} + $?))
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico if [ -e "${tarbz2}" ]; then
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico sigbz2="$(sign_or_fail ${tarbz2})"
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico gpgsignerr=$((${gpgsignerr} + $?))
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico fi
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico if [ -e "${tarxz}" ]; then
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico sigxz="$(sign_or_fail ${tarxz})"
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico gpgsignerr=$((${gpgsignerr} + $?))
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico fi
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico if [ -e "${zip}" ]; then
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico sigzip="$(sign_or_fail ${zip})"
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico gpgsignerr=$((${gpgsignerr} + $?))
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico fi
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico if [ ${gpgsignerr} -ne 0 ]; then
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico echo "Error: unable to sign at least one of the tarballs."
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico return 1
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico fi
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico return 0;
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico}
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNicogenerate_announce() {
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico}
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNicoprocess() {
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico sign_packages
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico generate_announce > "$tar_name.announce"
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico echo "Info: [ANNOUNCE] template generated in \"$tar_name.announce\" file."
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico echo " Please pgp sign and send it."
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico return 0
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico}
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNicoprocess
88395eed42de4d59f54795b60c8c0a7ab881e153JazzyNico