<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>geda:release_engineering</title> <meta name="generator" content="DokuWiki Release rc2007-05-24" /> <meta name="robots" content="noindex,nofollow" /> <meta name="date" content="2008-01-26T10:47:37-0500" /> <meta name="keywords" content="geda,release_engineering" /> <link rel="search" type="application/opensearchdescription+xml" href="http://geda.seul.org/wiki/lib/exe/opensearch.php" title="geda Wiki" /> <link rel="start" href="http://geda.seul.org/wiki/" /> <link rel="contents" href="http://geda.seul.org/wiki/geda:release_engineering?do=index" title="Index" /> <link rel="alternate" type="application/rss+xml" title="Recent Changes" href="http://geda.seul.org/wiki/feed.php" /> <link rel="alternate" type="application/rss+xml" title="Current Namespace" href="http://geda.seul.org/wiki/feed.php?mode=list&ns=geda" /> <link rel="alternate" type="text/html" title="Plain HTML" href="http://geda.seul.org/wiki/_export/xhtml/geda:release_engineering" /> <link rel="alternate" type="text/plain" title="Wiki Markup" href="http://geda.seul.org/wiki/_export/raw/geda:release_engineering" /> <link rel="stylesheet" media="all" type="text/css" href="lib/exe/css" /> <link rel="stylesheet" media="screen" type="text/css" href="lib/exe/001css" /> <link rel="stylesheet" media="print" type="text/css" href="lib/exe/002css" /> </head> <body> <div class="dokuwiki export"> <h1><a name="geda_s_release_engineering" id="geda_s_release_engineering">gEDA's Release Engineering</a></h1> <div class="level1"> </div> <!-- SECTION "gEDA's Release Engineering" [1-42] --> <h2><a name="geda_gaf_release_creation_checklist" id="geda_gaf_release_creation_checklist">gEDA/gaf Release Creation Checklist</a></h2> <div class="level2"> <p> Here is a list of steps that are taken every time when creating a new gEDA/gaf release: </p> <ul> <li class="level1"><div class="li"> Manually run all tests. gnetlist has a nice set of regression tests in gnetlist/tests. Open up all schematics in gschem/examples and gschem/tests. Run the tests in gsymcheck/tests. You can do this by running the following in each of the directories:</div> </li> </ul> <pre class="code"> make check </pre> <ul> <li class="level1"><div class="li"> Run make update-po in all po directories. Commit these changes before continuing.</div> </li> <li class="level1"><div class="li"> Update all versions running update-versions.sh in the toplevel directory (libgeda’s so version should follow what is described in <a href="http://sourceware.org/autobook/autobook/autobook_91.html" class="urlextern" title="http://sourceware.org/autobook/autobook/autobook_91.html" rel="nofollow"> Autobook's library versioning</a> chapter).</div> </li> </ul> <pre class="code"> ./update-versions.sh 1.0.1 20070626 29:1:0 </pre> <ul> <li class="level1"><div class="li"> Update all the versions and dates in the man pages (gschem.1, gnetlist.1, gsymcheck.1)</div> </li> <li class="level1"><div class="li"> Update the wiki documentation (this is far far far too manual)</div> </li> </ul> <pre class="code"> cd docs mkdir wip cd wip ../scripts/wikifetch.sh rm -f *.txt mv geda.seul.org/wiki/* . rmdir geda.seul.org/wiki rmdir geda.seul.org ../scripts/postproc.sh find . -name *.orig -exec rm -f {} \; -print cd .. scripts/copygitignores.sh cd wip ../scripts/populatemkfiles.sh vi `find . -name Makefile.am` (fix all gitignore files to have . (dot) in front; bug in scripts) cd .. diff -r -q wiki wip | grep -v Only | sed "s/Files /tkdiff /" | sed "s/ and//" | sed "s/differ//" > diffs sh diffs (and examine all changes; you need to have tkdiff installer or use just plain diff above) mv wiki wiki.original mv wip wiki git status git add <any new files> git commit -a </pre> <ul> <li class="level1"><div class="li"> Update the ChangeLogs by running:</div> </li> </ul> <pre class="code"> ./update-changelogs.sh 1.0-20070526..master or ./update-changelogs.sh 1.0-20070526..stable-1.2 (if you are on a branch) </pre> <ul> <li class="level1"><div class="li"> Commit all of the above changes (preferably in between each step)</div> </li> <li class="level1"><div class="li"> Run: make distcheck and make sure it completes without any errors. After this is complete you will find all the tarballs in the toplevel directory.</div> </li> <li class="level1"><div class="li"> Copy all these tarballs some place else along with the toplevel README and Makefile</div> </li> <li class="level1"><div class="li"> Modify the toplevel Makefile to use the Released version of CD_VERSION and DIR_PREFIX environment variables. Comment out repository versions of these variables</div> </li> <li class="level1"><div class="li"> Untar the tarballs and compare what is inside to what is in the repository. You should only find additional dist files inside the tarballs and no missing required files.</div> </li> <li class="level1"><div class="li"> Build and test the tarballs one last time.</div> </li> <li class="level1"><div class="li"> Make sure everything is committed and pushed and then put down the correctly formatted tag:</div> </li> </ul> <pre class="code"> git-tag -a 1.3.0-20071229 </pre> <ul> <li class="level1"><div class="li"> Push the tag to the main repository:</div> </li> </ul> <pre class="code"> git push --tags </pre> <ul> <li class="level1"><div class="li"> Upload files to the correct place</div> </li> <li class="level1"><div class="li"> Write release announcement and send to mailing lists</div> </li> <li class="level1"><div class="li"> Write up release notes and send pointer to mailing lists</div> </li> <li class="level1"><div class="li"> Update news update the sources download pages on the website with links to the new version</div> </li> <li class="level1"><div class="li"> Done!</div> </li> </ul> </div> <!-- SECTION "gEDA/gaf Release Creation Checklist" [43-] --></div> </body> </html>