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" />
|
pankso@6
|
12 <meta name="modified" content="2008-03-25 23:30: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@6
|
17 </head>
|
pankso@6
|
18 <body bgcolor="#ffffff">
|
pankso@6
|
19 <!-- Header -->
|
pankso@6
|
20 <div id="header">
|
pankso@6
|
21 <a name="top"></a>
|
pankso@6
|
22 <!-- Access -->
|
pankso@6
|
23 <div id="access">
|
pankso@6
|
24 <a href="#content" title="Page content">Content</a> |
|
pankso@6
|
25 <a href="../../devel/" title="A propos de SliTaz en français">Français</a>
|
pankso@6
|
26 </div>
|
pankso@6
|
27 <a href="http://www.slitaz.org/en/"><img id="logo"
|
pankso@6
|
28 src="../../pics/website/logo.png" title="www.slitaz.org/en" alt="www.slitaz.org"
|
pankso@6
|
29 style="border: 0px solid ; width: 200px; height: 74px;" /></a>
|
pankso@6
|
30 <p id="titre">#!/GNU/Linux</p>
|
pankso@6
|
31 </div>
|
pankso@6
|
32 <div id="nav">
|
pankso@6
|
33 <div id="nav_top"></div>
|
pankso@6
|
34 <ul>
|
pankso@6
|
35 <li><a href="../about/" title="Informations about the SliTaz project">About the project</a></li>
|
pankso@6
|
36 <li><a href="../get/" title="Download - LiveCD ISO">Get SliTaz</a></li>
|
pankso@6
|
37 <li><a href="../doc/" title="LiveCD usage and howto">Documentation</a></li>
|
pankso@11
|
38 <li><a href="../packages/" title="Packaged software">Packages</a></li>
|
pankso@6
|
39 <li><a href="../mailing-list.html" title="Support, contact and collaboration">Mailing List</a></li>
|
pankso@6
|
40 <li><a href="../devel/" title="Developer corner">Developement</a></li>
|
pankso@6
|
41 <li><a href="../artwork/" title="Artwork, colors and images">Artwork</a></li>
|
pankso@6
|
42 <li><a href="../search.html" title="Search engine">Search</a></li>
|
pankso@6
|
43 <li><a href="../sitemap.html" title="Web site overview">Sitemap</a></li>
|
pankso@6
|
44 <li><a href="http://forum.slitaz.org/#idx2" title="English support forum">Forum</a></li>
|
pankso@6
|
45 </ul>
|
pankso@6
|
46 <div id="nav_bottom">
|
pankso@6
|
47 <div id="nav_bottom_img"></div>
|
pankso@6
|
48 </div>
|
pankso@6
|
49 </div>
|
pankso@6
|
50
|
pankso@6
|
51 <!-- Content top. -->
|
pankso@6
|
52 <div id="content_top">
|
pankso@6
|
53 <div class="top_left"></div>
|
pankso@6
|
54 <div class="top_right"></div>
|
pankso@6
|
55 </div>
|
pankso@6
|
56
|
pankso@6
|
57 <!-- Content -->
|
pankso@6
|
58 <div id="content">
|
pankso@6
|
59 <a name="content"></a>
|
pankso@6
|
60
|
pankso@6
|
61 <h1><font color="#3e1220">Developement</font></h1>
|
pankso@6
|
62 <h2><font color="#df8f06">SliTaz Developers corner</font></h2>
|
pankso@6
|
63
|
pankso@17
|
64 <ul>
|
pankso@17
|
65 <li><a href="#repos">Mercurial repositories.</a></li>
|
pankso@17
|
66 <li><a href="#pkgs">Tazpkg packages.</a></li>
|
pankso@17
|
67 <li><a href="#website">Website Management.</a></li>
|
pankso@17
|
68 </ul>
|
pankso@17
|
69
|
pankso@6
|
70 <p>
|
pankso@6
|
71 SliTaz is an open source and community driven distribution. Everyone is welcome
|
pankso@6
|
72 to join and contribute, from users, to hackers and developers there is always
|
pankso@6
|
73 something to do, ie. Proofreading or writing documentation, sending bugs or
|
pankso@6
|
74 patches to the Mailing list, gaining access to the wok and pushing some new
|
pankso@17
|
75 packages or simply to help others on the Mailing list or forum. SliTaz has got
|
pankso@17
|
76 Mercurial repositories hosted on a SliTaz system, developers can ask for a new
|
pankso@17
|
77 repo if needed and contributors have write access to correct typos, scripts, etc.
|
pankso@17
|
78 </p>
|
pankso@17
|
79
|
pankso@17
|
80 <p>
|
pankso@17
|
81 SliTaz is a tiny community and listens to it's users. There are several
|
pankso@17
|
82 developers who are active on the <a href="http://forum.slitaz.org/">forum</a>
|
pankso@17
|
83 and the <a href="../mailing-list.html">Mailing List</a>.
|
pankso@6
|
84 </p>
|
pankso@6
|
85
|
pankso@6
|
86 <a name="repos"></a>
|
pankso@6
|
87 <h3>Mercurial repositories</h3>
|
pankso@6
|
88 <p>
|
pankso@6
|
89 SliTaz Mercurial or Hg repos can be browsed or cloned by anyone using the URL:
|
pankso@6
|
90 <a href="http://hg.slitaz.org/">http://hg.slitaz.org/</a>. People with write
|
pankso@6
|
91 access can directly use <code>repos.slitaz.org</code> which needs authentication.
|
pankso@6
|
92 Mercurial uses Python and is installable with:
|
pankso@6
|
93 <code>tazpkg get-install mercurial</code>
|
pankso@6
|
94 </p>
|
pankso@6
|
95 <h4>~/.hgrc</h4>
|
pankso@6
|
96 <p>
|
pankso@6
|
97 Before you push your first commit onto the server, be sure you have a correct
|
pankso@6
|
98 Hg configuration file with your name and email address and remember to check
|
pankso@6
|
99 that you are not root. Personal ~/.hgrc file example:
|
pankso@6
|
100 </p>
|
pankso@6
|
101 <pre class="script">
|
pankso@6
|
102 [ui]
|
pankso@6
|
103 username = Name FirstName <you@example.org>
|
pankso@6
|
104 </pre>
|
pankso@6
|
105 <h4>Clone, modify, commit and push</h4>
|
pankso@6
|
106 <p>
|
pankso@6
|
107 Clone a repo, example for slitaz-doc:
|
pankso@6
|
108 </p>
|
pankso@6
|
109 <pre>
|
pankso@6
|
110 $ hg clone http://repos.slitaz.org/slitaz-doc
|
pankso@6
|
111 </pre>
|
pankso@6
|
112 <p>
|
pankso@6
|
113 Change directory to slitaz-doc, note you must be in the repository to be able
|
pankso@6
|
114 to use 'hg' commands. To check all logs or just the last log:
|
pankso@6
|
115 </p>
|
pankso@6
|
116 <pre>
|
pankso@6
|
117 $ hg log
|
pankso@6
|
118 $ hg head
|
pankso@6
|
119 </pre>
|
pankso@6
|
120 <p>
|
pankso@6
|
121 Modify one or more files and commit:
|
pankso@6
|
122 </p>
|
pankso@6
|
123 <pre>
|
pankso@6
|
124 $ hg status
|
pankso@6
|
125 $ hg commit -m "Log message..."
|
pankso@6
|
126 $ hg log
|
pankso@6
|
127 </pre>
|
pankso@6
|
128 <p>
|
pankso@6
|
129 Note that you can use the command <code>rollback</code> to roll back to the last
|
pankso@6
|
130 transaction. Before pushing changes to the server it is safe to pull once:
|
pankso@6
|
131 </p>
|
pankso@6
|
132 <pre>
|
pankso@6
|
133 $ hg pull
|
pankso@6
|
134 $ hg push
|
pankso@6
|
135 </pre>
|
pankso@6
|
136 <p>
|
pankso@6
|
137 Done, your changes, code or corrections are now on the server.
|
pankso@6
|
138 </p>
|
pankso@6
|
139
|
pankso@17
|
140 <a name="pkgs"></a>
|
pankso@17
|
141 <h3>Tazpkg Packages</h3>
|
pankso@17
|
142 <p>
|
pankso@17
|
143 The packages tazpkg in SliTaz are automatically created via Tazwok and a
|
pankso@17
|
144 receipt in the wok, the Cookbook describes the
|
pankso@17
|
145 <a href="http://www.slitaz.org/doc/cookbook/wok-tools.html">use of tools (fr)</a>
|
pankso@17
|
146 and the format <a href="http://www.slitaz.org/doc/cookbook/receipts.html">receipts (fr)</a>,
|
pankso@17
|
147 These are required reading before we begin.
|
pankso@17
|
148 </p>
|
pankso@17
|
149 <p>
|
pankso@17
|
150 In terms of choice of package, the idea is to offer a package by task or
|
pankso@17
|
151 functionality, ie. the lightest application in the field and not duplicated.
|
pankso@17
|
152 Note that the current packages are not immutable, if you find an alternative
|
pankso@17
|
153 that is lighter, with more features or more <em>sexy</em> for a few extra KB,
|
pankso@17
|
154 you can suggest it on the Mailing List. Particular attention is given to
|
pankso@17
|
155 packages for the LiveCD; these should be stripped, removing unnecesary
|
pankso@17
|
156 dependancies and compiler options. In general candidate packages for the core
|
pankso@17
|
157 LiveCD are discussed on the Mailing List.
|
pankso@17
|
158 </p>
|
pankso@17
|
159 <p>
|
pankso@17
|
160 Before you begin to compile and create packages for SliTaz, be sure that the
|
pankso@17
|
161 work doesn't already exist in the wok indigest provided by the primary SliTaz
|
pankso@17
|
162 mirror. Don't forget that the members of the list are there to help you
|
pankso@17
|
163 and that the documentation of the
|
pankso@17
|
164 <a href="http://www.slitaz.org/doc/cookbook/wok-tools.html">wok and tools (fr)</a>
|
pankso@17
|
165 exists to help you get started.
|
pankso@17
|
166 </p>
|
pankso@17
|
167
|
paul@18
|
168 <a name="website"></a>
|
pankso@17
|
169 <h3>Website Management and Books</h3>
|
pankso@17
|
170 <p>
|
pankso@17
|
171 The management of the website and books (Handbook & Cookbook) is made via
|
pankso@17
|
172 a rsync module, Mercurial, diff and patch utilities and the Mailing List.
|
pankso@17
|
173 Rsync is a tool for incremental backup; using an ultra-fast algorithm, It can
|
pankso@17
|
174 transfer or syncronize data both locally or over the network. The
|
pankso@17
|
175 <code>diff</code> utility is used to send the list of files containing only
|
pankso@17
|
176 the changes and <code>patch</code> to apply the changes to the original pages.
|
pankso@17
|
177 </p>
|
pankso@17
|
178 <p>
|
pankso@17
|
179 You can syncronize the site and books graphically using Grsync or via the
|
pankso@17
|
180 command line. To download the site for the first time or syncronize the pages
|
pankso@17
|
181 in the directory <code>/home/hacker/Public/slitaz/website</code>,
|
pankso@17
|
182 use the module <code>rsync://slitaz.org/website</code>:
|
pankso@17
|
183 </p>
|
pankso@17
|
184 <pre>
|
pankso@17
|
185 $ rsync -r -t -p -v \
|
pankso@17
|
186 --progress --delete \
|
pankso@17
|
187 rsync://slitaz.org/website /home/hacker/Public/slitaz/website
|
pankso@17
|
188 </pre>
|
pankso@17
|
189 <h4>Diff and patch</h4>
|
pankso@17
|
190 <p>
|
pankso@17
|
191 The utilities <code>diff</code> and <code>patch</code> are command-line tools
|
pankso@17
|
192 for creating and implementing the differences between two files. This technique
|
pankso@17
|
193 is often used for collaboration and the changes made to the original file can
|
pankso@17
|
194 be clearly extracted. To create a <code>diff</code> file readable by humans in
|
pankso@17
|
195 a simple text editor, you must supply the <code>-u</code> option:
|
pankso@17
|
196 </p>
|
pankso@17
|
197 <pre>
|
pankso@17
|
198 $ diff -u file.orig file.new > file.diff
|
pankso@17
|
199 </pre>
|
pankso@17
|
200 <p>
|
pankso@17
|
201 To apply a patch:
|
pankso@17
|
202 </p>
|
pankso@17
|
203 <pre>
|
pankso@17
|
204 $ patch file.orig file.diff
|
pankso@17
|
205 </pre>
|
pankso@6
|
206
|
pankso@6
|
207 <!-- End of content with round corner -->
|
pankso@6
|
208 </div>
|
pankso@6
|
209 <div id="content_bottom">
|
pankso@6
|
210 <div class="bottom_left"></div>
|
pankso@6
|
211 <div class="bottom_right"></div>
|
pankso@6
|
212 </div>
|
pankso@6
|
213
|
pankso@6
|
214 <!-- Start of footer and copy notice -->
|
pankso@6
|
215 <div id="copy">
|
pankso@6
|
216 <p>
|
pankso@6
|
217 Last modification : 2008-03-25 23:30:00 -
|
pankso@6
|
218 <a href="#top">Top of the page</a>
|
pankso@6
|
219 </p>
|
pankso@6
|
220 <p>
|
pankso@6
|
221 Copyright © 2008 <a href="http://www.slitaz.org/">SliTaz</a> -
|
pankso@6
|
222 <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>
|
pankso@6
|
223 </p>
|
pankso@6
|
224 <!-- End of copy -->
|
pankso@6
|
225 </div>
|
pankso@6
|
226
|
pankso@6
|
227 <!-- Bottom and logo's -->
|
pankso@6
|
228 <div id="bottom">
|
pankso@6
|
229 <p>
|
pankso@6
|
230 <a href="http://validator.w3.org/check?uri=referer"><img
|
pankso@6
|
231 src="../../pics/website/xhtml10.png" alt="Valid XHTML 1.0"
|
pankso@6
|
232 title="Code validé XHTML 1.0"
|
pankso@6
|
233 style="width: 80px; height: 15px;" /></a>
|
pankso@6
|
234 </p>
|
pankso@6
|
235 </div>
|
pankso@6
|
236
|
pankso@6
|
237 </body>
|
pankso@6
|
238 </html>
|