dialog wrongly requires double backslashes (\\n, \\Z) for control codes in option file

Bug #1549300 reported by bugproxy
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
dialog (Ubuntu)
Triaged
Medium
Unassigned

Bug Description

== Comment: #0 - Liang Chang Guo <email address hidden> - 2015-09-11 18:44:18 ==
From Ubuntu 15.10 daily builds, the window-like tool "dialog" in Linux now turns to look for double backslashes (like \\n, \\Z...) as control codes in command option file, which causes incorrect display in format for programs (like PMLinux) that get used to only feeding with single backslash (\n, \Z...). This bug affects menu, form, and form etc. dialog boxes.

There is no such problem for other disros, even ubuntu 15.05 ...

*** Info of ubuntu/dialog that fail, and command/file to reproduce ***
root@ubt1510F:~# uname -a
Linux ubt1510F 4.2.0-7-generic #7-Ubuntu SMP Tue Sep 1 16:42:17 UTC 2015 ppc64le ppc64le ppc64le GNU/Linux

root@ubt1510F:~# dialog --version
Version: 1.2-20150528

root@ubt1510F:~# dialog --file PMLinux.menus
(see display effect in attachment)

root@ubt1510F:~# cat PMLinux.menus
  --begin 2 2 --default-item "2) Disable" --ok-label " Select " --item-help
  --help-button --no-cancel --colors --timeout 585
  --title " Setup Performance Management " --backtitle "IBM PMLinux Main Menus"
  --menu " \Z4I\Znnternational \Z4B\Znusiness \Z4M\Znachines (\Zu\Z4IBM\Zn), Copyright 2012-2015 \Z1(C)\Zn\n\n \Z0Move by \Zb\Z4<Up/Down/Left/Right/Tab/[0-9]>\Zn or \Zb\Z4Mouse\Zn to desired function/button\n Presss \Z1<Enter>\Zn to select, or \Z1<Esc>\Zn to exit.\n\n \Zu\Z5ubt1510F\ZU\Zn STATUS: Collection \Z2ON\Zn, Transmission \Z2ON\Zn, CustomerInfo \Z1NO\Zn\n \Z4Linux OS Version\Z0: Ubuntu Wily Werewolf (development branch)" 25 81 11
  "1)*Enable" "\Z2Data Transmission" "To correct & reset parameters to enable PMLinux Data Collection & Transmission"
  "2) Disable" "Data Transmission" "To disable PMLinux Data Collection & Transmission. Proceed with Caution !!!"
  "3) Retransmit" "Recorded Data" "To package historical data files of one or all day(s) into PMstats.send for manual transmission"
  "4)*Change/Show" "\Z1Customer Information" "To fill out contact info, so that IBM PMLinux team can create a login user for your web reports"
  "5) Change/Show" "Data Retention Period" "To setup the period length (days) for PMLinux to keep the data files"
  "6) Change/Show" "Trending Days and Shift Times" "To setup your weekly working days & shift times for PMLinux reports"
  "7) Change/Show" "System Parameters (Advanced)" "To setup some system configurations"
  "8) Change/Show" "KVM Guest Collection Settings" "To setup KVM Guest info and querying utilization data intervals"
  "9) ReadMe" "Guide/References/License" "To browse PMLinux manual/license text documents"
  "0) Exit" "Quit" "To end this window-style PMLinux configuration tool"

*** Info of ubuntu/dialog that pass ***
[root@kvmhost ~]# uname -a
Linux kvmhost 3.18.17-349.el7_1.pkvm3_1_0.3103.1.daily.donotship.ppc64le #1 SMP Thu Sep 10 07:17:08 CDT 2015 ppc64le ppc64le ppc64le GNU/Linux

[root@kvmhost ~]# dialog --version
Version: 1.2-20130523

Revision history for this message
bugproxy (bugproxy) wrote : Example for dialog fails to see control codes for text display

Default Comment by Bridge

tags: added: architecture-ppc64le bugnameltc-130351 severity-high targetmilestone-inin---
Revision history for this message
bugproxy (bugproxy) wrote : Expected correct output in comparison of above for the same dialog option file

Default Comment by Bridge

Changed in ubuntu:
assignee: nobody → Taco Screen team (taco-screen-team)
Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. It seems that your bug report is not filed about a specific source package though, rather it is just filed against Ubuntu in general. It is important that bug reports be filed about source packages so that people interested in the package can find the bugs about it. You can find some hints about determining what package your bug might be about at https://wiki.ubuntu.com/Bugs/FindRightPackage. You might also ask for help in the #ubuntu-bugs irc channel on Freenode.

To change the source package that this bug is filed about visit https://bugs.launchpad.net/ubuntu/+bug/1549300/+editstatus and add the package name in the text box next to the word Package.

[This is an automated message. I apologize if it reached you inappropriately; please just reply to this message indicating so.]

tags: added: bot-comment
Guo, Liang Chang (lcguo)
affects: ubuntu → dialog (Ubuntu)
Revision history for this message
bugproxy (bugproxy) wrote : Comment bridged from LTC Bugzilla

------- Comment From <email address hidden> 2016-03-24 07:04 EDT-------
Hi Canonical,

Do you need any other information in order to debug/solve this bug?

Can you please assign this bug to an appropriate developer to fix it as soon as possible?

