pacman/lib/libalpm
morganamilo c0026caab0 libalpm: Give -U downloads a random .part name if needed
archweb's download links all ended in /download. This cause all the temp
files to be named download.part. With parallel downloads this results in
multiple downloads to go to the same temp file and breaks the transaction.

Assign random temporary filenames to downloads from URLs that are either
missing a filename, or if the filename does not contain at least three
hyphens (as a well formed package filename does).

While this approach to determining when to use a temporary filename is
not 100% foolproof, it does keep nice looking download progress bar names
when a proper package filename is given. The only downside of not using
temporary files when provided with a filename  with three or more hyphens
is URLs created specifically to bypass temporary filename usage can not
be downloaded in parallel. We probably do not want to download packages
from such URLs anyway.

Fixes FS#71464

Modified-by: Allan McRae (do not use temporary files for realish URLs)
Signed-off-by: Allan McRae <allan@archlinux.org>
2021-09-04 10:33:51 +10:00
..
po Pull translations from Transifex 2021-05-20 12:33:05 +10:00
.gitignore libalpm: add pkg-config file 2012-04-25 20:02:36 -04:00
add.c Update copyright year 2021-03-01 12:22:20 +10:00
add.h Update copyright year 2021-03-01 12:22:20 +10:00
alpm.c skip servers with too many errors 2021-04-07 22:33:52 +10:00
alpm.h libalpm: remove unused error value 2021-05-20 11:34:00 +10:00
alpm_list.c Update copyright year 2021-03-01 12:22:20 +10:00
alpm_list.h Update copyright year 2021-03-01 12:22:20 +10:00
backup.c Update copyright year 2021-03-01 12:22:20 +10:00
backup.h Update copyright year 2021-03-01 12:22:20 +10:00
base64.c base64.c: comment out unused variable 2014-01-15 15:54:56 +10:00
base64.h Do not #define _RESERVED_IDENTIFIERS 2016-09-25 18:04:57 +10:00
be_local.c Update copyright year 2021-03-01 12:22:20 +10:00
be_package.c Update copyright year 2021-03-01 12:22:20 +10:00
be_sync.c Update copyright year 2021-03-01 12:22:20 +10:00
conflict.c Update copyright year 2021-03-01 12:22:20 +10:00
conflict.h Update copyright year 2021-03-01 12:22:20 +10:00
db.c libalpm: clone data on alpm_db_set_servers 2021-05-09 22:54:20 +10:00
db.h Update copyright year 2021-03-01 12:22:20 +10:00
deps.c Update copyright year 2021-03-01 12:22:20 +10:00
deps.h Update copyright year 2021-03-01 12:22:20 +10:00
diskspace.c Update copyright year 2021-03-01 12:22:20 +10:00
diskspace.h Update copyright year 2021-03-01 12:22:20 +10:00
dload.c libalpm: Give -U downloads a random .part name if needed 2021-09-04 10:33:51 +10:00
dload.h libalpm: Give -U downloads a random .part name if needed 2021-09-04 10:33:51 +10:00
error.c libalpm: remove unused error value 2021-05-20 11:34:00 +10:00
filelist.c Update copyright year 2021-03-01 12:22:20 +10:00
filelist.h Update copyright year 2021-03-01 12:22:20 +10:00
graph.c Update copyright year 2021-03-01 12:22:20 +10:00
graph.h Update copyright year 2021-03-01 12:22:20 +10:00
group.c Update copyright year 2021-03-01 12:22:20 +10:00
group.h Update copyright year 2021-03-01 12:22:20 +10:00
handle.c add front-end provided context to callbacks 2021-05-01 12:08:14 +10:00
handle.h add front-end provided context to callbacks 2021-05-01 12:08:14 +10:00
hook.c Update copyright year 2021-03-01 12:22:20 +10:00
hook.h Update copyright year 2021-03-01 12:22:20 +10:00
libalpm.pc.in Update urls to not use www. for archlinux.org 2021-04-08 10:14:33 +10:00
libarchive-compat.h Update copyright year 2021-03-01 12:22:20 +10:00
log.c add front-end provided context to callbacks 2021-05-01 12:08:14 +10:00
log.h Update copyright year 2021-03-01 12:22:20 +10:00
meson.build Remove support for deltas from libalpm 2019-03-07 11:12:12 +10:00
package.c Update copyright year 2021-03-01 12:22:20 +10:00
package.h Update copyright year 2021-03-01 12:22:20 +10:00
pkghash.c Update copyright year 2021-03-01 12:22:20 +10:00
pkghash.h Update copyright year 2021-03-01 12:22:20 +10:00
rawstr.c Remove all modelines from the project 2018-05-14 09:59:15 +10:00
remove.c Update copyright year 2021-03-01 12:22:20 +10:00
remove.h Update copyright year 2021-03-01 12:22:20 +10:00
signing.c libalpm: fix double free when importing key 2021-06-07 14:14:19 +10:00
signing.h Update copyright year 2021-03-01 12:22:20 +10:00
sync.c Use attribute to declare case statement fallthroughs 2021-05-17 20:02:21 +10:00
sync.h Update copyright year 2021-03-01 12:22:20 +10:00
trans.c fix formatting mistake 2021-05-10 07:58:25 +10:00
trans.h Update copyright year 2021-03-01 12:22:20 +10:00
util.c Fix build error when SIGPOLL is not available 2021-04-19 17:29:24 +10:00
util.h Update copyright year 2021-03-01 12:22:20 +10:00
version.c Update copyright year 2021-03-01 12:22:20 +10:00