[rtems-release commit] Fix release branch git clones

Chris Johns chrisj at rtems.org
Fri Aug 14 21:15:14 UTC 2020


Module:    rtems-release
Branch:    5
Commit:    8c365179ece35d4d61b151cb4b7609059840900b
Changeset: http://git.rtems.org/rtems-release/commit/?id=8c365179ece35d4d61b151cb4b7609059840900b

Author:    Chris Johns <chrisj at rtems.org>
Date:      Fri Aug 14 07:58:15 2020 +1000

Fix release branch git clones

Closes #4051

---

 rtems-release               | 35 ++++++++++++++++++-----------------
 rtems-release-branch        | 18 ++++++++++--------
 rtems-release-cron          | 42 +++++++++++++++++++++---------------------
 rtems-release-defaults      | 37 +++++++++++++++++--------------------
 rtems-release-docs          | 34 +++++++++++++++-------------------
 rtems-release-kernel        | 28 ++++++++++++++--------------
 rtems-release-notes         | 15 +++++++--------
 rtems-release-package       | 28 +++++++++++++++-------------
 rtems-release-package-start | 29 ++++++++++++++++++-----------
 rtems-release-rsb-version   | 23 +++++++++++++----------
 rtems-release-sources       | 20 ++++++++++----------
 rtems-release-tag           | 19 ++++++++++---------
 rtems-release-version       | 20 +++++++++++++++++++-
 13 files changed, 187 insertions(+), 161 deletions(-)

diff --git a/rtems-release b/rtems-release
index b66ace3..51097c5 100755
--- a/rtems-release
+++ b/rtems-release
@@ -35,13 +35,12 @@ set -e
 # This is the top level RTEMS release script. Supply the version and and the
 # release.
 #
-. ./rtems-release-version
-echo "RTEMS Release, v${rtems_release_version}"
 
 #
 # Global release top path.
 #
-export release_top=${PWD}
+export release_top=$(realpath $(dirname $0))
+cd ${release_top}
 
 #
 # Defaults.
@@ -49,15 +48,6 @@ export release_top=${PWD}
 . ${release_top}/rtems-release-defaults
 
 #
