[rtems-release commit] Add examples-v2 and libbsd.

Chris Johns chrisj at rtems.org
Fri Nov 11 02:34:29 UTC 2016


Module:    rtems-release
Branch:    master
Commit:    e86b33f5093b99a3194fcd28ead8936b0c3c5821
Changeset: http://git.rtems.org/rtems-release/commit/?id=e86b33f5093b99a3194fcd28ead8936b0c3c5821

Author:    Chris Johns <chrisj at rtems.org>
Date:      Fri Nov 11 02:31:43 2016 +0000

Add examples-v2 and libbsd.

These repos have submodules which need special handling to archive.

Add release notes.

---

 README.txt.in                                      |  2 +
 rtems-release                                      | 27 ++++++++--
 ...elease-defaults-4.10 => rtems-release-4.10-conf |  1 +
 rtems-release-4.11-conf                            | 42 ++++++++++++++++
 rtems-release-package                              | 57 +++++++++++++++++++---
 rtems-release-package-start                        |  1 +
 6 files changed, 118 insertions(+), 12 deletions(-)

diff --git a/README.txt.in b/README.txt.in
index 7a79724..69ca0b1 100644
--- a/README.txt.in
+++ b/README.txt.in
@@ -42,6 +42,8 @@ Release Files
  - rtems-source-builder- at RELEASE@.tar.xz	The RTEMS Source Builder source code.
  - rtems-tools- at RELEASE@.tar.xz			The RTEMS Tools source code.
  - rtems-docs- at RELEASE@.tar.xz			The RTEMS Documentation source.
+ - rtems-libbsd- at RELEASE@.tar.xz		The RTEMS LibBSD source.
+ - examples-v2- at RELEASE@.tar.xz			The RTEMS Examples source.
  - sha512sum.txt				The SHA512 checksums for this directory.
  - docs						The generated RTEMS documentation.
  - sources					The source code the tools for this release.
diff --git a/rtems-release b/rtems-release
index 230cb8a..4eeadc5 100755
--- a/rtems-release
+++ b/rtems-release
@@ -63,14 +63,20 @@ checksum=sha512
 #
 # Defaults.
 #
+rtems_examples=yes
+rtems_libbsd=yes
 rtems_docs=yes
+rtems_docs_build=sphinx
 rtems_readme=README.txt.in
+rtems_readme_release_notes=
+rtems_release_conf=
 
 #
-# Version default settings.
+# Version configuration. Overrides defaults.
 #
-if [ -f rtems-release-defaults-${version} ]; then
- . rtems-release-defaults-${version}
+if [ -f rtems-release-${version}-conf ]; then
+ rtems_release_conf=rtems-release-${version}-conf
+ . rtems-release-${version}-conf
 fi
 
 build()
@@ -93,6 +99,12 @@ build rtems-source-builder ${version} ${revision}
 build rtems-tools          ${version} ${revision}
 build rtems                ${version} ${revision} rtems-release-kernel
 build rtems-source-builder ${version} ${revision} rtems-release-rsb-hashing
+if [ ${rtems_examples} = yes ]; then
+ build examples-v2         ${version} ${revision}
+fi
+if [ ${rtems_libbsd} = yes ]; then
+ build rtems-libbsd        ${version} ${revision}
+fi
 
 #
 # Documentation.
@@ -116,6 +128,13 @@ cat ${rtems_readme} | \
 	-e "s/@VERSION@/${version}/g" \
 	-e "s/@REVISION@/${revision}/g" \
 	-e "s/@DATE@/${now}/g" > ${release}/README.txt
+if [ -n "${rtems_readme_release_notes}" ]; then
+ echo >> ${release}/README.txt
+ echo "Release Notes" >> ${release}/README.txt
+ echo "~~~~~~~~~~~~~" >> ${release}/README.txt
+ echo >> ${release}/README.txt
+ echo "${rtems_readme_release_notes}" >> ${release}/README.txt
+fi
 echo >> ${release}/README.txt
 echo "RTEMS Architectures and BSPs" >> ${release}/README.txt
 echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~" >> ${release}/README.txt
@@ -130,7 +149,7 @@ mkdir -p ${release}/contrib/releasing
 for f in README.txt \
 	 README.txt.in \
          rtems-release \
-	 rtems-release-defaults-4.10 \
+	 ${rtems_release_conf} \
 	 rtems-release-docs \
 	 rtems-release-kernel \
          rtems-release-package \
