• Oliver Smith's avatar
    Fix: incomplete partfile gets renamed to distfile · 07d9f3bf
    Oliver Smith authored
    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.
    07d9f3bf
abuild.in 64.6 KB