linktitle: tinyospkgs
parent: aptrepo
ctime: 2009-12-10
+mtime: 2014-08-18
-Repositories: [tinyos](http://repo/gitweb/?p=tinyos-2.x.git;a=summary),
+Repositories: [tinyos](/gitweb/?p=tinyos-2.x.git;a=summary),
+[deputy-tinyos](/gitweb/?p=deputy-tinyos.git;a=summary),
+[nesc](/gitweb/?p=nesc.git;a=summary),
[[aptrepo]].
# Package versioning
The TinyOS packages are built from the TMI
-[TinyOS repository](http://repo/gitweb/?p=tinyos-2.x.git;a=summary). The
+[TinyOS repository](/gitweb/?p=tinyos-2.x.git;a=summary). The
package version number is of the form `tosver-tmiver`, where `tosver` is the
official TinyOS release version on which the code is based, and `tmiver` is the
version of the modifications applied by TMI. Released APT package versions are
associated with tags in the source code repository. Consider the latest
-package version, 2.1.0-3, for which these tags exist in the repository:
+package version, 2.1.1-4.5, for which these tags exist in the repository:
-* `debian/2.1.0-3-2tmi` is the tag of the 'debianized' code from which the APT
- packages version 2.1.0-3-2tmi were built.
+* `debian/2.1.1-4.5-2tmi` is the tag of the 'debianized' code from which the APT
+ packages version 2.1.1-4.5-2tmi were built.
-* `release/2.1.0-3` is the tag of the TinyOS code of which
- `debian/2.1.0-3-2tmi` is a superset, the latter containing the debian
+* `release/2.1.1-4.5` is the tag of the TinyOS code of which
+ `debian/2.1.1-4.5-2tmi` is a superset, the latter containing the debian
packaging files.
-* `tinyos/2.1.0` is the official upstream release on which `release/2.1.0-3` is
- based, the difference being the TMI enhancements.
+* `tinyos/2.1.1` is the official upstream release on which `release/2.1.1-4.5`
+ is based, the difference being the TMI enhancements.
-* `patchset/2.1.0-3` is the head of a string of commits from the
- `tinyos/2.1.0` tag that represent a clean patch series that applies the
+* `patchset/2.1.1-4.5` is the head of a string of commits from the
+ `tinyos/2.1.1` tag that represent a clean patch series that applies the
TMI enhancements to the official upstream release.
# Multiple source trees
-Often it is impractical to maintain an older application by porting it forward
+Often it is impractical to maintain older applications by porting them forward
to the latest TinyOS version. The TMI approach allows multiple TinyOS trees
to be installed simultaneously, thereby allowing different applications to be
compiled against different TinyOS versions.
The official TinyOS installs the source tree at `/opt/tinyos-2.x`. The TMI
version installs source trees at `/opt/tinyos/VER`. For example, the latest
-TMI tree is installed at `/opt/tinyos/2.1.0-3`. TMI also maintains in its
+TMI tree is installed at `/opt/tinyos/2.1.1-4.5`. TMI also maintains in its
repository the last few official source trees. At least one must be installed,
and the developer may install others as needed. When installing or upgrading
TMI TinyOS packages via APT, the latest TMI tree package is automatically
-installed. Source the script `/opt/tinyos/tinyos.sh` to set the three you wish
-to use. Source this script from your login profile with no argument to ensure
-that your tree selection is persistent across logins.
+installed. Source the script `/opt/tinyos/tinyos.sh` to set the tree you wish
+to use. This script also updates your shell rc file (if running bash, ksh or
+csh) so that your tree selection is persistent across logins.
+
+For our development, however, we tend to use a local git checkout of our
+enhanced TinyOS tree locally instead. This allows for easy development within
+the TinyOS source in a convenient manner. The tinyos.sh script in the TMI
+tinyos package also supports this capability.
This is the currently available trees as of this writing. You can use the
command shown below to at any time view the available source trees.
- $ sudo apt-cache search tinyos-source
+ $ apt-cache search tinyos-source
tinyos-source - TinyOS source meta package
- tinyos-source-2.0.1 - TinyOS source code tree
- tinyos-source-2.0.2.2 - TinyOS source code tree
- tinyos-source-2.1.0 - TinyOS source code tree
+ tinyos-source-2.0.1 - TinyOS source code tree, upstream release
+ tinyos-source-2.0.2.2 - TinyOS source code tree, upstream release
+ tinyos-source-2.1.0 - TinyOS source code tree, upstream release
tinyos-source-2.1.0-3 - TinyOS source code tree
+ tinyos-source-2.1.0-4 - TinyOS source code tree
+ tinyos-source-2.1.0-4.1 - TinyOS source code tree
+ tinyos-source-2.1.0-4.2 - TinyOS source code tree
+ tinyos-source-2.1.1-4.3 - TinyOS source code tree
+ tinyos-source-2.1.1-4.4 - TinyOS source code tree
+ tinyos-source-2.1.1-4.5 - TinyOS source code tree
+
+TMI quit providing pristine packages after 2.1.0. Using any TinyOS source tree
+not provided by TMI packages is easy. Simply source the `/opt/tinyos/tinyos.sh`
+script with an argument of the directory containing the source tree.
# Installing TinyOS
By default, the latest TinyOS source tree, with TMI enhancements, and the TMI
[[msp430]] toolchain are installed. At this point, additional tinyos source
-trees may be installed as required. For example:
+trees may be installed as required. For example, to install the official
+upstream source version 2.1.0 without TMI enhancements:
sudo apt-get install tinyos-source-2.1.0
+
+You may also install the MSP430 compiler for TinyOS by typing:
+
+ sudo apt-get install tinyos-msp430
+
+tinyos-msp430 is a virtual package that conveniently pulls in the msp430
+toolchain already present in standard Ubuntu repositories. TMI is doing
+no TinyOS work with Atmel AVR parts, so we are no longer maintaining the
+tinyos-avr virtual pacakge in our repository.