[MIR] tmux

Bug #887344 reported by Dustin Kirkland 
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
byobu (Ubuntu)
Fix Released
Wishlist
Unassigned
juju (Ubuntu)
Fix Released
Medium
Unassigned
tmux (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

This is a Main Inclusion Report for the tmux source and binary package, per:
 * https://wiki.ubuntu.com/UbuntuMainInclusionRequirements

1. Availability: tmux is already in Ubuntu universe, and builds on all architectures:
 * https://launchpad.net/ubuntu/+source/tmux

2. Rationale: tmux is a dependency ofJuju, and will very soon be a dependency of Byobu. tmux is a modern replacement for GNU Screen. GNU Screen is largely unmaintained upstream now, as it has not been released in over 5 years. Every Linux and UNIX distribution are carrying larger and larger patch sets (Ubuntu is carrying 48 patches, consisting of 716K of diff against GNU Screen). This is unmanageable as a downstream package maintainer of Screen. As a packager, I find the organization and coding standards of tmux to be quite elegant and clean. tmux's code base is modern, having been entirely developed since 2007. The upstream maintainer is very, very active, answering questions on the mailing list and in the bug tracker every day. tmux adds support for a number of features lagging or broken in GNU Screen (e.g. utf8 support in the status bar, 256 color support in the status bar, fully functional vertical and horizontal splits, etc.).

3. Security: Given that the tmux maintainer is active, supporting security issues in tmux should be far more reasonable than in screen. I see a single CVE issue against tmux, which appears to be fixed:
 * http://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=tmux

4. Quality Assurance: The package is functional upon installation. When coupled with Byobu, tmux can be very easy to use. It does not ask any debconf questions. It has relatively few bugs in Launchpad (2), especially when compared with the longstanding ones in Screen and Screen's upstream bug tracker.
 * https://bugs.launchpad.net/ubuntu/+source/tmux
 * http://bugs.debian.org/cgi-bin/pkgreport.cgi?package=tmux

5. UI Standards: Text based application. Very little in terms of interface to consider.

6. Dependencies: All dependencies are in Main already.

7. Maintenance: Packaging is clean and simple. Very simple installation layout, looks FHS-clean to me.

8. Background Information: None that applies here.

Tags: server-p-mir
Revision history for this message
Dustin Kirkland  (kirkland) wrote :

Marking juju and byobu as affected, as both of these do (or will) depend on tmux.

Changed in tmux (Ubuntu):
importance: Undecided → Medium
status: New → Confirmed
Changed in byobu (Ubuntu):
status: New → In Progress
importance: Undecided → Wishlist
status: In Progress → Fix Committed
Changed in juju (Ubuntu):
status: New → Confirmed
importance: Undecided → Medium
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package byobu - 4.46-0ubuntu1

---------------
byobu (4.46-0ubuntu1) precise; urgency=low

  * debian/control: LP: #887344
    - promote tmux to a 'recommends'; will 'depend' on it soon
  * === added directory etc/profile.d, etc/byobu/Makefile.am,
    etc/profile.d/Makefile.am, etc/profile.d/Z97-byobu.sh, Makefile.am:
    - LP: #586546
    - Enable any user to remotely opt into launching byobu by default,
      using an LC_BYOBU=1 environment variable, which is transmitted over
      SSH
  * configure.ac, debian/install, etc/byobu/Makefile.am,
    etc/profile.d/Makefile.am:
    - fix installations to /etc
  * usr/bin/byobu, usr/bin/byobu-reconnect-sockets,
    usr/share/byobu/profiles/tmux: LP: #883637
    - fix reconnection to SESSION_MANAGER and DBUS_SESSION_BUS_ADDRESS
    - add C-F5 key to tmux profile
  * usr/bin/byobu-ctrl-a, usr/share/byobu/profiles/tmux: LP: #887387
    - support F12 as escape key in tmux mode
    - reorder byobu-ctrl-a to offer screen first, then emacs mode
    - make byobu-ctrl-a slighty more compatible with tmux (not quite
      there yet...)
  * usr/bin/byobu: LP: #713879
    - add ulimit checks to byobu -v
  * usr/lib/byobu/.constants:
    - don't use UTF8 C an F for now
  * usr/lib/byobu/network: LP: #880410
    - localize some variables, fix variable colision with cpu_temp
  * debian/control:
    - bump standards version
  * debian/install, debian/rules, etc/byobu/Makefile.am,
    etc/profile.d/Makefile.am:
    - fighting with autoconf to get shtuff installing in /etc, argh
 -- Dustin Kirkland <email address hidden> Mon, 31 Oct 2011 09:46:46 -0400

Changed in byobu (Ubuntu):
status: Fix Committed → Fix Released
Dave Walker (davewalker)
tags: added: server-p-mir
Revision history for this message
Dustin Kirkland  (kirkland) wrote :

Bump?

Revision history for this message
Matthias Klose (doko) wrote :

I don't see that the patches in screen alone make it difficult to maintain the package. Does screen have more security issues than tmux?

while this is a server MIR, it should be accompanied by demotion of screen to universe, but it is currently still seeded on the desktop CD's. From a user point of view the change is not transparent as tmux does use other key bindings than screen.

we should not have two of these tools in main per our policies.

Changed in tmux (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
James Troup (elmo) wrote :

> I don't see that the patches in screen alone make it difficult to
> maintain the package.

That's a nice straw man, but I don't believe that's what anyone said.

It's not about "the patches [...] alone" but the fact that GNU screen is
essentially orphaned upstream really ought to count for something.

> Does screen have more security issues than tmux?

Yes. http://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=gnu+screen

> while this is a server MIR, it should be accompanied by demotion of
> screen to universe, but it is currently still seeded on the desktop
> CD's. From a user point of view the change is not transparent as tmux
> does use other key bindings than screen.
>
> we should not have two of these tools in main per our policies.

Err, why? We have emacs and vim. We have GNOME and KDE. We have
python, perl, and ruby. etc.

Revision history for this message
Dustin Kirkland  (kirkland) wrote :
Download full text (5.5 KiB)

Thanks for the review, Doko. A few comments...

 1) The tmux package does ship a set of keybindings that duplicate screen's, and makes it behave a bit more like screen. These are installed in /usr/share/doc/tmux/examples/screen-keys.conf. Note that Byobu necessarily sources those by default, when launching in tmux mode. We could, perhaps, create a tmux-screen-compat binary package, that gets installed under certain dependency/recommendation/conditions.

 2) As a packager/maintainer who has extensive experience with the screen package, I disagree with your first point. The stack of patches in screen does make it very difficult to maintain, as well as the fact that upstream screen hasn't released in 5+ years. Here's a current listing:

