Browse Source

Factor release version functions into new script.

tags/v0.3.0-rc0
Zachary T Welch 12 years ago
parent
commit
c970d03ddb
1 changed files with 60 additions and 0 deletions
  1. +60
    -0
      tools/release/helpers.sh

+ 60
- 0
tools/release/helpers.sh View File

@@ -0,0 +1,60 @@
#!/bin/sh -e

die() {
echo "$@" >&2
exit 1
}

package_info_load_name() {
grep AC_INIT configure.in | perl -ne 's/^.+\(\[([-\w]*)\],.+$/$1/ and print'
}
package_info_load_version() {
grep AC_INIT configure.in | perl -ne 's/^.+\[([-\w\.]*)\],$/$1/ and print'
}

package_info_load() {
[ -f "configure.in" ] || \
die "package_info_load: configure.in is missing"

PACKAGE_NAME="$(package_info_load_name)"
# todo: fix this
PACKAGE_TARNAME="${PACKAGE_NAME}"

PACKAGE_VERSION="$(package_info_load_version)"

[ "${PACKAGE_NAME}" -a "${PACKAGE_VERSION}" ] || \
die "package information is missing from configure script"

PACKAGE_VERSION_TAGS=
[ "${PACKAGE_VERSION/-/}" = "${PACKAGE_VERSION}" ] || \
PACKAGE_VERSION_TAGS="-${PACKAGE_VERSION#*-}"
PACKAGE_VERSION_BASE="${PACKAGE_VERSION%%-*}"
PACKAGE_MICRO="${PACKAGE_VERSION_BASE##*.}"
PACKAGE_MAJOR_AND_MINOR="${PACKAGE_VERSION_BASE%.*}"
PACKAGE_MAJOR="${PACKAGE_MAJOR_AND_MINOR%.*}"
PACKAGE_MINOR="${PACKAGE_MAJOR_AND_MINOR#*.}"

[ "${RELEASE_FINAL}" ] \
&& RELEASE_VERSION="${PACKAGE_VERSION_BASE}" \
|| RELEASE_VERSION="${PACKAGE_VERSION/-dev/}"
PACKAGE_RELEASE="${PACKAGE_TARNAME}-${RELEASE_VERSION}"
PACKAGE_STRING="${PACKAGE_NAME} ${PACKAGE_VERSION}"
}

package_info_show() {
cat <<INFO
Name: ${PACKAGE_TARNAME}
Version: ${PACKAGE_VERSION}
Release: ${RELEASE_VERSION}
Number: ${PACKAGE_VERSION_BASE}
Series: ${PACKAGE_MAJOR_AND_MINOR}
Major: ${PACKAGE_MAJOR}
Minor: ${PACKAGE_MINOR}
Micro: ${PACKAGE_MICRO}
Tags: ${PACKAGE_VERSION_TAGS}
Full: ${PACKAGE_TARNAME}-${PACKAGE_VERSION_BASE}${PACKAGE_VERSION_TAGS}
Release: ${PACKAGE_RELEASE}
Type: ${RELEASE_TYPE}
INFO
}


Loading…
Cancel
Save