summaryrefslogtreecommitdiff
path: root/abuild-fetch.c
AgeCommit message (Collapse)AuthorFilesLines
2018-10-03move logic of curl's http range error to abuild-fetchNatanael Copa1-19/+31
Move the logic of deleting partial downloads to abuild-fetch, which knows if it is curl or wget that was executed.
2018-10-03Fix: incomplete partfile gets renamed to distfileOliver Smith1-13/+23
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-04-11Fix a few typosJonathan Neuschäfer1-1/+1
2017-06-21abuild-fetch.c: remove saveas- syntaxtmpfile1-3/+0
2016-05-20abuild-fetch: fix -Wformat-security warningsNatanael Copa1-3/+3
2016-05-16abuild-fetch: retry to create lock on ESTALENatanael Copa1-2/+10
2016-03-10abuild-fetch: use _exit after execvpNatanael Copa1-1/+1
2015-10-08abuild-fetch: add missing headerAndrew Wilcox1-0/+1
2015-08-26abuild: fix fetch lock file on nfsNatanael Copa1-0/+194
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.