From 71a41f72cc38e646ed2945f4c7b343a60247d968 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Thu, 11 Jan 2007 18:50:51 +0000 Subject: add support for user-customizable compression #9870 svn path=/main/trunk/; revision=5555 --- bin/ecompressdir | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100755 bin/ecompressdir (limited to 'bin/ecompressdir') diff --git a/bin/ecompressdir b/bin/ecompressdir new file mode 100755 index 00000000..405f8e2f --- /dev/null +++ b/bin/ecompressdir @@ -0,0 +1,44 @@ +#!/bin/bash +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id: prepalldocs 3483 2006-06-10 21:40:40Z genone $ + +if [[ -z $1 ]] ; then + echo "${0##*/}: at least one argument needed" 1>&2 + exit 1 +fi + +# figure out the new suffix +suffix=$(ecompress --suffix) +[[ -z ${suffix} ]] && exit 0 + +source "${PORTAGE_BIN_PATH:-/usr/lib/portage/bin}"/isolated-functions.sh + +ret=0 + +for dir in "$@" ; do + dir="${D}${dir}" + if [[ ! -d ${dir} ]] ; then + vecho "${0##*/}: ${dir#${D}} does not exist!" + continue + else + vecho "${0##*/}: $(ecompress --bin) ${dir#${D}}" + fi + + find "${dir}" -type f -print0 | xargs -0 ecompress + ((ret+=$?)) + find -L "${dir}" -type l | \ + while read brokenlink ; do + olddest=$(readlink "${brokenlink}") + newdest="${olddest}${suffix}" + if [[ -e ${newdest} ]] ; then + ln -snf "${newdest}" "${brokenlink}" + ((ret+=$?)) + else + vecho "ecompressdir: unknown broken symlink: ${brokenlink}" + ((++ret)) + fi + done +done + +exit ${ret} -- cgit v1.2.3-65-gdbad