-rw-rw-r-- 1 kirkland kirkland 1.3K 2011-12-02 09:33 00list
-rw-rw-r-- 1 kirkland kirkland 746 2011-12-02 09:33 01configure_fix_alpha_vsprintf.dpatch
-rw-rw-r-- 1 kirkland kirkland 140K 2011-12-02 09:33 01CVS.dpatch
-rw-rw-r-- 1 kirkland kirkland 1.3K 2011-12-02 09:33 02configure_use_ncursesw.dpatch
-rw-rw-r-- 1 kirkland kirkland 796 2011-12-02 09:33 03fully_expand_screenencodings.dpatch
-rw-rw-r-- 1 kirkland kirkland 337K 2011-12-02 09:33 04AUTOCONF.dpatch
-rw-rw-r-- 1 kirkland kirkland 649 2011-12-02 09:33 05fix_osdef_include.dpatch
-rw-rw-r-- 1 kirkland kirkland 2.6K 2011-12-02 09:33 09CHERRY_45d0c395.dpatch
-rw-rw-r-- 1 kirkland kirkland 1.3K 2011-12-02 09:33 09CHERRY_7cb17d54.dpatch
-rw-rw-r-- 1 kirkland kirkland 3.3K 2011-12-02 09:33 09CHERRY_97708d58.dpatch
-rw-rw-r-- 1 kirkland kirkland 1.8K 2011-12-02 09:33 09CHERRY_bb04008e.dpatch
-rw-rw-r-- 1 kirkland kirkland 800 2011-12-02 09:33 09CHERRY_f6b50e17.dpatch
-rw-rw-r-- 1 kirkland kirkland 1.7K 2011-12-02 09:33 10norootpassword.dpatch
-rw-rw-r-- 1 kirkland kirkland 7.5K 2011-12-02 09:33 11replace_doc_paths.dpatch
-rw-rw-r-- 1 kirkland kirkland 868 2011-12-02 09:33 12kfreebsd_ctty.dpatch
-rw-rw-r-- 1 kirkland kirkland 722 2011-12-02 09:33 13split_info_files.dpatch
-rw-rw-r-- 1 kirkland kirkland 2.5K 2011-12-02 09:33 14size_matters.dpatch
-rw-rw-r-- 1 kirkland kirkland 906 2011-12-02 09:33 15manpage_typos.dpatch
-rw-rw-r-- 1 kirkland kirkland 1.8K 2011-12-02 09:33 16fix_gcc_warnings.dpatch
-rw-rw-r-- 1 kirkland kirkland 6.2K 2011-12-02 09:33 16fix_gcc_warnings_II.dpatch
-rw-rw-r-- 1 kirkland kirkland 2.0K 2011-12-02 09:33 17manpage_sessionname_warning.dpatch
-rw-rw-r-- 1 kirkland kirkland 3.0K 2011-12-02 09:33 18manpage_maxwin_limit.dpatch
-rw-rw-r-- 1 kirkland kirkland 2.2K 2011-12-02 09:33 19flowcontrol_lockup.dpatch
-rw-rw-r-- 1 kirkland kirkland 885 2011-12-02 09:33 20defmonitor.dpatch
-rw-rw-r-- 1 kirkland kirkland 1.4K 2011-12-02 09:33 21manpage_nethack_activation.dpatch
-rw-rw-r-- 1 kirkland kirkland 957 2011-12-02 09:33 22exchange_file_mode.dpatch
-rw-rw-r-- 1 kirkland kirkland 920 2011-12-02 09:33 23exitcode_q_ls.dpatch
-rw-rw-r-- 1 kirkland kirkland 631 2011-12-02 09:33 24option_parser.dpatch
-rw-rw-r-- 1 kirkland kirkland 792 2011-12-02 09:33 25allow_symlink_sockdir.dpatch
-rw-rw-r-- 1 kirkland kirkland 17K 2011-12-02 09:33 26source_encoding.dpatch
-rw-rw-r-- 1 kirkland kirkland 1.8K 2011-12-02 09:33 27doc_sty_noenvpassing.dpatc...

