Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 78877 Details for
Bug 121368
Portage takes several hours merging (not compiling) a very big package (60000+ files)
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
portage-simpler-user-group-reset.patch
portage-simpler-user-group-reset.patch (text/plain), 3.00 KB, created by
SpanKY
on 2006-02-04 11:54:19 UTC
(
hide
)
Description:
portage-simpler-user-group-reset.patch
Filename:
MIME Type:
Creator:
SpanKY
Created:
2006-02-04 11:54:19 UTC
Size:
3.00 KB
patch
obsolete
>Index: bin/ebuild.sh >=================================================================== >--- bin/ebuild.sh (revision 2660) >+++ bin/ebuild.sh (working copy) >@@ -1185,78 +1185,29 @@ > unset INSTALLTOD > fi > >- # dumps perms to stdout. if error, no perms dumped. >- function stat_perms() { >- local f >- # only define do_stat if it hasn't been already >- if ! type -p do_stat &> /dev/null; then >- if ! type -p stat &>/dev/null; then >- do_stat() { >- # Generic version -- Octal result >- python -c "import os,stat; print '%o' % os.stat('$1')[stat.ST_MODE]" >- } >- else >- if [ "${USERLAND}" == "BSD" ] || [ "${USERLAND}" == "Darwin" ]; then >- do_stat() { >- # BSD version -- Octal result >- $(type -p stat) -f '%p' "$1" >- } >- else >- do_stat() { >- # Linux version -- Hex result converted to Octal >- f=$($(type -p stat) -c '%f' "$1") || return $? >- printf '%o' "0x$f" >- } >- fi >- fi >- fi >+ local file="${T}/find-portage-log" >+ local count=$(find "${D}"/ -user portage | wc -l) >+ if [[ ${count} -gt 0 ]] ; then >+ ewarn "${count} files were installed with user portage!" > >- f=$(do_stat "$@") || return >- f="${f:2:4}" >- echo $f >- } >- >- local file s >- local count=0 >- find "${D}/" -user portage | while read file; do >- count=$(( $count + 1 )) >- if [ -L "${file}" ]; then >- lchown ${PORTAGE_INST_UID} "${file}" >- else >- s=$(stat_perms "$file") >- if [ -z "${s}" ]; then >- ewarn "failed stat_perm'ing $file. User intervention during install isn't wise..." >- continue >- fi >- chown ${PORTAGE_INST_UID} "$file" >- chmod "$s" "$file" >- fi >- done >- if (( $count > 0 )); then >- ewarn "$count files were installed with user portage!" >+ find "${D}"/ -xtype l -user portage -print0 > "${file}" >+ [[ -s ${file} ]] && xargs -a "${file}" -0 chown -h ${PORTAGE_INST_UID} >+ find "${D}"/ -user portage -print0 > "${file}" >+ [[ -s ${file} ]] && xargs -a "${file}" -0 chown ${PORTAGE_INST_UID} >+ rm -f "${file}" > fi > >- count=0 >- find "${D}/" -group portage | while read file; do >- count=$(( $count + 1 )) >- if [ -L "${file}" ]; then >- lchgrp ${PORTAGE_INST_GID} "${file}" >- else >- s=$(stat_perms "$file") >- if [ -z "${s}" ]; then >- echo "failed stat_perm'ing '$file' . User intervention during install isn't wise..." >- continue >- fi >- chgrp ${PORTAGE_INST_GID} "$file" >- chmod "$s" "$file" >- fi >- done >- if (( $count > 0 )); then >- ewarn "$count files were installed with group portage!" >+ count=$(find "${D}"/ -group portage | wc -l) >+ if [[ ${count} -gt 0 ]] ; then >+ ewarn "${count} files were installed with group portage!" >+ >+ find "${D}"/ -xtype l -group portage -print0 > "${file}" >+ [[ -s ${file} ]] && xargs -a "${file}" -0 chgrp -h ${PORTAGE_INST_GID} >+ find "${D}"/ -group portage -print0 > "${file}" >+ [[ -s ${file} ]] && xargs -a "${file}" -0 chgrp ${PORTAGE_INST_GID} >+ rm -f "${file}" > fi > >- unset -f stat_perms >- > # Portage regenerates this on the installed system. > if [ -f "${D}/usr/share/info/dir.gz" ]; then > rm -f "${D}/usr/share/info/dir.gz"
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 121368
:
78793
| 78877 |
84338
|
84688
|
84691
|
84694