gmacario / easy-build

Collection of Dockerfiles for building embedded software distributions
Mozilla Public License 2.0
154 stars 83 forks source link

build-yocto: Update to Ubuntu 16.04 #261

Closed zzeroo closed 6 years ago

zzeroo commented 7 years ago

That is just a suggestion.

I've no overview how this fits into all the other components of this project.

gunnarx commented 7 years ago

+1 I've been recommending easy-build as a guaranteed working configuration, but got stuck on the locale problem when building with recent yocto versions. And yes, iputils-ping is also a new requirement.

I guess tmux is for convenience and not required for the devshell? Or what's the difference between running tmux on your host and then attaching multiple terminals to the container (e.g. calling "docker exec -ti mycontainer bash" once in each window) instead of running tmux inside of the container? Same thing in practice?

zzeroo commented 7 years ago

@gunnarx Your right, the second commit was more or less a mistake by me. I've revert that.

If you have tmux (or another multiplexer like the old screen) installed then you can call commands like these bitbake -c menuconfig virtual/kernel bitbake opens then a new terminal session and presents you the standard menuconfig. Same with bitbake -c devshell virtual/kernel here opens bitbake a new shell with a correct environment ready to do thinks like make. Without docker it starts simply a new shell but in docker this needs a terminal multiplexer.

The error that is shown without tmux installed is very informative, try it yourself:

$ bitbake -c menuconfig virtual/kernel
... do_menuconfig: No valid terminal found, unable to open devshell.                                                        
Tried the following commands:              
        tmux split-window "do_terminal"    
        tmux new-window -n "linux-bananapro Configuration" "do_terminal"               
        xfce4-terminal -T "linux-bananapro Configuration" -e "do_terminal"             
        terminology -T="linux-bananapro Configuration" -e do_terminal                  
        mate-terminal --disable-factory -t "linux-bananapro Configuration" -x do_terminal                                                                                     
        konsole --separate --workdir . -p tabtitle="linux-bananapro Configuration" -e do_terminal                                                                             
        gnome-terminal -t "linux-bananapro Configuration" -x do_terminal               
        xterm -T "linux-bananapro Configuration" -e do_terminal                        
        rxvt -T "linux-bananapro Configuration" -e do_terminal                         
        tmux new -d -s devshell -n devshell "do_terminal"                              
        screen -D -m -t "linux-bananapro Configuration" -S devshell do_terminal        
gmacario commented 6 years ago

Thanks @zzeroo for your contribution. I cherry-picked your first commit and created a new PR https://github.com/gmacario/easy-build/pull/263 - currently running tests locally before merging to master.

Thanks also @gunnarx for his feedbacks on the PR

gmacario commented 6 years ago

Superseded by PR #263