<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openembedded-core.git/meta/classes/terminal.bbclass, branch dylan</title>
<subtitle>Mirror of openembedded-core</subtitle>
<link rel='alternate' type='text/html' href='https://git.multitech.net/cgit/openembedded-core.git/'/>
<entry>
<title>classes/terminal: fix pseudo exiting when launching devshell</title>
<updated>2013-08-16T09:39:41+00:00</updated>
<author>
<name>Paul Eggleton</name>
<email>paul.eggleton@linux.intel.com</email>
</author>
<published>2013-08-14T15:18:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.multitech.net/cgit/openembedded-core.git/commit/?id=88866d93b1a99a921d390044a8399c3ef24dc977'/>
<id>88866d93b1a99a921d390044a8399c3ef24dc977</id>
<content type='text'>
In dylan, since the entire bitbake process is run under pseudo,
LD_PRELOAD is set when we collect BB_ORIGENV and thus when we construct
the devshell environment from the latter, LD_PRELOAD is included.
However, for a fakeroot task we explicitly run the devshell under pseudo
(e.g. "pseudo /bin/bash"), and if LD_PRELOAD is set to preload
libpseudo.so when pseudo is run, it seems to exit immediately without
error. Since LD_PRELOAD shouldn't be exported anyway, exclude this from
the environment so it doesn't prevent running the shell.

Signed-off-by: Paul Eggleton &lt;paul.eggleton@linux.intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In dylan, since the entire bitbake process is run under pseudo,
LD_PRELOAD is set when we collect BB_ORIGENV and thus when we construct
the devshell environment from the latter, LD_PRELOAD is included.
However, for a fakeroot task we explicitly run the devshell under pseudo
(e.g. "pseudo /bin/bash"), and if LD_PRELOAD is set to preload
libpseudo.so when pseudo is run, it seems to exit immediately without
error. Since LD_PRELOAD shouldn't be exported anyway, exclude this from
the environment so it doesn't prevent running the shell.

Signed-off-by: Paul Eggleton &lt;paul.eggleton@linux.intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>terminal: Run command using a wrapper script</title>
<updated>2013-08-07T10:44:32+00:00</updated>
<author>
<name>Tyler Hall</name>
<email>tylerwhall@gmail.com</email>
</author>
<published>2013-06-30T20:16:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.multitech.net/cgit/openembedded-core.git/commit/?id=a749f068e08217264324372a19b561181bfd31cc'/>
<id>a749f068e08217264324372a19b561181bfd31cc</id>
<content type='text'>
Some terminals may not pass the environment into the child process. This
is true when using "tmux split-window." If tmux is already running, it
will start the command with the tmux session environment, ignoring the
environment where the command was issued.

This could possibly be worked around when launching tmux by injecting
variables into the user's session environment or adding the variables to
the "update-environment" tmux setting. However, both methods would
permanently alter the user's session, which is undesirable.

By using a wrapper script, we have full control over the final
environment. Replace the env dictionary with an empty data smart that
will contain the exported variables and a wrapper function that execs
the original command.

(From OE-Core master rev: 3bb96671e987ce8110ce98b9f6d9efc093f8d20e)

Signed-off-by: Tyler Hall &lt;tylerwhall@gmail.com&gt;
Signed-off-by: Saul Wold &lt;sgw@linux.intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some terminals may not pass the environment into the child process. This
is true when using "tmux split-window." If tmux is already running, it
will start the command with the tmux session environment, ignoring the
environment where the command was issued.

This could possibly be worked around when launching tmux by injecting
variables into the user's session environment or adding the variables to
the "update-environment" tmux setting. However, both methods would
permanently alter the user's session, which is undesirable.

By using a wrapper script, we have full control over the final
environment. Replace the env dictionary with an empty data smart that
will contain the exported variables and a wrapper function that execs
the original command.

(From OE-Core master rev: 3bb96671e987ce8110ce98b9f6d9efc093f8d20e)

