1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
6 <link rel=
"stylesheet" media=
"screen" type=
"text/css" href=
"./style.css" />
7 <link rel=
"stylesheet" media=
"screen" type=
"text/css" href=
"./design.css" />
8 <link rel=
"stylesheet" media=
"print" type=
"text/css" href=
"./print.css" />
10 <meta http-equiv=
"Content-Type" content=
"text/html; charset=utf-8" />
15 <h1 class=
"sectionedit568"><a name=
"geda_s_release_engineering" id=
"geda_s_release_engineering">gEDA
's Release Engineering
</a></h1>
19 <!-- EDIT568 SECTION "gEDA's Release Engineering" [1-49] -->
20 <h2 class=
"sectionedit569"><a name=
"geda_gaf_release_creation_checklist" id=
"geda_gaf_release_creation_checklist">gEDA/gaf Release Creation Checklist
</a></h2>
24 Here is a list of steps that are taken every time when creating a new gEDA/gaf release:
27 <li class=
"level1"><div class=
"li"> In the toplevel configure.ac file update the package version in the AC_INIT macro, the date in the AX_GIT_VERSION macro, and update libgeda
's shared library version (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>
29 <li class=
"level1"><div class=
"li"> Update the toplevel NEWS file with a summary of all the changes in the new release. The NEWS file forms the basis for the release notes.
</div>
31 <li class=
"level1"><div class=
"li"> Manually run all tests. gnetlist has a nice set of regression tests in gnetlist/tests. gsymcheck also has a nice set of regression tests in gsymcheck/tests. Open up all schematics in gschem/examples and gschem/tests. You can do this by running the following in the toplevel directory:
</div>
34 <pre class=
"code"> make check
</pre>
36 <li class=
"level1"><div class=
"li"> Run make update-po in all po directories. Commit these changes before continuing.
</div>
38 <li class=
"level1"><div class=
"li"> Update all the versions and dates in the man pages (gschem
.1, gnetlist
.1, gsymcheck
.1, grenum
.1)
</div>
40 <li class=
"level1"><div class=
"li"> Go into the wiki pages and update the “gEDA/gaf File Format Document” and add the release date to the version field.
</div>
42 <li class=
"level1"><div class=
"li"> Update the wiki documentation snapshot (which is shipped with the release) by doing the following steps:
</div>
44 <li class=
"level2"><div class=
"li"> Get the wiki source files. (For now you have to ask Ales to get them from the SEUL.org server; eventually this should be changed so they are available without asking anybody). Put these files in some directory called “wikisrc”. Also make an output directory called “htmloutput”
</div>
46 <li class=
"level2"><div class=
"li"> Download a handy php-based package called “offline-doku”. Latest version seems to be v0.1
.1 and it was last seen at:
<a href=
"http://sourceforge.net/projects/limb/files/" class=
"urlextern" title=
"http://sourceforge.net/projects/limb/files/" rel=
"nofollow"> offline-doku
</a>.
</div>
48 <li class=
"level2"><div class=
"li"> You might need to tweak/add the following line in offline-doku/make.php to make sure it has enough memory to operate:
<pre class=
"code"> ini_set(
'memory_limit
',
'256M
');
</pre>
51 <li class=
"level2"><div class=
"li"> Now run offline-doku like this:
<pre class=
"code"> cd offline-doku-
0.1.1; php make.php --verbose /path/to/wikisrc /path/to/htmloutput
</pre>
54 This should processes all the dokuwiki source files and convert them into html files.
58 <li class=
"level2"><div class=
"li"> Tar/copy the htmloutput directory into the gaf git directory docs/
</div>
60 <li class=
"level2"><div class=
"li"> Move aside (do not delete yet) the current wiki directory to something like “wikiold”. Rename the new htmloutput directory to “wiki”
</div>
62 <li class=
"level2"><div class=
"li"> Run:
<pre class=
"code"> cp -f wikiold/design.css wiki
</pre>
65 <li class=
"level2"><div class=
"li"> Run:
<pre class=
"code"> cp -f wikiold/.gitignore wiki
</pre>
68 <li class=
"level2"><div class=
"li"> Run:
<pre class=
"code"> cp -f wikiold/Makefile.am
</pre>
71 <li class=
"level2"><div class=
"li"> Check to see what has changed using git status and git diff. Go through and add any new files to git using git add.
</div>
73 <li class=
"level2"><div class=
"li"> Check to see what has changed between wikiold and wiki using:
<pre class=
"code"> diff -r -q wikiold wiki
</pre>
76 Fix anything is incorrect.
80 <li class=
"level2"><div class=
"li"> Go through all the html files and remove the contents of the line (but don
't delete the empty line):
<pre class=
"code"> <a href=.
>start
</a
></br
></pre>
83 Eventually this should be automated or somehow fixed. Removing this start link will make the html pages look better and reduce the number of unnecessary file changes (in git).
87 <li class=
"level2"><div class=
"li"> Finally commit all the changes/files.
</div>
93 <li class=
"level1"><div class=
"li"> Commit all of the above changes (preferably in between each step)
</div>
95 <li class=
"level1"><div class=
"li"> To build the distribution tarball (and verify all tests on the contained files) run:
</div>
98 <pre class=
"code"> make distcheck
</pre>
101 and make sure it completes without any errors. After this is complete you will find the distribution tarball in the toplevel directory (named geda-gaf-VERSION.tar.gz).
104 <li class=
"level1"><div class=
"li"> Copy the distribution tarball some place else along with the toplevel README (which should be renamed to gEDA-gaf-VERSION-README.txt).
</div>
106 <li class=
"level1"><div class=
"li"> Create a file the md5sum for the toplevel tarball.
</div>
109 <pre class=
"code"> md5sum -b geda-gaf-
1.5.3.tar.gz
> geda-gaf-
1.5.3.md5sum
</pre>
111 <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>
113 <li class=
"level1"><div class=
"li"> Build and test the distribution tarball one last time.
</div>
115 <li class=
"level1"><div class=
"li"> Make sure everything is committed and pushed and then put down the correctly formatted tag:
</div>
118 <pre class=
"code"> git tag -a
1.5.3-
20090829</pre>
120 <li class=
"level1"><div class=
"li"> Push all the commits to the main repository. If you are on a branch the command should be:
</div>
123 <pre class=
"code"> git push origin remote_branch_name
</pre>
125 <li class=
"level1"><div class=
"li"> Push the tag to the main repository:
</div>
128 <pre class=
"code"> git push --tags
</pre>
130 <li class=
"level1"><div class=
"li"> Upload distribution tarball, README, and md5sum file to the correct place
</div>
132 <li class=
"level1"><div class=
"li"> Write release announcement and send to mailing lists
</div>
134 <li class=
"level1"><div class=
"li"> Write up release notes and send pointer to mailing lists (named: geda-gaf-VERSION-releasenotes.html)
</div>
136 <li class=
"level1"><div class=
"li"> Update news update the sources download pages on the website with links to the new version
</div>
138 <li class=
"level1"><div class=
"li"> Update the
<a href=
"geda-todos.html" class=
"wikilink1" title=
"geda-todos.html">todos
</a> removing the release information.
</div>
140 <li class=
"level1"><div class=
"li"> Done!
</div>
145 <!-- EDIT569 SECTION "gEDA/gaf Release Creation Checklist" [50-] --></body>