Lines 650-695
Link Here
|
650 |
#scripts, so set it to $T. |
650 |
#scripts, so set it to $T. |
651 |
export TMP="${T}" |
651 |
export TMP="${T}" |
652 |
export TMPDIR="${T}" |
652 |
export TMPDIR="${T}" |
653 |
local strace_pid=0 olog=${T}/openedfiles.log olst=${T}/openedfiles.lst |
653 |
src_compile |
654 |
local opgk=${T}/openedpkgs.lst |
|
|
655 |
if [ "$FINDDEPS" ]; then |
656 |
if [ -x /usr/bin/strace ]; then |
657 |
strace -qf -e signal=\!all -e open,execve -o "$olog" -p $$ & |
658 |
strace_pid=$! |
659 |
# Wait for strace to start |
660 |
local count=20 |
661 |
while [ ! -f "$olog" ] && [ $count -gt 0 ]; do |
662 |
LC_NUMERIC=C sleep 0.1 |
663 |
set count-- |
664 |
done |
665 |
if [ $count -eq 0 ]; then |
666 |
ewarn Couldn\'t start strace \!\!\! |
667 |
kill $strace_pid |
668 |
strace_pid=0 |
669 |
fi |
670 |
else |
671 |
ewarn You need to emerge dev-util/strace for finding dependencies. |
672 |
fi |
673 |
fi |
674 |
src_compile |
675 |
#|| abort_compile "fail" |
654 |
#|| abort_compile "fail" |
676 |
if [ $strace_pid -gt 0 ]; then |
|
|
677 |
kill $strace_pid |
678 |
ewarn Packages needed for compilation: |
679 |
awk -F\" '$2~/^\// && !/ENOENT/ && $2!~/\/tmp\// && !/^'$$'/{ |
680 |
files[$2]++ |
681 |
} |
682 |
END{ |
683 |
for(f in files){ |
684 |
print "^obj " f " " |
685 |
} |
686 |
}' "$olog" > "$olst" |
687 |
grep -l -f "$olst" /var/db/pkg/*/*/CONTENTS | \ |
688 |
awk -F/ '{print "\t" $(NF-2) "/" $(NF-1)}' > "$opkg" |
689 |
cat "$opkg" |
690 |
ewarn To know which files in a certain package were used, run |
691 |
ewarn "grep -f \"$olst\" /var/db/pkg/<group>/<name>/CONTENTS" |
692 |
fi |
693 |
cd ${BUILDDIR} |
655 |
cd ${BUILDDIR} |
694 |
touch .compiled |
656 |
touch .compiled |
695 |
if [ ! -e "build-info" ] |
657 |
if [ ! -e "build-info" ] |