2003-08-14 Theodore A. Roth * README: Discuss required versions of gcc and binutils. * doc/api/Makefile.am (EXTRA_DIST): Add rel-method.dox. (IMAGE_SRC): Add releases.fig. * doc/api/main_page.dox: Grammar fix. * doc/api/rel-method.dox: New file. * doc/api/releases.fig: New file. Index: ChangeLog =================================================================== RCS file: /cvsroot/avr-libc/avr-libc/ChangeLog,v retrieving revision 1.288 diff -u -p -r1.288 ChangeLog --- ChangeLog 11 Aug 2003 23:00:41 -0000 1.288 +++ ChangeLog 14 Aug 2003 21:54:25 -0000 @@ -1,6 +1,7 @@ 2003-08-11 Eric B. Weddington - * include/avr/boot.h: Fix bug with not using generic SPM Control Register. + * include/avr/boot.h: Fix bug with not using generic SPM Control + Register. 2003-08-11 Theodore A. Roth Index: README =================================================================== RCS file: /cvsroot/avr-libc/avr-libc/README,v retrieving revision 1.1 diff -u -p -r1.1 README --- README 5 Jul 2002 20:38:44 -0000 1.1 +++ README 14 Aug 2003 21:54:25 -0000 @@ -1 +1,14 @@ -see doc/avr-libc-reference.html +This is avr-libc. It is a C library implementation for use with GNU GCC and GNU binutils for development of programs for Atmel's AVR microcontrollers. + +The current branch (1.0), requires the following versions of gcc and binutils: + + Tool Minimal Version Preferred Version + =========== =============== ================= + binutils 2.13 2.14 + gcc 3.3 Latest 3.3.x + +For details on installing and using AVR Libc, see the users manual in the +doc/api directory or online at: + + http://savannah.nongnu.org/projects/avr-libc/ + Index: doc/api/Makefile.am =================================================================== RCS file: /cvsroot/avr-libc/avr-libc/doc/api/Makefile.am,v retrieving revision 1.35 diff -u -p -r1.35 Makefile.am --- doc/api/Makefile.am 21 Jan 2003 07:18:16 -0000 1.35 +++ doc/api/Makefile.am 14 Aug 2003 21:54:25 -0000 @@ -49,6 +49,7 @@ EXTRA_DIST = dox.css dox_html_ using-avrprog.dox \ using-tools.dox \ faq.dox \ + rel-method.dox \ unjs.pl SUFFIXES = .pdf @@ -83,7 +84,7 @@ FIG2DEV= fig2dev .fig.png: $(FIG2DEV) -L png $< $@ -IMAGE_SRC= malloc-std.fig malloc-x1.fig malloc-x2.fig +IMAGE_SRC= malloc-std.fig malloc-x1.fig malloc-x2.fig releases.fig IMAGE_PNG= $(IMAGE_SRC:.fig=.png) Index: doc/api/main_page.dox =================================================================== RCS file: /cvsroot/avr-libc/avr-libc/doc/api/main_page.dox,v retrieving revision 1.14 diff -u -p -r1.14 main_page.dox --- doc/api/main_page.dox 28 Feb 2003 23:03:40 -0000 1.14 +++ doc/api/main_page.dox 14 Aug 2003 21:54:25 -0000 @@ -49,7 +49,7 @@ http://www.avr1.org/mailman/listinfo/avr list, you might want to try reading the \ref FAQ chapter of this document. \note This document is a work in progress. As such, it may contain incorrect -information. If you find a mistake, please send an email to the +information. If you find a mistake, please send an email to address@hidden describing the mistake. Also, send us an email if you find that a specific topic is missing from the document. Index: doc/api/rel-method.dox =================================================================== RCS file: doc/api/rel-method.dox diff -N doc/api/rel-method.dox --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ doc/api/rel-method.dox 14 Aug 2003 21:54:25 -0000 @@ -0,0 +1,138 @@ +/* Copyright (c) 2003, Theodore Roth + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. */ + +/* $Id$ */ + +/** \page release_method Release Numbering and Methodology + +\section version_info Release Version Numbering Scheme + +\subsection version_stable Stable Versions + +A stable release will always have a minor number that is an even number. This +implies that you should be able to upgrade to a new version of the library +with the same major and minor numbers without fear that any of the APIs have +changed. The only changes that should be made to a stable branch are bug fixes +and under some circumstances, additional functionality (e.g. adding support +for a new device). + +If major version number has changed, this implies that the required versions +of gcc and binutils have changed. Consult the README file in the toplevel +directory of the AVR Libc source for which versions are required. + +\subsection version_dev Development Versions + +The major version number of a development series is always the same as the +last stable release. + +The minor version number of a development series is always an odd number and +is 1 more than the last stable release. + +The patch version number of a development series is always 0 until a new +branch is cut at which point the patch number is changed to 90 to denote the +branch is approaching a release and the date appended to the version to denote +that it is still in development. + +All versions in development in cvs will also always have the date appended as +a fourth version number. The format of the date will be YYYYMMDD. + +So, the development version number will look like this: + +\verbatim +1.1.0.20030825 +\endverbatim + +While a pre-release version number on a branch (destined to become either 1.2 +or 2.0) will look like this: + +\verbatim +1.1.90.20030828 +\endverbatim + +\section release_info Releasing AVR Libc + +The information in this section is only relevant to AVR Libc developers and +can be ignored by end users. + +\note In what follows, I assume you know how to use cvs and how to checkout +multiple source trees in a single directory without having them clobber each +other. If you don't know how to do this, you probably shouldn't be making +releases or cutting branches. + +\subsection release_branch Creating a cvs branch + +The following steps should be taken to cut a branch in cvs: + +-# Check out a fresh source tree from cvs HEAD. + +-# Set the branch-point tag (setting and accordingly):
+ 'cvs tag avr-libc-_-branchpoint' + +-# Create the branch:
+ 'cvs tab -b avr-lib-_-branch' + +-# Update the package version in configure.in (change minor number to next odd + value) and commit configure.in to cvs. Note that you should still be + working from cvs HEAD. + +-# Check out a new tree for the branch:
+ 'cvs co -r avr-lib-_-branch' + +-# Update the package version in configure.in (change the patch number to 90 + to denote that this now a branch leading up to a release and commit + configure.in to cvs. Note that we are now working on the branch. + +-# Announce the branch and the branch tag to the avr-libc-dev list so other + developers can checkout the branch. + +\note CVS tags do not allow the use of periods ('.'). + +\subsection release_rolling Making a release + +A stable release will only be done on a branch, not from the cvs HEAD. + +The following steps should be taken way making a release: + +-# Make sure the tree you are working from is on the correct brach:
+ 'cvs update -r avr-lib-_-branch' +-# Update the package version in configure.in and commit it to cvs. +-# Update the gnu tool chain version requirements in the README and commit + to cvs. +-# Bring the build system up to date by running reconf and configure. +-# Perform a 'make distcheck' and make sure it succeeds. +-# Tag the release (_ is not given if this is the first release on this + branch):
+ 'cvs tab -b avr-lib-__-release' +-# Upload the tarball to savannah. +-# Upload the latest documentation to savannah. +-# Announce the release. + +The following hypothetical diagram should help clarify version and branch +relationships. + +\image html releases.png "Release tree" +\image latex releases.eps "Release tree" width=5in + +*/ Index: doc/api/releases.fig =================================================================== RCS file: doc/api/releases.fig diff -N doc/api/releases.fig --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ doc/api/releases.fig 14 Aug 2003 21:54:25 -0000 @@ -0,0 +1,65 @@ +#FIG 3.2 +Landscape +Center +Inches +Letter +100.00 +Single +-2 +1200 2 +2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 + 3 1 1.00 60.00 120.00 + 2398 2624 2400 4725 +2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 3 + 3 1 1.00 60.00 120.00 + 3900 1725 4574 1724 4574 1949 +2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 + 3 1 1.00 60.00 120.00 + 4575 2475 4574 2699 +2 4 0 1 0 7 50 0 -1 0.000 0 0 7 0 0 5 + 5925 3225 5925 2700 3225 2700 3225 3225 5925 3225 +2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 + 3 1 1.00 60.00 120.00 + 4575 3225 4575 3525 +2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 + 3 1 1.00 60.00 120.00 + 4575 3749 4575 4049 +2 1 0 1 0 7 50 0 -1 0.000 0 0 7 1 0 2 + 3 1 1.00 60.00 120.00 + 2400 5250 2400 6675 +2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 3 + 3 1 1.00 60.00 120.00 + 3975 4875 6599 4874 6599 5099 +2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 3 + 3 1 1.00 60.00 120.00 + 3975 6825 8025 6825 8025 7050 +2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 + 3 1 1.00 60.00 120.00 + 2400 7199 2400 7499 +2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 + 3 1 1.00 60.00 120.00 + 6600 5549 6600 5849 +2 4 0 1 0 7 50 0 -1 0.000 0 0 7 0 0 5 + 5925 4575 5925 4050 3225 4050 3225 4575 5925 4575 +2 4 0 1 0 7 50 0 -1 0.000 0 0 7 0 0 5 + 7950 6375 7950 5850 5325 5850 5325 6375 7950 6375 +4 1 0 50 0 12 10 0.0000 4 135 2700 4574 2174 cvs tag -b avr-libc-1_0-branch\001 +4 1 0 50 0 12 10 0.0000 4 135 2880 2398 1799 cvs tag avr-libc-1_0-branchpoint\001 +4 1 0 50 0 -1 12 0.0000 4 135 2025 2400 2025 set version to 1.1.0.\001 +4 1 0 50 0 -1 12 0.0000 4 135 2205 4575 2400 set version to 0.90.90.\001 +4 1 0 50 0 -1 12 0.0000 4 135 1305 4575 2925 set version to 1.0\001 +4 1 0 50 0 12 10 0.0000 4 135 2520 4575 3150 cvs tag avr-libc-1_0-release\001 +4 1 0 50 0 -1 16 0.0000 4 165 1065 6599 1499 1.2 Branch\001 +4 1 0 50 0 -1 16 0.0000 4 165 1065 4574 1499 1.0 Branch\001 +4 1 0 50 0 -1 16 0.0000 4 165 690 2398 1499 HEAD\001 +4 1 0 50 0 -1 12 0.0000 4 135 2025 4575 3675 set version to 1.0.0.\001 +4 1 0 50 0 12 10 0.0000 4 135 2880 2398 4949 cvs tag avr-libc-1_2-branchpoint\001 +4 1 0 50 0 12 10 0.0000 4 135 2880 2398 6899 cvs tag avr-libc-2.0-branchpoint\001 +4 1 0 50 0 12 10 0.0000 4 135 2700 6599 5249 cvs tag -b avr-libc-1_2-branch\001 +4 1 0 50 0 -1 12 0.0000 4 135 2025 2400 5175 set version to 1.3.0.\001 +4 1 0 50 0 -1 12 0.0000 4 135 2025 2400 7125 set version to 2.1.0.\001 +4 1 0 50 0 -1 12 0.0000 4 135 2115 6600 5475 set version to 1.1.90.\001 +4 1 0 50 0 -1 12 0.0000 4 135 1440 4575 4275 set version to 1.0.1\001 +4 1 0 50 0 -1 12 0.0000 4 135 1305 6600 6075 set version to 1.2\001 +4 1 0 50 0 12 10 0.0000 4 135 2520 6600 6300 cvs tag avr-libc-1_2-release\001 +4 1 0 50 0 12 10 0.0000 4 135 2700 4575 4500 cvs tag avr-libc-1_0_1-release\001