Gentoo Archives: gentoo-commits

From: "Christian Ruppert (idl0r)" <idl0r@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoolkit r697 - in trunk/gentoolkit: . bin
Date: Fri, 30 Oct 2009 14:02:29
Message-Id: E1N3s3N-0003OZ-CF@stork.gentoo.org
1 Author: idl0r
2 Date: 2009-10-30 14:02:08 +0000 (Fri, 30 Oct 2009)
3 New Revision: 697
4
5 Modified:
6 trunk/gentoolkit/ChangeLog
7 trunk/gentoolkit/bin/revdep-rebuild
8 Log:
9 Speedup portageq queries. Include FuzzyRay's patch to respect EMERGE_DEFAULT_OPTS.
10
11
12 Modified: trunk/gentoolkit/ChangeLog
13 ===================================================================
14 --- trunk/gentoolkit/ChangeLog 2009-10-28 20:48:11 UTC (rev 696)
15 +++ trunk/gentoolkit/ChangeLog 2009-10-30 14:02:08 UTC (rev 697)
16 @@ -1,3 +1,7 @@
17 +2009-10-30: Christian Ruppert <idl0r@g.o>
18 + * revdep-rebuild: Speedup portageq queries. Include FuzzyRay's patch to
19 + respect EMERGE_DEFAULT_OPTS.
20 +
21 2009-10-27: Christian Ruppert <idl0r@g.o>
22 * revdep-rebuild: Use realpath in get_file_owner to be able to get the
23 package containing e.g. /lib/libreadline.so.6 on amd64, fixes bug 280341.
24
25 Modified: trunk/gentoolkit/bin/revdep-rebuild
26 ===================================================================
27 --- trunk/gentoolkit/bin/revdep-rebuild 2009-10-28 20:48:11 UTC (rev 696)
28 +++ trunk/gentoolkit/bin/revdep-rebuild 2009-10-30 14:02:08 UTC (rev 697)
29 @@ -89,6 +89,7 @@
30
31 main() {
32 # preliminary setup
33 + portage_settings
34 get_opts "$@"
35 setup_portage
36 setup_search_paths_and_masks
37 @@ -280,7 +281,6 @@
38 setup_color() {
39 # This should still work if NOCOLOR is set by the -C flag or in the user's
40 # environment.
41 - export NOCOLOR=$(portageq envvar NOCOLOR)
42 [[ $NOCOLOR = yes || $NOCOLOR = true ]] && export RC_NOCOLOR=yes # HACK! (grr)
43 . /etc/init.d/functions.sh
44 }
45 @@ -971,12 +971,38 @@
46 done < "$OWNERS_FILE" | gawk '!s[$0]++' # (omit dupes)
47 fi
48 }
49 +
50 +# Get multiple portage variables at once to speedup revdep-rebuild.
51 +portage_settings() {
52 + local results=()
53 +
54 + local query_vars=(
55 + ROOT
56 + PORTAGE_NICENESS
57 + EMERGE_DEFAULT_OPTS
58 + NOCOLOR
59 + SEARCH_DIRS
60 + SEARCH_DIRS_MASK
61 + LD_LIBRARY_MASK
62 + )
63 +
64 + # one value per line
65 + IFS=$'\n'
66 + results=( $(unset SEARCH_DIRS; unset SEARCH_DIRS_MASK; unset LD_LIBRARY_MASK; portageq envvar ${query_vars[*]}) )
67 + IFS=$OIFS
68 +
69 + PORTAGE_ROOT=${results[0]}
70 + PORTAGE_NICENESS=${results[1]}
71 + EMERGE_DEFAULT_OPTS=${results[2]}
72 + export NOCOLOR=${results[3]}
73 + SEARCH_DIRS+=" "${results[4]}
74 + SEARCH_DIRS_MASK+=" "${results[5]}
75 + LD_LIBRARY_MASK+=" "${results[6]}
76 +}
77 +
78 ##
79 # Setup portage and the search paths
80 setup_portage() {
81 - local PORTAGE_NICENESS=$(portageq envvar PORTAGE_NICENESS)
82 - PORTAGE_ROOT=$(portageq envvar ROOT)
83 -
84 # Obey PORTAGE_NICENESS
85 if [[ $PORTAGE_NICENESS ]]; then
86 renice $PORTAGE_NICENESS $$ > /dev/null
87 @@ -1001,9 +1027,9 @@
88 # Read the incremental variables from environment and portage
89 # Until such time as portage supports these variables as incrementals
90 # The value will be what is in /etc/make.conf
91 - SEARCH_DIRS+=" "$(unset SEARCH_DIRS; portageq envvar SEARCH_DIRS)
92 - SEARCH_DIRS_MASK+=" "$(unset SEARCH_DIRS_MASK; portageq envvar SEARCH_DIRS_MASK)
93 - LD_LIBRARY_MASK+=" "$(unset LD_LIBRARY_MASK; portageq envvar LD_LIBRARY_MASK)
94 +# SEARCH_DIRS+=" "$(unset SEARCH_DIRS; portageq envvar SEARCH_DIRS)
95 +# SEARCH_DIRS_MASK+=" "$(unset SEARCH_DIRS_MASK; portageq envvar SEARCH_DIRS_MASK)
96 +# LD_LIBRARY_MASK+=" "$(unset LD_LIBRARY_MASK; portageq envvar LD_LIBRARY_MASK)
97
98 # Add the defaults
99 if [[ -d /etc/revdep-rebuild ]]; then
100 @@ -1056,7 +1082,7 @@
101 trap - SIGHUP SIGINT SIGQUIT SIGABRT SIGTERM
102
103 einfo 'All prepared. Starting rebuild'
104 - echo "emerge --oneshot ${EMERGE_OPTIONS[@]} $REBUILD_LIST"
105 + echo "emerge --oneshot ${EMERGE_OPTIONS[@]} ${EMERGE_DEFAULT_OPTS} $REBUILD_LIST"
106
107 is_real_merge && countdown 10
108
109 @@ -1065,7 +1091,7 @@
110
111 # Run in background to correctly handle Ctrl-C
112 {
113 - EMERGE_DEFAULT_OPTS="--oneshot ${EMERGE_OPTIONS[@]}" emerge $REBUILD_LIST <&6
114 + emerge --oneshot ${EMERGE_OPTIONS[@]} ${EMERGE_DEFAULT_OPTS} $REBUILD_LIST <&6
115 echo $? > "$STATUS_FILE"
116 } &
117 wait