[OE-core] devshell problems after distro upgrade openSUSE Leap 42.3 -> 15.0 (tmux only)
Mike Crowe
mac at mcrowe.com
Tue Nov 6 19:06:45 UTC 2018
On Monday 16 July 2018 at 08:19:11 +0200, Steffen Sledz wrote:
> On 04.07.2018 13:37, Steffen Sledz wrote:
> > On 03.07.2018 08:04, Steffen Sledz wrote:
> >> On 02.07.2018 20:25, Khem Raj wrote:
> >>> On Sun, Jul 1, 2018 at 11:39 PM Steffen Sledz <sledz at dresearch-fe.de> wrote:
> >>>>
> >>>> After upgrading my build system from openSUSE Leap 42.3 to openSUSE Leap 15.0 a
> >>>>
> >>>> bitbake foo -c devshell
> >>>>
> >>>> no longer switches to the related work directory. The devshell is opened in the original directory without any error or warning instead.
> >>>>
> >>>> Any hints what's wrong here or how I can debug this behaviour?
> >>>>
> >>>
> >>> which terminal are you using, probably some default behavior changes there ?
> >>
> >> Main terminal is xterm. No special settings for the devshell terminal, so tmux is started like before.
> >
> >
> > After some more tests I can limit the problem to OE_TERMINAL="tmux". Other terminals like screen or xterm work well.
> > ...
>
>
> Ping!
The same problem happens with Debian Buster (currently "testing".) I was
unable to reproduce the problem when running
(cd subdirectory && tmux split-window)
from a shell prompt.
However, I managed to fix it with the following patch. I'm not sure whether
this means there's a bug in tmux though. Since I can't reproduce the
problem outside OE, it's rather difficult to report it.
Mike.
diff --git a/meta/lib/oe/terminal.py b/meta/lib/oe/terminal.py
index 94afe394ed..291238b6cb 100644
--- a/meta/lib/oe/terminal.py
+++ b/meta/lib/oe/terminal.py
@@ -117,10 +117,11 @@ class Screen(Terminal):
class TmuxRunning(Terminal):
"""Open a new pane in the current running tmux window"""
name = 'tmux-running'
- command = 'tmux split-window "{command}"'
+ command = 'not-ready-yet'
priority = 2.75
def __init__(self, sh_cmd, title=None, env=None, d=None):
+ self.command = 'tmux split-window -c "%s" "{command}"' % os.getcwd()
if not bb.utils.which(os.getenv('PATH'), 'tmux'):
raise UnsupportedTerminal('tmux is not installed')
More information about the Openembedded-core
mailing list