Signed-off-by: Tyler Hall &lt;tylerwhall@gmail.com&gt;
Signed-off-by: Saul Wold &lt;sgw@linux.intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>devshell.bbclass: Allow running devshell and fakeroot together</title>
<updated>2013-02-19T16:36:54+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2013-02-18T13:19:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.multitech.net/cgit/openembedded-core.git/commit/?id=0a2662a48eaf0487db043c348e2834bb9cdd0466'/>
<id>0a2662a48eaf0487db043c348e2834bb9cdd0466</id>
<content type='text'>
Currently its hard to run a devshell complete with fakeroot context. This
patch allows the fakeroot flag on the task to do this, as with any other
task. Since we may need to start X terminal applications, we need to
only start the fakeroot session on the final command, hence the hoops
this code jumps through.

As always with fakeroot, you can break out and run a command without
the fake permissions with syntax like "PSEUDO_UNLOAD=1 &lt;command&gt;"

[YOCTO #3374]

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
Signed-off-by: Saul Wold &lt;sgw@linux.intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently its hard to run a devshell complete with fakeroot context. This
patch allows the fakeroot flag on the task to do this, as with any other
task. Since we may need to start X terminal applications, we need to
only start the fakeroot session on the final command, hence the hoops
this code jumps through.

As always with fakeroot, you can break out and run a command without
the fake permissions with syntax like "PSEUDO_UNLOAD=1 &lt;command&gt;"

[YOCTO #3374]

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
Signed-off-by: Saul Wold &lt;sgw@linux.intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>terminal.bbclass: Use BB_ORIGENV to restore user environmental variables</title>
<updated>2013-02-06T23:40:22+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2013-02-05T16:01:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.multitech.net/cgit/openembedded-core.git/commit/?id=131643695d7ba9d0c32bf8e192e7e3942f50f318'/>
<id>131643695d7ba9d0c32bf8e192e7e3942f50f318</id>
<content type='text'>
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>terminal: Ensure existing environment exports are preserved in devshell</title>
<updated>2012-11-02T11:27:43+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2012-11-02T11:23:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.multitech.net/cgit/openembedded-core.git/commit/?id=f2dfc50bdf403719d40d04488245fd37655b5480'/>
<id>f2dfc50bdf403719d40d04488245fd37655b5480</id>
<content type='text'>
After recent changes to terminal.bbclass, variables like PATH were no longer
preserved within the devshell. This change ensures they are inherited into
the environment of devshell and PATH for example has the correct values.

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
After recent changes to terminal.bbclass, variables like PATH were no longer
preserved within the devshell. This change ensures they are inherited into
the environment of devshell and PATH for example has the correct values.

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>terminal.bbclass: Ensure parent environment is set</title>
<updated>2012-11-01T11:49:13+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2012-10-30T16:36:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.multitech.net/cgit/openembedded-core.git/commit/?id=424d2339b462081010af6e7525a71f64d97ff05e'/>
<id>424d2339b462081010af6e7525a71f64d97ff05e</id>
<content type='text'>
If this isn't done, various terminals fail to launch correctly
with "No such file or directory" errors. This adds back the environment
manipulation removed in the addition of "custom" terminal command
support but shouldn't regress that additional functionality

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If this isn't done, various terminals fail to launch correctly
with "No such file or directory" errors. This adds back the environment
manipulation removed in the addition of "custom" terminal command
support but shouldn't regress that additional functionality

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>terminal: Add support for running custom terminals.</title>
<updated>2012-10-24T11:47:28+00:00</updated>
<author>
<name>Morten Minde Neergaard</name>
<email>mneergaa@cisco.com</email>
</author>
<published>2012-10-19T10:37:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.multitech.net/cgit/openembedded-core.git/commit/?id=c76da87511d2668479745c2f18b8a9b8116c7489'/>
<id>c76da87511d2668479745c2f18b8a9b8116c7489</id>
<content type='text'>
Example config:
OE_TERMINAL = "custom"
OE_TERMINAL_CUSTOMCMD = "mysuperterm"

Signed-off-by: Morten Minde Neergaard &lt;mneergaa@cisco.com&gt;
Signed-off-by: Saul Wold &lt;sgw@linux.intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Example config:
OE_TERMINAL = "custom"
OE_TERMINAL_CUSTOMCMD = "mysuperterm"

Signed-off-by: Morten Minde Neergaard &lt;mneergaa@cisco.com&gt;
Signed-off-by: Saul Wold &lt;sgw@linux.intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>terminal: pass data store all the way through to terminal class</title>
<updated>2012-09-24T14:31:27+00:00</updated>
<author>
<name>Jason Wessel</name>
<email>jason.wessel@windriver.com</email>
</author>
<published>2012-09-17T22:43:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.multitech.net/cgit/openembedded-core.git/commit/?id=5ccff8d44626bfd3d1af2a7f81f0567997277809'/>
<id>5ccff8d44626bfd3d1af2a7f81f0567997277809</id>
<content type='text'>
Passing the data store will be needed for firing a custom event
for the screen class.

Signed-off-by: Jason Wessel &lt;jason.wessel@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Passing the data store will be needed for firing a custom event
for the screen class.

Signed-off-by: Jason Wessel &lt;jason.wessel@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>terminal.bbclass, oe-buildenv-internal: pass SCREENDIR environment variable</title>
<updated>2012-05-06T08:54:45+00:00</updated>
<author>
<name>Jason Wessel</name>
<email>jason.wessel@windriver.com</email>
</author>
<published>2012-05-03T11:27:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.multitech.net/cgit/openembedded-core.git/commit/?id=5568a8f5a1c65bae021b2e36d735d3153acc6d72'/>
<id>5568a8f5a1c65bae021b2e36d735d3153acc6d72</id>
<content type='text'>
Some versions of the screen utility provided from the host OS vendor
write the socket directory to $HOME/.screen.  When using a shared home
directory across many servers, one sets the SCREENDIR environment
variable to avoid collisions in the shared home directory.  This
results in problems launching a devshell where it is not entirely
obvious what happened because the SCREENDIR environment variable
got stripped from the environment prior to setting up the screen
in detached mode.

Example:
   % bitbake -c devshell busybox
   # ...Please connect in another terminal with "screen -r devshell"

   % screen -r devshell
   There is no screen to be resumed matching devshell.

The temporary work around was to do something like:
   sh -c "unset SCREENDIR; screen -r devshell"

This patch adds SCREENDIR to the white list to ensure screen
works properly on systems where a developer needs to use
the SCREENDIR with shared home directories.

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some versions of the screen utility provided from the host OS vendor
write the socket directory to $HOME/.screen.  When using a shared home
directory across many servers, one sets the SCREENDIR environment
variable to avoid collisions in the shared home directory.  This
results in problems launching a devshell where it is not entirely
obvious what happened because the SCREENDIR environment variable
got stripped from the environment prior to setting up the screen
in detached mode.

Example:
   % bitbake -c devshell busybox
   # ...Please connect in another terminal with "screen -r devshell"

   % screen -r devshell
   There is no screen to be resumed matching devshell.

The temporary work around was to do something like:
   sh -c "unset SCREENDIR; screen -r devshell"

This patch adds SCREENDIR to the white list to ensure screen
works properly on systems where a developer needs to use
the SCREENDIR with shared home directories.

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>terminal.bbclass: Improve environment handling</title>
<updated>2011-09-09T17:39:12+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2011-09-07T17:39:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.multitech.net/cgit/openembedded-core.git/commit/?id=6b680c8da02017bdb17a4826f1819fe0e5f68652'/>
<id>6b680c8da02017bdb17a4826f1819fe0e5f68652</id>
<content type='text'>
Currently the environment handling for terminals is inconsistent. There
are two fixes here:

a) Ensure the environment is setup before all oe.terminal call

b) Actually set the environment before the spawn calls since we need
variables like DISPLAY when the commands are being executed, not just
within the terminal environment. If this doesn't happen, DISPLAY can end
up not set with the errors that brings with it when trying to run X
commands.

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently the environment handling for terminals is inconsistent. There
are two fixes here:

a) Ensure the environment is setup before all oe.terminal call

b) Actually set the environment before the spawn calls since we need
variables like DISPLAY when the commands are being executed, not just
within the terminal environment. If this doesn't happen, DISPLAY can end
up not set with the errors that brings with it when trying to run X
commands.

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
