kumquat-buildroot/support/download
Yann E. MORIN 0d19fcf6c2 core/download: fix when the BR2_DL_DIR does not accept hardlinks
When the BR2_DL_DIR is a mountpoint (presumably shared between various
machine, or mounted from the local host when running in a VM), it is
possible that it does not support hardlinks (e.g. samba, or the VMWare
VMFS, etc...).

If the hardlink fails, fallback to copying the file. As a last resort,
if that also fails, eventually fallback to doing the download.

Note: this means that the dl-wrapper is no longer atomic-safe: the code
suffers of a TOCTTOU condition: the file may be created in-between the
check and the moment we try to ln/cp it. Fortunately, the dl-wrapper is
now run under an flock, so we're still safe. If we eventually go for a
more fine-grained implementation, we'll have to be careful then.

Reported-by: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-04-03 22:45:00 +02:00
..
bzr core/pkg-download: change all helpers to use common options 2018-04-02 12:22:50 +02:00
check-hash support/download: fix check_one_hash description 2017-09-19 22:11:30 +02:00
cp core/pkg-download: change all helpers to use common options 2018-04-02 12:22:50 +02:00
cvs download: put most of the infra in dl-wrapper 2018-04-02 14:19:51 +02:00
dl-wrapper core/download: fix when the BR2_DL_DIR does not accept hardlinks 2018-04-03 22:45:00 +02:00
git download: git: introduce cache feature 2018-04-02 17:52:53 +02:00
hg core/pkg-download: change all helpers to use common options 2018-04-02 12:22:50 +02:00
scp core/pkg-download: change all helpers to use common options 2018-04-02 12:22:50 +02:00
svn core/pkg-download: change all helpers to use common options 2018-04-02 12:22:50 +02:00
wget download: put most of the infra in dl-wrapper 2018-04-02 14:19:51 +02:00