@ -44,20 +44,66 @@ define dl_tar_pack
$( TAR) --numeric-owner --owner= 0 --group= 0 --sort= name $$ $$ { TAR_TIMESTAMP:+--mtime= " $$ $$ TAR_TIMESTAMP " } -c $( 2) | $( call dl_pack,$( 1) )
e n d e f
i f d e f C H E C K
check_escape = $( subst ',' \' ' ,$( 1) )
#')
check_warn = $( info $( shell printf " $( _R) WARNING: %s $( _N) " '$(call check_escape,$(call C_$(1),$(2),$(3),$(4)))' ) )
gen_sha256sum = $( shell openssl dgst -sha256 $( DL_DIR) /$( 1) | awk '{print $$2}' )
C_download_missing = $( 1) is missing, please run make download before re-running this check
C_hash_mismatch = $( 3) does not match $( 1) hash $( call gen_sha256sum,$( 1) )
C_hash_deprecated = $( 3) uses deprecated hash, set to $( call gen_sha256sum,$( 1) )
C_hash_missing = $( 3) is missing, set to $( call gen_sha256sum,$( 1) )
check_hash = \
$( if $( wildcard $( DL_DIR) /$( 1) ) , \
$( if $( filter-out x,$( 2) ) , \
$( if $( filter 64,$( shell printf '%s' '$(2)' | wc -c) ) , \
$( if $( filter $( 2) ,$( call gen_sha256sum,$( 1) ) ) ,, \
$( call check_warn,hash_mismatch,$( 1) ,$( 2) ,$( 3) ) \
) , \
$( call check_warn,hash_deprecated,$( 1) ,$( 2) ,$( 3) ) , \
) , \
$( call check_warn,hash_missing,$( 1) ,$( 2) ,$( 3) ) \
) , \
$( call check_warn,download_missing,$( 1) ,$( 2) ,$( 3) ) \
)
C_md5_deprecated = Use of $( 2) is deprecated, switch to $( 3)
# Skip MD5SUM check in feeds until OpenWrt is updated
i f n e q ( $( filter $ ( foreach dir ,package tools toolchain , $ ( TOPDIR ) /$ ( dir ) /%) ,$ ( CURDIR ) ) , )
check_md5 = \
$( if $( filter-out x,$( 1) ) , \
$( call check_warn,md5_deprecated,$( 1) ,$( 2) ,$( 3) ) \
)
e n d i f
hash_var = $( if $( filter-out x,$( 1) ) ,MD5SUM,HASH)
e n d i f
d e f i n e D o w n l o a d M e t h o d / u n k n o w n
@echo "ERROR: No download method available" ; false
e n d e f
d e f i n e D o w n l o a d M e t h o d / d e f a u l t
$( SCRIPT_DIR) /download.pl " $( DL_DIR) " " $( FILE) " " $( HASH) " " $( URL_FILE) " $( foreach url,$( URL) ," $( url) " )
$( SCRIPT_DIR) /download.pl " $( DL_DIR) " " $( FILE) " " $( HASH) " " $( URL_FILE) " $( foreach url,$( URL) ," $( url) " ) \
$( if $( filter check,$( 1) ) , \
$( call check_hash,$( FILE) ,$( HASH) ,$( 2) $( call hash_var,$( MD5SUM) ) ) \
$( call check_md5,$( MD5SUM) ,$( 2) MD5SUM,$( 2) HASH) \
)
e n d e f
d e f i n e w r a p _ m i r r o r
$( if $ ( if $ ( MIRROR ) ,$ ( filter -out x ,$ ( MIRROR_HASH ) ) ) ,$ ( SCRIPT_DIR ) /download .pl "$ ( DL_DIR ) " "$ ( FILE ) " "$ ( MIRROR_HASH ) " "" || ( $ ( 1) ) ,$ ( 1) )
$( if $ ( if $ ( MIRROR ) ,$ ( filter -out x ,$ ( MIRROR_HASH ) ) ) ,$ ( SCRIPT_DIR ) /download .pl "$ ( DL_DIR ) " "$ ( FILE ) " "$ ( MIRROR_HASH ) " "" || ( $ ( 3) ) ,$ ( 3) ) \
$( if $ ( filter check ,$ ( 1) ) , \
$( call check_hash,$( FILE) ,$( MIRROR_HASH) ,$( 2) MIRROR_$( call hash_var,$( MIRROR_MD5SUM) ) ) \
$( call check_md5,$( MIRROR_MD5SUM) ,$( 2) MIRROR_MD5SUM,$( 2) MIRROR_HASH) \
)
e n d e f
d e f i n e D o w n l o a d M e t h o d / c v s
$( call wrap_mirror, \
$( call wrap_mirror,$( 1) ,$( 2) , \
echo "Checking out files from the cvs repository..." ; \
mkdir -p $( TMP_DIR) /dl && \
cd $( TMP_DIR) /dl && \
@ -72,7 +118,7 @@ define DownloadMethod/cvs
e n d e f
d e f i n e D o w n l o a d M e t h o d / s v n
$( call wrap_mirror, \
$( call wrap_mirror,$( 1) ,$( 2) , \
echo "Checking out files from the svn repository..." ; \
mkdir -p $( TMP_DIR) /dl && \
cd $( TMP_DIR) /dl && \
@ -90,7 +136,7 @@ define DownloadMethod/svn
e n d e f
d e f i n e D o w n l o a d M e t h o d / g i t
$( call wrap_mirror, \
$( call wrap_mirror,$( 1) ,$( 2) , \
echo "Checking out files from the git repository..." ; \
mkdir -p $( TMP_DIR) /dl && \
cd $( TMP_DIR) /dl && \
@ -109,7 +155,7 @@ define DownloadMethod/git
e n d e f
d e f i n e D o w n l o a d M e t h o d / b z r
$( call wrap_mirror, \
$( call wrap_mirror,$( 1) ,$( 2) , \
echo "Checking out files from the bzr repository..." ; \
mkdir -p $( TMP_DIR) /dl && \
cd $( TMP_DIR) /dl && \
@ -125,7 +171,7 @@ define DownloadMethod/bzr
e n d e f
d e f i n e D o w n l o a d M e t h o d / h g
$( call wrap_mirror, \
$( call wrap_mirror,$( 1) ,$( 2) , \
echo "Checking out files from the hg repository..." ; \
mkdir -p $( TMP_DIR) /dl && \
cd $( TMP_DIR) /dl && \
@ -142,7 +188,7 @@ define DownloadMethod/hg
e n d e f
d e f i n e D o w n l o a d M e t h o d / d a r c s
$( call wrap_mirror, \
$( call wrap_mirror, $( 1) , $( 2) , \
echo "Checking out files from the darcs repository..." ; \
mkdir -p $( TMP_DIR) /dl && \
cd $( TMP_DIR) /dl && \
@ -209,6 +255,11 @@ define Download
$( DL_DIR) /$( FILE) :
mkdir -p $( DL_DIR)
$( call locked,$( if $( DownloadMethod/$( call dl_method,$( URL) ,$( PROTO) ) ) ,$( DownloadMethod/$( call dl_method,$( URL) ,$( PROTO) ) ) ,$( DownloadMethod/unknown) ) ,$( FILE) )
$( call locked, \
$( if $( DownloadMethod/$( call dl_method,$( URL) ,$( PROTO) ) ) , \
$( call DownloadMethod/$( call dl_method,$( URL) ,$( PROTO) ) ,check,$( if $( filter default,$( 1) ) ,PKG_,Download/$( 1) :) ) , \
$( DownloadMethod/unknown) \
) ,\
$( FILE) )
e n d e f