diff options
Diffstat (limited to 'tiff/HOWTO-RELEASE')
-rw-r--r-- | tiff/HOWTO-RELEASE | 71 |
1 files changed, 49 insertions, 22 deletions
diff --git a/tiff/HOWTO-RELEASE b/tiff/HOWTO-RELEASE index ae750119..abcdc9ba 100644 --- a/tiff/HOWTO-RELEASE +++ b/tiff/HOWTO-RELEASE @@ -1,4 +1,4 @@ -HOWTO-RELEASE: +HOWTO-RELEASE: Notes on releasing. @@ -22,17 +22,30 @@ Notes on releasing. and correctly set system clock and on a filesystem which accurately records file update times. Use of GNU make is recommended. -1. Commit any unsaved changes. +1. Commit any unsaved changes. -2. Create html/vX.X.html and add it to cvs with 'cvs add html/vX.X.html'. - Take ChangeLog entries and html-ify in there. +2. Use gnulib's gitlog-to-changelog script to add new (since the last + release) entries to the traditional ChangeLog file. Take note of + the most recent change note time stamp and use that as the starting + point. Concatenate the old logs to the new logs. The added logs + may be used to help produce the release notes (in next step). For + example: + + gitlog-to-changelog --since=`head -n 1 ChangeLog | sed -e 's/ .*//g'` --append-dot > ChangeLog.added + printf "\n" >> ChangeLog.added + cat ChangeLog.added ChangeLog > ChangeLog.new + mv ChangeLog.new ChangeLog + rm ChangeLog.added + +3. Create html/vX.X.html and add it to git with 'git add html/vX.X.html'. + Take ChangeLog entries and html-ify in there. Easist thing to do is take html/vX.(X-1).html and use it as a template. -3. Add vX.X.html file to the list of 'docfiles' files in the html/Makefile.am. +4. Add vX.X.html file to the list of 'docfiles' files in the html/Makefile.am. -4. Update html/index.html to refer to this new page as the current release. +5. Update html/index.html to refer to this new page as the current release. -5. Increment the release version in configure.ac. Put 'alpha' or +6. Increment the release version in configure.ac. Put 'alpha' or 'beta' after the version, if applicable. For example: 4.0.0 @@ -42,7 +55,7 @@ Notes on releasing. Version should be updated in two places: in the second argument of the AC_INIT macro and in LIBTIFF_xxx_VERSION variables. -6. Update library ELF versioning in configure.ac (LIBTIFF_CURRENT, +7. Update library ELF versioning in configure.ac (LIBTIFF_CURRENT, LIBTIFF_REVISION, and LIBTIFF_AGE). These numbers have nothing to do with the libtiff release version numbers. @@ -53,11 +66,11 @@ Notes on releasing. have been added, removed, or interface structures have changed, then more care is required. -7. Add an entry to Changelog similar to: +8. Add an entry to Changelog similar to: * libtiff 4.0.0 released. -8. In the source tree do +9. In the source tree do ./autogen.sh @@ -65,7 +78,7 @@ Notes on releasing. maintainer build with current autoconf, automake, and libtool packages. It is only needed when updating tool versions. -9. It is recommended (but not required) to build outside of the source +10. It is recommended (but not required) to build outside of the source tree so that the source tree is kept in a pristine state. This also allows sharing the source directory on several networked systems. For example: @@ -78,17 +91,17 @@ Notes on releasing. ./configure --enable-maintainer-mode -10. In the build tree do +11. In the build tree do make release This will update "RELEASE-DATE", "VERSION", and libtiff/tiffvers.h in the source tree. -11. In the source tree, verify that the version info in RELEASE-DATE, +12. In the source tree, verify that the version info in RELEASE-DATE, VERSION and libtiff/tiffvers.h is right. -12. In the build tree do +13. In the build tree do make make distcheck @@ -99,21 +112,35 @@ Notes on releasing. Two files with names tiff-version.tar.gz and tiff-version.zip will be created in the top level build directory. -13. In the source tree do +14. In the source tree do - 'cvs commit'. + 'git status', 'git add .', 'git commit' and 'git push' -14. In the source tree do +15. In the source tree, create a signed tag - cvs tag Release-v4-0-0 + git tag -s v4.0.0 -m "Create tag for v4.0.0" (or the appropriate name for the release) -15. Copy release packages from the build tree to the + and push it to "origin" (if "origin" points to the official repository) + + git push origin v4.0.0 + +16. Sign the release files in the build tree using your private key + + export GPG_TTY=$(tty) + for file in tiff-*.tar.gz tiff-*.zip ; do \ + gpg2 --output ${file}.sig --detach-sig $file ; \ + done + + for file in tiff-*.tar.gz tiff-*.zip ; do \ + gpg2 --verify ${file}.sig $file ; \ + done + +17. Copy release packages from the build tree to the ftp.remotesensing.org ftp site. scp tiff-*.tar.gz tiff-*.zip \ - warmerdam@upload.osgeo.org:/osgeo/download/libtiff - -16. Announce to list, tiff@lists.maptools.org + bfriesen@upload.osgeo.org:/osgeo/download/libtiff +18. Announce to list, tiff@lists.maptools.org |