Commit Graph

9 Commits

Author SHA1 Message Date
Natanael Copa
c6609b4739 move logic of curl's http range error to abuild-fetch
Move the logic of deleting partial downloads to abuild-fetch, which
knows if it is curl or wget that was executed.
2018-10-03 09:23:16 +00:00
Oliver Smith
07d9f3bf6b Fix: incomplete partfile gets renamed to distfile
Abuild-fetch uses curl (fallback to wget) to download files. They are
saved with a ".part" extension first, so they can be resumed if
necessary. When the download is through, the ".part" extension gets
removed. However, when the server does not support resume of downloads
(e.g. GitHub's on the fly generated tarballs), then the ".part"
extension got removed anyway. Abuild aborts in that case. But when
running a third time, the distfile exists and it is assumed that this
is the full download.

Changes:
* abuild-fetch:
  * Only remove the ".part" extension, when curl/wget exit with 0
  * Pass the exit code from curl/wget as exit code of abuild-fetch
  * Wherever abuild-fetch would return an exit code on its own, the
    codes have been changed to be > 200 (so they don't collide with
    curl's as of now 92 exit codes)
  * Remove undocumented feature of downloading multiple source URLs at
    a time. This doesn't match with the usage description, was not used
    in abuild at all and it would have made it impossible to pass the
    exit code.
* abuild:
  * After downloading, when curl is installed and abuild-fetch has
    33 as exit code (curl's HTTP range error), then delete the partfile
    and try the download again.
2018-10-03 08:33:52 +00:00
Jonathan Neuschäfer
33183dadf5 Fix a few typos 2018-04-11 14:09:32 +00:00
tmpfile
f9132fad76 abuild-fetch.c: remove saveas- syntax 2017-06-21 18:14:18 +00:00
Natanael Copa
9de1cfbf03 abuild-fetch: fix -Wformat-security warnings 2016-05-20 10:22:36 +02:00
Natanael Copa
5dfc67bf33 abuild-fetch: retry to create lock on ESTALE 2016-05-16 13:15:42 +00:00
Natanael Copa
575cece65e abuild-fetch: use _exit after execvp 2016-03-10 13:48:54 +00:00
Andrew Wilcox
cd3eabdf4d abuild-fetch: add missing header 2015-10-08 08:30:32 +00:00
Natanael Copa
92186b70ca abuild: fix fetch lock file on nfs
flock(2) on an NFS mount will on the server side convert the lock to a
POSIX lock (fcntl(F_SETLK)). This means that abuild running on NFS
server and client will create different locks and they will both try
download same file at same time.

We fix this by creating a small abuild-fetch application that will
create a POSIX lock which works with NFS.
2015-08-26 16:44:23 +02:00