{"id":1083,"date":"2012-03-26T18:58:59","date_gmt":"2012-03-26T18:58:59","guid":{"rendered":"http:\/\/blog.milamberspace.net\/?p=1083"},"modified":"2012-04-02T10:09:38","modified_gmt":"2012-04-02T10:09:38","slug":"creation-dune-mise-a-jour-personnalisee-de-tzdata-sous-debian-squeeze","status":"publish","type":"post","link":"https:\/\/blog.milamberspace.net\/index.php\/2012\/03\/26\/creation-dune-mise-a-jour-personnalisee-de-tzdata-sous-debian-squeeze-1083.html","title":{"rendered":"Cr\u00e9ation d&rsquo;une mise \u00e0 jour personnalis\u00e9e de tzdata sous Debian Squeeze"},"content":{"rendered":"<p>Voici un mini-tutoriel du type pense-b\u00eate concernant la cr\u00e9ation d&rsquo;une mise \u00e0 jour de la base tzdata pour Debian.<\/p>\n<p>Pour rappel, la <a href=\"http:\/\/www.iana.org\/time-zones\/\">base de donn\u00e9es tzdata<\/a> est le r\u00e9f\u00e9rentiel &lsquo;mondial&rsquo; concernant les d\u00e9calages horaires (horaires d&rsquo;\u00e9t\u00e9 \/ horaires d&rsquo;hiver) ainsi que bien entendu des d\u00e9calages entre fuseaux horaires. Cette base est utilis\u00e9e pratiquement par <a href=\"http:\/\/www.iana.org\/time-zones\/repository\/tz-link.html\">tout syst\u00e8me d&rsquo;exploitation<\/a> (hormis Windows).<\/p>\n<p>Il est important que votre ordinateur (ou serveur) soit \u00e0 jour concernant cette base. En effet, cela aide par exemple lorsque vous recevez une demande de r\u00e9union de quelqu&rsquo;un qui n&rsquo;est pas dans le m\u00eame fuseau horaire que vous (genre Maroc \/ France), ou bien dans le monde des serveurs pour l&rsquo;aspect corr\u00e9lation des journaux.<\/p>\n<p>Toujours est-il, ici au Maroc, les dates de d\u00e9but et fin de l&rsquo;horaire d&rsquo;\u00e9t\u00e9 sont plus ou moins d\u00e9cid\u00e9es chaque ann\u00e9e quelques jours avant. Il est assez difficile d&rsquo;avoir le <a href=\"http:\/\/packages.qa.debian.org\/t\/tzdata.html\">paquetage tzdata<\/a> \u00e0 jour au moment du passage \u00e0 l&rsquo;horaire d&rsquo;\u00e9t\u00e9 sur Debian (il y a un d\u00e9lai pour la publication de la mise \u00e0 jour du tzdata).<\/p>\n<p>Donc, voici ce tutoriel pour faire la petite modification \u00ab\u00a0DST\u00a0\u00bb (Daylight Saving Time ou Horaire d&rsquo;\u00e9t\u00e9) sur le paquetage source tzdata (de Debian) et g\u00e9n\u00e9rer la nouvelle version du .deb.<!--more--><\/p>\n<p>Se connecter sur son poste (ou une machine virtuelle de \u00ab\u00a0build\u00a0\u00bb) en tant que root, puis ex\u00e9cuter les commandes suivantes\u00a0:<\/p>\n<pre>mkdir tzdata_build\r\ncd tzdata_build\/<\/pre>\n<p>La commande suivante va r\u00e9cup\u00e9rer les sources de tzdata et les fichiers associ\u00e9s Debian<\/p>\n<pre>apt-get source tzdata<\/pre>\n<p>On r\u00e9cup\u00e8re maintenant les d\u00e9pendances pour la g\u00e9n\u00e9ration du .deb. (Ne pas s&rsquo;\u00e9tonner de voir des choses li\u00e9es \u00e0 Java, car la g\u00e9n\u00e9ration tzdata s&rsquo;occupe aussi du tzdata-java<\/p>\n<pre>apt-get build-dep tzdata<\/pre>\n<p>Ensuite on d\u00e9compresse les sources avec cette commande\u00a0:<\/p>\n<pre>dpkg-source -x tzdata_2011n-0squeeze1.dsc<\/pre>\n<p>Puis on se place dans les sources\u00a0:<\/p>\n<pre>cd tzdata-2011n\/<\/pre>\n<p>Ici commence l&rsquo;\u00e9tape \u00ab\u00a0sensible\u00a0\u00bb, on va ajouter deux lignes, la premi\u00e8re pour le d\u00e9but du DST et la seconde pour la fin. J&rsquo;ai trouv\u00e9 ce qu&rsquo;il fallait ajouter niveau Maroc (pour l&rsquo;ann\u00e9e 2012) en parcourant <a href=\"http:\/\/mm.icann.org\/pipermail\/tz\/2012-March\/017586.html\">les archives de la liste tzdata<\/a>.<\/p>\n<p>Donc on fait un petit \u00ab\u00a0vi\u00a0\u00bb sur le fichier \u00ab\u00a0africa\u00a0\u00bb (pour le Maroc)\u00a0:<\/p>\n<pre>vi africa<\/pre>\n<p>Voici le diff par rapport \u00e0 la version actuelle du tzdata de Debian Squeeze\u00a0:<\/p>\n<pre>diff africa.orig africa<\/pre>\n<pre>2c2\r\n&lt; # @(#)africa 8.33\r\n---\r\n&gt; # @(#)africa 8.34\r\n795a796,797\r\n&gt; Rule Morocco 2012 max - Apr lastSun 2:00 1:00 S\r\n&gt; Rule Morocco 2012 max - Sep lastSun 3:00 0 -<\/pre>\n<p>On note que les lignes ajout\u00e9es sont sans limite dans le temps (<em>chaque ann\u00e9e<\/em> au dernier dimanche d&rsquo;avril on ajoute 60 minutes \u00e0 02h00 du matin &#8211; donc il sera 03h00 &#8211; et on retire 60 minutes le dernier dimanche de septembre \u00e0 03h00 du matin &#8211; donc il sera 02h00 &#8211; ).<\/p>\n<p>Par ailleurs, on note aussi que pendant le mois lunaire du Ramadan, le d\u00e9calage de +1h sera retir\u00e9. Malheureusement, la date de d\u00e9but (et de fin) du Ramadan d\u00e9pendant des observations de la Lune quelques jours (voir la veille) avant pour d\u00e9clarer son d\u00e9but (idem pour la fin), il faudra donc pr\u00e9voir 2 mises \u00e0 jour (une avant le ramadan autour du 20 juillet 2012 et une juste avant la fin du ramadan autour du 18 ao\u00fbt 2012)<\/p>\n<p>Il faut \u00e9galement modifier le fichier changelog pour incr\u00e9menter le num\u00e9ro de \u00ab\u00a0sous-version\u00a0\u00bb Debian. Pour cela, \u00e9diter le fichier suivant :<\/p>\n<pre>vi debian\/changelog<\/pre>\n<p>Sur la premi\u00e8re ligne changer (par exemple) le \u00ab\u00a0squeeze1\u00a0\u00bb par \u00ab\u00a0squeeze2\u00a0\u00bb, ce qui donne la ligne suivante :<\/p>\n<pre>tzdata (2011n-0squeeze2) stable; urgency=low<\/pre>\n<p>Bon revenons \u00e0 la re-g\u00e9n\u00e9ration du tzdata, ex\u00e9cuter la commande suivante pour la lancer\u00a0:<\/p>\n<pre>dpkg-buildpackage -rfakeroot -b<\/pre>\n<p>Ensuite, pour installer les mises \u00e0 jour, ex\u00e9cuter la commande suivante\u00a0:<\/p>\n<pre>dpkg -i ..\/tzdata_2011d-0squeeze2_all.deb ..\/tzdata-java_2011d-0squeeze2_all.deb<\/pre>\n<p>NB. Le paquetage tzdata-java n&rsquo;est utile que si vous avez Java sur votre poste de travail ou serveur.<\/p>\n<p>Les nouveaux paquetages sont g\u00e9n\u00e9r\u00e9s dans le r\u00e9pertoire parent (cd ..), la nomenclature du paquetage tzdata \u00ab\u00a02011d-0squeeze2_all\u00a0\u00bb repr\u00e9sente une \u00ab\u00a0micro-sous-version\u00a0\u00bb du paquetage. Ainsi lorsque la vrai mise \u00e0 jour Debian va sortir, celle-ci aura un num\u00e9ro de version plus important (ex. tzdata_2012b-3squeeze1), et donc votre poste se mettra \u00e0 jour normalement et remplacera votre version personnalis\u00e9e.<\/p>\n<p>Voil\u00e0.<\/p>\n<p>.\/<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Voici un mini-tutoriel du type pense-b\u00eate concernant la cr\u00e9ation d&rsquo;une mise \u00e0 jour de la base tzdata pour Debian. Pour rappel, la base de donn\u00e9es tzdata est le r\u00e9f\u00e9rentiel &lsquo;mondial&rsquo; concernant les d\u00e9calages horaires (horaires d&rsquo;\u00e9t\u00e9 \/ horaires d&rsquo;hiver) ainsi que bien entendu des d\u00e9calages entre fuseaux horaires. Cette base est utilis\u00e9e pratiquement par tout &hellip; <a href=\"https:\/\/blog.milamberspace.net\/index.php\/2012\/03\/26\/creation-dune-mise-a-jour-personnalisee-de-tzdata-sous-debian-squeeze-1083.html\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Cr\u00e9ation d&rsquo;une mise \u00e0 jour personnalis\u00e9e de tzdata sous Debian Squeeze<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[240,5],"tags":[280,279,201,367],"class_list":["post-1083","post","type-post","status-publish","format-standard","hentry","category-debian","category-linux","tag-heure-dete","tag-maroc","tag-source","tag-tzdata"],"_links":{"self":[{"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/posts\/1083","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/comments?post=1083"}],"version-history":[{"count":6,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/posts\/1083\/revisions"}],"predecessor-version":[{"id":1092,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/posts\/1083\/revisions\/1092"}],"wp:attachment":[{"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/media?parent=1083"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/categories?post=1083"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/tags?post=1083"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}