Read more...

Revision history for this message
Dave Walker (davewalker) wrote :

I'm inclined to agree, I really don't think we can drop screen from main for this release as it still has a massive userbase. However, those that have tried tmux tend to prefer it. It does seem that for this LTS, it seems reasonable to look at supporting both.

Changed in tmux (Ubuntu):
status: Incomplete → New
Revision history for this message
Matthias Klose (doko) wrote :

> > we should not have two of these tools in main per our policies.
>
> Err, why? We have emacs and vim. We have GNOME and KDE. We have
> python, perl, and ruby. etc.

yes, and we try not to add the third lisp implementation to main, and the fourth editor. I'm all for demoting ruby, unfortunately some sysadmin tool depends on it ;p

Revision history for this message
Matthias Klose (doko) wrote :

2011-12-04 22:10:06 INFO Override Component to: 'main'
2011-12-04 22:10:06 INFO 'tmux - 1.5-2/universe/admin' source overridden
2011-12-04 22:10:06 INFO 'tmux-1.5-2/universe/admin/OPTIONAL' binary overridden in precise/amd64
2011-12-04 22:10:06 INFO 'tmux-1.5-2/universe/admin/OPTIONAL' binary overridden in precise/armel
2011-12-04 22:10:06 INFO 'tmux-1.5-2/universe/admin/OPTIONAL' binary overridden in precise/armhf
2011-12-04 22:10:07 INFO 'tmux-1.5-2/universe/admin/OPTIONAL' binary overridden in precise/i386
2011-12-04 22:10:07 INFO 'tmux-1.5-2/universe/admin/OPTIONAL' binary overridden in precise/powerpc
2011-12-04 22:10:07 INFO Transaction committed.

Changed in tmux (Ubuntu):
status: New → Fix Released
Changed in juju (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.