Update timestamps in headers of modified files.
[portage.git] / bin / ebuild-helpers / ecompressdir
index fdecaf0a23b36cc8168c92f382179f7552ea2385..7a95120a98ba0eec3854a67b68f1f8e077ef6e3d 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/bash
-# Copyright 1999-2007 Gentoo Foundation
+# Copyright 1999-2010 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 source "${PORTAGE_BIN_PATH:-/usr/lib/portage/bin}"/isolated-functions.sh
@@ -13,7 +13,8 @@ case $1 in
        --ignore)
                shift
                for skip in "$@" ; do
-                       [[ -d ${D}${skip} ]] && touch "${D}${skip}.ecompress.skip"
+                       [[ -d ${D}${skip} || -f ${D}${skip} ]] \
+                               && >> "${D}${skip}.ecompress.skip"
                done
                exit 0
                ;;
@@ -21,10 +22,13 @@ case $1 in
                shift
                set -- "${@/%/.ecompress.dir}"
                set -- "${@/#/${D}}"
-               touch "$@"
-               ret=$?
-               [[ $ret -ne 0 ]] && helpers_die "$0 failed"
-               exit $?
+               ret=0
+               for x in "$@" ; do
+                       >> "$x"
+                       ((ret|=$?))
+               done
+               [[ $ret -ne 0 ]] && helpers_die "${0##*/} failed"
+               exit $ret
                ;;
        --dequeue)
                [[ -n $2 ]] && vecho "${0##*/}: --dequeue takes no additional arguments" 1>&2
@@ -59,7 +63,7 @@ funk_up_dir() {
        ((ret|=$?))
 
        find "${dir}" -type l -print0 | \
-       while read -d $'\0' brokenlink ; do
+       while read -r -d $'\0' brokenlink ; do
                [[ -e ${brokenlink} ]] && continue
                olddest=$(readlink "${brokenlink}")
                [[ ${act} == "compress" ]] \
@@ -74,7 +78,7 @@ funk_up_dir() {
 }
 
 # _relocate_skip_dirs(srctree, dsttree)
-# Move all the directories we want to skip running compression
+# Move all files and directories we want to skip running compression
 # on from srctree to dsttree.
 _relocate_skip_dirs() {
        local srctree="$1" dsttree="$2"
@@ -82,7 +86,7 @@ _relocate_skip_dirs() {
        [[ -d ${srctree} ]] || return 0
 
        find "${srctree}" -name '*.ecompress.skip' -print0 | \
-       while read -d $'\0' src ; do
+       while read -r -d $'\0' src ; do
                src=${src%.ecompress.skip}
                dst="${dsttree}${src#${srctree}}"
                parent=${dst%/*}
@@ -135,5 +139,5 @@ for dir in "$@" ; do
        restore_skip_dirs
 done
 
-[[ $ret -ne 0 ]] && helpers_die "$0 failed"
+[[ $ret -ne 0 ]] && helpers_die "${0##*/} failed"
 exit ${ret}