1 |
The new API runs all specified arguments to virtx() inside an XFVB, |
2 |
instead of defining VIRTUALX_COMMAND and running that in virtualmake. |
3 |
|
4 |
Xemake and Xeconf should be replaced by "virtx emake" and "virtx econf". |
5 |
|
6 |
Signed-off-by: Justin Lecher <jlec@g.o> |
7 |
--- |
8 |
eclass/virtualx.eclass | 56 +++++++++++++++++++++++++++++++++++++++++--------- |
9 |
1 file changed, 46 insertions(+), 10 deletions(-) |
10 |
|
11 |
diff --git a/eclass/virtualx.eclass b/eclass/virtualx.eclass |
12 |
index d10dbb2..b124034 100644 |
13 |
--- a/eclass/virtualx.eclass |
14 |
+++ b/eclass/virtualx.eclass |
15 |
@@ -91,22 +91,52 @@ esac |
16 |
virtualmake() { |
17 |
debug-print-function ${FUNCNAME} "$@" |
18 |
|
19 |
- local i=0 |
20 |
- local retval=0 |
21 |
- local OLD_SANDBOX_ON="${SANDBOX_ON}" |
22 |
- local XVFB XHOST XDISPLAY |
23 |
- local xvfbargs="-screen 0 1280x1024x24" |
24 |
- XVFB=$(type -p Xvfb) || die |
25 |
- XHOST=$(type -p xhost) || die |
26 |
+ [[ ${EAPI} == [2345] ]] || die "${FUNCNAME} is unsupported in EAPI > 5, please use virtx" |
27 |
|
28 |
# backcompat for maketype |
29 |
if [[ -n ${maketype} ]]; then |
30 |
+ [[ ${EAPI} == [2345] ]] || die "maketype is banned in EAPI > 5" |
31 |
eqawarn "ebuild is exporting \$maketype=${maketype}" |
32 |
eqawarn "Ebuild should be migrated to use VIRTUALX_COMMAND=${maketype} instead." |
33 |
eqawarn "Setting VIRTUALX_COMMAND to \$maketype conveniently for now." |
34 |
VIRTUALX_COMMAND=${maketype} |
35 |
fi |
36 |
|
37 |
+ virtx "${VIRTUALX_COMMAND}" "${@}" |
38 |
+} |
39 |
+ |
40 |
+ |
41 |
+# @FUNCTION: virtx |
42 |
+# @USAGE: <command> [command arguments] |
43 |
+# @DESCRIPTION: |
44 |
+# Start new Xvfb session and run commands in it. |
45 |
+# |
46 |
+# Example: |
47 |
+# |
48 |
+# @CODE |
49 |
+# src_test() { |
50 |
+# virtx default |
51 |
+# } |
52 |
+# @CODE |
53 |
+# |
54 |
+# @CODE |
55 |
+# python_test() { |
56 |
+# virtx py.test --verbose |
57 |
+# } |
58 |
+# @CODE |
59 |
+virtx() { |
60 |
+ debug-print-function ${FUNCNAME} "$@" |
61 |
+ |
62 |
+ [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" |
63 |
+ |
64 |
+ local i=0 |
65 |
+ local retval=0 |
66 |
+ local OLD_SANDBOX_ON="${SANDBOX_ON}" |
67 |
+ local XVFB XHOST XDISPLAY |
68 |
+ local xvfbargs="-screen 0 1280x1024x24" |
69 |
+ XVFB=$(type -p Xvfb) || die |
70 |
+ XHOST=$(type -p xhost) || die |
71 |
+ |
72 |
debug-print "${FUNCNAME}: running Xvfb hack" |
73 |
export XAUTHORITY= |
74 |
# The following is derived from Mandrake's hack to allow |
75 |
@@ -156,10 +186,10 @@ virtualmake() { |
76 |
# to kill Xvfb |
77 |
debug-print "${FUNCNAME}: ${VIRTUALX_COMMAND} \"$@\"" |
78 |
if has "${EAPI}" 2 3; then |
79 |
- ${VIRTUALX_COMMAND} "$@" |
80 |
+ "$@" |
81 |
retval=$? |
82 |
else |
83 |
- nonfatal ${VIRTUALX_COMMAND} "$@" |
84 |
+ nonfatal "$@" |
85 |
retval=$? |
86 |
fi |
87 |
|
88 |
@@ -180,7 +210,7 @@ Xmake() { |
89 |
debug-print-function ${FUNCNAME} "$@" |
90 |
|
91 |
[[ ${EAPI} == [2345] ]] \ |
92 |
- || die "${FUNCNAME} is removed in EAPI > 5; use Xemake -j1 instead" |
93 |
+ || die "${FUNCNAME} is unsupported in EAPI > 5, please use 'virtx emake -j1 ....'" |
94 |
|
95 |
eqawarn "you should not execute make directly" |
96 |
eqawarn "rather execute Xemake -j1 if you have issues with parallel make" |
97 |
@@ -193,6 +223,9 @@ Xmake() { |
98 |
Xemake() { |
99 |
debug-print-function ${FUNCNAME} "$@" |
100 |
|
101 |
+ [[ ${EAPI} == [2345] ]] \ |
102 |
+ || die "${FUNCNAME} is unsupported in EAPI > 5, please use 'virtx emake ....'" |
103 |
+ |
104 |
VIRTUALX_COMMAND="emake" virtualmake "$@" |
105 |
} |
106 |
|
107 |
@@ -202,6 +235,9 @@ Xemake() { |
108 |
Xeconf() { |
109 |
debug-print-function ${FUNCNAME} "$@" |
110 |
|
111 |
+ [[ ${EAPI} == [2345] ]] \ |
112 |
+ || die "${FUNCNAME} is unsupported in EAPI > 5, please use 'virtx econf ....'" |
113 |
+ |
114 |
VIRTUALX_COMMAND="econf" virtualmake "$@" |
115 |
} |
116 |
|
117 |
-- |
118 |
2.6.3 |