All pastes #911332 Raw Edit

fall0ut

public text v1 · immutable
·published 2008-02-20 17:17 UTC
rendered paste body
# Macro to generate download-foo rule to download and unpack a package
# FIXME - This is horrid
dest=.
download_rule=                                                          \
download-$(strip $(1)) :  ;                                             \
        @what=$(strip $(1)) && suffix=$(strip $(2))                     \
        && url=$(strip $(3)) && sub=$(strip $(4))                       \
        && [ -d $$$$what ]                                              \
        || { [ -n "$$$$sub" ] || sub=.                                  \
        && temp=`mktemp /var/tmp/dl.XXXXXX`                             \
        && wget --passive-ftp --timeout 30 -O $$$$temp                  \
                $$$$url$$$$what.$$$$suffix                              \
        && case $$$$suffix in                                           \
                *.gz|tgz) prog="gzip -d -c" ;;                          \
                *.bz2) prog="bzcat -c" ;;                               \
                *) prog=cat ;;                                          \
        esac                                                            \
        && { $$$$prog $$$$temp | tar -C $(dest)/$$$$sub -xvf - ; }      \
        && {  ["$$$$sub" == .]  || ln -nsf "$$$$sub" "$$$$what" ; }     \
        && { [ "$$$$sub" != . ] || [ "$(dest)" == . ]                   \
                || ln -sf $(dest)/$$$$what . ; }                        \
        && if [ "$(keep-archives)" == "1" ] ; then                      \
                mv -f $$$$temp /var/tmp/$$$$what.$$$$suffix;            \
        else rm $$$$temp ;                                              \
        fi                                                              \
        }