summaryrefslogtreecommitdiffstats
path: root/meta/lib/oe/terminal.py
Commit message (Collapse)AuthorAgeFilesLines
* terminal.py: do not stop searching for autoJoe Slater2020-05-271-1/+4
| | | | | | | | | | If a terminal fails to spawn() we should continue looking. gnome-terminal, in particular can be present but not start. (From OE-Core rev: 6e4babdeee38d32002a4c9129e77466ae4156dd7) Signed-off-by: Joe Slater <joe.slater@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/terminal.py: fix gnome-terminal start behaviorTrevor Gamblin2019-10-081-1/+1
| | | | | | | | | | | | | | | | | | | [Bugzilla Bug 13201] -- https://bugzilla.yoctoproject.org/show_bug.cgi?id=13201 Newer versions of gnome-terminal (3.32.0 and up) are not starting as expected for commands e.g. "bitbake -c devshell zlib". This manifests as the instance appearing as a new tab rather than a new window. Fix this (and maintain new window preferred behavior) by changing the "-x" option to "--" as per the warning message, avoiding deprecated options: # Option “--command” is deprecated and might be removed in a later version of gnome-terminal. # Use “-- ” to terminate the options and put the command line to execute after it. (From OE-Core rev: d5fd205239c8e3a1d68649562a7e91c8fbbc805e) Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta/lib+scripts: Convert to SPDX license headersRichard Purdie2019-05-091-0/+3
| | | | | | | | | | | | | | | | | | | | | | | This adds SPDX license headers in place of the wide assortment of things currently in our script headers. We default to GPL-2.0-only except for the oeqa code where it was clearly submitted and marked as MIT on the most part or some scripts which had the "or later" GPL versioning. The patch also drops other obsolete bits of file headers where they were encoountered such as editor modelines, obsolete maintainer information or the phrase "All rights reserved" which is now obsolete and not required in copyright headers (in this case its actually confusing for licensing as all rights were not reserved). More work is needed for OE-Core but this takes care of the bulk of the scripts and meta/lib directories. The top level LICENSE files are tweaked to match the new structure and the SPDX naming. (From OE-Core rev: f8c9c511b5f1b7dbd45b77f345cb6c048ae6763e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* terminal: Fix working directory in tmux terminalsJacob Kroon2019-02-051-5/+5
| | | | | | | | | | | | | Recent version of tmux seems to use PWD from the environment instead of the actual working directory. Help it use the correct path. Fixes setting the correct working directory when running devshell and menuconfig tasks. (From OE-Core rev: 938a089b52e7bf5f67406f55234ab2d22236e9b6) Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* terminal: Cope with unreleased versions of tmuxMike Crowe2018-11-231-0/+2
| | | | | | | | | | | | | | | | | | | | When tmux is built from a non-release Git version, its version number is "next-X" where X appears to be the expected version number for the next release. For example, when built from the current state of master, running "tmux -V" yields: tmux next-2.9 Currently check_tmux_pane_size only checks for the version being less than 1.9, so it seems unfair to fail with an obscure Python error in this case. Let's just use the version number after the "next-" prefix if it is present. (From OE-Core rev: 07b59afd52244410d8d833e6dfe262d952e5e344) Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* logging: use warning instead warnChen Qi2018-07-261-3/+3
| | | | | | | | | | | | | | | | The warn method is deprecated. We should use the documented warning instead. Quoting from the python's official doc: """ Note: There is an obsolete method warn which is functionally identical to warning. As warn is deprecated, please do not use it - use warning instead. """ (From OE-Core rev: f467fd277eb77336097cfc0f5f329bdc8d0f70cb) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/terminal.py: use an absolute path to execute oe-gnome-terminal-phonehomeMing Liu2017-11-081-1/+1
| | | | | | | | | | | | | | | | | | | | | A flaw was found on my Ubuntu 14.04.5 LTS, on which that gnome-terminal is the default terminal, when I run any of the tasks: bitbake busybox -c menuconfig/devshell/devpyshell bitbake virtual/kernel -c menuconfig/devshell/devpyshell I got a error as follows: "Failed to execute child process "oe-gnome-terminal-phonehome" (No such file or directory)" Seems the environment of the process calling Popen is not passed to the child process, this behaviour is a known issue in Python bug tracker: http://bugs.python.org/issue8557 It could be fixed by using an absolute path instead per test. (From OE-Core rev: 2117c148ef07d84bc605768e3b3671b0126b9337) Signed-off-by: Ming Liu <liu.ming50@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* terminal.py: add support for mate-terminal in check_terminal_version()Andre McCurdy2017-08-271-0/+2
| | | | | | | | | Not currently used, but include for completeness. (From OE-Core rev: dcceb90516efc77e4d0cddc3caf4e203ab9321d6) Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* terminal.py: fix devshell with mate-terminalAndre McCurdy2017-08-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Without the --disable-factory option, mate-terminal fails to start with the error: | There was an error creating the child process for this terminal | Failed to execute child process "oe-gnome-terminal-phonehome" (No such file or directory) The --disable-factory option was removed by: http://git.openembedded.org/openembedded-core/commit/?id=e8dca725ed8211a874472300a3ed50e494039ab9 apparently based on an assuption that mate-terminal continues to track gnome-terminal since forking from it. However, based on the mate-terminal man page in the upstream master branch, the option is still supported: https://github.com/mate-desktop/mate-terminal (From OE-Core rev: c7f769bd400756d180abf80dbfdf4ed2703fab60) Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* terminal.py: avoid 100% cpu while waiting for phonehome pid fileAndre McCurdy2017-08-271-1/+2
| | | | | | | | | | | Some of the less common terminal types haven't been tested with the recent phonehome pid file changes and there may be error cases where the pid file is never created. (From OE-Core rev: 6b0cf568e9fbe28fb6e7b17f4ad92348d33e2bf4) Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* terminal: wait for terminal task to finish before proceddingLeonardo Sandoval2017-08-091-28/+30
| | | | | | | | | | | | | | | | This commit generalizes the work done in [1] and [2], both fixing issues on several areas (the former with -c patch and gnome-terminal and the latter with -c menuconfig and several terminals, including gnome-terminal and tmux). The main idea is to get the PID from the new spawned terminal and loop there until finished. [1] 76e8ab47c9: terminal: Fix gnome-terminal to work with recent versions [2] 7d02ea283b: cml1.bbclass: wait until menuconfig terminal finishes (From OE-Core rev: 55707401d5bfb1f7686c273fc2d0db89df206395) Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: remove True option to getVar callsJoshua Lock2016-12-161-1/+1
| | | | | | | | | | | | | getVar() now defaults to expanding by default, thus remove the True option from getVar() calls with a regex search and replace. Search made with the following regex: getVar ?\(( ?[^,()]*), True\) (From OE-Core rev: 7c552996597faaee2fbee185b250c0ee30ea3b5f) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* terminal.py: Pass string instead of bytes to ExecutionError to avoid exceptionMartin Vuille2016-11-301-0/+2
| | | | | | | | | | | | | | Based on run() in bitbake/lib/bb/process.py, ExecutionError() expects strings not bytes. Passing bytes results in a "TypeError: Can't convert 'bytes' object to str implicitly" exception. Fixes Bug 10729 (From OE-Core rev: 063b63d4d324c23322ac1b6b7c7928e725d7b968) Signed-off-by: Martin Vuille <jpmv27@yahoo.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devshell: list commands when throwing NoSupportedTerminalsStephano Cetola2016-11-231-2/+11
| | | | | | | | | | | | | | | When attempting to run devshell, if no terminal is available, the error being thrown was not very specific. This adds a list of commands that failed, informing the user of what they can install to fix the error. [ YOCTO #10472] (From OE-Core rev: c077f4aab2fc956408d4ad45c4e2e2ea6e480624) Signed-off-by: Stephano Cetola <stephano.cetola@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* terminal.py: Add compatiblity for konsole 16.08.1Davis, Michael2016-10-281-1/+4
| | | | | | | | | | Konsole has dropped support for the nofork flag. It has been replaced with the seperate flag. (From OE-Core rev: f0b193b63d4c468c3aa58e15ef5a991e04b9b9a2) Signed-off-by: Michael Davis <michael.davis@essvote.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* terminal: Add sleep in pid-monitor loopJacob Kroon2016-08-101-0/+2
| | | | | | | | | | | | Monitoring the process started by gnome-terminal was spinning in a busy-loop. Insert some sleeping so that we don't eat all the cpu. (From OE-Core rev: 314937429d700204f296cfd1c0c5f215a2e5b939) Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* terminal: Drop gnome-terminal --disable-factory workaroundsRichard Purdie2016-07-081-8/+1
| | | | | | | | | | With the new pid monitoring code we have for recent versions of gnome-terminal we can just drop the --disable-factory code now since the other solution handles this case as well. (From OE-Core rev: ed4957c444a2982c19e2f1f96d9afb2a992c1daf) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* terminal: Fix gnome-terminal to work with recent versionsRichard Purdie2016-07-081-1/+22
| | | | | | | | | | | | | | | | | | Currently gnome-terminal just returns straight away, opening a terminal in a new separate process we have no insight into. For patch resolution, this leads to spawning many different terminal windows, for pydevshell, it just flashes a window up and then closes. We need to block until the command completes but gnome-terminal gives us no way to do this. We therefore write the pid to a file using a "phonehome" wrapper script, then monitor the pid until it exits. [YOCTO #7254] (also fixing do_devpyshell) (From OE-Core rev: 76e8ab47c936674b8bb9bf1c48de53b30f5bf74a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/terminal.py: decode bytes variable before rstrip/splitLeonardo Sandoval2016-06-121-1/+1
| | | | | | | | | | | | | On python 3, bytes variable types must be decoded if these are intended to be used as strings, otherwise we get the following error exception: TypeError: Type str doesn't support the buffer API (From OE-Core rev: b950539c911b7945d652b05616164828e711ac7f) Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/lib: Complete transition to python3Richard Purdie2016-06-021-4/+2
| | | | | | | | | This patch contains all the other misc pieces of the transition to python3 which didn't make sense to be broken into individual patches. (From OE-Core rev: fcd6b38bab8517d83e1ed48eef1bca9a9a190f57) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/terminal: set workdir for konsole terminalPascal Bach2016-02-141-1/+1
| | | | | | | | | | | | It seems that if the --workdir option is not set konsole does open in the users home directory. By setting --workdir . konsole opens in the recipes work directory. This is the same behavior as observed for other consoles. (Tested with Konsole 2.14.2 on Debian Jessie). (From OE-Core rev: bd06944249c3de3f629c013e14f446464441c4da) Signed-off-by: Pascal Bach <pascal.bach@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/terminal: use C locale when determining versionDariusz Pelowski2015-12-011-1/+3
| | | | | | | | (From OE-Core rev: 5e5bf4f7e242494ed9c2cbc13bec7f21494db17c) Signed-off-by: Dariusz Pelowski <dariusz.pelowski@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* terminal: Open a new window instead of split on older tmux versions (<1.9)Leonardo Sandoval2015-11-251-5/+15
| | | | | | | | | | | | If an old version is detected (<1.9), create a new window instead of split: the reason is that there is no easy way to get the active pane height if no nested formats are supported. (From OE-Core rev: 457bd6297ae99627c5f596c3c09086d787d5a5ab) Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* terminal.py: Allow devshell/menuconfig on recent gnome-terminalLeonardo Sandoval2015-06-271-0/+6
| | | | | | | | | | | | | | | | | | | | | | | Recent versions of gnome-terminal does not support non-UTF8 charset: https://bugzilla.gnome.org/show_bug.cgi?id=732127 as a result, devshell and menuconfig tasks silently hang (error found on trace log of 'strace -f -v -s 8192 -e write=2 bitbake -c devshell quilt-native': "Non UTF-8 locale (ANSI_X3.4-1968) is not supported!"). As a workaround, clearing the LC_ALL environment variable so it uses the locale. Once fixed on the gnome-terminal project, this should be removed. Tested on gnome-terminal versions: GNOME Terminal 3.4.1.1 GNOME Terminal 3.14.2 (Default on Ubuntu 15.04) [YOCTO #7791] (From OE-Core rev: ec79684a1eb594099d342a416ba3f5ad0b342a53) Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/terminal: fix konsole terminal support for KDE 4.xPaul Eggleton2015-02-261-4/+4
| | | | | | | | | | | | | It seems that the --nofork option genuinely stops konsole from going into the background now; I'm not sure when this changed but it does seem to be working so we can use it. (Tested with Konsole 2.10 and 2.14.2). Fixes [YOCTO #4934]. (From OE-Core rev: 49b21abf1020b2eefbbec98415c3d7de8827c993) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/terminal: fix regressionsPaul Eggleton2015-02-261-12/+8
| | | | | | | | | | | | | | | | | | | Fix up some issues introduced by OE-Core commit 818c94f5b9882c2028ef9f056714a0a3c9045551: * If we want to support versions with more than two parts, versions with only one part, or versions with non-integer parts, then we have to stay with strings. We can use distutils.version.LooseVersion() to help with comparisons. * We don't want a warning when launching gnome-terminal 3.10+ and logger.warn() doesn't take a first integer parameter anyway (logger.debug() does). * Also clean up tabs. (From OE-Core rev: 565d4a144ab3b8fe04950392497de1e0cf1152a5) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* terminal.py: No --disable-factory for gnome-terminal >= 3.10Sven Ebenfeld2015-02-241-8/+22
| | | | | | | | | | | | --disable-factory has been disabled in earlier versions of gnome-terminal but from version 3.10 it raises an error and quits. This makes devshell unusable with gnome-terminal >= 3.10. This patch checks for the version and removes --disable-factory if you have the terminal version 3.10 or higher. (From OE-Core rev: 818c94f5b9882c2028ef9f056714a0a3c9045551) Signed-off-by: Sven Ebenfeld <sven.ebenfeld@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* terminal.py: add tmux new window optionDan McGregor2015-02-081-0/+35
| | | | | | | | | | | | | | | | Add a new terminal type that makes a new window in the running tmux session instead of splitting the window. 80x25 is not enough to run menuconfig inside a split window, so add the option to create a new window instead. Use the new window option by default when the split window would be less than 19 lines high. (From OE-Core rev: d7ef9e49b1c687279f6eb2c7abc32ff915714177) Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/terminal: add support for Terminology terminal emulatorRodrigo Chiossi2015-02-031-0/+4
| | | | | | | | | | Terminology is the default Enlightenment terminal emulator (From OE-Core rev: f3da8570a977809fadb08315f384726b80f5ee01) Signed-off-by: Rodrigo Chiossi <rodrigo.chiossi@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* terminal.py: fixes launching multiple windows of gnome-terminalAlejandro Hernandez2015-02-031-1/+1
| | | | | | | | | | | | | | | When resolving a patch, a new process of gnome-terminal is created for every patch to be resolved, it "waits" for the previous one to end, instead of launching multiple windows at the same time. [YOCTO #7254] (From OE-Core rev: b457e0b028418260aee25858b8af8938dd038fac) Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* make menuconfig work for recent xfce environmentAndreas Müller2014-04-231-11/+1
| | | | | | | | | | | | xfce terminal was renamed 'Terminal' -> 'xfce4-teminal' mainline end of 2012, so the distros supporting 'Terminal' will dissapear. The distros not mentionied in __init__ do (e.g fedora 19 - tested) fail - or will fail sooner or later. (From OE-Core rev: d07f3812ec371da6f18fa1dd920cdde470bd89ad) Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta/lib/oe/terminal.py: Don't pass non-supported '--disable-factory' flag ↵Jacob Kroon2014-01-021-2/+2
| | | | | | | | | | | | | | | | | | to gnome-terminal By default, all GNOME terminals share a single process, reducing memory usage. This can be disabled by starting gnome-terminal with the --disable-factory option However, gnome-terminal in Fedora 20 does no longer support the '--disable-factory' flag, so remove it. As the support for 'mate' terminals was added as a copy of the gnome code in 8cc078a9c679845464c59028f584d7aba098cc1f, remove the flag here aswell. (From OE-Core rev: e8dca725ed8211a874472300a3ed50e494039ab9) Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/terminal.py: add support for MATE desktop terminalsAndre McCurdy2013-07-311-0/+4
| | | | | | | | | | | | A simple clone of the corresponding Gnome class. Without this, devshell fails completely on a default installation of MATE desktop Linux Mint 15. (From OE-Core rev: 8cc078a9c679845464c59028f584d7aba098cc1f) Signed-off-by: Andre McCurdy <andre.mccurdy@entropic.com> Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* TmuxRunning: handle multi-word commandsTyler Hall2013-07-021-1/+1
| | | | | | | | | | | | | | | | Just as in f8ed7446755eeb88191e16749350efa1e7e6197c, tmux wants a single argument for its command. This applies to the "split-window" command as well as "new." Note that this alone is not enough to fix the TmuxRunning devshell when using pseudo because tmux does not preserve the environment that pseudo requires. (From OE-Core rev: 36fb9799d6a449d86acca3be354af56ad87c3151) Signed-off-by: Tyler Hall <tylerwhall@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* handle two-word commands with tmuxPeter Seebach2013-06-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | Trying to make a devshell using tmux can fail because "tmux new" expects a single command, not a series of arguments. It does, however, split strings in a suitable way. So you can quote the command. The failure mode is particularly arcane, in that you end up with a message like: ERROR: Unable to spawn terminal auto: \ Execution of 'pseudo /bin/bash' failed with exit code 1: usage: new-session [-d] [-n window-name] [-s session-name] \ [-t target-session] [command] which is confusing because there's no "new-session" anywhere in sight (that's actually "tmux new"), and because what failed to execute wasn't either pseudo or bash. (From OE-Core rev: f8ed7446755eeb88191e16749350efa1e7e6197c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta/lib/oe: Replace StandardError with ExceptionRichard Purdie2013-05-091-2/+2
| | | | | | | | StandardError is removed in python3, replace with Exception class instead. (From OE-Core rev: a37ae30b9766df346ca57755530024a0b7d5f86b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe.terminal: add tmux classesChristopher Larson2013-04-151-1/+2
| | | | | | | | | | | | | | | This adds two new Terminal classes. It's separated into two, so that opening a split inside a tmux window is preferred to the other terminal types, but opening a tmux session is prioritized only slightly higher than screen. - tmuxrunning: Open a new pane in the current running tmux window. Requires that the TMUX variable be added to the env whitelist to use it. - tmux: Open a new tmux session (From OE-Core rev: 10f64d202ceb230c3c79e09dce182ffce94d1117) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe.terminal: add tmux classesChristopher Larson2013-04-041-0/+37
| | | | | | | | | | | | | | | This adds two new Terminal classes. It's separated into two, so that opening a split inside a tmux window is preferred to the other terminal types, but opening a tmux session is prioritized only slightly higher than screen. - tmuxrunning: Open a new pane in the current running tmux window. Requires that the TMUX variable be added to the env whitelist to use it. - tmux: Open a new tmux session (From OE-Core rev: 31c58d584f838738a6b6258b87b1c7e6ca173086) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* terminal: Add support for running custom terminals.Morten Minde Neergaard2012-10-241-1/+16
| | | | | | | | | | | | Example config: OE_TERMINAL = "custom" OE_TERMINAL_CUSTOMCMD = "mysuperterm" (From OE-Core rev: c76da87511d2668479745c2f18b8a9b8116c7489) Signed-off-by: Morten Minde Neergaard <mneergaa@cisco.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* terminal: Send LogExecTTY event to spawn screenJason Wessel2012-09-241-3/+8
| | | | | | | | | | | | | Bitbake has the ability to request to run a command and if it is not possible fall back to emitting a log message. This can be used to start a screen client automatically on the controling tty if the UI has an interactive tty. (From OE-Core rev: 39193bdce698b6339c3d7643eb3c1fcd2246fd56) Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* terminal: pass data store all the way through to terminal classJason Wessel2012-09-241-11/+11
| | | | | | | | | | Passing the data store will be needed for firing a custom event for the screen class. (From OE-Core rev: 5ccff8d44626bfd3d1af2a7f81f0567997277809) Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* terminal.py: use unique ids for screen sessionsJason Wessel2012-08-251-1/+3
| | | | | | | | | | | | | | | | | | When running multiple sets of builds on the same system, it is hard to distinguish which build belongs to which screen session and you can end up resuming the wrong session. The simple solution is to just append the process id to the screen session invocation to make each unique. (From OE-Core rev: 1677b736bca5dc46db522da1874459d2de77209d) Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Remove a number of unneeded import os/bb callsRichard Purdie2012-07-191-1/+0
| | | | | | | | | | The bb and os modules are always imported so having these extra import calls are a waste of space/execution time. They also set a bad example for people copy and pasting code so clean them up. (From OE-Core rev: 7d674820958be3a7051ea619effe1a6061d9cbe2) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* terminal.py: Fix Xfce on ubuntu/debian; some cleanupJeffrey C Honig2012-07-181-19/+18
| | | | | | | | | | | | | | * Xfce class was setting and passing wrong variable for ubuntu/debian. * Xfce class was using -e instead of -x for passing command. The former creates a shell escape nightmare * Clean up local and instance/class variables with same name but different usage. * Remove side-effect and directly return formatted command for clarity. (From OE-Core rev: b2ee5c5e34cdc3d65ca7b5da3486360a74d6c500) Signed-off-by: Jeffrey C Honig <jeffrey.honig@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/terminal: add support for XFCE's terminal emulatorJoshua Lock2011-11-011-0/+23
| | | | | | | | | | That's Terminal on Fedora and xfce4-terminal on Ubuntu/Debian... This could get interesting! (From OE-Core rev: 162b70a36388ac44fc1b39e172cd53579707bff3) Signed-off-by: Joshua Lock <josh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/terminal.py: declare konsole from KDE 4.x as unsupportedPaul Eggleton2011-09-191-0/+27
| | | | | | | | | | | | Konsole 2.x (from KDE 4.x) does not work as devshell - it does not pass the environment or current working directory through among other issues, so do a version check and disable it if it is found (skipping to the next available terminal application.) (From OE-Core rev: ee57cd7deb778dc72e58668d8c71cf840a3bc0d9) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe.terminal: improve how we spawn screenChris Larson2011-08-101-1/+6
| | | | | | | | | | | | - Name the screen session 'devshell', to avoid confusion if running bitbake itself under a screen session. - Display a warning message when spawning screen, so it's clear to the user that screen has been run (otherwise do_devshell just appears to hang). (From OE-Core rev: 13e01d29d14e7e7403d0c45c5699ea9160243868) Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Rework how the devshell functionsChris Larson2011-08-101-0/+101
In the new implementation, each known terminal is defined as a class in oe.terminal, as a subclass of bb.process.Popen. terminal.bbclass wraps this functionality, providing the metadata pieces. It obeys the OE_TERMINAL variable, which is a 'choice' typed variable. This variable may be 'auto', 'none', or any of the names of the defined terminals. When using 'auto', or requesting an unsupported terminal, we attempt to spawn them in priority order until we get one that's available on this system (and in the case of the X terminals, has DISPLAY defined). The 'none' value is used when we're doing things like automated builds, and want to ensure that no terminal is *ever* spawned, under any circumstances. Current available terminals: gnome konsole xterm rxvt screen (From OE-Core rev: 69f77f80965fa06a057837f8f49eda06855c4086) Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>