-# We need pandoc so generate an error early is not available.
-#
-if [ ! $(command -v pandoc) ]; then
- echo "error: pandoc not found, please install" >&2
- exit 1
-fi
-
-#
-#
 # Usage for this tool.
 #
 usage() {
@@ -93,10 +83,21 @@ if [ $# -ne 2 ]; then
  echo "error: 2 arguments must be supplied, version and revision. See -h for help"
  exit 1
 fi
+
 version=$1
 revision=$2
 
-release=${version}.${revision}
+. ./rtems-release-version
+
+echo "RTEMS Release, v${release}"
+
+#
+# We need pandoc so generate an error early is not available.
+#
+if [ ! $(command -v pandoc) ]; then
+ echo "error: pandoc not found, please install" >&2
+ exit 1
+fi
 
 #
 # Does the release provide release notes?
@@ -110,7 +111,7 @@ fi
 #
 build()
 {
- echo "Package: $1"
+ echo "] Package: $1"
  ./rtems-release-package $*
 }
 
@@ -118,7 +119,7 @@ build()
 # Clean the release directory away.
 #
 if [ -e ${release} ]; then
- echo "Removing existing release ${release}"
+ echo "] Removing existing release ${release}"
  rm -rf ${release}
  mkdir ${release}
 fi
@@ -162,7 +163,7 @@ fi
 #
 # The sources is always last.
 #
-echo "Collect tools sources"
+echo "] Collect tools sources"
 ./rtems-release-sources ${version} ${revision} ${release_url}
 
 #
@@ -173,7 +174,7 @@ mkdir -p ${release}/contrib/rtems-release
 #
 # Create the release information
 #
-echo "Create the release information"
+echo "] Create the release information"
 . ${release_top}/rtems-release-info
 
 #
diff --git a/rtems-release-branch b/rtems-release-branch
index ae8e06c..cc5905d 100755
--- a/rtems-release-branch
+++ b/rtems-release-branch
@@ -35,13 +35,17 @@ set -e
 # This is the top level RTEMS release script. Supply the version and and the
 # release.
 #
-. ./rtems-release-version
-echo "RTEMS Release, v${rtems_release_version}"
 
 #
 # Global release top path.
 #
-export release_top=${PWD}
+export release_top=$(realpath $(dirname $0))
+cd ${release_top}
+
+#
+# Defaults.
+#
+. ${release_top}/rtems-release-defaults
 
 #
 # Usage for this tool.
@@ -56,11 +60,7 @@ usage() {
  exit 1
 }
 
-#
-# Defaults.
-#
-. ${release_top}/rtems-release-defaults
-
+. ./rtems-release-version
 #
 # Option defaults
 #
@@ -92,6 +92,8 @@ fi
 user=$1
 version=$2
 
+echo "] RTEMS Release Branch, v${version}"
+
 #
 # Check if clone_url is empty.
 #
diff --git a/rtems-release-cron b/rtems-release-cron
index 0eacdc3..33ba744 100755
--- a/rtems-release-cron
+++ b/rtems-release-cron
@@ -35,20 +35,31 @@ set -e
 # Cron wrapper for releasing each month.
 #
 
+#
+# Global release top path.
+#
+#
+# Work in the release sandbox
+#
+export release_top=$(realpath $(dirname $0))
+cd ${release_top}
+
+if [ $# -ne 2 ]; then
+ echo "error: 2 arguments must be supplied, version and revision. See -h for help"
+ exit 1
+fi
+
+version=$1
+revision=$2
+
+. ./rtems-release-version
+
 live=yes
 if [ "${RTEMS_RELEASE_TESTING}" = "yes" ]; then
  live=no
 fi
 
 #
-# RTEMS release
-#
-rtems_major=5
-rtems_minor=0
-rtems_dot=0
-rtems_snapshot=$(date +"m%y%m")
-
-#
 # Email addresses
 #
 from="chrisj at rtems.org"
@@ -92,16 +103,7 @@ fi
 #
 # The version and the revision
 #
-version=${rtems_major}
-revision=${rtems_minor}.${rtems_dot}
-snapshot=${revision}-${rtems_snapshot}
-release="${version}.${snapshot}"
-
-#
-# Work in the release sandbox
-#
-release_top=$(dirname $0)
-cd ${release_top}
+release=${release}-$(date +"m%y%m")
 
 #
 # Activate the virtualenv for building the documentation.
@@ -113,8 +115,6 @@ cd ${release_top}
 #
 rm -rf ${release}
 
-. ${release_top}/rtems-release-version
-
 git_hash=$(git log --pretty=format:'%h' -n 1)
 
 #
@@ -136,7 +136,7 @@ if [ ! -f ${LOCK} ]; then
  trap "rm -f ${CLEANUP_FILES}" EXIT
  trap "rm -f ${CLEANUP_FILES}; exit 1" INT TERM STOP INFO USR1 USR2
  touch ${LOCK}
- echo "RTEMS Release Cron builder, v${rtems_release_version} (${git_hash})" > ${BUILD_LOG}
+ echo "] RTEMS Release Cron builder, v${release} (${git_hash})" > ${BUILD_LOG}
  echo "" >> ${BUILD_LOG}
  set +e
  ./rtems-release ${version} ${snapshot} >> ${BUILD_LOG} 2>&1
diff --git a/rtems-release-defaults b/rtems-release-defaults
index 602530f..7c72e9a 100755
--- a/rtems-release-defaults
+++ b/rtems-release-defaults
@@ -38,6 +38,18 @@
 set -e
 
 #
+# Required to be set.
+#
+version="not-set"
+revision="not-set"
+release="not-set"
+
+#
+# The master branch release
+#
+master_version=6
+
+#
 # Keep the top where we start.
 #
 top=${PWD}
@@ -94,27 +106,12 @@ sources="sources"
 docs="docs"
 
 #
-# The date stamp
-#
-now=$(date +"%d %B %Y")
-export now
-
-#
-# Version configuration. Overrides defaults.
-#
-if [ -f rtems-release-${version}-conf ]; then
- rtems_release_conf=rtems-release-${version}-conf
- . rtems-release-${version}-conf
-fi
-
-#
-# Conditional add libbsd for an RSB hash if enabled.
+# Libbsd FreeBSD release version
 #
-if [ ${rtems_libbsd} = yes ]; then
- rtems_rsb_hash="${rtems_rsb_hash} rtems-libbsd"
-fi
+rtems_libbsd_release=12
 
 #
-# Libbsd FreeBSD release version
+# The date stamp
 #
-rtems_libbsd_release=12
+now=$(date +"%d %B %Y")
+export now
diff --git a/rtems-release-docs b/rtems-release-docs
index acfcfc5..7c5c451 100755
--- a/rtems-release-docs
+++ b/rtems-release-docs
@@ -34,14 +34,17 @@ set -e
 #
 # This worker script to build the doco.
 #
-. ${release_top}/rtems-release-version
-echo "RTEMS Documentation Release builder, v${rtems_release_version}"
 
 #
 # Defaults.
 #
 . ${release_top}/rtems-release-defaults
 
+# Common package start.
+#
+title="RTEMS Documentation Release builder"
+. ./rtems-release-package-start
+
 #
 # Only build if sphinx-build is present on the system.
 #
@@ -55,10 +58,6 @@ if [ "`command -v sphinx-build`"no = no ]; then
 fi
 
 #
-# Common package start.
-#
-. ./rtems-release-package-start
-
 #
 # The workspace pwd
 #
@@ -73,11 +72,8 @@ git clone ${git_remote} ${git_local}
 cd ${git_local}
  echo "git fetch origin"
  git fetch origin
- # Get the remote branch. If the release branch is not found use master.
- remote_branch=$(git branch --remote | grep ${version} | tr -d "[:space:]")
- if [ -z "${remote_branch}" ]; then
-  remote_branch="master"
- fi
+ # Map the branch name to a specific package and release branch name
+ remote_branch=$(rtems_map_branch ${package} ${version})
  echo "git archive --format=tar --prefix=${prefix}/ ${remote_branch}"
  git archive --format=tar --prefix=${prefix}/ ${remote_branch} | \
      ${comp} > ../${prefix}-unstamped.tar.${comp_ext}
@@ -93,7 +89,7 @@ cd ${prefix}
  #
  # This is a hack until I add support for the VERSION file created below.
  #
- echo "Creating VERSION: ${release}"
+ echo "] Creating VERSION: ${release}"
  if [ ${version} -lt 5 ]; then
    cat wscript | \
     sed -e "s/^version[[:space:]].*=.*$/version = '${release}'/g" > wscript.tmp
@@ -118,7 +114,7 @@ cd ${prefix}
 echo "tar cf - ${prefix}"
 tar cf - ${prefix} | ${comp} > ../${prefix}.tar.${comp_ext}
 
-echo "Created: ${release}/${prefix}.tar.${comp_ext}"
+echo "] Created: ${release}/${prefix}.tar.${comp_ext}"
 
 #
 # Build the docs.
@@ -134,7 +130,7 @@ cd ${prefix}
 #
 mkdir ${top}/${release}/${docs}
 cd install
- echo "Creating DOC all rtems-${release}-docs-all.tar.${comp_ext}"
+ echo "] Creating DOC all rtems-${release}-docs-all.tar.${comp_ext}"
  tar cf - * | \
   ${comp} > ${top}/${release}/${docs}/rtems-${release}-docs-all.tar.${comp_ext}
  for p in $(find . -name \*.pdf)
@@ -144,19 +140,19 @@ cd install
   #
   # Move the PDF out of the way.
   #
-  echo "Creating PDF rtems-${release}-${manual}.pdf"
+  echo "] Creating PDF rtems-${release}-${manual}.pdf"
   mv $p ${top}/${release}/${docs}/rtems-${release}-${manual}.pdf
   #
   # Create the single html manual
   #
-  echo "Creating SingleHTML rtems-${release}-${manual}.html.${comp_ext}"
+  echo "] Creating SingleHTML rtems-${release}-${manual}.html.${comp_ext}"
   mv ${base}/${manual}.html ${base}/rtems-${release}-${manual}.html
   ${comp} ${base}/rtems-${release}-${manual}.html
   mv ${base}/rtems-${release}-${manual}.html.${comp_ext} ${top}/${release}/${docs}/.
   #
   # Tar the multi-page html and install.
   #
-  echo "Creating HTML rtems-${release}-${manual}-html.tar.${comp_ext}"
+  echo "] Creating HTML rtems-${release}-${manual}-html.tar.${comp_ext}"
   tar cf - ${base}/${manual} | \
       ${comp} > ${top}/${release}/${docs}/rtems-${release}-${manual}-html.tar.${comp_ext}
  done
@@ -200,7 +196,7 @@ cd ${release}/${docs}
  done
  cd ..
 
-echo "Created: ${release}/${docs}/${checksum}sum.txt"
-echo "Created: ${release}/${docs}"
+echo "] Created: ${release}/${docs}/${checksum}sum.txt"
+echo "] Created: ${release}/${docs}"
 
 exit 0
diff --git a/rtems-release-kernel b/rtems-release-kernel
index a4cf7fd..188fc39 100755
--- a/rtems-release-kernel
+++ b/rtems-release-kernel
@@ -34,8 +34,6 @@ set -e
 #
 # This worker script bootstraps the RTEMS kernel.
 #
-. ${release_top}/rtems-release-version
-echo "RTEMS Release RTEMS Kernel, v${rtems_release_version}"
 
 #
 # Defaults.
@@ -56,11 +54,13 @@ revision=$3
 release_url=$4
 toptop=$5
 
-release=${version}.${revision}
+. ${release_top}/rtems-release-version
+
 prefix=${package}-${release}
 
-echo "Package: ${package}"
-echo "Release: ${release}"
+echo "] RTEMS Release RTEMS Kernel, v${release}"
+echo "] Package: ${package}"
+echo "] Release: ${release}"
 
 #
 # Unpack the released RSB.
@@ -98,10 +98,10 @@ release_ver_rel_minor="${release_ver_rel}.0"
 # Bootstrap RTEMS, collect the BSPs, and update the README.
 #
 cd ${prefix}
- echo "Set the version in the build system.."
+ echo "] Set the version in the build system.."
  for f in $(find . -name version.m4)
  do
-  echo " Generating ${f}"
+  echo "] Generating ${f}"
   cat <<EOF > ${f}
 dnl Autogenerated for RTEMS release: ${release} (${release_ver_rel_minor})
 AC_DEFUN([RTEMS_VERSIONING],
@@ -110,7 +110,7 @@ dnl RTEMS API Version
 m4_define([_RTEMS_API],[${version}])
 EOF
  done
- echo "Bootstrapping RTEMS"
+ echo "] Bootstrapping RTEMS"
   ./bootstrap -c
  if [ ${version} -lt 5 ]; then
   ./bootstrap -p
@@ -118,11 +118,11 @@ EOF
  else
   ./rtems-bootstrap
  fi
- echo "Cleaning autom4te.cache"
+ echo "] Cleaning autom4te.cache"
  rm -rf $(find . -name autom4te.cache)
- echo "Generate ARCH-BSP.txt"
+ echo "] Generate ARCH-BSP.txt"
  ./rtems-bsps -m > ${toptop}/ARCH-BSP.md
- echo "Generate README"
+ echo "] Generate README"
  cp README README.tmp
  cat README.tmp | \
   sed -e "s|docs\.rtems\.org\/branches\/master\/|docs\.rtems\.org\/releases\/rtems-docs-${release}\/|g" | \
@@ -136,7 +136,7 @@ EOF
 #
 rm -rf ${rsb} ${at}
 
-echo "Bootstrap complete."
+echo "] Bootstrap complete."
 
 #
 # Only build doxygen output if present on the system.
@@ -149,7 +149,7 @@ fi
 #
 # Doxygen
 #
-echo "Creating: Doxyfile"
+echo "] Creating: Doxyfile"
 top_srcdir=$(echo ${prefix}/cpukit | sed -e 's/\//\\\//g')
 perl=$(which perl | sed -e 's/\//\\\//g')
 if [ -f ${prefix}/cpukit/Doxyfile.in ]; then
@@ -173,7 +173,7 @@ else
  exit 1
 fi
 
-echo "Creating: rtems-doxygen-${release}.tar.${comp_ext}"
+echo "] Creating: rtems-doxygen-${release}.tar.${comp_ext}"
 if [ ${version} -lt 5 ]; then
  mv cpukit_doxy/html rtems-doxygen-${release}
 else
diff --git a/rtems-release-notes b/rtems-release-notes
index 79553b5..fbbe222 100755
--- a/rtems-release-notes
+++ b/rtems-release-notes
@@ -32,10 +32,8 @@
 set -e
 
 #
-# This worker script to build the doco.
+# This worker script to build the release notes.
 #
-. ${release_top}/rtems-release-version
-echo "RTEMS Release Notes builder, v${rtems_release_version}"
 
 #
 # Defaults.
@@ -62,6 +60,7 @@ fi
 # Common package start. No git repo the data source is Trac.
 #
 rtems_git_repo=no
+title="RTEMS Release Notes builder"
 . ./rtems-release-package-start
 
 #
@@ -72,7 +71,7 @@ ws_pwd=${PWD}
 #
 # The release notes are all held in the wiki
 #
-release_pages="https://devel.rtems.org/wiki/Release/"
+release_pages="https://devel.rtems.org/wiki/Release"
 
 #
 # Set up the wkhtmltopdf defaults.
@@ -81,7 +80,7 @@ page_options="--print-media-type --zoom 0.8"
 header="--header-right [page]/[toPage] --header-font-size 10"
 footer="--footer-left [webpage] --footer-font-size 10"
 
-echo "Creating release notes"
+echo "] Creating release notes"
 
 rel_html=""
 rel_html_line="<div>@RELEASE@</div>"
@@ -94,7 +93,7 @@ do
 done
 rel_html=$(echo ${rel_html} | sed -e 's/\./\\\./g' -e  's/\//\\\//g')
 
-echo "Create the coverpage"
+echo "] Create the coverpage"
 cp ${top}/rtems-release-notes-coverpage/* .
 cat rtems-release-notes-coverpage.html.in | \
     sed -e "s/@RELEASE@/${release}/g" \
@@ -115,7 +114,7 @@ do
   even_odd=$(( ${rev} % 2 ))
   if [ ${version} -lt 5 -o ${even_odd} -ne 0 ]; then
    rel=${version}.${rev}
-   echo "Creating the ${rel} PDF"
+   echo "] Creating the ${rel} PDF"
    wkhtmltopdf --user-style-sheet file://${ws_pwd}/trac-rtems-style.html \
                -L 5mm -R 5mm \
                ${release_pages}/${version}/${version}.${rev} \
@@ -130,7 +129,7 @@ done
 
 gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=../rtems-${release}-release-notes.pdf cp.pdf ${pdfs}
 
-echo "Created: ${release}/rtems-${release}-release-notes.pdf cp.pdf"
+echo "] Created: ${release}/rtems-${release}-release-notes.pdf cp.pdf"
 
 #
 # Comman package end.
diff --git a/rtems-release-package b/rtems-release-package
index 7fe5090..351711d 100755
--- a/rtems-release-package
+++ b/rtems-release-package
@@ -34,8 +34,6 @@ set -e
 #
 # This script packages a package in a tar file.
 #
-. ${release_top}/rtems-release-version
-echo "RTEMS Release Package, v${rtems_release_version}"
 
 #
 # Defaults.
@@ -45,6 +43,7 @@ echo "RTEMS Release Package, v${rtems_release_version}"
 #
 # Common package start.
 #
+title="RTEMS Release Package"
 . ./rtems-release-package-start
 
 #
@@ -68,24 +67,23 @@ stamped_tar=${prefix}-unstamped
 cd ${git_local}
  echo "git fetch origin"
  git fetch origin
- # Map the branch name to a specific package branch name
- branch=$(rtems_map_branch ${package} ${version})
- # Get the remote branch. If the release branch is not found use master.
- remote_branch=$(git branch --remote | grep "${branch}$" | tr -d "[:space:]")
- if [ -z "${remote_branch}" ]; then
-  remote_branch="master"
- fi
+ # Map the branch name to a specific package and release branch name
+ remote_branch=$(rtems_map_branch ${package} ${version})
+ echo "] Package ${package} ${version}: ${remote_branch}"
  git_submodules=$(git submodule | cut -w -f 2)
  if [ -n "${git_submodules}" ]; then
-  echo "git submodules found ...."
+  echo "] git submodules found ...."
+  echo "git submodules init"
   git submodule init
+  echo "git checkout ${remote_branch}"
+  git checkout ${remote_branch}
   for s in ${git_submodules}
   do
    ok=$(echo ${git_submodules_excludes} | sed -e "s/.*${s}.*/no/g")
    if [ "${ok}" != "no" ]; then
     echo "git submodule update ${s}"
     git submodule update ${s}
-    treeish=$(git ls-tree ${remote_branch} ${s} | cut -w -f 3)
+    treeish=$(git ls-tree HEAD ${s} | cut -w -f 3)
     cd ${s}
      echo "git archive --format=tar --prefix=${prefix}/${s}/ ${treeish}"
      git archive --format=tar --prefix=${prefix}/${s}/ ${treeish} > \
@@ -95,6 +93,8 @@ cd ${git_local}
     echo "git submodule ${s} excluded"
    fi
   done
+  echo "git checkout master"
+  git checkout master
  fi
  echo "git archive --format=tar --prefix=${prefix}/ ${remote_branch}"
  git archive --format=tar --prefix=${prefix}/ ${remote_branch} > \
@@ -119,7 +119,7 @@ if [ -n "${git_submodules}" ]; then
 fi
 
 cd ${prefix}
- echo "Creating VERSION: ${release}"
+ echo "] Creating VERSION: ${release}"
  echo "[version]" > VERSION
  echo "revision = ${release}" >> VERSION
  cd .. # ${prefix}
@@ -130,6 +130,8 @@ cd ${prefix}
 # package the release.
 #
 if [ -n "${worker}" ]; then
+ wk_name=$(basename ${worker})
+ echo "] Worker: ${wk_name}"
  ${worker} ${package} ${version} ${revision} ${release_url} ${top}
 fi
 
@@ -139,7 +141,7 @@ fi
 echo "tar cf - ${prefix}"
 tar cf - ${prefix} | ${comp} > ../${prefix}.tar.${comp_ext}
 
-echo "Created: ${release}/${prefix}.tar.${comp_ext}"
+echo "] Created: ${release}/${prefix}.tar.${comp_ext}"
 
 #
 # Comman package end.
diff --git a/rtems-release-package-start b/rtems-release-package-start
index 776db22..8442420 100755
--- a/rtems-release-package-start
+++ b/rtems-release-package-start
@@ -58,10 +58,8 @@ else
  worker=
 fi
 
-if [ ${version} -lt 5 ]; then
- revision_no=$(echo ${revision} | sed -e 's/\-.*$//')
-else
- revision_no=$(echo ${revision} | sed -e 's/\..*$//')
+revision_no=$(echo ${revision} | sed -e 's/\-.*$//')
+if [ ${version} -ge 5 ]; then
  even_odd=$(( ${revision_no} % 2 ))
  if [ ${even_odd} -eq 0 ]; then
   revision_no=$(expr ${revision_no} + 1)
@@ -82,10 +80,13 @@ fi
 
 workspace=ws-${package}
 
-echo "Package: ${package}"
-echo "Release: ${release}"
+. ${release_top}/rtems-release-version
+
+echo "] ${title}, v${release}"
+echo "] Package: ${package}"
+echo "] Release: ${release}"
 if [ ${rtems_git_repo} = yes ]; then
- echo "Repo   : ${git_remote}"
+ echo "] Repo   : ${git_remote}"
 fi
 
 if [ ! -e ${release} ]; then
@@ -106,18 +107,24 @@ mkdir ${workspace}
 cd ${workspace}
 
 #
-# Function to map branch names based on package.
+# Function to map package and version to branch names.
 #
 rtems_map_branch()
 {
  # $1=package
- # $2=branch
+ # $2=version
  case "$1" in
   rtems-libbsd)
-   echo "$2-freebsd-${rtems_libbsd_release}"
+   branch="$2-freebsd-${rtems_libbsd_release}"
    ;;
   *)
-   echo "$1"
+   branch="$2"
    ;;
  esac
+ # Get the remote branch. If the release branch is not found use release's master.
+ remote_branch=$(git branch --remote | grep "${branch}$" | tr -d "[:space:]")
+ if [ -z "${remote_branch}" ]; then
+  remote_branch="master"
+ fi
+ echo ${remote_branch}
 }
diff --git a/rtems-release-rsb-version b/rtems-release-rsb-version
index 961037a..54db769 100755
--- a/rtems-release-rsb-version
+++ b/rtems-release-rsb-version
@@ -32,12 +32,6 @@
 set -e
 
 #
-# This script adds the hashes to the release packages to the RSB.
-#
-. ${release_top}/rtems-release-version
-echo "RTEMS Release RSB Versioning, v${rtems_release_version}"
-
-#
 # Defaults.
 #
 . ${release_top}/rtems-release-defaults
@@ -56,11 +50,20 @@ revision=$3
 release_url=$4
 toptop=$5
 
-release=${version}.${revision}
+. ${release_top}/rtems-release-version
+
 prefix=${package}-${release}
 
-echo "Package: ${package}"
-echo "Release: ${release}"
+echo "] RTEMS Release RSB Versioning, v${release}"
+echo "] Package: ${package}"
+echo "] Release: ${release}"
+
+#
+# Conditional add libbsd for an RSB hash if enabled.
+#
+if [ ${rtems_libbsd} = yes ]; then
+ rtems_rsb_hash="${rtems_rsb_hash} rtems-libbsd"
+fi
 
 #
 # Get the release sources path and add it to the VERSION.
@@ -83,6 +86,6 @@ do
   echo "${file} = ${checksum} ${hash}" >> ${prefix}/VERSION
 done
 
-echo "RSB Versioning complete."
+echo "] RSB Versioning complete."
 
 exit 0
diff --git a/rtems-release-sources b/rtems-release-sources
index c47a6ee..7b457a4 100755
--- a/rtems-release-sources
+++ b/rtems-release-sources
@@ -34,8 +34,6 @@ set -e
 #
 # The script collects the sources for all the tools.
 #
-. ${release_top}/rtems-release-version
-echo "RTEMS Release Sources, v${rtems_release_version}"
 
 #
 # Defaults.
@@ -55,21 +53,23 @@ release_url=$3
 
 package=rtems-source-builder
 
-release=${version}.${revision}
+. ./rtems-release-version
+
 prefix=${package}-${release}
 
 checksum=sha512
 
 workspace=ws-${package}
 
+echo "] RTEMS Release Sources, v${release}"
+echo "] Package: ${package}"
+echo "] Release: ${release}"
+
 #
 # Source the source packages to package (haha)
 #
 . rtems-source-packages
 
-echo "Package: ${package}"
-echo "Release: ${release}"
-
 if [ ! -e ${release} ]; then
  mkdir ${release}
 else
@@ -195,7 +195,7 @@ cd ${release}
          cd ${g}
           hash=$(git status | grep '^HEAD detached at ' | sed 's/^HEAD detached at //')
           prefix=$(echo ${g}-${hash} | sed 's/\./\-/')
-          echo "Packaging GIT repo: ${g} to ${prefix}"
+          echo "] Packaging GIT repo: ${g} to ${prefix}"
           git archive --format=tar --prefix=${prefix}/ ${hash} | \
 	      ${comp} > ../../${prefix}.tar.${comp_ext}
           cd ..  # ${g}
@@ -227,7 +227,7 @@ cd ${release}
   ls -1 ${sources}
   for p in $(ls -1 | grep ${sources}/rtems-*.tar.${comp_ext})
   do
-   echo "Removing ${p}"
+   echo "] Removing ${p}"
    rm -f ${p}
   done
   for p in ${rtems_packages}
@@ -249,7 +249,7 @@ cd ${release}
    cd ..   # ${sources}
   cd ..   # ${release}
 
-echo "Created: ${release}/${sources}/${checksum}sum.txt"
-echo "Created: ${release}/${sources}"
+echo "] Created: ${release}/${sources}/${checksum}sum.txt"
+echo "] Created: ${release}/${sources}"
 
 exit 0
diff --git a/rtems-release-tag b/rtems-release-tag
index d77db9b..28103ff 100755
--- a/rtems-release-tag
+++ b/rtems-release-tag
@@ -35,13 +35,17 @@ set -e
 # This is the top level RTEMS release script. Supply the version and and the
 # release.
 #
-. ./rtems-release-version
-echo "RTEMS Release, v${rtems_release_version}"
+
+#
+# Defaults.
+#
+. ${release_top}/rtems-release-defaults
 
 #
 # Global release top path.
 #
-export release_top=${PWD}
+export release_top=$(realpath $(dirname $0))
+cd ${release_top}
 
 #
 # The user, version and revision.
@@ -60,11 +64,6 @@ usage() {
 }
 
 #
-# Defaults.
-#
-. ${release_top}/rtems-release-defaults
-
-#
 # Option defaults
 #
 clone_url=
@@ -97,7 +96,9 @@ user=$1
 version=$2
 revision=$3
 
-release=${version}.${revision}
+. ./rtems-release-version
+
+echo "] RTEMS Release Tag, v${release}"
 
 #
 # Check if clone_url is empty.
diff --git a/rtems-release-version b/rtems-release-version
index a2b7136..b964ff5 100644
--- a/rtems-release-version
+++ b/rtems-release-version
@@ -28,4 +28,22 @@
 # POSSIBILITY OF SUCH DAMAGE.
 #
 
-rtems_release_version="5.0"
+if [ ${version} = "not-set" ]; then
+ echo "error: version not set"
+ exit 1
+fi
+
+if [ ${revision} = "not-set" ]; then
+ echo "error: revision not set"
+ exit 1
+fi
+
+release=${version}.${revision}
+
+#
+# Version configuration. Overrides defaults.
+#
+if [ -f rtems-release-${version}-conf ]; then
+ rtems_release_conf=rtems-release-${version}-conf
+ . rtems-release-${version}-conf
+fi



More information about the vc mailing list