* Skip the recusive chown call if it fails on the top level directory since
authorZac Medico <zmedico@gentoo.org>
Fri, 28 Mar 2008 10:18:08 +0000 (10:18 -0000)
committerZac Medico <zmedico@gentoo.org>
Fri, 28 Mar 2008 10:18:08 +0000 (10:18 -0000)
  it's possible that emerge-webrsync is not run by root.

* Just chown to portage:portage instead of using PORTAGE_INST_{UID,GID}.

svn path=/main/trunk/; revision=9538

bin/emerge-webrsync

index 3a58b2b168e48f0f095f6a78feca49dae02858a6..0dd791f3a74506649cc06b6742a0112f8641c01f 100755 (executable)
@@ -33,7 +33,7 @@ if ! type portageq > /dev/null ; then
        exit 1
 fi
 eval $(portageq envvar -v FEATURES FETCHCOMMAND GENTOO_MIRRORS \
-       PORTAGE_BIN_PATH PORTAGE_GPG_DIR PORTAGE_INST_UID PORTAGE_INST_GID \
+       PORTAGE_BIN_PATH PORTAGE_GPG_DIR \
        PORTAGE_NICENESS PORTAGE_RSYNC_EXTRA_OPTS PORTAGE_TMPDIR PORTDIR \
        http_proxy ftp_proxy)
 DISTDIR="${PORTAGE_TMPDIR}/emerge-webrsync"
@@ -189,8 +189,8 @@ sync_local() {
                # Free disk space
                rm -f "${file}"
 
-               # Make sure user and group file ownership is ${PORTAGE_INST_UID}:${PORTAGE_INST_GID}
-               chown -R ${PORTAGE_INST_UID:-0}:${PORTAGE_INST_GID:-0} portage
+               chown portage:portage portage &> /dev/null && \
+                       chown -R portage:portage portage
                cd portage
                rsync -av --progress --stats --delete --delete-after \
                        --exclude='/distfiles' --exclude='/packages' \