summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-02-03 10:26:08 +0000
committerZac Medico <zmedico@gentoo.org>2007-02-03 10:26:08 +0000
commit82bf9540f2c1c53b7027dbe5924b6c2032951a11 (patch)
tree690a67ef12fe567afa9df726226ab6c80772f6da
parentab12075250291a3eeccf8104b0027bbc59da1a2f (diff)
downloadportage-82bf9540f2c1c53b7027dbe5924b6c2032951a11.tar.gz
portage-82bf9540f2c1c53b7027dbe5924b6c2032951a11.tar.bz2
portage-82bf9540f2c1c53b7027dbe5924b6c2032951a11.zip
For bug #165034, make sure that symlinks are excluded from chmod calls.
svn path=/main/trunk/; revision=5877
-rwxr-xr-xbin/ebuild.sh6
1 files changed, 5 insertions, 1 deletions
diff --git a/bin/ebuild.sh b/bin/ebuild.sh
index aa3c1281f..3afa031e2 100755
--- a/bin/ebuild.sh
+++ b/bin/ebuild.sh
@@ -456,7 +456,11 @@ unpack() {
done
# Do not chmod '.' since it's probably ${WORKDIR} and PORTAGE_WORKDIR_MODE
# should be preserved.
- find . -mindepth 1 -print0 | ${XARGS} -0 chmod -f a+rX,u+w,g-w,o-w
+ local myfile
+ find . -mindepth 1 -maxdepth 1 -print0 | while read -d $'\0' myfile; do
+ [ -L "${myfile}" ] && continue # find can't exclude symlinks by itself.
+ chmod -fR a+rX,u+w,g-w,o-w "${myfile}"
+ done
}
strip_duplicate_slashes() {