Re: How to remove old (test) builds from store?
Hartmut Goebel skribis: > Am 02.06.2016 um 14:56 schrieb Thompson, David: >> Then just run 'guix gc' and it will remove everything that isn't >> currently included in a profile. > > This would remove much too much :-) I usually run ‘guix gc -F 4G’ or similar, which removes just as much as needed. That works rather well for me. > I have quite some package to work on, including those with patches > pending for inclusion. The dependencies of these packages are not in a > profile (yet). Now when running `guix gc`, many packages need to be > downloaded again a few minutes later. They “need” to be downloaded again only if you want to rebuild them, yet without adding them to a profile or making them a GC root. :-) When needed, you can explicitly protect things from GC using profiles, or using ‘guix build -r’. Ludo’.
Re: How to remove old (test) builds from store?
On Thu, Jun 02, 2016 at 03:27:37PM +0200, Hartmut Goebel wrote: > Am 02.06.2016 um 14:56 schrieb Thompson, David: > > Then just run 'guix gc' and it will remove everything that isn't > > currently included in a profile. > > This would remove much too much :-) > > I have quite some package to work on, including those with patches > pending for inclusion. The dependencies of these packages are not in a > profile (yet). Now when running `guix gc`, many packages need to be > downloaded again a few minutes later. This does not directly address your original question, but you should consider running a substitutes mirror locally. I do this, and it speeds things up considerably. Of course, in its default configuration, the mirror only mirrors things that ultimately come from hydra.gnu.org. If interested, clone the 'maintenance' repo [0] and adapt the file 'hydra/nginx/mirror.conf' to your needs. [0] https://savannah.gnu.org/git/?group=guix
Re: How to remove old (test) builds from store?
Am 02.06.2016 um 14:56 schrieb Thompson, David: > Then just run 'guix gc' and it will remove everything that isn't > currently included in a profile. This would remove much too much :-) I have quite some package to work on, including those with patches pending for inclusion. The dependencies of these packages are not in a profile (yet). Now when running `guix gc`, many packages need to be downloaded again a few minutes later. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: How to remove old (test) builds from store?
On Thu, Jun 2, 2016 at 8:51 AM, Hartmut Goebel wrote: > Am 02.06.2016 um 14:02 schrieb Ludovic Courtès: >> Alternately (ah ha!): >> >> guix gc -d $(guix build foo) > > This would build remove the packages just build, wouldn't it? But I want > to clean up old test builds > > It's not about determinism and not about free disk-space :-) It's just > about removing stuff which I know is outdated. Then just run 'guix gc' and it will remove everything that isn't currently included in a profile. - Dave
Re: How to remove old (test) builds from store?
Am 02.06.2016 um 14:02 schrieb Ludovic Courtès: > Alternately (ah ha!): > > guix gc -d $(guix build foo) This would build remove the packages just build, wouldn't it? But I want to clean up old test builds It's not about determinism and not about free disk-space :-) It's just about removing stuff which I know is outdated. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: How to remove old (test) builds from store?
iyzs...@member.fsf.org (宋文武) skribis: > Hartmut Goebel writes: > >> Hi, >> >> when creating packages and refining the build step by step, I end up >> with many entries in the store I do not need. When tying to delete them, >> only a few are removed and many are kept. E.g: >> >> >> # guix gc -d /gnu/store/*teensy* >> finding garbage collector roots... >> deleting `/gnu/store/…-teensy-loader-cli-2.1-1.f289b7a.drv' >> deleting `/gnu/store/…-teensy-loader-cli-2.1-1.f289b7a.tar.xz.drv' >> guix gc: error: build failed: cannot delete path >> `/gnu/store/…-teensy-loader-cli-2.1-1.f289b7a.tar.gz.drv' since it is >> still alive >> $ ls -d /gnu/store/*teensy* | wc -l >> 35 >> >> The one still alive if okay, since I have an older version of this >> package installed in my current environment. >> >> >> How do I get rid of these ca. 30 outdated store items? > I think call gc for each one will work, eg: > > for i in /gnu/store/*teensy*; do guix gc -d $i; done Alternately (ah ha!): guix gc -d $(guix build foo) In general, doing this only makes sense if you know that the build process of ‘foo’ is non-deterministic. If you want to check for determinism, you can simply run this instead: guix build foo --check In other cases, it’s enough to run, say: guix gc -F 5G once in a while to make sure that you have 5 GiB free on your disk. HTH, Ludo’.
Re: How to remove old (test) builds from store?
Am 02.06.2016 um 13:10 schrieb 宋文武: > I think call gc for each one will work, eg: > > for i in /gnu/store/*teensy*; do guix gc -d $i; done Thanks for this tip. It is slow but works :-) -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: How to remove old (test) builds from store?
Hartmut Goebel writes: > Hi, > > when creating packages and refining the build step by step, I end up > with many entries in the store I do not need. When tying to delete them, > only a few are removed and many are kept. E.g: > > > # guix gc -d /gnu/store/*teensy* > finding garbage collector roots... > deleting `/gnu/store/…-teensy-loader-cli-2.1-1.f289b7a.drv' > deleting `/gnu/store/…-teensy-loader-cli-2.1-1.f289b7a.tar.xz.drv' > guix gc: error: build failed: cannot delete path > `/gnu/store/…-teensy-loader-cli-2.1-1.f289b7a.tar.gz.drv' since it is > still alive > $ ls -d /gnu/store/*teensy* | wc -l > 35 > > The one still alive if okay, since I have an older version of this > package installed in my current environment. > > > How do I get rid of these ca. 30 outdated store items? I think call gc for each one will work, eg: for i in /gnu/store/*teensy*; do guix gc -d $i; done
How to remove old (test) builds from store?
Hi, when creating packages and refining the build step by step, I end up with many entries in the store I do not need. When tying to delete them, only a few are removed and many are kept. E.g: # guix gc -d /gnu/store/*teensy* finding garbage collector roots... deleting `/gnu/store/…-teensy-loader-cli-2.1-1.f289b7a.drv' deleting `/gnu/store/…-teensy-loader-cli-2.1-1.f289b7a.tar.xz.drv' guix gc: error: build failed: cannot delete path `/gnu/store/…-teensy-loader-cli-2.1-1.f289b7a.tar.gz.drv' since it is still alive $ ls -d /gnu/store/*teensy* | wc -l 35 The one still alive if okay, since I have an older version of this package installed in my current environment. How do I get rid of these ca. 30 outdated store items? -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |