mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-27 05:06:39 +00:00
core/download: look for archives in the global download dir first
For existing setups, the global donload directory may have a lot of the required archives, so look into there before attempting a download. We simply hard-link them if found there and not in the new per-package loaction. Then we resume the existing procedure (which means the new hardlink will get removed if it happened to not match the hash). Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Cc: Peter Korsgaard <peter@korsgaard.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
parent
5d2a018ddf
commit
e80d1d0af4
@ -97,6 +97,7 @@ define DOWNLOAD
|
|||||||
$(EXTRA_ENV) $(FLOCK) $(DL_WRAPPER) \
|
$(EXTRA_ENV) $(FLOCK) $(DL_WRAPPER) \
|
||||||
-c '$($(PKG)_DL_VERSION)' \
|
-c '$($(PKG)_DL_VERSION)' \
|
||||||
-d '$($(PKG)_DL_DIR)' \
|
-d '$($(PKG)_DL_DIR)' \
|
||||||
|
-D '$(DL_DIR)' \
|
||||||
-f '$(notdir $(1))' \
|
-f '$(notdir $(1))' \
|
||||||
-H '$(PKGDIR)/$($(PKG)_RAWNAME).hash' \
|
-H '$(PKGDIR)/$($(PKG)_RAWNAME).hash' \
|
||||||
-n '$($(PKG)_BASENAME_RAW)' \
|
-n '$($(PKG)_BASENAME_RAW)' \
|
||||||
|
@ -27,11 +27,12 @@ main() {
|
|||||||
local -a uris
|
local -a uris
|
||||||
|
|
||||||
# Parse our options; anything after '--' is for the backend
|
# Parse our options; anything after '--' is for the backend
|
||||||
while getopts ":hc:d:o:n:N:H:rf:u:q" OPT; do
|
while getopts ":hc:d:D:o:n:N:H:rf:u:q" OPT; do
|
||||||
case "${OPT}" in
|
case "${OPT}" in
|
||||||
h) help; exit 0;;
|
h) help; exit 0;;
|
||||||
c) cset="${OPTARG}";;
|
c) cset="${OPTARG}";;
|
||||||
d) dl_dir="${OPTARG}";;
|
d) dl_dir="${OPTARG}";;
|
||||||
|
D) old_dl_dir="${OPTARG}";;
|
||||||
o) output="${OPTARG}";;
|
o) output="${OPTARG}";;
|
||||||
n) raw_base_name="${OPTARG}";;
|
n) raw_base_name="${OPTARG}";;
|
||||||
N) base_name="${OPTARG}";;
|
N) base_name="${OPTARG}";;
|
||||||
@ -52,6 +53,13 @@ main() {
|
|||||||
error "no output specified, use -o\n"
|
error "no output specified, use -o\n"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Legacy handling: check if the file already exists in the global
|
||||||
|
# download directory. If it does, hard-link it. If it turns out it
|
||||||
|
# was an incorrect download, we'd still check it below anyway.
|
||||||
|
if [ ! -e "${output}" -a -e "${old_dl_dir}/${filename}" ]; then
|
||||||
|
ln "${old_dl_dir}/${filename}" "${output}"
|
||||||
|
fi
|
||||||
|
|
||||||
# If the output file already exists and:
|
# If the output file already exists and:
|
||||||
# - there's no .hash file: do not download it again and exit promptly
|
# - there's no .hash file: do not download it again and exit promptly
|
||||||
# - matches all its hashes: do not download it again and exit promptly
|
# - matches all its hashes: do not download it again and exit promptly
|
||||||
|
Loading…
x
Reference in New Issue
Block a user