| 1 |
|
|---|
| 2 |
|
|---|
| 3 |
|
|---|
| 4 |
|
|---|
| 5 |
|
|---|
| 6 |
|
|---|
| 7 |
|
|---|
| 8 |
ifneq ($(strip ${DIST_SUBDIR}),) |
|---|
| 9 |
FULLDISTDIR?= ${DISTDIR}/${DIST_SUBDIR} |
|---|
| 10 |
else |
|---|
| 11 |
FULLDISTDIR?= ${DISTDIR} |
|---|
| 12 |
endif |
|---|
| 13 |
|
|---|
| 14 |
FULLDISTFILES= $(patsubst %,${FULLDISTDIR}/%,${DISTFILES}) |
|---|
| 15 |
|
|---|
| 16 |
FETCH_STYLE?= auto |
|---|
| 17 |
#pre-fetch: |
|---|
| 18 |
do-fetch: |
|---|
| 19 |
#post-fetch: |
|---|
| 20 |
fetch: |
|---|
| 21 |
|
|---|
| 22 |
ifneq ($(filter auto,${FETCH_STYLE}),) |
|---|
| 23 |
${MAKE} ${FULLDISTFILES} |
|---|
| 24 |
else |
|---|
| 25 |
${MAKE} do-fetch |
|---|
| 26 |
endif |
|---|
| 27 |
|
|---|
| 28 |
|
|---|
| 29 |
refetch: |
|---|
| 30 |
-rm -f ${FULLDISTFILES} |
|---|
| 31 |
${MAKE} fetch |
|---|
| 32 |
|
|---|
| 33 |
|
|---|
| 34 |
_CHECKSUM_COOKIE?= ${WRKDIR}/.checksum_done |
|---|
| 35 |
checksum: ${_CHECKSUM_COOKIE} |
|---|
| 36 |
ifeq ($(strip ${NO_CHECKSUM}),) |
|---|
| 37 |
${_CHECKSUM_COOKIE}: ${FULLDISTFILES} |
|---|
| 38 |
rm -rf ${WRKDIR} |
|---|
| 39 |
@OK=n; \ |
|---|
| 40 |
(md5sum ${FULLDISTFILES}; echo exit) | while read sum name; do \ |
|---|
| 41 |
if [[ $$sum = exit ]]; then \ |
|---|
| 42 |
[[ $$OK = n ]] && echo >&2 "==> No distfile found!" || :; \ |
|---|
| 43 |
[[ $$OK = 1 ]] || exit 1; \ |
|---|
| 44 |
break; \ |
|---|
| 45 |
fi; \ |
|---|
| 46 |
if [[ $$sum = "$(strip ${PKG_MD5SUM})" ]]; then \ |
|---|
| 47 |
echo >&2 "==> Checksum ok for $${name##*/} (MD5)"; \ |
|---|
| 48 |
[[ $$OK = 0 ]] || OK=1; \ |
|---|
| 49 |
continue; \ |
|---|
| 50 |
fi; \ |
|---|
| 51 |
echo >&2 "==> Checksum mismatch for $${name##*/} (MD5)"; \ |
|---|
| 52 |
echo >&2 ":---> should be '$(strip ${PKG_MD5SUM})'"; \ |
|---|
| 53 |
echo >&2 ":---> really is '$$sum'"; \ |
|---|
| 54 |
OK=0; \ |
|---|
| 55 |
done |
|---|
| 56 |
mkdir -p ${WRKDIR} |
|---|
| 57 |
touch ${_CHECKSUM_COOKIE} |
|---|
| 58 |
endif |
|---|
| 59 |
|
|---|
| 60 |
|
|---|
| 61 |
define FETCH_template |
|---|
| 62 |
$(1): |
|---|
| 63 |
@fullname='$(1)'; \ |
|---|
| 64 |
subname=$$$${fullname##$${DISTDIR}/}; \ |
|---|
| 65 |
filename=$$$${fullname##*/}; \ |
|---|
| 66 |
i='$${LOCAL_DISTDIR}'; \ |
|---|
| 67 |
if [[ -n $$$$i && -e $$$$i/$$$$subname ]]; then \ |
|---|
| 68 |
cd "$$$$i"; \ |
|---|
| 69 |
echo mirpax -rw "$$$$subname" '$${DISTDIR}/'; \ |
|---|
| 70 |
exec mirpax -rw "$$$$subname" '$${DISTDIR}/'; \ |
|---|
| 71 |
fi; \ |
|---|
| 72 |
mkdir -p "$$$${fullname%%/$$$$filename}"; \ |
|---|
| 73 |
cd "$$$${fullname%%/$$$$filename}"; \ |
|---|
| 74 |
for site in $${MASTER_SITES} $${MASTER_SITE_BACKUP}; do \ |
|---|
| 75 |
echo "==> Attempting to fetch $$$$subname from $$$$site"; \ |
|---|
| 76 |
: echo "$${FETCH_CMD} $$$$site$$$$filename"; \ |
|---|
| 77 |
rm -f "$$$$filename"; \ |
|---|
| 78 |
if $${FETCH_CMD} $$$$site$$$$filename; then \ |
|---|
| 79 |
: check the size here; \ |
|---|
| 80 |
[[ ! -e $$$$filename ]] || exit 0; \ |
|---|
| 81 |
fi; \ |
|---|
| 82 |
done; \ |
|---|
| 83 |
exit 1 |
|---|
| 84 |
endef |
|---|
| 85 |
|
|---|
| 86 |
$(foreach distfile,${FULLDISTFILES},$(eval $(call FETCH_template,$(distfile)))) |
|---|