Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 3141 | Differences between
and this patch

Collapse All | Expand All

(-)ebuild.sh (-39 / +1 lines)
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" ]

Return to bug 3141