cookutils rev 506 slitaz-tank
cook: Fix getsrc function to only extract sources once.
author | Christopher Rogers <slaxemulator@gmail.com> |
---|---|
date | Mon Jun 25 06:19:46 2012 +0000 (2012-06-25) |
parents | 090c28f00d6d |
children | 0b6c1c223f1c |
files | cook |
line diff
1.1 --- a/cook Sat Jun 23 21:22:14 2012 +0000 1.2 +++ b/cook Mon Jun 25 06:19:46 2012 +0000 1.3 @@ -144,6 +144,7 @@ 1.4 install=$pkgdir/install 1.5 pkgsrc="${SOURCE:-$PACKAGE}-${KBASEVER:-$VERSION}" 1.6 lzma_tarball="$pkgsrc.tar.lzma" 1.7 + orig_tarball="$TARBALL" 1.8 if [ "$PATCH" ]; then 1.9 [ "${PTARBALL}" ] || PTARBALL="$(basename $PATCH)" 1.10 fi 1.11 @@ -276,46 +277,40 @@ 1.12 # Get source tarball and make sure we have source dir named: 1.13 # $PACKAGE-$VERSION to be standard in receipts. Here we use tar.lzma 1.14 # tarball if it exists. 1.15 - if [ ! "$WANTED" ] && [ "$TARBALL" ]; then 1.16 + look_for_cookopt !unpack && unpack="no" 1.17 + look_for_cookopt !repack_src && LZMA_SRC="" 1.18 + if [ ! "$WANTED" ] && [ "$TARBALL" ] && [ ! "$unpack" ] && [ ! "$cook_code" ]; then 1.19 [ -d $tmpsrc ] && rm -rf $tmpsrc 1.20 mkdir -p $tmpsrc && cd $tmpsrc 1.21 fi 1.22 1.23 - if [ "$WGET_URL" ] && [ -f "$SRC/$TARBALL" ]; then 1.24 + if [ "$WGET_URL" ] && [ ! -f "$SRC/$TARBALL" ]; then 1.25 + separator && download 1.26 + fi 1.27 + 1.28 + if [ "$WGET_URL" ] && [ -f "$SRC/$TARBALL" ] && [ ! "$unpack" ] && [ ! "$cook_code" ]; then 1.29 + [ "$TARBALL" = "$lzma_tarball" ] && LZMA_SRC="" 1.30 if [ "$1" = "--extract" ]; then 1.31 - [ -d $basesrc ] && rm -rf $basesrc 1.32 - mkdir -p $tmpsrc && cd $tmpsrc 1.33 - extract_source 1.34 - extract_path 1.35 - fi 1.36 - [ "$TARBALL" = "$lzma_tarball" ] && LZMA_SRC="" 1.37 - else 1.38 - separator && download 1.39 + extract_source || exit 1 1.40 + if [ ! -f "$SRC/$lzma_tarball" ] && [ "$LZMA_SRC" ]; then 1.41 + echo -e "Repacking source." 1.42 + repack_source || exit 1 1.43 + fi 1.44 + extract_path || exit 1 1.45 + if [ -f $SRC/$TARBALL ]; then 1.46 + [ -d $tmpsrc ] && rm -rf $tmpsrc 1.47 + fi 1.48 + fi 1.49 fi 1.50 1.51 # This is to make sure if PATCH equals something it will be downloaded 1.52 # checks are done in download functions 1.53 - if [ "$PATCH" ]; then 1.54 + if [ "$PATCH" ] && [ ! "$cook_code" ]; then 1.55 if [ ! -f "$SRC/$PTARBALL" ]; then 1.56 separator && download 1.57 fi 1.58 fi 1.59 1.60 - look_for_cookopt !repack_src && LZMA_SRC="" 1.61 - if [ "$LZMA_SRC" ]; then 1.62 - echo -e "Repacking source." 1.63 - set_paths 1.64 - mkdir -p $tmpsrc && cd $tmpsrc 1.65 - extract_source || exit 1 1.66 - repack_source || exit 1 1.67 - if [ "$1" = "--extract" ]; then 1.68 - extract_path 1.69 - fi 1.70 - if [ -f $SRC/$TARBALL ]; then 1.71 - [ -d $tmpsrc ] && rm -rf $tmpsrc 1.72 - fi 1.73 - fi 1.74 - 1.75 echo -e "Tarball: $SRC/$TARBALL" 1.76 [ "$PATCH" ] && echo -e "Patch: $SRC/$PTARBALL" 1.77 } 1.78 @@ -411,7 +406,6 @@ 1.79 mv tmp-1 tmp/$pkgsrc 1.80 fi 1.81 fi 1.82 - ORIG_TARBALL=$TARBALL 1.83 if [ -d "$tmpsrc/$pkgsrc" ]; then 1.84 gettext "Repacking source is enabled:"; echo " LZMA_SRC" 1.85 TARBALL=$lzma_tarball 1.86 @@ -422,7 +416,7 @@ 1.87 tar -c * | lzma e $SRC/$TARBALL -si $LZMA_SET_DIR 1.88 if [ $REMOVE_ORIG_TARBALL ]; then 1.89 if [ -f $SRC/$TARBALL ]; then 1.90 - [ -f $SRC/$ORIG_TARBALL ] && rm -f $SRC/$ORIG_TARBALL 1.91 + [ -f $SRC/$orig_tarball ] && rm -f $SRC/$orig_tarball 1.92 fi 1.93 fi 1.94 fi 1.95 @@ -782,16 +776,6 @@ 1.96 [ ! -s "$CACHE/installed.cook.diff" ] && \ 1.97 busybox diff $CACHE/installed.list $CACHE/installed.cook > $CACHE/installed.cook.diff 1.98 deps=$(cat $CACHE/installed.cook.diff | grep ^+[a-zA-Z0-9] | wc -l) 1.99 - 1.100 - if [ ! "$WANTED" ] && [ "$TARBALL" ] && [ ! -d "$src" ]; then 1.101 - look_for_cookopt !unpack && unpack="no" 1.102 - if [ ! "$unpack" ] && [ "$cook_code" = "" ]; then 1.103 - extract_source || exit 1 1.104 - look_for_cookopt !repack_src && LZMA_SRC="" 1.105 - [ "$LZMA_SRC" ] && repack_source 1.106 - extract_path 1.107 - fi 1.108 - fi 1.109 1.110 # Execute receipt rules. 1.111 if [ $(grep ^compile_rules $receipt) ] && [ "$cook_code" = "" ]; then