{"id":6990,"date":"2024-11-16T14:42:22","date_gmt":"2024-11-16T13:42:22","guid":{"rendered":"https:\/\/www.blaess.fr\/christophe\/?p=6990"},"modified":"2025-05-14T09:47:30","modified_gmt":"2025-05-14T08:47:30","slug":"yocto-tip","status":"publish","type":"post","link":"https:\/\/www.blaess.fr\/christophe\/2024\/11\/16\/yocto-tip\/","title":{"rendered":"[Yocto Tip] Build Timestamp"},"content":{"rendered":"<div class=\"wp-block-image\">\n<figure class=\"alignright size-full\"><a href=\"https:\/\/www.blaess.fr\/christophe\/wp-content\/uploads\/2024\/11\/lightbulb.png\"><img loading=\"lazy\" decoding=\"async\" width=\"168\" height=\"168\" src=\"https:\/\/www.blaess.fr\/christophe\/wp-content\/uploads\/2024\/11\/lightbulb.png\" alt=\"\" class=\"wp-image-7003\" srcset=\"https:\/\/www.blaess.fr\/christophe\/wp-content\/uploads\/2024\/11\/lightbulb.png 168w, https:\/\/www.blaess.fr\/christophe\/wp-content\/uploads\/2024\/11\/lightbulb-150x150.png 150w\" sizes=\"auto, (max-width: 168px) 100vw, 168px\" \/><\/a><\/figure><\/div>\n\n\n<p><em>J&rsquo;ai souvent des id\u00e9es de petites astuces minimales mais int\u00e9ressantes pour l&rsquo;utilisation de  Yocto Project (ou d&rsquo;autres sujets). Apr\u00e8s avoir longtemps h\u00e9sit\u00e9 \u00e0 les publier car elles sont g\u00e9n\u00e9ralement tr\u00e8s br\u00e8ves, j&rsquo;ai d\u00e9cid\u00e9 de les poster dans cette nouvelle rubrique &lsquo;[Yocto Tip]&rsquo;. Cet article n&rsquo;a pas de rapport avec la s\u00e9rie sur Zephyr qui va continuer tr\u00e8s prochainement. <\/em><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Pendant la phase de mise au point d&rsquo;un syst\u00e8me, il s&rsquo;av\u00e8re souvent int\u00e9ressant de pouvoir <strong>diff\u00e9rencier deux <em>builds<\/em> successifs<\/strong>. De m\u00eame, pendant la mise en \u0153uvre du syst\u00e8me de mise \u00e0 jour, il est important de pouvoir g\u00e9n\u00e9rer \u00e0 chaque ex\u00e9cution de <code>bitbake<\/code> une image diff\u00e9rente de la pr\u00e9c\u00e9dente m\u00eame si aucun contenu n&rsquo;est modifi\u00e9.<\/p>\n\n\n\n<p>Une astuce simple pour cela, consiste \u00e0 ajouter dans l&rsquo;image un fichier contenant <strong>la date et l&rsquo;heure de compilation<\/strong>. <\/p>\n\n\n\n<!--more-->\n\n\n\n<p><br>La petite recette ci-dessous ajoute un fichier <code>\/etc\/build-timestamp<\/code> sur la cible. <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># build-timestamp.bb\n\nSUMMARY = \"Install a file containing the build timestamp in the image\"\nLICENSE = \"MIT\"\nLIC_FILES_CHKSUM = \"file:\/\/${COMMON_LICENSE_DIR}\/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302\"\n\nBUILD_TIMESTAMP = \"${@time.strftime('%Y%m%d-%H%M%S', time.gmtime())}\"\n\ndo_install() {\n  install -d ${D}${sysconfdir}\n  echo \"Build Time: ${BUILD_TIMESTAMP}\" > ${D}${sysconfdir}\/build-timestamp\n}\n\ndo_install&#91;nostamp] = \"1\"\n\nFILES:${PN} += \"${sysconfdir}\/build-timestamp\"<\/code><\/pre>\n\n\n\n<p>Installez cette recette dans un layer personnel, n&rsquo;oubliez pas de l&rsquo;ajouter (<code>IMAGE_INSTALL:append<\/code>) dans votre image, et chaque fois que vous re-g\u00e9n\u00e9rerez votre image, le contenu du fichier <code>\/etc\/build-timestamp<\/code> de la cible sera mis \u00e0 jour.<\/p>","protected":false},"excerpt":{"rendered":"<p>J&rsquo;ai souvent des id&eacute;es de petites astuces minimales mais int&eacute;ressantes pour l&rsquo;utilisation de Yocto Project (ou d&rsquo;autres sujets). Apr&egrave;s avoir longtemps h&eacute;sit&eacute; &agrave; les publier car elles sont g&eacute;n&eacute;ralement tr&egrave;s br&egrave;ves, j&rsquo;ai d&eacute;cid&eacute; de les poster dans cette nouvelle rubrique &lsquo;[Yocto Tip]&rsquo;. Cet article n&rsquo;a pas de rapport avec la s&eacute;rie sur Zephyr qui va [&hellip;]<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,8,26,21],"tags":[],"class_list":["post-6990","post","type-post","status-publish","format-standard","hentry","category-embarque","category-linux-2","category-tip","category-yocto-project"],"_links":{"self":[{"href":"https:\/\/www.blaess.fr\/christophe\/wp-json\/wp\/v2\/posts\/6990","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.blaess.fr\/christophe\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.blaess.fr\/christophe\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.blaess.fr\/christophe\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.blaess.fr\/christophe\/wp-json\/wp\/v2\/comments?post=6990"}],"version-history":[{"count":10,"href":"https:\/\/www.blaess.fr\/christophe\/wp-json\/wp\/v2\/posts\/6990\/revisions"}],"predecessor-version":[{"id":7029,"href":"https:\/\/www.blaess.fr\/christophe\/wp-json\/wp\/v2\/posts\/6990\/revisions\/7029"}],"wp:attachment":[{"href":"https:\/\/www.blaess.fr\/christophe\/wp-json\/wp\/v2\/media?parent=6990"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.blaess.fr\/christophe\/wp-json\/wp\/v2\/categories?post=6990"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.blaess.fr\/christophe\/wp-json\/wp\/v2\/tags?post=6990"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}