RTEMS CVS Repository
Changing from CVS to Git
The RTEMS project is moving away from CVS to Git. For any new development please use the RTEMS GIT Repository.
The RTEMS project has converted to using a Git repository for all further development. The existing CVS repositories will remain available (read-only).
In an ongoing effort to accelerate development of RTEMS and provide an open development environment, we are making our CVS source repository available read-only to the public at large. A small subset of people have write permission and are generally allowed to commit any user submitted patch that has proper licensing.
RTEMS CVS Modules
The following modules are in the RTEMS CVS Repository and currently actively used for development:
- rtems - RTEMS Itself
- rtems-testing - Helpful scripts for testing. Includes Simulator Scripts, Coverage Testing help, CVS helpers, RTEMS atesting, and GCC testing aids.
- examples-v2 - RTEMS Examples (merges all other non-networked example collections)
- network-demos - Example RTEMS Networking Programs
- examples - (deprecated) RTEMS Example Programs
- class-examples - (deprecated) Examples used in RTEMS Open Class
- rtems-addon-packages - Free software libraries that have been ported to RTEMS including AVL, TCL, ncurses, readline, and zlib.
- wwwrtems - RTEMS Website
- bare-bsp-hello - Example Program Using a Bare BSP
- ada-examples - Example Programs for GNAT/RTEMS
The following modules are available but contain porting efforts that were submitted to the package maintainers. The RTEMS port should be included in those packages main distributions now.
- mdp-1-9a5 - MDP RTEMS Port (obsolete -- use their repository)
- ntp-4.1.1a-rtems - NTP RTEMS Port (obsolete -- use their repository)
Browse the CVS Repository
You can browse our CVS history online using:
Anonymous CVS Access
Most of the community will use the RTEMS CVS Repository anonymously and have read-only access. Using this way you can check out any version (including releases) of RTEMS that is in our repository or the RTEMS web pages that are NOT in the Wiki.
Set CVSROOT in your environment to :pserver:email@example.com:/usr1/CVS. Alternately add -d :pserver:firstname.lastname@example.org:/usr1/CVS in the CVS commands below (place it immediately after cvs, before any other arguments).
cvs -d :pserver:email@example.com:/usr1/CVS login
Issue the command cvs login. You will be prompted for a password; simply press return as there is no password for anonymous access.
If you are behind a non-cooperative firewall, and all you want is read-only access, try CVSGrab; it worked for me behind a fairly restrictive firewall! It seems much slower than direct CVS access, but at least it works!
CVSGrab seems a bit pickier on its syntax than it advertises. For example, it claims -url will work, but it didn't for me; I had to use -rootUrl and -packagePath instead.
Anyway, here is the command invocation I just used to download the RTEMS tree
$ cvsgrab.sh -rootUrl http://www.rtems.com/cgi-bin/viewcvs.cgi -packagePath rtems \ -destDir %DESTDIR% -proxyHost %PROXY% -proxyPort %PORT% -webInterface CvsWeb1_0 > errors.txt
Of course, you want to fill in your proxy host and port for the %PROXY% and %PORT% placeholders. Also, replace %DESTDIR% with the directory where you want the rtems/ root to be located.
NOTE In the interest of full discloser, I had to use the RTEMS IP address directly, due I believe to a local DNS problem. The actual real command I used was this:
$ cvsgrab.sh -rootUrl http://126.96.36.199/cgi-bin/viewcvs.cgi -packagePath rtems \ -destDir %DESTDIR% -proxyHost %PROXY% -proxyPort %PORT% -webInterface CvsWeb1_0
UPDATE I first wrote this after the tool had been running for quite some time, and was making lots of progress, but still hadn't finished. However, when it finished, it reported it had been unable to get 33 files! I am not sure why, and have posted a query to the mailing list. I decided to update this, as it might be a problem on my end; I will update this when it is resolved!
Using the CVS Repository
Assuming you have CVS installed on your machine and are logged into the repository either anonymously or with write permission, you can check out the RTEMS sources. Issue the following command to check out RTEMS itself:
cvs -d :pserver:firstname.lastname@example.org:/usr1/CVS -z 9 co -P rtems
Or to check out the web site instead, use this command:
cvs -d :pserver:email@example.com:/usr1/CVS -z 9 co -P wwwrtems
Once you've got the repository checked out, cvs update -Pd will sync your local copy with the repository. The -Pd options specify that CVS should account for added and deleted files and directories. See the CVS manual for additional information on how to use CVS.
After checking it out, add the appropriate RTEMS tool directory to the head of your PATH and run bootstrap from the top directory.
In case of problems with the repository at http://www.rtems.org please contact firstname.lastname@example.org.
Our CVS source tree contains a number of files that are generated from other source files by build tools such as Autoconf, Automake, and RPCGEN. Autoconf and Automake are required when using RTEMS from CVS but all other generated files are included in the source tree so that RTEMS can be built without these build tools. The script bootstrap at the top of the RTEMS source tree can be used to generate the files for the entire tree or from any subdirectory with a configure.ac file. See the comments in that script for instructions on running it.
RTEMS's build system (in particular Make) uses file timestamps to determine if a generated file needs to be updated by running a particular build tool. Because of this, RTEMS's build system may believe that a generated file needs regenerating even though its source has not changed, and require a particular build tool to rebuild that generated file. If the appropriate build tool is installed on your system, then this will not be a problem.
None of the files generated by Automake and Autoconf are included in the RTEMS's CVS source tree. They are always included in released source tarballs and generated as part of the snapshot and release procedure. Building RTEMS from the CVS source tree requires installing the above mentioned build tools. Installing these build tools is not particularly difficult, but care should be taken to install them in such a way that they do not override or conflict with those shipped with the host development system.
The build tools that RTEMS uses are all available from the GNU Project (see ), are often already available on many systems, and can often be found already built for some systems. A partial list of these build tools is: Autoconf, Automake, and RPCGen.
Conflicts when using cvs update
It is not uncommon to get CVS conflict messages for some generated files when updating your local sources from the CVS repository. Typically such conflicts occur with autoconf generated files.
As long as you haven't been making modifications to the generated files or the generator files, it is safe to delete the offending file, then run cvs update again to get a new copy.
You can check out the latest version of the RTEMS x.y release branch with the following command:
cvs -d :pserver:email@example.com:/usr1/CVS -z 9 co -rrtems-x-y-branch rtems
By changing the -r argument above you can check out particular releases or snapshots or the latest snapshot. Release and snapshot branches
Other CVS modules included in the release are named <module>-XXX-branch. For example, the 4.9 branch of network-demos is named network-demos-4.9-branch.
There are currently no development project branches.