| 54 | RTEMS Release 5 and Higher version numbers |
| 55 | ========================================== |
| 56 | RTEMS includes its version numbers in different commands to build tools |
| 57 | specific to a particular versions. You will see that in coming examples, to |
| 58 | enable ourselves to make these tools properly we must learn how RTEMS |
| 59 | Release and version numbers work. Let us start with the terminology *release*. |
| 60 | |
| 61 | *RELEASE TERMINOLOGY* |
| 62 | A release is the creation of any generated files and their packaging |
| 63 | together with the source in a repository that makes the package available |
| 64 | as a file. |
| 65 | A release branch is a git branch pushed to the repositories. |
| 66 | A release branch release is a git tag on a release branch with |
| 67 | the tags pushed to the repositories. |
| 68 | |
| 69 | The numbering of RTEMS releases and versions goes like this. |
| 70 | The master branch has the version **N.0.0** with N being the next major release |
| 71 | number. The first release of this series will have the version number **N.1.0.** |
| 72 | There will be exactly one commit with this version number in the corresponding |
| 73 | repository. The first bugfix release (minor release) of this series will have |
| 74 | the version number **N.2.0**. The release branch will have the version |
| 75 | number **N.M.1** with **M** being the last minor release of this series. |
| 76 | You will better understand with this example: |
| 77 | |
| 78 | + 5.0.0 is the version number of the development master for the 5 series. |
| 79 | + 5.1.0 is the first release of the 5 series. |
| 80 | + 5.1.1 is the version number of the 5 series release branch right after |
| 81 | the 5.1.0 release until 5.2.0 is released. |
| 82 | + 5.2.0 is the first bugfix release of the 5 series |
| 83 | + 5.2.1 is the version number of the 5 series release branch right after |
| 84 | the 5.2.0 release until 5.3.0 is released. |
| 85 | + 6.0.0 is the version number of the development master for the 6 series. |
| 86 | |
| 87 | Tools will use **N** as the version number and must work with all releases and |
| 88 | the release branch of the N series. So to build tools for version number 5.1.0 |
| 89 | use 5 which is the **N** here . |
| 90 | |
61 | | ... |
| 100 | Cloning into 'rsb'... |
| 101 | remote: Counting objects: 8517, done. |
| 102 | remote: Compressing objects: 100% (4981/4981), done. |
| 103 | remote: Total 8517 (delta 5906), reused 5029 (delta 3494) |
| 104 | Receiving objects: 100% (8517/8517), 2.86 MiB | 136.00 KiB/s, done. |
| 105 | Resolving deltas: 100% (5906/5906), done. |
| 106 | Checking out files: 100% (436/436), done. |
67 | | --prefix=/usr/home/chris/development/rtems/5 5/rtems-sparc |
68 | | ... |
| 113 | > --prefix=/usr/home/chris/development/rtems/5 5/rtems-sparc |
| 114 | RTEMS Source Builder - Set Builder, 5 (089327b5dcf9) |
| 115 | Build Set: 5/rtems-sparc |
| 116 | Build Set: 5/rtems-autotools.bset |
| 117 | Build Set: 5/rtems-autotools-internal.bset |
| 118 | config: tools/rtems-autoconf-2.69-1.cfg |
| 119 | package: autoconf-2.69-x86_64-linux-gnu-1 |
| 120 | Creating source directory: sources |
| 121 | download: ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz -> sources/autoconf-2.69.tar.gz |
| 122 | downloading: sources/autoconf-2.69.tar.gz - 1.8MB of 1.8MB (100%) |
| 123 | building: autoconf-2.69-x86_64-linux-gnu-1 |
| 124 | config: tools/rtems-automake-1.12.6-1.cfg |
| 125 | ..... |
| 126 | installing: sparc-rtems5-kernel-5-1 -> /usr/home/chris/development/rtems/5 |
| 127 | cleaning: expat-2.1.0-x86_64-linux-gnu-1 |
| 128 | cleaning: sparc-rtems5-binutils-2.29-x86_64-linux-gnu-1 |
| 129 | cleaning: sparc-rtems5-gcc-7.2.0-newlib-2.5.0.20170922-x86_64-linux-gnu-1 |
| 130 | cleaning: sparc-rtems5-gdb-8.0.1-x86_64-linux-gnu-1 |
| 131 | cleaning: rtems-tools-HEAD-1 |
| 132 | cleaning: sparc-rtems5-kernel-5-1 |
| 133 | Build Set: Time 0:39:33.988995 |
| 134 | |
| 135 | |
82 | | ... |
| 149 | Cloning into 'rtems'... |
| 150 | remote: Counting objects: 547391, done. |
| 151 | remote: Compressing objects: 100% (97632/97632), done. |
| 152 | remote: Total 547391 (delta 440626), reused 542940 (delta 437336) |
| 153 | Receiving objects: 100% (547391/547391), 79.23 MiB | 226.00 KiB/s, done. |
| 154 | Resolving deltas: 100% (440626/440626), done. |
| 155 | Checking out files: 100% (9588/9588), done. |
85 | | ... |
| 158 | removing automake generated Makefile.in files |
| 159 | removing configure files |
| 160 | removing aclocal.m4 files |
| 161 | RTEMS Source Builder - RTEMS Bootstrap, 5 (77a00753035c) |
| 162 | 1/119: autoreconf: configure.ac |
| 163 | 2/119: autoreconf: c/configure.ac |
| 164 | 3/119: autoreconf: c/src/configure.ac |
| 165 | .... |
| 166 | 118/119: autoreconf: testsuites/sptests/configure.ac |
| 167 | 119/119: autoreconf: testsuites/tmtests/configure.ac |
| 168 | Bootstrap time: 1:35:32.674502 |
90 | | --target=sparc-rtems5 --enable-rtemsbsp=erc32 --enable-posix |
91 | | ... |
| 173 | > --target=sparc-rtems5 --enable-rtemsbsp=erc32 --enable-posix |
| 174 | configure: loading site script /mingw64/etc/config.site |
| 175 | checking for gmake... no |
| 176 | checking for make... make |
| 177 | checking for RTEMS Version... 5.0.0 |
| 178 | checking build system type... x86_64-w64-mingw32 |
| 179 | .... |
| 180 | target architecture: sparc. |
| 181 | available BSPs: erc32. |
| 182 | 'make all' will build the following BSPs: erc32. |
| 183 | other BSPs can be built with 'make RTEMS_BSP="bsp1 bsp2 ..."' |
| 184 | |
| 185 | config.status: creating Makefile |
| 186 | |
93 | | ... |
| 188 | Making all in sparc-rtems5/c |
| 189 | make[1]: Entering directory '/d/development/rtems/kernel/erc32/sparc-rtems5/c' |
| 190 | Making all in . |
| 191 | make[2]: Entering directory '/d/development/rtems/kernel/erc32/sparc-rtems5/c' |
| 192 | Configuring RTEMS_BSP=erc32 |
| 193 | configure: loading site script /mingw64/etc/config.site |
| 194 | checking for gmake... no |
| 195 | checking for make... make |
| 196 | checking build system type... x86_64-w64-mingw32 |
| 197 | checking host system type... sparc-unknown-rtems5 |
| 198 | checking rtems target cpu... sparc |
| 199 | checking for a BSD-compatible install... /usr/bin/install -c |
| 200 | checking whether build environment is sane... yes |
| 201 | checking for sparc-rtems5-strip... sparc-rtems5-strip |
| 202 | checking for a thread-safe mkdir -p... /usr/bin/mkdir -p |
| 203 | checking for gawk... gawk |
| 204 | checking whether make sets $(MAKE)... yes |
| 205 | checking whether to enable maintainer-specific portions of Makefiles... no |
| 206 | checking for RTEMS_BSP... erc32 |
| 207 | checking whether CPU supports libposix... yes |
| 208 | .... |
| 209 | libbsp/sparc/erc32/librtemsbsp.a ./../../cpukit/librtemscpu.a |
| 210 | make[5]: Leaving directory '/d/development/rtems/kernel/erc32/sparc-rtems5/c/erc32/testsuites/samples' |
| 211 | make[4]: Leaving directory '/d/development/rtems/kernel/erc32/sparc-rtems5/c/erc32/testsuites' |
| 212 | make[3]: Leaving directory '/d/development/rtems/kernel/erc32/sparc-rtems5/c/erc32' |
| 213 | make[2]: Leaving directory '/d/development/rtems/kernel/erc32/sparc-rtems5/c/erc32' |
| 214 | make[1]: Leaving directory '/d/development/rtems/kernel/erc32/sparc-rtems5/c' |
| 215 | make[1]: Entering directory '/d/development/rtems/kernel/erc32' |
| 216 | make[1]: Nothing to be done for 'all-am'. |
| 217 | make[1]: Leaving directory '/d/development/rtems/kernel/erc32' |
| 218 | |
| 220 | Making install in sparc-rtems5/c |
| 221 | make[1]: Entering directory '/d/development/rtems/kernel/erc32/sparc-rtems5/c' |
| 222 | Making install in . |
| 223 | make[2]: Entering directory '/d/development/rtems/kernel/erc32/sparc-rtems5/c' |
| 224 | make[3]: Entering directory '/d/development/rtems/kernel/erc32/sparc-rtems5/c' |
| 225 | make[3]: Nothing to be done for 'install-exec-am'. |
| 226 | make[3]: Nothing to be done for 'install-data-am'. |
| 227 | make[3]: Leaving directory '/d/development/rtems/kernel/erc32/sparc-rtems5/c' |
| 228 | make[2]: Leaving directory '/d/development/rtems/kernel/erc32/sparc-rtems5/c' |
| 229 | Making install in erc32 |
| 230 | .... |
| 231 | /usr/bin/install -c -m 644 /d/development/rtems/kernel/rtems/make/main.cfg /d/development/rtems/kernel/rtems/make/leaf.cfg '/d/development/rtems/5/make' |
| 232 | /usr/bin/mkdir -p '/d/development/rtems/5/share/rtems5/make/Templates' |
| 233 | /usr/bin/install -c -m 644 /d/development/rtems/kernel/rtems/make/Templates/Makefile.dir /d/development/rtems/kernel/rtems/make/Templates/Makefile.leaf /d/development/rtems/kernel/rtems/make/Templates/Makefile.lib '/d/development/rtems/5/share/rtems5/make/Templates' |
| 234 | /usr/bin/mkdir -p '/d/development/rtems/5/make/custom' |
| 235 | /usr/bin/install -c -m 644 /d/development/rtems/kernel/rtems/make/custom/default.cfg '/d/development/rtems/5/make/custom' |
| 236 | make[2]: Leaving directory '/d/development/rtems/kernel/erc32' |
| 237 | make[1]: Leaving directory '/d/development/rtems/kernel/erc32' |
| 238 | |
| 239 | |