[rtems-release commit] Move all source into `sources`

Chris Johns chrisj at rtems.org
Thu Apr 2 09:28:12 UTC 2020


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

Author:    Chris Johns <chrisj at rtems.org>
Date:      Thu Apr  2 17:41:46 2020 +1100

Move all source into `sources`

- Update the README.txt to reference all the sources in the
  `sources` directory. Also fix the table formatting.
- Add support for a release url to aid test and support deployment.
- Make the docs and sources directory defaults

---

 README.txt.in               | 101 +++++++++++++++++++++++++-------------------
 rtems-release               |  24 ++++++++---
 rtems-release-defaults      |  14 +++++-
 rtems-release-docs          |  30 +++++++++----
 rtems-release-kernel        |   2 +-
 rtems-release-package       |   2 +-
 rtems-release-package-start |   2 +-
 rtems-release-sources       |  33 +++++++++------
 8 files changed, 133 insertions(+), 75 deletions(-)

diff --git a/README.txt.in b/README.txt.in
index 65b9f7e..d512fa7 100644
--- a/README.txt.in
+++ b/README.txt.in
@@ -4,19 +4,21 @@ RTEMS Embedded Realtime Operating System
 Release: @RELEASE@
 Date   : @DATE@
 
-The Real-Time Executive for Multiprocessor Systems or RTEMS is an open
-source Real Time Operating System (RTOS) that supports open standard
-application programming interfaces (API) such as POSIX. It is used in
-space flight, medical, networking and many more embedded devices using
-processor architectures including ARM, PowerPC, SPARC, Intel, RISCV,
-MIPS, NIOS-II, Microblaze and more.
+The Real-Time Executive for Multiprocessor Systems or RTEMS is an open source
+Real Time Operating System (RTOS) that supports open standard application
+programming interfaces (API) such as POSIX. It is used in space flight,
+medical, networking and many more embedded devices using processor
+architectures including ARM, PowerPC, SPARC, Intel, RISCV, MIPS, NIOS-II,
+Microblaze and more (a full list is provided at the end).
 
-This directory contains the source code for the RTEMS @VERSION@ operating
-system and tools. Please refer to the RTEMS Developers Wiki for the release
-notes.
+This release directory contains the source code for the RTEMS @RELEASE@
+operating system and tools. All the documenation provided in HTML and PDF
+formats.
 
-Please drop by the Users mailing list (users at rtems.org) and let us know how you
-are using RTEMS. We love hearing about user's projects.
+The release note are contained in rtems- at RELEASE@-release-notes.pdf.
+
+Please drop by the Users mailing list (users at rtems.org) and let us know how
+you are using RTEMS. We love hearing about user's projects.
 
 Many thanks to everyone who helped create this release.
 
@@ -27,7 +29,7 @@ RTEMS Web Sites
 ~~~~~~~~~~~~~~~
 
       Home: https://www.rtems.org/
-Developers: https://devel.rtems.org/
+      Wiki: https://devel.rtems.org/
       Docs: https://docs.rtems.org/
        Bug: https://devel.rtems.org/query
      Lists: https://lists.rtems.org/
@@ -36,19 +38,21 @@ Developers: https://devel.rtems.org/
 Release Files
 ~~~~~~~~~~~~~
 
- - README.txt                                   This document.
- - contrib                                      Directory contains extra release related files.
- - rtems- at RELEASE@-release-notes.pdf               The RTEMS Release notes.
- - rtems- at RELEASE@.tar.xz                          The RTEMS kernel source code.
- - 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.
- - rtems-doxygen- at RELEASE@.tar.xz                  The RTEMS CPU Kit doxygen documentation.
- - rtems-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.
+ at TABLE-START@
+ - README.txt                              | This document.
+ - contrib                                 | Directory contains extra release related files.
+ - docs:                                   | The generated RTEMS documentation.
+   - RTEMS Documentation                   | See below.
+ - sources:                                | The source code for this release.
+   - rtems- at RELEASE@.tar.xz                | The RTEMS kernel source code.
+   - 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.
+   - rtems-examples- at RELEASE@.tar.xz       | The RTEMS Examples source.
+ - rtems- at RELEASE@-release-notes.pdf       | The RTEMS Release notes.
+ - sha512sum.txt                           | The SHA512 checksums for this directory.
+ at TABLE-END@
 
 RTEMS Documentation
 ~~~~~~~~~~~~~~~~~~~