diff --git a/rtems-release-defaults-4.10 b/rtems-release-4.10-conf
similarity index 98%
rename from rtems-release-defaults-4.10
rename to rtems-release-4.10-conf
index 91dba75..c87ca00 100755
--- a/rtems-release-defaults-4.10
+++ b/rtems-release-4.10-conf
@@ -32,5 +32,6 @@
 #
 # The script is the defaults for 4.10.
 #
+rtems_libbsd=no
 rtems_docs=no
 rtems_readme=README-4.10.txt.in
diff --git a/rtems-release-4.11-conf b/rtems-release-4.11-conf
new file mode 100755
index 0000000..c8e89c1
--- /dev/null
+++ b/rtems-release-4.11-conf
@@ -0,0 +1,42 @@
+#! /bin/sh
+#
+# RTEMS Tools Project (http://www.rtems.org/)
+# Copyright 2015-2016 Chris Johns (chrisj at 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.
+#
+
+#
+# The script is the overridded configuration for 4.11.
+#
+rtems_readme_release_notes="$(cat <<- EOF
+- The rtems-libbsd package is experimental in this release.
+  You need to closely evaluate it's suitablility for production.
+
+- SMP support is experimental in this release and we recommend a
+  later release.
+EOF
+)"
diff --git a/rtems-release-package b/rtems-release-package
index 02f5d7e..506a13b 100755
--- a/rtems-release-package
+++ b/rtems-release-package
@@ -50,28 +50,69 @@ set -e
 echo "git clone ${git_remote} ${git_local}"
 git clone ${git_remote} ${git_local}
 
-stamped_tar=${prefix}-unstamped.tar.xz
+stamped_tar=${prefix}-unstamped
 
+#
+# Clone the repo and then check if there are any submodules.
+#
+# If there are submodules, exclude the ones we do not wish to package, eg the
+# whole of the FreeBSD source tree. For the ones to package get the commit
+# (treeish) for the branch we releasing and then create an archive. The
+# submodule archives are merged into the main archive once we have collected
+# them all.
+#
+#
 cd ${git_local}
  echo "git fetch origin"
  git fetch origin
+ git_submodules=$(git submodule | cut -w -f 2)
+ if [ -n "${git_submodules}" ]; then
+  echo "git submodules found ...."
+  git submodule init
+  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 origin/${version} ${s} | cut -w -f 3)
+    cd ${s}
+     echo "git archive --format=tar --prefix=${prefix}/${s}/ ${treeish}"
+     git archive --format=tar --prefix=${prefix}/${s}/ ${treeish} > \
+ 	                                  ../../${stamped_tar}-${s}.tar
+     cd ..   # ${s}
+   else
+    echo "git submodule ${s} excluded"
+   fi
+  done
+ fi
  echo "git archive --format=tar --prefix=${prefix}/ origin/${version}"
- git archive --format=tar --prefix=${prefix}/ origin/${version} | \
-     xz > ../${stamped_tar}
- cd ..
+ git archive --format=tar --prefix=${prefix}/ origin/${version} > \
+                                          ../${stamped_tar}.tar
+ cd ..   # ${git_local}
 
-if [ ! -f ${stamped_tar} ]; then
+if [ ! -f ${stamped_tar}.tar ]; then
  echo "error: git archive failed, no tar file"
  exit 1
 fi
-echo "tar Jxf ${stamped_tar}"
-tar Jxf ${stamped_tar}
+echo "tar Jxf ${stamped_tar}.tar"
+tar Jxf ${stamped_tar}.tar
+if [ -n "${git_submodules}" ]; then
+ for s in ${git_submodules}
+ do
+   ok=$(echo ${git_submodules_excludes} | sed -e "s/.*${s}.*/no/g")
+   if [ "${ok}" != "no" ]; then
+    echo "tar Jxf ${stamped_tar}-${s}.tar"
+    tar Jxf ${stamped_tar}-${s}.tar
+   fi
+ done
+fi
 
 cd ${prefix}
  echo "Creating VERSION: ${release}"
  echo "[version]" > VERSION
  echo "release = ${release}" >> VERSION
- cd ..
+ cd ..   # ${prefix}
 
 #
 # Run the worker script if provided. It can perform any package
diff --git a/rtems-release-package-start b/rtems-release-package-start
index dae9d0b..c98d0fe 100755
--- a/rtems-release-package-start
+++ b/rtems-release-package-start
@@ -62,6 +62,7 @@ prefix=${package}-${release}
 
 git_remote=git://git.rtems.org/${package}.git
 git_local=${package}-release-${release}.git
+git_submodules_excludes="freebsd-org"
 
 workspace=ws-${package}
 



More information about the vc mailing list