]> oss.titaniummirror.com Git - oss-web.git/blobdiff - in/tinyospkgs.md
Clean up the text on the oss web pages.
[oss-web.git] / in / tinyospkgs.md
index f81d41557c0faa90c9efb3319863e82da8d7ff5c..f6a5240be2b689ddd56fd72ccb8632af53f3b7a0 100644 (file)
@@ -6,75 +6,49 @@ ctime: 2009-12-10
 Repositories: [tinyos](http://repo/gitweb/?p=tmi/tinyos-2.x.git;a=summary),
 [[aptrepo]].
 
-## Package versioning
+# Package versioning
 
 The TinyOS packages are built from the TMI
 [TinyOS repository](http://repo/gitweb/?p=tmi/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.
-
-These version numbers are present in the
-[repository](http://repo/gitweb/?p=tmi/tinyos-2.x.git;a=summary) in the form
-of release and patchset tags.  For example, the code from which package version
-`2.1.0-3` is built is tagged `release/2.1.0-3`.  This code is based on the
-upstream version `2.1.0`, which is tagged in the repository as `tinyos/2.1.0`.
-A clean patchset is tagged `patchset/2.1.0-3`, where the commits between these
-two tags represent a clean set of patches that apply the TMI modifications to
-the upstream version.
-
-## Git/CVS issues
-
-Because CVS and git tags are fundamentally incompatible, we cannot guarantee
-that a git repo using `git-cvs` and tracking the upstream CVS repository will
-result in the exact same checkout tree state at each tag.  We resolve this
-issue as follows:
-
-* TMI tracks the upstream CVS in a git mirror repository updated periodically
-  via a script using `git-cvsimport`.
-  
-* When TMI wants to rebase its local modifications on a newer version of
-  upstream TinyOS, it pulls changes in from this mirror git repo into the
-  [TMI TinyOS repository](http://repo/gitweb/?p=tmi/tinyos-2.x.git;a=summary)
-  onto the `upstream` branch.  Release tags, such as `release_tinyos_2_1_0_0`
-  from CVS are also pulled.
-
-* In git, a new release branch is created at the release tag.  In this example,
-  release tag `release_tinyos_2_1_0_0` is the branch point for the new branch
-  `release/2.1.0`.
-
-* The tag `tinyos/2.1.0` is the tag of git tree along the `release/2.1.0`
-  branch where the checkout of git at `tinyos/2.1.0` exactly matches the
-  checkout of upstream CVS at `release_tinyos_2_1_0_0`.
-
- * If the git and CVS tags checkout trees that match at tag
-  `release_tinyos_2_1_0_0`, then `tinyos/2.1.0` tags that same commit.
-
- * If the git and CVS checkouts diverge, then the first commit along the new
-   `release/2.1.0` branch contains the changes necessary to sync git with CVS
-   at the release tag.  This is accomplished by using `git_load_dirs`.  This
-   new commit to the release branch is tagged `tinyos/2.1.0`.
-
-## Multiple source trees
-
-TMI TinyOS packages allow for the installation of multiple TinyOS source trees.
-This allows us to maintain older programs built against older versions of
-TinyOS while simultaneously working on new applications.  It also allows us to
-compile code against the official TinyOS releases in addition to the TMI
-enhanced releases.
-
-This is accomplished by altering how TinyOS source is installed.  The standard
-convention is for the TinyOS source tree to be installed on a development
-workstation at `/opt/tinyos-2.x`.  The TMI packages install the source trees
-at `/opt/tinyos/VER`.  For example, the official TinyOS 2.0.2.2 source tree
-would install at `/opt/tinyos/2.0.2.2`, and the TMI enhanced TinyOS 2.1.0-3
-tree installs at `/opt/tinyos/2.1.0-3`.  A sourceable script,
-`/opt/tinyos/tinyos.sh`, is used to set which source tree is used by the
-TinyOS development tools and build system.  The script is also sourced in
-the user's profile to provide persistence of settings across logins and reboots.
-
-Each TinyOS source tree has its own package.  Here are the currently available
-trees as of this writing:
+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:
+
+* `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.
+
+* `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
+  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.
+
+* `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
+  TMI enhancements to the official upstream release.
+
+# Multiple source trees
+
+Often it is impractical to maintain an older application by porting it 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 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.
+
+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
     tinyos-source - TinyOS source meta package
@@ -83,15 +57,9 @@ trees as of this writing:
     tinyos-source-2.1.0 - TinyOS source code tree
     tinyos-source-2.1.0-3 - TinyOS source code tree
 
-At least one tree must be installed, and the latest tree is installed each time
-the tinyos packages are installed or upgraded.  However, the developer may
-keep multiple trees installed if necessary.  The APT package upgrade
-mechanisms work properly.
-
-## Installing TinyOS
+# Installing TinyOS
 
-To install TinyOS, perform the steps above to configure the TMI repository on
-the workstation, then type:
+To install TinyOS, perform the steps shown for the [[aptrepo]], then type:
 
     sudo apt-get install tinyos