All pastes #911347 Raw Edit

fall0ut

public text v1 · immutable
·published 2008-02-20 17:26 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                                                              \
        }






Output from 'gmake download':
[root@volund /usr/local/src/unattended-4.7/linuxboot]# gmake download
--2008-02-20 12:21:39--  http://ftp.gnu.org/gnu/bash/bash-3.2.tar.gz
Resolving ftp.gnu.org... 140.186.70.20
Connecting to ftp.gnu.org|140.186.70.20|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2529838 (2.4M) [application/x-tar]
Saving to: `/var/tmp/dl.dcwVfL'

100%[====================================================================================================>] 2,529,838    670K/s   in 3.9s

2008-02-20 12:21:43 (630 KB/s) - `/var/tmp/dl.dcwVfL' saved [2529838/2529838]

x bash-3.2/

...decompress bash *snip* ...

x bash-3.2/pathnames.h.in
[: .: unexpected operator
ln: bash-3.2/.: Operation not permitted
gmake: *** [download-bash-3.2] Error 1
[root@volund /usr/local/src/unattended-4.7/linuxboot]#