<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>cksum &#187; OpenWrt</title>
	<atom:link href="http://cksum.org/blog/category/openwrt/feed" rel="self" type="application/rss+xml" />
	<link>http://cksum.org/blog</link>
	<description>3778944472 1484352 /vmlinuz</description>
	<lastBuildDate>Tue, 24 Jan 2012 13:22:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Création d&#8217;un patch pour la mise à jour d&#8217;un paquet OpenWrt</title>
		<link>http://cksum.org/blog/157-creation-patch-mise-a-jour-paquet-openwrt</link>
		<comments>http://cksum.org/blog/157-creation-patch-mise-a-jour-paquet-openwrt#comments</comments>
		<pubDate>Wed, 02 Nov 2011 13:05:49 +0000</pubDate>
		<dc:creator>raphaelh</dc:creator>
				<category><![CDATA[OpenWrt]]></category>
		<category><![CDATA[paquet]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[quilt]]></category>

		<guid isPermaLink="false">http://cksum.org/blog/?p=157</guid>
		<description><![CDATA[Nous allons voir comment mettre à jour le paquet pcre de la version 8.11 vers la version 8.20, et comment créer un patch pour l&#8217;envoyer aux développeurs d&#8217;OpenWrt. Pour info, voici l&#8217;arborescence dans laquelle je travaille : $ ls /data/workspace/openwrt/ patches trunk Tout d&#8217;abord, nous allons faire en sorte d&#8217;être à jour : $ cd [...]]]></description>
			<content:encoded><![CDATA[<p>Nous allons voir comment mettre à jour le <a href="https://dev.openwrt.org/browser/packages/libs/pcre" title="Paquet pcre">paquet pcre</a> de la version <strong>8.11</strong> vers la version <strong>8.20</strong>, et comment créer un patch pour l&#8217;<a href="http://cksum.org/blog/260-listes-discussion-openwrt" title="Les listes de discussion OpenWrt">envoyer aux développeurs d&#8217;OpenWrt</a>.</p>
<p>Pour info, voici l&#8217;arborescence dans laquelle je travaille :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>workspace<span style="color: #000000; font-weight: bold;">/</span>openwrt<span style="color: #000000; font-weight: bold;">/</span>
patches  trunk</pre></div></div>

<p>Tout d&#8217;abord, nous allons faire en sorte d&#8217;être à jour :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>workspace<span style="color: #000000; font-weight: bold;">/</span>openwrt<span style="color: #000000; font-weight: bold;">/</span>trunk<span style="color: #000000; font-weight: bold;">/</span>
$ <span style="color: #c20cb9; font-weight: bold;">svn</span> up
$ .<span style="color: #000000; font-weight: bold;">/</span>scripts<span style="color: #000000; font-weight: bold;">/</span>feeds update <span style="color: #660033;">-a</span></pre></div></div>

<p>Nous sommes maintenant prêts à commencer.</p>
<p>On commence par télécharger la dernière version de <strong>pcre</strong> dans le répertoire <strong>dl/</strong> :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #c20cb9; font-weight: bold;">wget</span> <span style="color: #660033;">-P</span> dl<span style="color: #000000; font-weight: bold;">/</span> <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>ftp.csx.cam.ac.uk<span style="color: #000000; font-weight: bold;">/</span>pub<span style="color: #000000; font-weight: bold;">/</span>software<span style="color: #000000; font-weight: bold;">/</span>programming<span style="color: #000000; font-weight: bold;">/</span>pcre<span style="color: #000000; font-weight: bold;">/</span>pcre-<span style="color: #000000;">8.20</span>.tar.bz2</pre></div></div>

<p>Puis on calcule sa somme de contrôle MD5 :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ md5sum dl<span style="color: #000000; font-weight: bold;">/</span>pcre-<span style="color: #000000;">8.20</span>.tar.bz2 
a1931c70e1273e3450d5036fe273d25c  dl<span style="color: #000000; font-weight: bold;">/</span>pcre-<span style="color: #000000;">8.20</span>.tar.bz2</pre></div></div>

<p>On va alors dans le répertoire du paquet pour commencer à travailler :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #7a0874; font-weight: bold;">cd</span> feeds<span style="color: #000000; font-weight: bold;">/</span>packages<span style="color: #000000; font-weight: bold;">/</span>libs<span style="color: #000000; font-weight: bold;">/</span>pcre<span style="color: #000000; font-weight: bold;">/</span></pre></div></div>

<p>On indique à <strong>quilt</strong> de créer un nouveau patch :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ quilt new pcre.patch
Patch pcre.patch is now on top</pre></div></div>

<p>On lui indique qu&#8217;on veut modifier le fichier <strong>Makefile</strong>, ce qui aura pour effet de l&#8217;ajouter automatiquement au patch qui est au sommet de la pile :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ quilt edit Makefile 
File Makefile added to <span style="color: #c20cb9; font-weight: bold;">patch</span> pcre.patch</pre></div></div>

<p>On va donc mettre à jour les divers paramètres du paquet qui ont changé.</p>
<p>Dans tous les cas il y aura <strong>PKG_VERSION</strong> à changer pour mettre le nouveau numéro de version, <strong>PKG_RELEASE</strong> à mettre à 1 (car c&#8217;est la première release du paquet à la nouvelle version), et <strong>PKG_MD5SUM</strong> à mettre à la valeur calculée un peu plus tôt.</p>
<p>Dans cet exemple, <strong>PKG_SOURCE_URL</strong> change également.</p>
<p>Avant :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">PKG_NAME:=pcre
PKG_VERSION:=<span style="color: #000000;">8.11</span>
PKG_RELEASE:=<span style="color: #000000;">2</span>
&nbsp;
PKG_SOURCE:=$<span style="color: #7a0874; font-weight: bold;">&#40;</span>PKG_NAME<span style="color: #7a0874; font-weight: bold;">&#41;</span>-$<span style="color: #7a0874; font-weight: bold;">&#40;</span>PKG_VERSION<span style="color: #7a0874; font-weight: bold;">&#41;</span>.tar.bz2
PKG_SOURCE_URL:=<span style="color: #000000; font-weight: bold;">@</span>SF<span style="color: #000000; font-weight: bold;">/</span>pcre
PKG_MD5SUM:=ef907b8792ec7f90f0dcd773848f0b3b</pre></div></div>

<p>Après :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">PKG_NAME:=pcre
PKG_VERSION:=<span style="color: #000000;">8.20</span>
PKG_RELEASE:=<span style="color: #000000;">1</span>
&nbsp;
PKG_SOURCE:=$<span style="color: #7a0874; font-weight: bold;">&#40;</span>PKG_NAME<span style="color: #7a0874; font-weight: bold;">&#41;</span>-$<span style="color: #7a0874; font-weight: bold;">&#40;</span>PKG_VERSION<span style="color: #7a0874; font-weight: bold;">&#41;</span>.tar.bz2
PKG_SOURCE_URL:=<span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>ftp.csx.cam.ac.uk<span style="color: #000000; font-weight: bold;">/</span>pub<span style="color: #000000; font-weight: bold;">/</span>software<span style="color: #000000; font-weight: bold;">/</span>programming<span style="color: #000000; font-weight: bold;">/</span>pcre<span style="color: #000000; font-weight: bold;">/</span>
PKG_MD5SUM:=a1931c70e1273e3450d5036fe273d25c</pre></div></div>

<p>Une fois les modifications effectuées, on indique à <strong>quilt</strong> de rafraîchir le patch :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ quilt refresh
Refreshed <span style="color: #c20cb9; font-weight: bold;">patch</span> pcre.patch</pre></div></div>

<p>Comme nous l&#8217;avons défini dans <a href="http://cksum.org/blog/156-installation-configuration-quilt-creer-patchs-openwrt" title="Installation et configuration de quilt pour créer des patchs OpenWrt">Installation et configuration de quilt pour créer des patchs OpenWrt</a>, le patch se trouve dans <strong>/data/workspace/openwrt/patches/</strong>.</p>
<p>On retourne à la racine d&#8217;OpenWrt pour vérifier que tout compile correctement :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #7a0874; font-weight: bold;">cd</span> -
<span style="color: #000000; font-weight: bold;">/</span>data<span style="color: #000000; font-weight: bold;">/</span>workspace<span style="color: #000000; font-weight: bold;">/</span>openwrt<span style="color: #000000; font-weight: bold;">/</span>trunk
&nbsp;
$ <span style="color: #c20cb9; font-weight: bold;">make</span> package<span style="color: #000000; font-weight: bold;">/</span>pcre<span style="color: #000000; font-weight: bold;">/</span>compile <span style="color: #007800;">V</span>=<span style="color: #000000;">99</span> <span style="color: #007800;">DEVELOPER</span>=<span style="color: #000000;">1</span></pre></div></div>

<p>Et voilà !</p>
]]></content:encoded>
			<wfw:commentRss>http://cksum.org/blog/157-creation-patch-mise-a-jour-paquet-openwrt/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Les listes de discussion OpenWrt</title>
		<link>http://cksum.org/blog/260-listes-discussion-openwrt</link>
		<comments>http://cksum.org/blog/260-listes-discussion-openwrt#comments</comments>
		<pubDate>Thu, 13 Oct 2011 10:04:13 +0000</pubDate>
		<dc:creator>raphaelh</dc:creator>
				<category><![CDATA[OpenWrt]]></category>
		<category><![CDATA[libre-planet]]></category>

		<guid isPermaLink="false">http://cksum.org/blog/?p=260</guid>
		<description><![CDATA[Il y a actuellement 3 listes de discussion (mailing lists) OpenWrt actives et publiques : openwrt-users : pour les utilisateurs openwrt-devel : pour les développeurs openwrt-tickets : pour recevoir les tickets Trac Les liens ci-dessus permettent de s&#8217;inscrire aux différentes listes, et également de consulter les archives. La liste openwrt-devel est la plus intéressante pour [...]]]></description>
			<content:encoded><![CDATA[<p>Il y a actuellement 3 listes de discussion (mailing lists) <a title="OpenWrt" href="http://openwrt.org">OpenWrt</a> actives et publiques :</p>
<ul>
<li><a title="openwrt-users -- OpenWrt User List" href="https://lists.openwrt.org/mailman/listinfo/openwrt-users">openwrt-users</a> : pour les utilisateurs</li>
<li><a title="openwrt-devel -- OpenWrt Development List" href="https://lists.openwrt.org/mailman/listinfo/openwrt-devel">openwrt-devel</a> : pour les développeurs </li>
<li><a title="openwrt-tickets -- OpenWrt Trac Tickets" href="https://lists.openwrt.org/mailman/listinfo/openwrt-tickets">openwrt-tickets</a> : pour recevoir les tickets Trac</li>
</ul>
<p>Les liens ci-dessus permettent de s&#8217;inscrire aux différentes listes, et également de consulter les archives.</p>
<p>La liste <strong>openwrt-devel</strong> est la plus intéressante pour ceux qui font du développement sous OpenWrt, et c&#8217;est d&#8217;ailleurs le moyen privilégié pour contribuer un patch.</p>
<p>Ces listes sont anglophones, mais il existe également un <a href="http://openwrt.fr/forum/" title="Forum OpenWrt en français">forum OpenWrt en français</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cksum.org/blog/260-listes-discussion-openwrt/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Paquet OpenWrt : la variable PKG_MIRROR_MD5SUM</title>
		<link>http://cksum.org/blog/190-paquet-openwrt-variable-pkg_mirror_md5sum</link>
		<comments>http://cksum.org/blog/190-paquet-openwrt-variable-pkg_mirror_md5sum#comments</comments>
		<pubDate>Wed, 05 Oct 2011 13:03:20 +0000</pubDate>
		<dc:creator>raphaelh</dc:creator>
				<category><![CDATA[OpenWrt]]></category>
		<category><![CDATA[packages]]></category>
		<category><![CDATA[planet-libre]]></category>

		<guid isPermaLink="false">http://cksum.org/blog/?p=190</guid>
		<description><![CDATA[La variable PKG_MIRROR_MD5SUM a été ajoutée lors du commit [26260]. Une petite explication est nécessaire avant d&#8217;aborder cette variable. Dans le Makefile d&#8217;un paquet OpenWrt, la variable PKG_SOURCE_URL, comme son nom l&#8217;indique, spécifie l&#8217;URL à partir de laquelle les sources du paquet seront téléchargées. Différentes méthodes sont prises en charge, HTTP, FTP, git, subversion,&#8230; Dans [...]]]></description>
			<content:encoded><![CDATA[<p>La variable <strong>PKG_MIRROR_MD5SUM</strong> a été ajoutée lors du commit <a title="[26260]" href="https://dev.openwrt.org/changeset/26260">[26260]</a>.</p>
<p>Une petite explication est nécessaire avant d&#8217;aborder cette variable. Dans le Makefile d&#8217;un paquet OpenWrt, la variable <strong>PKG_SOURCE_URL</strong>, comme son nom l&#8217;indique, spécifie l&#8217;URL à partir de laquelle les sources du paquet seront téléchargées. Différentes méthodes sont prises en charge, HTTP, FTP, git, subversion,&#8230; Dans les cas HTTP et FTP, c&#8217;est une archive (*.tar.bz2, *.tar.gz, *.zip,&#8230;) qui sera téléchargée, mais lorsqu&#8217;il s&#8217;agit d&#8217;un dépôt (git, subversion&#8230;), c&#8217;est un checkout qui sera effectué.</p>
<p>Dans ce dernier cas, OpenWrt va automatiquement créer une archive dans le répertoire <strong>dl/</strong> (qui contient toutes les archives téléchargées) à partir du checkout. Cette archive aura le nom défini par la variable <strong>PKG_SOURCE</strong>.</p>
<p>Prenons un exemple avec le <a title="Makefile du paquet hostapd" href="https://dev.openwrt.org/browser/trunk/package/hostapd/Makefile">Makefile du paquet hostapd</a>, dont voici un extrait :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">PKG_NAME:=hostapd
PKG_VERSION:=<span style="color: #000000;">20110527</span>
PKG_RELEASE:=<span style="color: #000000;">2</span>
PKG_REV:=ceb34f250af7a7082f18c1e0451dc7fbc0f000f3
&nbsp;
PKG_SOURCE:=$<span style="color: #7a0874; font-weight: bold;">&#40;</span>PKG_NAME<span style="color: #7a0874; font-weight: bold;">&#41;</span>-$<span style="color: #7a0874; font-weight: bold;">&#40;</span>PKG_VERSION<span style="color: #7a0874; font-weight: bold;">&#41;</span>.tar.bz2
PKG_SOURCE_URL:=<span style="color: #c20cb9; font-weight: bold;">git</span>:<span style="color: #000000; font-weight: bold;">//</span>w1.fi<span style="color: #000000; font-weight: bold;">/</span>srv<span style="color: #000000; font-weight: bold;">/</span>git<span style="color: #000000; font-weight: bold;">/</span>hostap.git
PKG_SOURCE_SUBDIR:=$<span style="color: #7a0874; font-weight: bold;">&#40;</span>PKG_NAME<span style="color: #7a0874; font-weight: bold;">&#41;</span>-$<span style="color: #7a0874; font-weight: bold;">&#40;</span>PKG_VERSION<span style="color: #7a0874; font-weight: bold;">&#41;</span>
PKG_SOURCE_VERSION:=$<span style="color: #7a0874; font-weight: bold;">&#40;</span>PKG_REV<span style="color: #7a0874; font-weight: bold;">&#41;</span>
PKG_SOURCE_PROTO:=<span style="color: #c20cb9; font-weight: bold;">git</span>
PKG_MIRROR_MD5SUM:=4b98902d782813b41aca1faff613f677</pre></div></div>

<p><strong>hostapd</strong> est téléchargé à partir du dépôt <a href="git://w1.fi/srv/git/hostap.git">git://w1.fi/srv/git/hostap.git</a>. OpenWrt va automatiquement créer l&#8217;archive <strong>hostapd-20110527.tar.bz2</strong> dans le répertoire <strong>dl/</strong>, qu&#8217;on peut mettre sur un miroir, afin qu&#8217;OpenWrt télécharge les sources directement sous forme d&#8217;archive, plutôt que de faire un checkout.</p>
<p>On peut vérifier, en gardant l&#8217;exemple du paquet hostapd, que la somme de contrôle MD5 de l&#8217;archive correspond bien à la valeur de <strong>PKG_MIRROR_MD5SUM</strong> définie dans le Makefile :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ md5sum dl<span style="color: #000000; font-weight: bold;">/</span>hostapd-<span style="color: #000000;">20110527</span>.tar.bz2 
4b98902d782813b41aca1faff613f677  dl<span style="color: #000000; font-weight: bold;">/</span>hostapd-<span style="color: #000000;">20110527</span>.tar.bz2</pre></div></div>

<p>Voici maintenant comment spécifier un miroir :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #c20cb9; font-weight: bold;">make</span> menuconfig</pre></div></div>

<p>Ensuite on sélectionne :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000; font-weight: bold;">*</span><span style="color: #7a0874; font-weight: bold;">&#93;</span> Advanced configuration options <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000; font-weight: bold;">for</span> developers<span style="color: #7a0874; font-weight: bold;">&#41;</span>  ---<span style="color: #000000; font-weight: bold;">&gt;</span></pre></div></div>

<p>Puis :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>    Local mirror <span style="color: #000000; font-weight: bold;">for</span> <span style="color: #7a0874; font-weight: bold;">source</span> packages</pre></div></div>

<p>Il suffit alors d&#8217;entrer l&#8217;adresse d&#8217;un serveur HTTP ou FTP :<br />
<a href="http://cksum.org/blog/wp-content/local_mirror.png"><img class="aligncenter size-medium wp-image-191" title="OpenWrt - Spécification d'un miroir" src="http://cksum.org/blog/wp-content/local_mirror-300x86.png" alt="" width="300" height="86" /></a></p>
<p>et finalement quitter menuconfig en enregistrant la nouvelle configuration.</p>
]]></content:encoded>
			<wfw:commentRss>http://cksum.org/blog/190-paquet-openwrt-variable-pkg_mirror_md5sum/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Openwrt : le fichier feeds.conf</title>
		<link>http://cksum.org/blog/167-openwrt-fichier-feeds-conf</link>
		<comments>http://cksum.org/blog/167-openwrt-fichier-feeds-conf#comments</comments>
		<pubDate>Tue, 13 Sep 2011 13:33:44 +0000</pubDate>
		<dc:creator>raphaelh</dc:creator>
				<category><![CDATA[OpenWrt]]></category>
		<category><![CDATA[feeds]]></category>
		<category><![CDATA[feeds.conf]]></category>
		<category><![CDATA[planet-libre]]></category>

		<guid isPermaLink="false">http://cksum.org/blog/?p=167</guid>
		<description><![CDATA[La liste des flux de paquets utilisables est définie dans un fichier nommé feeds.conf qui se trouve à la racine des sources OpenWrt. L&#8217;utilitaire ./scripts/feeds tente d&#8217;abord de lire le fichier feeds.conf, et s&#8217;il n&#8217;existe pas, c&#8217;est le fichier feeds.conf.default qui sera pris en compte. Voici son contenu par défaut : src-svn packages svn://svn.openwrt.org/openwrt/packages src-svn [...]]]></description>
			<content:encoded><![CDATA[<p>La liste des flux de paquets utilisables est définie dans un fichier nommé <strong>feeds.conf</strong> qui se trouve à la racine des sources OpenWrt. L&#8217;utilitaire <strong>./scripts/feeds</strong> tente d&#8217;abord de lire le fichier <strong>feeds.conf</strong>, et s&#8217;il n&#8217;existe pas, c&#8217;est le fichier <a title="feeds.conf.default" href="https://dev.openwrt.org/browser/trunk/feeds.conf.default">feeds.conf.default</a> qui sera pris en compte. Voici son contenu par défaut :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">src-svn packages <span style="color: #c20cb9; font-weight: bold;">svn</span>:<span style="color: #000000; font-weight: bold;">//</span>svn.openwrt.org<span style="color: #000000; font-weight: bold;">/</span>openwrt<span style="color: #000000; font-weight: bold;">/</span>packages
src-svn xwrt http:<span style="color: #000000; font-weight: bold;">//</span>x-wrt.googlecode.com<span style="color: #000000; font-weight: bold;">/</span>svn<span style="color: #000000; font-weight: bold;">/</span>trunk<span style="color: #000000; font-weight: bold;">/</span>package
src-svn luci http:<span style="color: #000000; font-weight: bold;">//</span>svn.luci.subsignal.org<span style="color: #000000; font-weight: bold;">/</span>luci<span style="color: #000000; font-weight: bold;">/</span>trunk<span style="color: #000000; font-weight: bold;">/</span>contrib<span style="color: #000000; font-weight: bold;">/</span>package
<span style="color: #666666; font-style: italic;">#src-svn phone svn://svn.openwrt.org/openwrt/feeds/phone</span>
<span style="color: #666666; font-style: italic;">#src-svn efl svn://svn.openwrt.org/openwrt/feeds/efl</span>
<span style="color: #666666; font-style: italic;">#src-svn desktop svn://svn.openwrt.org/openwrt/feeds/desktop</span>
<span style="color: #666666; font-style: italic;">#src-svn xfce svn://svn.openwrt.org/openwrt/feeds/xfce</span>
<span style="color: #666666; font-style: italic;">#src-svn lxde svn://svn.openwrt.org/openwrt/feeds/lxde</span>
<span style="color: #666666; font-style: italic;">#src-link custom /usr/src/openwrt/custom-feed</span></pre></div></div>

<p>La syntaxe est très simple : une définition de flux correspond à une ligne, constituée de 3 champs séparés par des espaces. Ces champs sont, dans l&#8217;ordre :</p>
<ul>
<li><strong>méthode</strong> : la méthode à utiliser pour copier ou télécharger les données du flux (voir un peu plus loin les différentes valeurs possibles)</li>
<li><strong>nom</strong> : le nom utilisé pour identifier un flux, et créer les divers répertoires et fichiers qui contiennent les données de ce flux</li>
<li><strong> source</strong> : l&#8217;emplacement (chemin d&#8217;accès ou URL) à partir duquel les données du flux seront copiées ou téléchargées</li>
</ul>
<p>Les lignes commençant par le caractère <strong>#</strong> sont ignorées.</p>
<p>Voici les différentes méthodes supportées actuellement :</p>
<ul>
<li><strong>src-cpy</strong> : les données sont copiées à partir d&#8217;un répertoire source</li>
<li><strong>src-link</strong> : un lien symbolique est créé vers le répertoire source</li>
<li><strong>src-svn</strong> : les données sont récupérées à partir d&#8217;un dépôt Subversion</li>
<li><strong>src-git</strong> : les données sont récupérées à partir d&#8217;un dépôt git</li>
<li><strong>src-gitsvn</strong> : les données sont récupérées avec git à partir d&#8217;un dépôt Subversion</li>
<li><strong>src-bzr</strong> : les données sont récupérées à partir d&#8217;un dépôt Bazaar</li>
<li><strong>src-hg</strong> : les données sont récupérées à partir d&#8217;un dépôt Mercurial</li>
<li><strong>src-darcs</strong> : les données sont récupérées à partir d&#8217;un dépôt Darcs</li>
</ul>
<p>Remarques :</p>
<ul>
<li>Pour la méthode <strong>src-cpy</strong>, le nom du flux doit être identique au nom du répertoire contenant le flux (c&#8217;est-à-dire le basename de la source).</li>
<li>Il est possible de spécifier un nom de branche pour la méthode <strong>src-git</strong> : si la source contient le caractère <strong>;</strong> (point-virgule), la partie avant le point-virgule est traitée comme une URL et la partie après comme un nom de branche.</li>
<li>Pour les méthodes <strong>src-git</strong> et <strong>src-bzr</strong>, l&#8217;historique complet n&#8217;est pas téléchargé : <strong>git clone</strong> est appelé avec le paramètre <strong>&#8211;depth 1</strong> et <strong>bzr checkout</strong> avec le paramètre <strong>&#8211;lightweight</strong>. Si ce n&#8217;est pas le comportement souhaité, il faut modifier le fichier <strong>./scripts/feeds</strong>.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://cksum.org/blog/167-openwrt-fichier-feeds-conf/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Récupération et mise à jour des sources d’OpenWrt avec subversion</title>
		<link>http://cksum.org/blog/159-recuperation-mise-a-jour-sources-openwrt-subversion</link>
		<comments>http://cksum.org/blog/159-recuperation-mise-a-jour-sources-openwrt-subversion#comments</comments>
		<pubDate>Tue, 13 Sep 2011 08:51:14 +0000</pubDate>
		<dc:creator>raphaelh</dc:creator>
				<category><![CDATA[OpenWrt]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[sources]]></category>
		<category><![CDATA[subversion]]></category>

		<guid isPermaLink="false">http://cksum.org/blog/?p=159</guid>
		<description><![CDATA[Voici comment récupérer les sources de développement d&#8217;OpenWrt avec subversion. Cette étape initiale prend un certain temps (mais moins qu&#8217;avec git), sur mon PC ça a pris environ 3 minutes : $ svn co svn://svn.openwrt.org/openwrt/trunk/ openwrt Les sources se trouvent alors dans le répertoire openwrt/ : $ ls openwrt/ BSDmakefile Config.in docs feeds.conf.default include LICENSE [...]]]></description>
			<content:encoded><![CDATA[<p>Voici comment récupérer les sources de développement d&#8217;OpenWrt avec <strong>subversion</strong>.</p>
<p>Cette étape initiale prend un certain temps (mais moins qu&#8217;avec <strong>git</strong>), sur mon PC ça a pris environ 3 minutes :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #c20cb9; font-weight: bold;">svn</span> <span style="color: #c20cb9; font-weight: bold;">co</span> <span style="color: #c20cb9; font-weight: bold;">svn</span>:<span style="color: #000000; font-weight: bold;">//</span>svn.openwrt.org<span style="color: #000000; font-weight: bold;">/</span>openwrt<span style="color: #000000; font-weight: bold;">/</span>trunk<span style="color: #000000; font-weight: bold;">/</span> openwrt</pre></div></div>

<p>Les sources se trouvent alors dans le répertoire <strong>openwrt/</strong> :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #c20cb9; font-weight: bold;">ls</span> openwrt<span style="color: #000000; font-weight: bold;">/</span>
BSDmakefile  Config.in  docs  feeds.conf.default  include  LICENSE  Makefile  package  README  rules.mk  scripts  target  toolchain  tools</pre></div></div>

<p>Et quand on veut mettre à jour les sources :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #7a0874; font-weight: bold;">cd</span> openwrt<span style="color: #000000; font-weight: bold;">/</span>
$ <span style="color: #c20cb9; font-weight: bold;">svn</span> up</pre></div></div>

<p>A la révision <strong>28226</strong>, cela prend un total de <strong>217M</strong> sur mon disque dur.</p>
]]></content:encoded>
			<wfw:commentRss>http://cksum.org/blog/159-recuperation-mise-a-jour-sources-openwrt-subversion/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Récupération et mise à jour des sources d&#8217;OpenWrt avec git</title>
		<link>http://cksum.org/blog/155-recuperation-mise-a-jour-sources-openwrt-git</link>
		<comments>http://cksum.org/blog/155-recuperation-mise-a-jour-sources-openwrt-git#comments</comments>
		<pubDate>Tue, 13 Sep 2011 08:37:04 +0000</pubDate>
		<dc:creator>raphaelh</dc:creator>
				<category><![CDATA[OpenWrt]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[sources]]></category>

		<guid isPermaLink="false">http://cksum.org/blog/?p=155</guid>
		<description><![CDATA[Pour ceux qui préfèrent utiliser git que subversion, il existe le dépôt git://nbd.name/openwrt.git, qui est un clone de svn://svn.openwrt.org/openwrt/trunk/. Cette étape initiale prend un certain temps, sur mon PC ça a pris environ 15 minutes : $ git clone git://nbd.name/openwrt.git Cloning into openwrt... remote: Counting objects: 180065, done. remote: Compressing objects: 100% &#40;59223/59223&#41;, done. remote: [...]]]></description>
			<content:encoded><![CDATA[<p>Pour ceux qui préfèrent utiliser <strong>git</strong> que <strong>subversion</strong>, il existe le dépôt <a href="git://nbd.name/openwrt.git">git://nbd.name/openwrt.git</a>, qui est un clone de <a href="/svn://svn.openwrt.org/openwrt/trunk/">svn://svn.openwrt.org/openwrt/trunk/</a>.</p>
<p>Cette étape initiale prend un certain temps, sur mon PC ça a pris environ 15 minutes :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #c20cb9; font-weight: bold;">git</span> clone <span style="color: #c20cb9; font-weight: bold;">git</span>:<span style="color: #000000; font-weight: bold;">//</span>nbd.name<span style="color: #000000; font-weight: bold;">/</span>openwrt.git
Cloning into openwrt...
remote: Counting objects: <span style="color: #000000;">180065</span>, done.
remote: Compressing objects: <span style="color: #000000;">100</span><span style="color: #000000; font-weight: bold;">%</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">59223</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">59223</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>, done.
remote: Total <span style="color: #000000;">180065</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>delta <span style="color: #000000;">118121</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>, reused <span style="color: #000000;">170795</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>delta <span style="color: #000000;">111287</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
Receiving objects: <span style="color: #000000;">100</span><span style="color: #000000; font-weight: bold;">%</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">180065</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">180065</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>, <span style="color: #000000;">78.81</span> MiB <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #000000;">122</span> KiB<span style="color: #000000; font-weight: bold;">/</span>s, done.
Resolving deltas: <span style="color: #000000;">100</span><span style="color: #000000; font-weight: bold;">%</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">118121</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">118121</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>, done.</pre></div></div>

<p>Les sources se trouvent alors dans le répertoire <strong>openwrt/</strong> :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #c20cb9; font-weight: bold;">ls</span> openwrt<span style="color: #000000; font-weight: bold;">/</span>
BSDmakefile  Config.in  docs  feeds.conf.default  include  LICENSE  Makefile  package  README  rules.mk  scripts  target  toolchain  tools</pre></div></div>

<p>Et quand on veut mettre à jour les sources :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ <span style="color: #7a0874; font-weight: bold;">cd</span> openwrt<span style="color: #000000; font-weight: bold;">/</span>
$ <span style="color: #c20cb9; font-weight: bold;">git</span> pull</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://cksum.org/blog/155-recuperation-mise-a-jour-sources-openwrt-git/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>French ISP SFR publishes OpenWrt sources of its DSL modem</title>
		<link>http://cksum.org/blog/39-french-isp-sfr-publishes-openwrt-sources-dsl-modem</link>
		<comments>http://cksum.org/blog/39-french-isp-sfr-publishes-openwrt-sources-dsl-modem#comments</comments>
		<pubDate>Tue, 27 Apr 2010 14:32:28 +0000</pubDate>
		<dc:creator>raphaelh</dc:creator>
				<category><![CDATA[OpenWrt]]></category>
		<category><![CDATA[neufbox 4]]></category>

		<guid isPermaLink="false">http://cksum.org/blog/?p=39</guid>
		<description><![CDATA[The neufbox 4 is a BRCM63xx based DSL router the french ISP SFR provides to its customers, and more than 3 million units are currently in use. The device is developed by Efixo and the OpenWrt based sources are available through a subversion repository and documentation is placed in a Trac wiki. Efixo has shown [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://cksum.org/blog/wp-content/logo_efixo.png"><img class="alignleft size-full wp-image-40" title="Logo Efixo" src="http://cksum.org/blog/wp-content/logo_efixo.png" alt="Logo Efixo" width="216" height="70" /></a>The <a href="http://www.neufbox4.org/wiki/index.php?title=Neufbox_4">neufbox 4</a> is a BRCM63xx based DSL router the french ISP <a href="http://www.sfr.fr/">SFR</a> provides to its customers, and more than 3 million units are currently in use. The device is developed by <a href="http://www.efixo.net/">Efixo</a> and the <a href="http://openwrt.org/">OpenWrt</a> based sources are available through a subversion repository and documentation is placed in a <a href="http://dev.efixo.net/">Trac wiki</a>.</p>
<p>Efixo has shown a commitment for openness and have in the past been providing <a href="http://www.efixo.com/neufbox4/freesoftware">development sources</a>.<a href="http://cksum.org/blog/wp-content/neufbox4.jpg"><img class="aligncenter size-medium wp-image-44" title="neufbox 4" src="http://cksum.org/blog/wp-content/neufbox4-300x199.jpg" alt="neufbox 4" width="300" height="199" /></a></p>
<p>Some sources are not directly available, but proprietary binary drivers are downloaded and integrated in the firmware during the default build process. Now, everyone can checkout the OpenWrt based sources, compile and install a firmware version which includes complete services, such as VoIP and television.</p>
<p><code><br />
~$ svn co <a href="http://svn.efixo.net/trunk/">http://svn.efixo.net/trunk/</a> neufbox<br />
~$ cd neufbox/<br />
~$ make nb4-main<br />
</code></p>
<p>Further details (mainly in french) can be found in the <a href="http://www.neufbox4.org/">unofficial neufbox 4 community</a>, which offers information on how to build a serial JTAG, how to reflash the neufbox 4 and more.</p>
]]></content:encoded>
			<wfw:commentRss>http://cksum.org/blog/39-french-isp-sfr-publishes-openwrt-sources-dsl-modem/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenWrt packages: the TITLE field</title>
		<link>http://cksum.org/blog/11-openwrt-packages-title-field</link>
		<comments>http://cksum.org/blog/11-openwrt-packages-title-field#comments</comments>
		<pubDate>Tue, 09 Feb 2010 16:46:58 +0000</pubDate>
		<dc:creator>raphaelh</dc:creator>
				<category><![CDATA[OpenWrt]]></category>
		<category><![CDATA[packages]]></category>

		<guid isPermaLink="false">http://cksum.org/blog/?p=11</guid>
		<description><![CDATA[In OpenWrt, the default values for fields concerning a package are defined in /trunk/include/package-defaults.mk. You can see that for the TITLE field, the default is the empty string: TITLE:= So you need to define it in your package Makefile. Let&#8217;s take the Makefile of liblzo as an example: define Package/liblzo SECTION:=libs CATEGORY:=Libraries TITLE:=A real-time data [...]]]></description>
			<content:encoded><![CDATA[<p>In <a title="OpenWrt" href="http://openwrt.org" target="_self">OpenWrt</a>, the default values for fields concerning a package are defined in <a title="/trunk/include/package-defaults.mk" href="https://dev.openwrt.org/browser/trunk/include/package-defaults.mk" target="_self">/trunk/include/package-defaults.mk</a>.</p>
<p>You can see that for the <strong>TITLE</strong> field, the default is the empty string:<br />
<code>TITLE:=</code></p>
<p>So you need to define it in your package <strong>Makefile</strong>. Let&#8217;s take the <a title="Makefile of liblzo" href="https://dev.openwrt.org/browser/packages/libs/lzo/Makefile" target="_self">Makefile of liblzo</a> as an example:<br />
<code><br />
define Package/liblzo<br />
SECTION:=libs<br />
CATEGORY:=Libraries<br />
TITLE:=A real-time data compression library<br />
URL:=http://www.oberhumer.com/opensource/lzo/<br />
endef<br />
</code></p>
<p>After doing a <strong>make menuconfig</strong>, and navigating to the liblzo package, it will show this:</p>
<p><a href="http://cksum.org/blog/wp-content/openwrt_menuconfig_description_good.png"><img class="aligncenter size-medium wp-image-12" title="OpenWrt menuconfig for liblzo package" src="http://cksum.org/blog/wp-content/openwrt_menuconfig_description_good-300x208.png" alt="OpenWrt menuconfig for liblzo package" width="300" height="208" /></a></p>
<p>Okay, pretty simple. Now what is the maximum length possible for this field?</p>
<p>The <strong>TITLE</strong> field can be up to <strong>65 characters</strong> in length:</p>
<p><code>define Package/liblzo<br />
SECTION:=libs<br />
CATEGORY:=Libraries<br />
TITLE:=abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz012<br />
URL:=http://www.oberhumer.com/opensource/lzo/<br />
endef</code></p>
<p>This will show:</p>
<p><a href="http://cksum.org/blog/wp-content/openwrt_menuconfig_title_66_characters_list.png"><img class="alignleft size-medium wp-image-16" title="OpenWrt menuconfig for liblzo package (66 characters TITLE)" src="http://cksum.org/blog/wp-content/openwrt_menuconfig_title_66_characters_list-300x208.png" alt="OpenWrt menuconfig for liblzo package (66 characters TITLE)" width="300" height="208" /></a><a href="http://cksum.org/blog/wp-content/openwrt_menuconfig_title_66_characters_help.png"><img class="alignright size-medium wp-image-15" title="OpenWrt menuconfig for liblzo package (66 characters TITLE)" src="http://cksum.org/blog/wp-content/openwrt_menuconfig_title_66_characters_help-300x208.png" alt="OpenWrt menuconfig for liblzo package (66 characters TITLE)" width="300" height="208" /></a></p>
<div style="clear: both"></div>
<p>But if you add one more character, the <strong>TITLE</strong> field will now be <strong>66 characters</strong> long:</p>
<p><code>define Package/liblzo<br />
SECTION:=libs<br />
CATEGORY:=Libraries<br />
TITLE:=abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123<br />
URL:=http://www.oberhumer.com/opensource/lzo/<br />
endef</code></p>
<p>And it will show an empty title:</p>
<p><a href="http://cksum.org/blog/wp-content/openwrt_menuconfig_title_65_characters_list.png"><img class="alignnone size-medium wp-image-14" title="OpenWrt menuconfig for liblzo package (65 characters TITLE)" src="http://cksum.org/blog/wp-content/openwrt_menuconfig_title_65_characters_list-300x208.png" alt="OpenWrt menuconfig for liblzo package (65 characters TITLE)" width="300" height="208" /></a><a href="http://cksum.org/blog/wp-content/openwrt_menuconfig_title_65_characters_help.png"><img class="alignright size-medium wp-image-13" title="OpenWrt menuconfig for liblzo package (65 characters TITLE)" src="http://cksum.org/blog/wp-content/openwrt_menuconfig_title_65_characters_help-300x208.png" alt="OpenWrt menuconfig for liblzo package (65 characters TITLE)" width="300" height="208" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://cksum.org/blog/11-openwrt-packages-title-field/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

