Gentoo Archives: gentoo-commits

From: Thomas Sachau <tommy@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:multilib commit in: /
Date: Wed, 28 Dec 2011 13:33:36
Message-Id: ea7b8a670b20397448d53bf971a66bcc9896714c.tommy@gentoo
1 commit: ea7b8a670b20397448d53bf971a66bcc9896714c
2 Author: Thomas Sachau <tommy <AT> gentoo <DOT> org>
3 AuthorDate: Wed Dec 28 13:33:04 2011 +0000
4 Commit: Thomas Sachau <tommy <AT> gentoo <DOT> org>
5 CommitDate: Wed Dec 28 13:33:04 2011 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=ea7b8a67
7
8 Merge commit 'v2.2.0_alpha84' into multilib
9
10
11 bin/misc-functions.sh | 157 ++++++++++++----------
12 bin/repoman | 8 +-
13 man/ebuild.5 | 2 +-
14 man/make.conf.5 | 6 +-
15 pym/_emerge/FakeVartree.py | 1 +
16 pym/portage/const.py | 1 +
17 pym/portage/dbapi/vartree.py | 15 ++-
18 pym/portage/repository/config.py | 38 +++---
19 pym/portage/tests/ebuild/test_config.py | 2 +
20 pym/portage/tests/resolver/ResolverPlayground.py | 10 +-
21 pym/portage/xpak.py | 2 +-
22 11 files changed, 140 insertions(+), 102 deletions(-)
23
24 diff --cc bin/misc-functions.sh
25 index 252fba1,5a726b3..a27d5da
26 --- a/bin/misc-functions.sh
27 +++ b/bin/misc-functions.sh
28 @@@ -153,9 -152,92 +153,93 @@@ install_qa_check()
29 [[ " ${FEATURES} " == *" force-prefix "* ]] || \
30 case "$EAPI" in 0|1|2) local ED=${D} ;; esac
31
32 + [[ -d "${ED}" ]] || return 0
33 cd "${ED}" || die "cd failed"
34
35 + # Merge QA_FLAGS_IGNORED and QA_DT_HASH into a single array, since
36 + # QA_DT_HASH is deprecated.
37 + qa_var="QA_FLAGS_IGNORED_${ARCH/-/_}"
38 + eval "[[ -n \${!qa_var} ]] && QA_FLAGS_IGNORED=(\"\${${qa_var}[@]}\")"
39 + if [[ ${#QA_FLAGS_IGNORED[@]} -eq 1 ]] ; then
40 + local shopts=$-
41 + set -o noglob
42 + QA_FLAGS_IGNORED=(${QA_FLAGS_IGNORED})
43 + set +o noglob
44 + set -${shopts}
45 + fi
46 +
47 + qa_var="QA_DT_HASH_${ARCH/-/_}"
48 + eval "[[ -n \${!qa_var} ]] && QA_DT_HASH=(\"\${${qa_var}[@]}\")"
49 + if [[ ${#QA_DT_HASH[@]} -eq 1 ]] ; then
50 + local shopts=$-
51 + set -o noglob
52 + QA_DT_HASH=(${QA_DT_HASH})
53 + set +o noglob
54 + set -${shopts}
55 + fi
56 +
57 + if [[ -n ${QA_DT_HASH} ]] ; then
58 + QA_FLAGS_IGNORED=("${QA_FLAGS_IGNORED[@]}" "${QA_DT_HASH[@]}")
59 + unset QA_DT_HASH
60 + fi
61 +
62 + # Merge QA_STRICT_FLAGS_IGNORED and QA_STRICT_DT_HASH, since
63 + # QA_STRICT_DT_HASH is deprecated
64 + if [ "${QA_STRICT_FLAGS_IGNORED-unset}" = unset ] && \
65 + [ "${QA_STRICT_DT_HASH-unset}" != unset ] ; then
66 + QA_STRICT_FLAGS_IGNORED=1
67 + unset QA_STRICT_DT_HASH
68 + fi
69 +
70 + # Check for files built without respecting *FLAGS. Note that
71 + # -frecord-gcc-switches must be in all *FLAGS variables, in
72 + # order to avoid false positive results here.
73 + # NOTE: This check must execute before prepall/prepstrip, since
74 + # prepstrip strips the .GCC.command.line sections.
75 + if type -P scanelf > /dev/null && ! has binchecks ${RESTRICT} && \
76 + [[ "${CFLAGS}" == *-frecord-gcc-switches* ]] && \
77 + [[ "${CXXFLAGS}" == *-frecord-gcc-switches* ]] && \
78 + [[ "${FFLAGS}" == *-frecord-gcc-switches* ]] && \
79 + [[ "${FCFLAGS}" == *-frecord-gcc-switches* ]] ; then
80 + rm -f "${T}"/scanelf-ignored-CFLAGS.log
81 + for x in $(scanelf -qyRF '%k %p' -k \!.GCC.command.line "${ED}" | \
82 + sed -e "s:\!.GCC.command.line ::") ; do
83 + # Separate out file types that are known to support
84 + # .GCC.command.line sections, using the `file` command
85 + # similar to how prepstrip uses it.
86 + f=$(file "${x}") || continue
87 + [[ -z ${f} ]] && continue
88 + if [[ ${f} == *"SB executable"* ||
89 + ${f} == *"SB shared object"* ]] ; then
90 + echo "${x}" >> "${T}"/scanelf-ignored-CFLAGS.log
91 + fi
92 + done
93 +
94 + if [[ -f "${T}"/scanelf-ignored-CFLAGS.log ]] ; then
95 +
96 + if [ "${QA_STRICT_FLAGS_IGNORED-unset}" = unset ] ; then
97 + for x in "${QA_FLAGS_IGNORED[@]}" ; do
98 + sed -e "s#^${x#/}\$##" -i "${T}"/scanelf-ignored-CFLAGS.log
99 + done
100 + fi
101 + # Filter anything under /usr/lib/debug/ in order to avoid
102 + # duplicate warnings for splitdebug files.
103 + sed -e "s#^usr/lib/debug/.*##" -e "/^\$/d" -e "s#^#/#" \
104 + -i "${T}"/scanelf-ignored-CFLAGS.log
105 + f=$(<"${T}"/scanelf-ignored-CFLAGS.log)
106 + if [[ -n ${f} ]] ; then
107 + vecho -ne '\n'
108 + eqawarn "${BAD}QA Notice: Files built without respecting CFLAGS have been detected${NORMAL}"
109 + eqawarn " Please include the following list of files in your report:"
110 + eqawarn "${f}"
111 + vecho -ne '\n'
112 + sleep 1
113 + else
114 + rm -f "${T}"/scanelf-ignored-CFLAGS.log
115 + fi
116 + fi
117 + fi
118 +
119 export STRIP_MASK
120 prepall
121 has "${EAPI}" 0 1 2 3 || prepcompress