This has been hanging around a long time without an update.

Thanks for your support.!!

Revision history for this message
Michael Hohnbaum (hohnbaum) wrote :

dialog is a desktop package and not supported on ppc64el

Revision history for this message
bugproxy (bugproxy) wrote :

------- Comment From <email address hidden> 2016-03-24 14:04 EDT-------
> dialog is a desktop package and not supported on ppc64el

Ok. Rejecting it internally.

Revision history for this message
Guo, Liang Chang (lcguo) wrote :

What are you talking about? There is no point that dialog is not supported on Ubuntu ppc64el server!

In fact, dialog package is available by default in apt archive repository: http://us.ports.ubuntu.com/ubuntu-ports, in the same main URL as dash's:
http://us.ports.ubuntu.com/ubuntu-ports/pool/main/d/dialog/dialog_1.2-20150920-1ubuntu1_ppc64el.deb
http://us.ports.ubuntu.com/ubuntu-ports/pool/main/d/dash/dash_0.5.8-2.1ubuntu2_ppc64el.deb

for quick installation for all Ubuntu releases up to 16.04 (Xenial Xerus) so far, as demonstrated below:

root@ubt1604KD2:/# uname -a
Linux ubt1604KD2 4.4.0-15-generic #31-Ubuntu SMP Fri Mar 18 19:06:23 UTC 2016 ppc64le ppc64le ppc64le GNU/Linux

root@ubt1604KD2:~# apt install dialog
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  dialog
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 199 kB of archives.
After this operation, 1,311 kB of additional disk space will be used.
Get:1 http://us.ports.ubuntu.com/ubuntu-ports xenial/main ppc64el dialog ppc64el 1.2-20150920-1ubuntu1 [199 kB]
Fetched 199 kB in 0s (255 kB/s)

Revision history for this message
Steve Langasek (vorlon) wrote :

This package is in the Ubuntu archive, available for installation on Ubuntu server installs, etc. However, it is only in the Ubuntu main archive as a dependency of the desktop product; it is not a component that we support as part of the server product.

What you have described is certainly a real bug, bug it is a bug we would decline to commit resources to fix for 16.04.

A functionally similar supported component is the 'whiptail' package. It does not have identical commandline syntax to dialog, however, so you may not find it a suitable replacement.

Revision history for this message
Guo, Liang Chang (lcguo) wrote :

Whiptail is too simple. It even has no form input box, so there's no way for it to be an alternative for dialog that is popular with non-Ubuntu Linux systems. It's weird that the Ubuntu team pays more attention to whiptail than to dialog.

Steve Langasek (vorlon)
Changed in dialog (Ubuntu):
assignee: Taco Screen team (taco-screen-team) → nobody
status: New → Triaged
importance: Undecided → Medium
Revision history for this message
Guo, Liang Chang (lcguo) wrote :

Unfortunately, the same bug now occurs on Fedora 24, with:
dialog-1.3-3.20160209.fc24.ppc64le (Build Date : Fri 19 Feb 2016 11:26:24 PM CST), from the latest build:
http://mirrors.rit.edu/fedora/fedora-secondary/releases/test/24_Alpha/Server/ppc64le/iso/Fedora-Server-dvd-ppc64le-24_Alpha-1.3.iso 2016-Mar-29 22:14:02 1.8G

Revision history for this message
bugproxy (bugproxy) wrote :

------- Comment From <email address hidden> 2016-06-16 20:48 EDT-------
The bad package dialog-1.2-16.20150528.fc23.ppc64 had arrived in Fedora 23, and soon will go into Red Hat, CentOS ... everywhere. It is ruining the configuration UI of our PMLinux application, and must be fixed as soon as possible.

tags: added: architecture-ppc64
removed: architecture-ppc64le
Revision history for this message
bugproxy (bugproxy) wrote :

------- Comment From <email address hidden> 2016-06-17 12:59 EDT-------
A new defect was opened against dialog under the platform Fedora 23:
https://bugzilla.linux.ibm.com/show_bug.cgi?id=142786 - dialog wrongly requires double backslashes (\\n, \\Z) for control codes in option file

Now is the time to conclude this defect for Ubuntu.

Revision history for this message
Guo, Liang Chang (lcguo) wrote :

Checking the latest note in the changelog, this bug might have been fixed recently:
http://invisible-island.net/dialog/CHANGES.html#t20121230
2016/04/24
        + fix a special case in drawing shadow on a line-drawing cell where the
          alternate-character set flag was lost (report by Martin Kravec).
        + fix a regression from 2015/05/13 changes for escaping; it is
          necessary to retain backslashes within quotes to make "\Z" escapes
          work (report by Marcin Krol).

WAIT & SEE a future release of dialog (1.4 by guessing).

Revision history for this message
Guo, Liang Chang (lcguo) wrote :

As expected, dialog gets fully recovered in the recent Ubuntu 16.10 (Yakkety Yak) Daily Build
root@ubt1610:~# dpkg -l dialog
||/ Name Version Architecture Description
+++-============-================-================-======================================================
ii dialog 1.3-20160424-1 ppc64el Displays user-friendly dialog boxes from shell scripts

bugproxy (bugproxy)
tags: added: targetmilestone-inin1610
removed: targetmilestone-inin---
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.