website annotate en/devel/index.html @ rev 270

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