>dim. 08 mars 2026 at 18:24, Rutherther <[email protected]> wrote:
> Hello, > > Cayetano Santos <[email protected]> writes: > >> Hi Guix, >> >> Regarding a system.scm [0] file, this command >> >> image=$(guix system image --image-type=qcow2 --image-size=16GB >> --save-provenance system.scm) >> >> Produces always the same image (corresponding to guix log tag v1.5.0), > > How exactly are you checking that? I am asking since the guix inside of > the image would be 1.5.0 till yesterday, that is correct. Guix package > was never updated past 1.5.0 until yesterday. So till yesterday, the > `guix describe` in the image would always be producing the 1.5.0 tag > commit. I’m building the image (today), then I ssh into it, and I’m using ‘guix describe’, which returns "guix 230aa37", so v1.5.0. > `guix system describe` should be used to read the system provenance. Ah ! Here I get the same as the ‘guix describe’ in the machine used to build the image, so a recent revision (in my local replication). >> regardless of the status of current guix. I would intuitively expect >> it instead to build an up to date image, identical to current local >> guix. Or at least, this was my first intuition about a rolling release. >> >> Is this correct, or am I doing something wrong ? Is there a means to >> produce an up to date image, other than building v1.5.0 followed by a >> guix pull ? This approach is problematic, as the time it takes >> increases with the number of commits since v1.5.0, which following the > > So it seems there should be a cache if the build system here supports > that. Or a newer tarball should be built instead of doing guix pull. The thing is that, in sr.ht, once a day we launch yesterdays’ image, then we build a new one on disk, ssh into it, do by a guix pull and the resulting image replaces the older. But if we’re building always the same, "230aa37", pulling takes longer and longer, until it times out. And so the utilily of building a new image, based on current one, pulling only commits since yesterday. >> [0] >> https://git.sr.ht/~sircmpwn/builds.sr.ht/tree/master/item/images/guix/system.scm >> [1] https://builds.sr.ht/~sircmpwn/refresh/guix > This log has no guix describe for later, so it's impossible to know what > guix has been used during the build. If you scroll down (only timeout logs, forget failures due to network), you’ll see how during the pulling stage the number of commits increases everyday, the reason being that we start everyday from v1.5.0, then we pull everything since then. > Also, what does the provenance inside of the image look like? (in > /var/guix/profiles/system/provenance, or through `guix system describe`)? IIUC, provenance gives the channel config of the system where the image is built, so the last one to build, before it started failing. The problem remains the same, how can I produce an up to date image as for ‘guix descrive’, starting from an up to date system, avoiding pulling all commits since v1.5.0 ? Probably this is due to my misunderstanding on how system image operates, but I always thought that building a new image effectively produced an up to date system, not an old one. All in all, I need to produce an (updated since last time) clone image from current one, saving it as qcow2. I hope this is clear. Thanks for you help ! C.
signature.asc
Description: PGP signature
