File: geda-release_engineering.html

package info (click to toggle)
lepton-eda 1.9.18-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 41,024 kB
  • sloc: ansic: 66,688; lisp: 29,508; sh: 6,792; makefile: 3,111; perl: 1,404; pascal: 1,161; lex: 887; sed: 16; cpp: 8
file content (146 lines) | stat: -rw-r--r-- 7,978 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
  <link rel="stylesheet" media="screen" type="text/css" href="./style.css" />
  <link rel="stylesheet" media="screen" type="text/css" href="./design.css" />
  <link rel="stylesheet" media="print" type="text/css" href="./print.css" />

  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<div class="dokuwiki export">

<h1 class="sectionedit1"><a name="geda_s_release_engineering" id="geda_s_release_engineering">gEDA&#039;s Release Engineering</a></h1>
<div class="level1">

</div>
<!-- EDIT1 SECTION "gEDA's Release Engineering" [1-49] -->
<h2 class="sectionedit2"><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"> 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&#039;s shared library version (libgeda&#039;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&#039;s library versioning</a> chapter).</div>
</li>
<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>
</li>
<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>
</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 the versions and dates in the man pages (gschem.1, gnetlist.1, gsymcheck.1, grenum.1)</div>
</li>
<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>
</li>
<li class="level1"><div class="li"> Update the wiki documentation snapshot (which is shipped with the release) by doing the following steps:</div>
<ol>
<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>
</li>
<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>
</li>
<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>
</div>
</li>
<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>

<p>
 This should processes all the dokuwiki source files and convert them into html files.
</p>
</div>
</li>
<li class="level2"><div class="li"> Tar/copy the htmloutput directory into the gaf git directory docs/</div>
</li>
<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>
</li>
<li class="level2"><div class="li"> Run: <pre class="code"> cp -f wikiold/design.css wiki </pre>
</div>
</li>
<li class="level2"><div class="li"> Run: <pre class="code"> cp -f wikiold/.gitignore wiki </pre>
</div>
</li>
<li class="level2"><div class="li"> Run: <pre class="code"> cp -f wikiold/Makefile.am </pre>
</div>
</li>
<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>
</li>
<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>

<p>
  Fix anything is incorrect.
</p>
</div>
</li>
<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>

<p>
  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).
</p>
</div>
</li>
<li class="level2"><div class="li"> Finally commit all the changes/files.</div>
</li>
</ol>
</li>
</ul>
<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"> To build the distribution tarball (and verify all tests on the contained files) run:</div>
</li>
</ul>
<pre class="code">        make distcheck</pre>

<p>
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).
</p>
<ul>
<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>
</li>
<li class="level1"><div class="li"> Create a file the md5sum for the toplevel tarball.</div>
</li>
</ul>
<pre class="code">        md5sum -b geda-gaf-1.5.3.tar.gz &gt; geda-gaf-1.5.3.md5sum</pre>
<ul>
<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 distribution tarball 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.5.3-20090829</pre>
<ul>
<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>
</li>
</ul>
<pre class="code">        git push origin remote_branch_name</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 distribution tarball, README, and md5sum file 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 (named: geda-gaf-VERSION-releasenotes.html)</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"> Update the <a href="geda-todos.html" class="wikilink1" title="geda-todos.html">todos</a> removing the release information.</div>
</li>
<li class="level1"><div class="li"> Done!</div>
</li>
</ul>

</div>
<!-- EDIT2 SECTION "gEDA/gaf Release Creation Checklist" [50-] --></div>
</body>
</html>