mudler / luet

:package: :whale: 0-dependency Container-based Package Manager using SAT solver and QLearning
https://luet.io
GNU General Public License v3.0
254 stars 24 forks source link

Divergence in image hash between `luet build` and `luet tree images` #271

Closed welele08 closed 2 years ago

welele08 commented 2 years ago

Luet version:

luet version : 0.20.12-g71d5b033825a24f09f63099694d247783fe97545 2021-11-25 15:02:43 UTC CPU architecture, OS, and Version:

Debian/amd64

Describe the bug

In luet-0.20.12, i noticed a divergence between hash used in build phase and hash used in luet tree images For exemple, in desktop repo (tag 0.6.0) : luet build --pull --pull-repository quay.io/mocaccino/desktop --only-target-package layers/X

INFO Loading tree /home/welele/capesos-from-gentoo INFO Building in /home/welele/capesos-from-gentoo/build INFO 📦 Compiling layers/X-0.9+23 .... ☕ INFO >➿ final images< Generating a parent image from final packages INFO >➿ final images< Searching existing image with hash 8c5ba68689d24e6e932032aba3633237 INFO Image already found quay.io/mocaccino/desktop:8c5ba68689d24e6e932032aba3633237 SUCCESS 🐋 Downloaded image: quay.io/mocaccino/desktop:builder-3b000d90ae988a4f516affea31964f82 SUCCESS 🐋 Downloaded image: quay.io/mocaccino/desktop:d7d6a9a281402e50f3c2e361067a577e3acb974bfef94e995b40eb53d298ae2e INFO 📦 layers/X-0.9+23 🔨 Generating delta

when luet tree images layers/X give

gentoo/stage3-0.20211114: quay.io/mocaccino/desktop:cdffc964e54a54b40bffe8e513e787f9b17f71d337cae66f97b3cf98d2eeb9ce layers/gentoo-portage-0.20211129: quay.io/mocaccino/desktop:8922b9a702c5cd8a05c50135716d69f05b4972289349738635958f0a42eecab3 layers/system-x-0.20211202: quay.io/mocaccino/desktop:df390988f919b92113d441d7c16b5262ebacaf8e44cd03c8ae77dbf574ac3b34 layers/codecs-4+20: quay.io/mocaccino/desktop:2862b01e05a331499d272675d90a4879b04fac34cb2f7d045ab693a2ef3fe760 buildbase/codecs-0+3: quay.io/mocaccino/desktop:23b01491b1466a1ee2c98ac8f15c5adc525a215f04173ba75de522c9044e284d layers/net-tools-0.3+33: quay.io/mocaccino/desktop:17ed24066a106591d1502e51880bbb5930e130a0f88133ee28b63f3dca30ac43 buildbase/net-tools-0+3: quay.io/mocaccino/desktop:aa22a0db2d4c732b1657d518a915ec067178def71aed96dd1f1d7da9a9dc9eb5 layers/sys-fs-0.6+21: quay.io/mocaccino/desktop:a0feae818bc19c35157ff2fd9895bca9e59e274d7e0bf76bdcd48980a6749851 buildbase/sys-fs-0+3: quay.io/mocaccino/desktop:5367e1ba4b4fa0474fc81b9062cd1fe511f706362d0bf9c3794327cbea453f04 layers/X-0.9+23: quay.io/mocaccino/desktop:8987ac1a038685a6aedf99e533da33b0c4ccf7b9287fc14ff971eb81452d4d5e

Hash used for build package is "d7d6a9a281402e50f3c2e361067a577e3acb974bfef94e995b40eb53d298ae2e". Hash "8987ac1a038685a6aedf99e533da33b0c4ccf7b9287fc14ff971eb81452d4d5e" doesn't exist on quay.io and doesn't seem to reflect anything correct.

To Reproduce In a system with luet-0.20.12 :

  1. git clone https://github.com/mocaccinoOS/desktop.git
  2. cd desktop
  3. git checkout v0.6.0
  4. luet tree images layers/X
  5. luet build --pull --pull-repository quay.io/mocaccino/desktop --only-target-package layers/X