summaryrefslogtreecommitdiffstats
path: root/rtems-release-package
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2016-09-04 10:45:52 +1000
committerChris Johns <chrisj@rtems.org>2016-09-04 10:45:52 +1000
commit97cc04c881c7d4333803a2661fe8bb2b4c296a59 (patch)
tree6a59a126d6679e01167a59a88e2792764a0c1b57 /rtems-release-package
downloadrtems-release-97cc04c881c7d4333803a2661fe8bb2b4c296a59.tar.bz2
Initial addition of the RTEMS releasing scripts.
Diffstat (limited to 'rtems-release-package')
-rwxr-xr-xrtems-release-package98
1 files changed, 98 insertions, 0 deletions
diff --git a/rtems-release-package b/rtems-release-package
new file mode 100755
index 0000000..6758270
--- /dev/null
+++ b/rtems-release-package
@@ -0,0 +1,98 @@
+#! /bin/sh
+#
+# RTEMS Tools Project (http://www.rtems.org/)
+# Copyright 2015-2016 Chris Johns (chrisj@rtems.org)
+# All rights reserved.
+#
+# This file is part of the RTEMS Tools package in 'rtems-tools'.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# 1. Redistributions of source code must retain the above copyright notice,
+# this list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+
+#
+# This script packages a package in a tar file.
+#
+echo "RTEMS Release Package, v0.1"
+
+#
+# Stop on any error
+#
+set -e
+
+#
+# Common package start.
+#
+. ./rtems-release-package-start
+
+#
+# Work in a package specific directory in the release directory.
+#
+echo "git clone ${git_remote} ${git_local}"
+git clone ${git_remote} ${git_local}
+
+stamped_tar=${prefix}-unstamped.tar.xz
+
+cd ${git_local}
+echo "git fetch origin"
+git fetch origin
+echo "git archive --format=tar --prefix=${prefix}/ origin/${version}"
+git archive --format=tar --prefix=${prefix}/ origin/${version} | \
+ xz > ../${stamped_tar}
+cd ..
+
+if [ ! -f ${stamped_tar} ]; then
+ echo "error: git archive failed, no tar file"
+ exit 1
+fi
+echo "tar Jxf ${stamped_tar}"
+tar Jxf ${stamped_tar}
+
+cd ${prefix}
+echo "Creating VERSION: ${release}"
+echo "[version]" > VERSION
+echo "release = ${release}" >> VERSION
+cd ..
+
+#
+# Run the worker script if provided. It can perform any package
+# specific set up functions. This is done before we finally
+# package the release.
+#
+if [ -n "${worker}" ]; then
+ ${worker} ${package} ${version} ${revision} ${top}
+fi
+
+#
+# The '..' is the release directory.
+#
+echo "tar cf - ${prefix}"
+tar cf - ${prefix} | xz > ../${prefix}.tar.xz
+
+echo "Created: ${release}/${prefix}.tar.xz"
+
+#
+# Comman package end.
+#
+. ${top}/rtems-release-package-end
+
+exit 0