missing NULL terminator in set_config_x
[geda-gaf.git] / docs / wiki / geda-release_engineering.html
blobb4774e5bea7255c209150e7e0c63cd1c75da4891
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html>
4 <head>
5 <link rel="stylesheet" media="screen" type="text/css" href="./style.css" />
6 <link rel="stylesheet" media="screen" type="text/css" href="./design.css" />
7 <link rel="stylesheet" media="print" type="text/css" href="./print.css" />
9 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10 </head>
11 <body>
13 <h1 class="sectionedit1" id="geda_s_release_engineering">gEDA&#039;s Release Engineering</h1>
14 <div class="level1">
16 </div>
17 <!-- EDIT1 SECTION "gEDA's Release Engineering" [1-49] -->
18 <h2 class="sectionedit2" id="geda_gaf_release_creation_checklist">gEDA/gaf Release Creation Checklist</h2>
19 <div class="level2">
21 <p>
22 Here is a list of steps that are taken every time when creating a new gEDA/gaf release:
23 </p>
24 <ul>
25 <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 shared library versions of the package libraries, currently <em>libgeda</em> (AX_LIBGEDA) and <em>libgedacairo</em> (AX_LIBGEDACAIRO) (their <code>.so</code> versions 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&#039;s library versioning</a> chapter).</div>
26 </li>
27 <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>
28 </li>
29 <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>
30 </li>
31 </ul>
32 <pre class="code"> make check</pre>
33 <ul>
34 <li class="level1"><div class="li"> Run make update-po in all po directories. Commit these changes before continuing.</div>
35 </li>
36 <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>
37 </li>
38 <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>
39 </li>
40 <li class="level1 node"><div class="li"> Update the wiki documentation snapshot (which is shipped with the release) by doing the following steps:</div>
41 <ol>
42 <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>
43 </li>
44 <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>
45 </li>
46 <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(&#039;memory_limit&#039;,&#039;256M&#039;);</pre>
47 </div>
48 </li>
49 <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>
51 <p>
52 This should processes all the dokuwiki source files and convert them into html files.
53 </p>
54 </div>
55 </li>
56 <li class="level2"><div class="li"> Tar/copy the htmloutput directory into the gaf git directory docs/</div>
57 </li>
58 <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>
59 </li>
60 <li class="level2"><div class="li"> Run: <pre class="code"> cp -f wikiold/design.css wiki </pre>
61 </div>
62 </li>
63 <li class="level2"><div class="li"> Run: <pre class="code"> cp -f wikiold/.gitignore wiki </pre>
64 </div>
65 </li>
66 <li class="level2"><div class="li"> Run: <pre class="code"> cp -f wikiold/Makefile.am </pre>
67 </div>
68 </li>
69 <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>
70 </li>
71 <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>
73 <p>
74 Fix anything is incorrect.
75 </p>
76 </div>
77 </li>
78 <li class="level2"><div class="li"> Go through all the html files and remove the contents of the line (but don&#039;t delete the empty line): <pre class="code"> &lt;a href=.&gt;start&lt;/a&gt;&lt;/br&gt;</pre>
80 <p>
81 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).
82 </p>
83 </div>
84 </li>
85 <li class="level2"><div class="li"> Finally commit all the changes/files.</div>
86 </li>
87 </ol>
88 </li>
89 </ul>
90 <ul>
91 <li class="level1"><div class="li"> Commit all of the above changes (preferably in between each step)</div>
92 </li>
93 <li class="level1"><div class="li"> To build the distribution tarball (and verify all tests on the contained files) run:</div>
94 </li>
95 </ul>
96 <pre class="code"> make distcheck</pre>
98 <p>
99 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).
100 </p>
101 <ul>
102 <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>
103 </li>
104 <li class="level1"><div class="li"> Create a file the md5sum for the toplevel tarball.</div>
105 </li>
106 </ul>
107 <pre class="code"> md5sum -b geda-gaf-1.5.3.tar.gz &gt; geda-gaf-1.5.3.md5sum</pre>
108 <ul>
109 <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>
110 </li>
111 <li class="level1"><div class="li"> Build and test the distribution tarball one last time.</div>
112 </li>
113 <li class="level1"><div class="li"> Make sure everything is committed and pushed and then put down the correctly formatted tag:</div>
114 </li>
115 </ul>
116 <pre class="code"> git tag -a 1.5.3-20090829</pre>
117 <ul>
118 <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>
119 </li>
120 </ul>
121 <pre class="code"> git push origin remote_branch_name</pre>
122 <ul>
123 <li class="level1"><div class="li"> Push the tag to the main repository:</div>
124 </li>
125 </ul>
126 <pre class="code"> git push --tags</pre>
127 <ul>
128 <li class="level1"><div class="li"> Upload distribution tarball, README, and md5sum file to the correct place</div>
129 </li>
130 <li class="level1"><div class="li"> Write release announcement and send to mailing lists</div>
131 </li>
132 <li class="level1"><div class="li"> Write up release notes and send pointer to mailing lists (named: geda-gaf-VERSION-releasenotes.html)</div>
133 </li>
134 <li class="level1"><div class="li"> Update news update the sources download pages on the website with links to the new version</div>
135 </li>
136 <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>
137 </li>
138 <li class="level1"><div class="li"> Done!</div>
139 </li>
140 </ul>
142 </div>
143 <!-- EDIT2 SECTION "gEDA/gaf Release Creation Checklist" [50-] --></body>
144 </html>