website view en/devel/index.html @ rev 355

en: Update menus and add RSS feeds
author Paul Issott <paul@slitaz.org>
date Sun Apr 05 12:45:09 2009 +0000 (2009-04-05)
parents 8f41f1e024ea
children b640c63e07aa
line source
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4 <head>
5 <title>SliTaz - Developers corner</title>
6 <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
7 <meta name="description" content="SliTaz GNU/Linux project information overview" />
8 <meta name="keywords" lang="en" content="about slitaz, gnu, linux, mini distro, livecd" />
9 <meta name="robots" content="index, follow, all" />
10 <meta name="revisit-after" content="7 days" />
11 <meta name="expires" content="never" />
12 <meta name="modified" content="2008-07-16 21:45:00" />
13 <meta name="author" content="Christophe Lincoln"/>
14 <meta name="publisher" content="www.slitaz.org" />
15 <link rel="shortcut icon" href="../../favicon.ico" />
16 <link rel="stylesheet" type="text/css" href="../../slitaz.css" />
17 <link rel="Content" href="#content" />
18 </head>
19 <body bgcolor="#ffffff">
20 <!-- Header -->
21 <div id="header">
22 <a name="top"></a>
23 <!-- Access -->
24 <div id="access">
25 Language:
26 <a href="../../devel/" title="A propos de SliTaz en français">Français</a>
27 </div>
28 <a href="http://www.slitaz.org/en/"><img id="logo"
29 src="../../pics/website/logo.png" title="www.slitaz.org/en" alt="www.slitaz.org"
30 style="border: 0px solid ; width: 200px; height: 74px;" /></a>
31 <p id="titre">#!/GNU/Linux</p>
32 </div>
33 <div id="nav">
34 <div id="nav_top"></div>
35 <ul>
36 <li><a href="../about/" title="Information about the SliTaz project">About the project</a></li>
37 <li><a href="../get/" title="Download - LiveCD ISO">Get SliTaz</a></li>
38 <li><a href="../doc/" title="LiveCD usage and howto">Documentation</a></li>
39 <li><a href="../packages/" title="Packaged software">Packages</a></li>
40 <li><a href="../devel/" title="Developers corner">Development</a></li>
41 <li><a href="../artwork/" title="Artwork, colors and images">Artwork</a></li>
42 <li><a href="../search.html" title="Search engine">Search</a></li>
43 <li><a href="../sitemap.html" title="Web site overview">Sitemap</a></li>
44 </ul>
45 <!--<hr />-->
46 <ul>
47 <li><a href="../mailing-list.html" title="Support, contact and collaboration">Mailing List</a></li>
48 <li><a href="http://forum.slitaz.org/#idx2" title="Forum for help and support">Support Forum</a></li>
49 </ul>
50 <hr />
51 <ul>
52 <li><a href="http://wiki.slitaz.org/" title="Wiki communities">Wiki Resources</a></li>
53 <li><a href="http://labs.slitaz.org/" title="SliTaz Laboratories">SliTaz Labs</a></li>
54 <li><a href="http://labs.slitaz.org/issues" title="Bug Tracking system">Bug Tracking</a></li>
55 </ul>
56 <div id="nav_bottom">
57 <div id="nav_bottom_img"></div>
58 </div>
59 </div>
61 <!-- Content top. -->
62 <div id="content_top">
63 <div class="top_left"></div>
64 <div class="top_right"></div>
65 </div>
67 <!-- Content -->
68 <div id="content">
69 <a name="content"></a>
71 <h1><font color="#3e1220">Development</font></h1>
72 <h2><font color="#df8f06">SliTaz Developers corner</font></h2>
74 <ul>
75 <li><a href="#tank">Build host &amp; home.</a></li>
76 <li><a href="#repos">Mercurial repositories.</a></li>
77 <li><a href="#pkgs">Tazpkg packages.</a></li>
78 <li><a href="#website">Website Management.</a></li>
79 <li><a href="../mailing-list.html">Mailing List.</a></li>
80 <li><a href="../doc/cookbook/wok-tools.html">Wok &amp; Tools.</a></li>
81 <li>Mercurial Repositories: <a href="http://hg.slitaz.org" >hg.slitaz.org</a></li>
82 <li>SliTaz Laboratories: <a href="http://labs.slitaz.org/">labs.slitaz.org</a></li>
83 </ul>
85 <p>
86 SliTaz is an open source and community driven distribution. Everyone is welcome
87 to join and contribute, from users, to hackers and developers, there is always
88 something to do, ie. Proofreading or writing documentation, sending bugs or
89 patches to the Mailing list, gaining access to the wok and pushing some new
90 packages or simply to help others on the Mailing list or forum. SliTaz has got
91 Mercurial repositories hosted on a SliTaz system, developers can ask for a new
92 repo if needed and contributors have write access to correct typos, scripts, etc.
93 </p>
95 <p>
96 SliTaz is a tiny community and listens to its users. There are several
97 developers who are active on the <a href="http://forum.slitaz.org/">forum</a>
98 and the <a href="../mailing-list.html">Mailing List</a>.
99 </p>
101 <a name="tank"></a>
102 <h3>Tank - Build host &amp; home</h3>
103 <p>
104 Each contributor may have an account on the project server with secure access,
105 disk space, a public directory and all development tools. Developers can compile
106 packages and maintainers of the mirror can handle sychronization. Tank also
107 hosts the website, web boot and mercurial repositories:
108 <a href="http://tank.slitaz.org/">tank.slitaz.org</a>
109 </p>
111 <a name="repos"></a>
112 <h3>Mercurial repositories</h3>
113 <p>
114 SliTaz Mercurial or Hg repos can be browsed or cloned by anyone using the URL:
115 <a href="http://hg.slitaz.org/">http://hg.slitaz.org/</a>. People with write
116 access can directly use <code>repos.slitaz.org</code> which requires authentication.
117 Mercurial uses Python and is installable with:
118 <code>tazpkg get-install mercurial</code>
119 </p>
120 <h4>~/.hgrc</h4>
121 <p>
122 Before you push your first commit onto the server, be sure that you have a correct
123 Hg configuration file with your name and email address, and remember to check
124 that you are not root. Personal ~/.hgrc file example:
125 </p>
126 <pre class="script">
127 [ui]
128 username = FirstName LastName &lt;you@example.org&gt;
129 </pre>
130 <h4>Clone, modify, commit and push</h4>
131 <p>
132 Clone a repo, example for wok:
133 </p>
134 <pre>
135 $ hg clone http://repos.slitaz.org/wok
136 </pre>
137 <p>
138 Change directory to wok, note you must be in the repository to be able
139 to use 'hg' commands. To check all logs or just the last log:
140 </p>
141 <pre>
142 $ hg log
143 $ hg head
144 </pre>
145 <p>
146 Add or modify one or more files and commit:
147 </p>
148 <pre>
149 $ hg add
150 $ hg status
151 $ hg commit -m "Log message..."
152 $ hg log
153 </pre>
154 <p>
155 Note that you can use the command <code>rollback</code> to roll back to the last
156 transaction. Before pushing changes to the server, it is safe to pull once:
157 </p>
158 <pre>
159 $ hg pull
160 $ hg push
161 </pre>
162 <p>
163 Done, your changes, code or corrections are now on the server.
164 </p>
165 <h4>Updating a local wok</h4>
166 <p>
167 To update your wok with the local server (<em>pull</em> to pull the changes):
168 </p>
169 <pre>
170 $ hg pull
171 $ hg update
172 </pre>
173 <h4>Useful commands</h4>
174 <p>
175 Hg commands that can be used.
176 </p>
177 <ul>
178 <li><code>hg help</code> : Display the full list of commands.</li>
179 <li><code>hg rollback</code> : Undo the last action performed (commit,
180 pull, push).</li>
181 <li><code>hg log &lt;package&gt;</code> : Display a package log.</li>
182 <li><code>hg head</code> : Display the last log.</li>
183 </ul>
185 <a name="pkgs"></a>
186 <h3>Tazpkg Packages</h3>
187 <p>
188 The tazpkg packages in SliTaz are automatically created via Tazwok and a
189 receipt in the wok. The Cookbook describes the
190 <a href="../doc/cookbook/wok-tools.html">use of tools</a>
191 and the format of <a href="../doc/cookbook/receipts.html">receipts</a>.
192 These are required reading before we begin.
193 </p>
194 <p>
195 In terms of choice of package, the idea is to offer a package by task or
196 functionality, ie. the lightest application in the field and not duplicated.
197 Note that the current packages are not immutable, if you find an alternative
198 that is lighter, with more features or more <em>sexy</em> for a few extra KB,
199 you can suggest it on the Mailing List. Particular attention is given to
200 packages for the LiveCD, these should be stripped, removing unnecesary
201 dependancies and compiler options. In general candidate packages for the core
202 LiveCD are discussed on the Mailing List.
203 </p>
204 <p>
205 Before you begin to compile and create packages for SliTaz, be sure that the
206 work doesn't already exist in the wok undigest provided by the primary SliTaz
207 mirror. Don't forget that the members of the list are there to help you
208 and that the documentation of the
209 <a href="../doc/cookbook/wok-tools.html">wok and tools</a>
210 exists to help you get started.
211 </p>
213 <a name="website"></a>
214 <h3>Website Management and Books</h3>
215 <p>
216 The website and books (Handbook and Cookbook) are managed via
217 a mercurial repository, they can be cloned by:
218 </p>
219 <pre>
220 $ hg clone http://hg.slitaz.org/website
221 Or if you have the proper permissions:
222 $ hg clone http://repos.slitaz.org/website
223 </pre>
225 <h4>Diff and patch</h4>
226 <p>
227 The utilities <code>diff</code> and <code>patch</code> are command-line tools
228 for creating and implementing a file containing differences between two files.
229 This technique is often used for collaboration and the changes made to the
230 original file can be clearly extracted. To create a <code>diff</code> file
231 readable by humans in a simple text editor, you must supply the <code>-u</code> option:
232 </p>
233 <pre>
234 $ diff -u file.orig file.new &gt; file.diff
235 </pre>
236 <p>
237 To apply a patch:
238 </p>
239 <pre>
240 $ patch file.orig file.diff
241 </pre>
243 <!-- End of content with round corner -->
244 </div>
245 <div id="content_bottom">
246 <div class="bottom_left"></div>
247 <div class="bottom_right"></div>
248 </div>
250 <!-- Start of footer and copy notice -->
251 <div id="copy">
252 <p>
253 Last modification : 2008-07-16 21:45:00 -
254 <a href="#top">Top of the page</a>
255 </p>
256 <p>
257 Copyright &copy; 2008 <a href="http://www.slitaz.org/">SliTaz</a> -
258 <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>
259 </p>
260 <!-- End of copy -->
261 </div>
263 <!-- Bottom and logo's -->
264 <div id="bottom">
265 <p>
266 <a href="http://validator.w3.org/check?uri=referer"><img
267 src="../../pics/website/xhtml10.png" alt="Valid XHTML 1.0"
268 title="Code validé XHTML 1.0"
269 style="width: 80px; height: 15px;" /></a>
270 </p>
271 </div>
273 </body>
274 </html>