Hi, Quoting Josh Triplett (2020-09-26 11:03:12) > On Sat, Sep 26, 2020 at 07:28:57AM +0200, Johannes Schauer wrote: > > Quoting Josh Triplett (2020-09-26 06:28:18) > > > mmdebstrap seems to re-download packages every time it runs. I'd love to > > > have > > > a way to cache those packages, so that it can run substantially faster the > > > second and subsequent times. > > > > Do one thing and do it well. > > > > I'm sure you are aware of apt-cacher or apt-cacher-ng? > > > > In other situation, for example the mmdebstrap testsuite, I built my own > > caching mechanism: > > > > https://sources.debian.org/src/mmdebstrap/0.7.1-1/make_mirror.sh/ > > > > Adding a cache is so simple, you can use a snippet of Python from this pull > > request of mine: > > > > https://salsa.debian.org/debian/devscripts/-/blob/d1c6f2f6a3dca51b77a4a9b37c7d68c1d69270dd/scripts/debbisect#L113 > > > > But why add it to mmdebstrap? That just adds additional complexity and > > feature > > creep. It makes an already complex tool even more complex. Why not keep this > > functionality in an additional piece of software? > > > > Please convince me. > > I'm definitely not proposing integrating a caching proxy of any kind > into mmdebstrap; that should absolutely be a separate piece of software. > But a caching proxy doesn't solve the problem for me. Using a caching > proxy would require one or both of: > - Using http, rather than https > - Configuring the target system to use the proxy directly in its config > > What I was hoping to see integrated into mmdebstrap would be support for > just directly copying the relevant files into the target's > /var/cache/apt, where apt could use them rather than re-downloading > them. Such files could either come from the host system's > /var/cache/apt, or from a directory given to mmdebstrap as a > command-line option (where the latter would also allow mmdebstrap to > store files from the target's /var/cache/apt before deleting them). > > I'm hoping that has the right combination of "sufficiently narrowly > scoped" and "requires integration" to make sense as a part of > mmdebstrap.
so... you want something like this: $ mmdebstrap --customize-hook='sync-out /var/cache/apt/archives ./cache' unstable /dev/null $ mmdebstrap --variant=apt --setup-hook='mkdir -p "$1"/var/cache/apt/archives' --setup-hook='sync-in ./cache /var/cache/apt/archives' unstable output.tar The first command fills your local directory "./cache" with the contents of /var/cache/apt/archives from the first run while the second invocation gets the contents from that directory and thus is able to operate a bit faster. Thanks! cheers, josch
signature.asc
Description: signature