From: Zac Medico Date: Fri, 2 May 2008 02:57:45 +0000 (-0000) Subject: Skip group/owner tarsync options for tarsync if chown on /usr/portage X-Git-Tag: v2.1.5~102 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=b1d257ea81bd05ff61d5e260133bb7407538b7d9;p=portage.git Skip group/owner tarsync options for tarsync if chown on /usr/portage fails, since the user might still be able to sync even though the chown call is not permitted. (trunk r10070) svn path=/main/branches/2.1.2/; revision=10071 --- diff --git a/bin/emerge-webrsync b/bin/emerge-webrsync index ae4dfff35..24733840b 100755 --- a/bin/emerge-webrsync +++ b/bin/emerge-webrsync @@ -174,7 +174,10 @@ sync_local() { vecho "Syncing local tree ..." if type -P tarsync > /dev/null ; then - if ! tarsync $(vvecho -v) -s 1 -o portage -g portage -e /distfiles -e /packages -e /local "${file}" "${PORTDIR}"; then + local chown_opts="-o portage -g portage" + chown portage:portage portage > /dev/null 2>&1 || chown_opts="" + if ! tarsync $(vvecho -v) -s 1 ${chown_opts} \ + -e /distfiles -e /packages -e /local "${file}" "${PORTDIR}"; then eecho "tarsync failed; tarball is corrupt? (${file})" return 1 fi