@@ -77,32 +81,41 @@ The following manuals are available as compress HTML tar files or PDF:
   - docs/rtems-docs- at RELEASE@-shell.pdf
   - docs/rtems-docs- at RELEASE@-shell-html.tar.xz
 
+ - RTEMS Doxygen
+  - docs/rtems-docs- at RELEASE@-shell.pdf
+  - docs/rtems-docs- at RELEASE@-shell-html.tar.xz
+
 Quick Guide to Building
 ~~~~~~~~~~~~~~~~~~~~~~~
 
-To build the tools and kernel for an architecture download:
+For new user rhe Quick Start in the User Manual contains a details Quick Start
+guide. Download the User Manual:
+
+  @RELEASE_URL@/docs/rtems-docs- at RELEASE@-user.pdf
+
+and follow the instructions in the Quick Start section. If are familiar with
+RTEMS or just want to get going the following steps will download the RTEMS
+Source Builder:
 
-  rtems-source-builder- at RELEASE@.tar.xz
+  cd
+  mkdir -p development/rtems
+  wget @RELEASE_URL@/sources/rtems-source-builder- at RELEASE@.tar.xz
+  tar jxf rtems-source-builder- at RELEASE@.tar.xz
+  cd rtems-source-builder- at RELEASE@/rtems
 
