#!/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
--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
;;
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
((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" ]] \
}
# _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"
[[ -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%/*}
restore_skip_dirs
done
-[[ $ret -ne 0 ]] && helpers_die "$0 failed"
+[[ $ret -ne 0 ]] && helpers_die "${0##*/} failed"
exit ${ret}