1 |
commit: c0d8915eefa7f334f3912440016f50bd0b32995e |
2 |
Author: Mike Frysinger <vapier <AT> gentoo <DOT> org> |
3 |
AuthorDate: Tue Feb 28 17:20:36 2012 +0000 |
4 |
Commit: Mike Frysinger <vapier <AT> gentoo <DOT> org> |
5 |
CommitDate: Tue Feb 28 17:20:36 2012 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/crossdev.git;a=commit;h=c0d8915e |
7 |
|
8 |
crossdev: output config in a shell-evalable style |
9 |
|
10 |
Should simplify scripts trying to parse this as now they can do: |
11 |
eval $(crossdev --show-target-cfg ...); echo $foo |
12 |
|
13 |
Rather than manually parsing like: |
14 |
foo=$(crossdev --show-target-cfg ... | awk '$1 == "foo" { print $NF }') |
15 |
|
16 |
Signed-off-by: Mike Frysinger <vapier <AT> gentoo.org> |
17 |
|
18 |
--- |
19 |
crossdev | 23 ++++++++++++++++------- |
20 |
1 files changed, 16 insertions(+), 7 deletions(-) |
21 |
|
22 |
diff --git a/crossdev b/crossdev |
23 |
index 50a523e..68389d5 100755 |
24 |
--- a/crossdev |
25 |
+++ b/crossdev |
26 |
@@ -537,7 +537,7 @@ for with in HEADERS ; do |
27 |
done |
28 |
|
29 |
show_target_cfg() { |
30 |
- local pkgs |
31 |
+ local pkgs crosspkgs=() |
32 |
|
33 |
pkgs=( |
34 |
binutils B |
35 |
@@ -547,18 +547,27 @@ show_target_cfg() { |
36 |
) |
37 |
ex_gdb && pkgs+=( gdb D ) |
38 |
|
39 |
- echo "arch ${TARCH}" |
40 |
- echo "target ${CTARGET}" |
41 |
- echo "category cross-${CTARGET}" |
42 |
+ echo "arch=${TARCH}" |
43 |
+ echo "target=${CTARGET}" |
44 |
+ echo "category=cross-${CTARGET}" |
45 |
while [[ ${#pkgs[@]} -gt 0 ]] ; do |
46 |
- local vcat="${pkgs[1]}CAT" |
47 |
- local vpkg="${pkgs[1]}PKG" |
48 |
+ local pkg=${pkgs[0]} |
49 |
+ local v=${pkgs[1]} |
50 |
+ local vcat="${v}CAT" |
51 |
+ local vpkg="${v}PKG" |
52 |
+ local ocat="${pkg}_category" |
53 |
+ local opkg="${pkg}_pn" |
54 |
|
55 |
if [[ ${!vpkg} != "[none]" ]] ; then |
56 |
- echo "${pkgs[0]} ${!vcat} ${!vpkg}" |
57 |
+ echo "${ocat}=${!vcat}" |
58 |
+ echo "${opkg}=${!vpkg}" |
59 |
+ else |
60 |
+ printf '%s=\n' "${ocat}" "${opkg}" |
61 |
fi |
62 |
+ crosspkgs+=( ${pkg} ) |
63 |
pkgs=( ${pkgs[@]:2} ) |
64 |
done |
65 |
+ echo "crosspkgs='${crosspkgs[*]}'" |
66 |
|
67 |
exit 0 |
68 |
} |