-Please check to the RSB documentation (https://docs.rtems.org/rsb/) and the
-Wiki (TBD) if you have any issues.
+To build the tools for the ARM architecture:
 
-If you encounter a problem please post to the user at rtems.org mailing list and
-if you find a bug please raise a ticket (https://devel.rtems.org/newticket).
+  ../source-builder/sb-set-builder \
+    --prefix=$HOME/development/rtems/@RELEASE@ \
+    @VERSION@/rtems-arm
 
-The following builds RTEMS for the SPARC architecture:
+To build the tools, kernel and all packages for the Beagleboneblack:
 
- $ cd
- $ mkdir development/rtems
- $ cd development/rtems
- $ tar Jxf rtems-source-builder- at RELEASE@.tar.xz
- $ cd rtems-source-builder- at RELEASE@/rtems
- $ ../source-builder/sb-set-builder \
-         --prefix=$HOME/development/rtems/@RELEASE@ \
-         @VERSION@/rtems-sparc
+  ../source-builder/sb-set-builder \
+    --prefix=$HOME/development/rtems/@RELEASE@ \
+    @VERSION@/bsps/beagleboneblack
 
-To disable building the RTEMS Kernel add to the command line '--without-rtems'.
+If you encounter a problem please post to the user at rtems.org mailing list. You
+can join the Users mailing at https://lists.rtems.org/.
 
-To build a single BSP add to the command line '--with-rtemsbsp'. You can
-specify more than one BSP with quotes and a space delimiting the BSP names. By
-default all BSPs for an architecture are built.
+If you find a bug please raise a ticket at https://devel.rtems.org/newticket.
diff --git a/rtems-release b/rtems-release
index 7d3c671..f4bbfe3 100755
--- a/rtems-release
+++ b/rtems-release
@@ -1,7 +1,7 @@
 #! /bin/sh
 #
 # RTEMS Tools Project (http://www.rtems.org/)
-# Copyright 2015,2016,2019 Chris Johns (chrisj at rtems.org)
+# Copyright 2015,2016,2019,2020 Chris Johns (chrisj at rtems.org)
 # All rights reserved.
 #
 # This file is part of the RTEMS Tools package in 'rtems-tools'.
@@ -80,7 +80,6 @@ while getopts ":u:" opt; do
 done
 shift $((OPTIND-1))
 
-
 if [ $# -ne 2 ]; then
  echo "error: 2 arguments must be supplied, version and revision. See -h for help"
  exit 1
@@ -145,13 +144,28 @@ echo "Collect tools sources"
 ./rtems-release-sources ${version} ${revision} ${release_url}
 
 #
-# Create the README.txt
+# Create the README.txt.
+#
+# The initial stage is done in a few steps where the release files table is cut
+# out of the input template file and formatted using the column command and
+# inserted back.
 #
+escaped_release_url=$(echo ${release_url} | sed -e 's/\//\\\//g')
 cat ${rtems_readme} | \
-    sed -e "s/@RELEASE@/${release}/g" \
+    sed -e "s/@RELEASE_URL@/${escaped_release_url}/g" \
+	-e "s/@RELEASE@/${release}/g" \
 	-e "s/@VERSION@/${version}/g" \
 	-e "s/@REVISION@/${revision}/g" \
-	-e "s/@DATE@/${now}/g" > ${release}/README.txt
+	-e "s/@DATE@/${now}/g" > ${release}/README.1.txt
+cat ${release}/README.1.txt | \
+    sed -n '/^@TABLE-START@/,/^@TABLE-END@/p' | \
+    sed -e 's/@TABLE-START@//g' -e 's/@TABLE-END@//g' | \
+    column -s '|' -t | \
+    sed -e 's/$/\\/' > ${release}/README.2.txt
+cat ${release}/README.1.txt | \
+    sed -e "/@TABLE-START@/,/@TABLE-END@/c\\
+$(cat ${release}/README.2.txt)" > ${release}/README.txt
+rm -f ${release}/README.1.txt ${release}/README.2.txt
 if [ -n "${rtems_readme_release_notes}" ]; then
  echo >> ${release}/README.txt
  echo "Release Notes" >> ${release}/README.txt
diff --git a/rtems-release-defaults b/rtems-release-defaults
index b6c75bf..60d9721 100755
--- a/rtems-release-defaults
+++ b/rtems-release-defaults
@@ -1,6 +1,6 @@
 #
 # RTEMS Tools Project (http://www.rtems.org/)
-# Copyright 2015-2016 Chris Johns (chrisj at rtems.org)
+# Copyright 2015,2016,2020 Chris Johns (chrisj at rtems.org)
 # All rights reserved.
 #
 # This file is part of the RTEMS Tools package in 'rtems-tools'.
@@ -69,6 +69,18 @@ rtems_release_url=https://ftp.rtems.org/pub/rtems/releases
 rtems_rsb_hash="rtems-tools rtems"
 
 #
+# RTEMS packages
+#
+rtems_packages="rtems-source-builder rtems rtems-tools rtems-libbsd"
+rtems_packages="${rtems_packages} rtems-examples rtems-docs"
+
+#
+# Where we collect the sources and docs.
+#
+sources="sources"
+docs="docs"
+
+#
 # The date stamp
 #
 now=$(date +"%d %B %Y")
diff --git a/rtems-release-docs b/rtems-release-docs
index a5fa921..e0a7116 100755
--- a/rtems-release-docs
+++ b/rtems-release-docs
@@ -91,7 +91,8 @@ cd ${prefix}
  #
  echo "Creating VERSION: ${release}"
  if [ ${version} -le 5 ]; then
-   cat wscript | sed -e "s/^version[[:space:]].*=.*$/version = '${release}'/g" > wscript.tmp
+   cat wscript | \
+    sed -e "s/^version[[:space:]].*=.*$/version = '${release}'/g" > wscript.tmp
    rm -f wscript
    mv wscript.tmp wscript
  else
@@ -127,10 +128,11 @@ cd ${prefix}
 #
 # Package the docs, PDF first.
 #
-mkdir ${top}/${release}/docs
+mkdir ${top}/${release}/${docs}
 cd install
  echo "Creating DOC all rtems-${release}-docs-all.tar.${comp_ext}"
- tar cf - * | ${comp} > ${top}/${release}/docs/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)
  do
   manual=$(echo $(basename $p) | sed -e "s/\\..*//")
@@ -140,20 +142,20 @@ cd install
   #
   echo "Creating PDF rtems-${release}-${manual}.pdf.${comp_ext}"
   ${comp} $p
-  mv $p.${comp_ext} ${top}/${release}/docs/rtems-${release}-${manual}.pdf.${comp_ext}
+  mv $p.${comp_ext} ${top}/${release}/${docs}/rtems-${release}-${manual}.pdf.${comp_ext}
   #
   # Create the single html manual
   #
   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/.
+  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}"
   tar cf - ${base}/${manual} | \
-      ${comp} > ${top}/${release}/docs/rtems-${release}-${manual}-html.tar.${comp_ext}
+      ${comp} > ${top}/${release}/${docs}/rtems-${release}-${manual}-html.tar.${comp_ext}
  done
  cd ..
 
@@ -162,7 +164,17 @@ cd install
 #
 . ${top}/rtems-release-package-end
 
-cd ${release}/docs
+cd ${release}/${docs}
+ #
+ # If doxygen information has been generate move it into the docs.
+ #
+ for p in ../rtems-${release}-doxygen.tar.${comp_ext}
+ do
+  if [ -e ${p} ]; then
+    mv ${p} .
+  fi
+ done
+
  rm -f ${checksum}sum.txt
  for f in $(ls -1)
  do
@@ -173,7 +185,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 ab48adb..8db3c0e 100755
--- a/rtems-release-kernel
+++ b/rtems-release-kernel
@@ -151,6 +151,6 @@ else
  mv html rtems-doxygen-${release}
 fi
 tar cf - rtems-doxygen-${release} | \
-    ${comp} > ../rtems-doxygen-${release}.tar.${comp_ext}
+    ${comp} > ../rtems-${release}-doxygen.tar.${comp_ext}
 
 exit 0
diff --git a/rtems-release-package b/rtems-release-package
index 8e2ca53..b291673 100755
--- a/rtems-release-package
+++ b/rtems-release-package
@@ -120,7 +120,7 @@ cd ${prefix}
  echo "Creating VERSION: ${release}"
  echo "[version]" > VERSION
  echo "revision = ${release}" >> VERSION
- cd ..   # ${prefix}
+ 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 92ad89b..5a86621 100755
--- a/rtems-release-package-start
+++ b/rtems-release-package-start
@@ -1,5 +1,5 @@
 # RTEMS Tools Project (http://www.rtems.org/)
-# Copyright 2015,2016,2019 Chris Johns (chrisj at rtems.org)
+# Copyright 2015,2016,2019,2020 Chris Johns (chrisj at rtems.org)
 # All rights reserved.
 #
 # This file is part of the RTEMS Tools package in 'rtems-tools'.
diff --git a/rtems-release-sources b/rtems-release-sources
index e6f88ca..3e3f0da 100755
--- a/rtems-release-sources
+++ b/rtems-release-sources
@@ -209,12 +209,12 @@ cd ${release}
    #
    # Export the sources and patches.
    #
-   rm -rf ${top}/${release}/sources
-   mkdir ${top}/${release}/sources
+   rm -rf ${top}/${release}/${sources}
+   mkdir ${top}/${release}/${sources}
    for p in ${export_source}
    do
-    cp ${p}/sources/* ${top}/${release}/sources/
-    cp ${p}/patches/* ${top}/${release}/sources/
+    cp ${p}/sources/* ${top}/${release}/${sources}/
+    cp ${p}/patches/* ${top}/${release}/${sources}/
    done
    cd ..   # ${prefix}
   cd ..   # ${workspace}
@@ -222,16 +222,23 @@ cd ${release}
   rm -rf ${workspace}
 
   #
-  # Copy the stamped packages from the top level release directory to the
-  # sources directory. The RSB requires all source be in the `sources`
-  # directory under the release URL.
+  # Remove any copies from the sources, the top level ones are the correct
+  # version.
   #
-  for p in rtems-tools rtems
+  ls -1 ${sources}
+  for p in $(ls -1 | grep ${sources}/rtems-*.tar.${comp_ext})
   do
-   cp ${p}-${release}.tar.${comp_ext} sources/${p}-${release}.tar.${comp_ext}
+   echo "Removing ${p}"
+   rm -f ${p}
+  done
+  for p in ${rtems_packages}
+  do
+   if [ -e ${p}-${release}.tar.${comp_ext} ]; then
+    mv ${p}-${release}.tar.${comp_ext} ${sources}/${p}-${release}.tar.${comp_ext}
+   fi
   done
 
-  cd sources
+  cd ${sources}
    rm -f ${checksum}sum.txt
    for f in $(ls -1)
    do
@@ -240,10 +247,10 @@ cd ${release}
      echo "${csum} ${f}" >> ${checksum}sum.txt
     fi
    done
-   cd ..   # sources
+   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



More information about the vc mailing list