From db971a69cc5d18dc5692ea672f6d3e1633e7fe49 Mon Sep 17 00:00:00 2001 From: Chris Johns Date: Thu, 2 Apr 2020 17:41:46 +1100 Subject: 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@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-@RELEASE@-release-notes.pdf. + +Please drop by the Users mailing list (users@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-@RELEASE@-release-notes.pdf The RTEMS Release notes. - - rtems-@RELEASE@.tar.xz The RTEMS kernel source code. - - rtems-source-builder-@RELEASE@.tar.xz The RTEMS Source Builder source code. - - rtems-tools-@RELEASE@.tar.xz The RTEMS Tools source code. - - rtems-docs-@RELEASE@.tar.xz The RTEMS Documentation source. - - rtems-libbsd-@RELEASE@.tar.xz The RTEMS LibBSD source. - - rtems-doxygen-@RELEASE@.tar.xz The RTEMS CPU Kit doxygen documentation. - - rtems-examples-v2-@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. +@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-@RELEASE@.tar.xz | The RTEMS kernel source code. + - rtems-source-builder-@RELEASE@.tar.xz | The RTEMS Source Builder source code. + - rtems-tools-@RELEASE@.tar.xz | The RTEMS Tools source code. + - rtems-docs-@RELEASE@.tar.xz | The RTEMS Documentation source. + - rtems-libbsd-@RELEASE@.tar.xz | The RTEMS LibBSD source. + - rtems-examples-@RELEASE@.tar.xz | The RTEMS Examples source. + - rtems-@RELEASE@-release-notes.pdf | The RTEMS Release notes. + - sha512sum.txt | The SHA512 checksums for this directory. +@TABLE-END@ RTEMS Documentation ~~~~~~~~~~~~~~~~~~~ @@ -77,32 +81,41 @@ The following manuals are available as compress HTML tar files or PDF: - docs/rtems-docs-@RELEASE@-shell.pdf - docs/rtems-docs-@RELEASE@-shell-html.tar.xz + - RTEMS Doxygen + - docs/rtems-docs-@RELEASE@-shell.pdf + - docs/rtems-docs-@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-@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-@RELEASE@.tar.xz + cd + mkdir -p development/rtems + wget @RELEASE_URL@/sources/rtems-source-builder-@RELEASE@.tar.xz + tar jxf rtems-source-builder-@RELEASE@.tar.xz + cd rtems-source-builder-@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@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-@RELEASE@.tar.xz - $ cd rtems-source-builder-@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@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@rtems.org) +# Copyright 2015,2016,2019,2020 Chris Johns (chrisj@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@rtems.org) +# Copyright 2015,2016,2020 Chris Johns (chrisj@rtems.org) # All rights reserved. # # This file is part of the RTEMS Tools package in 'rtems-tools'. @@ -68,6 +68,18 @@ rtems_release_conf= 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 # 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@rtems.org) +# Copyright 2015,2016,2019,2020 Chris Johns (chrisj@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 -- cgit v1.2.3