FS#69932 - pacman downloads the database on every sync when using IPFS
Attached to Project:
Pacman
Opened by Ruben Kelevra (RubenKelevra) - Wednesday, 10 March 2021, 09:43 GMT
Last edited by Allan McRae (Allan) - Friday, 26 November 2021, 21:21 GMT
Opened by Ruben Kelevra (RubenKelevra) - Wednesday, 10 March 2021, 09:43 GMT
Last edited by Allan McRae (Allan) - Friday, 26 November 2021, 21:21 GMT
|
Details
Summary and Info:
I'm using a mirror that uses long etags, like 'bafk2bzacecyxibvkow7n2grvjdhc4zslsdekmavv3dvcu6dwi5akrd2hhobeg' which are static unless there are changes to the database files. But pacman seems either having trouble handling the long etag or just uses last-modified timestamps - which isn't working for this application. Steps to Reproduce: - Use `https://ipfs.io/ipns/x86-64.archlinux.pkg.pacman.store/$repo` as mirror - Run `pacman -Sy` twice Pacman will download the database files regardless of changes. |
This task depends upon
Closed by Allan McRae (Allan)
Friday, 26 November 2021, 21:21 GMT
Reason for closing: Upstream
Additional comments about closing:
https://github.com/ipfs/go-ipfs/issues/7 968
Friday, 26 November 2021, 21:21 GMT
Reason for closing: Upstream
Additional comments about closing:
https://github.com/ipfs/go-ipfs/issues/7 968
curl -s -v -X HEAD https://ipfs.io/ipns/x86-64.archlinux.pkg.pacman.store/core/core.db 2>&1 | grep last
As far as I am concerned, this is correct behaviour by pacman.
Why is pacman not just storing the etag and sending it via 'If-None-Match' for the update request? If the etag hasn't changed it'll get a 304 back. This avoids that different mirrors might have wrong clocks etc.
https://github.com/ipfs/go-ipfs/issues/7968