Bug 7944 - (int153686/int-206478) utilities infocmp, tic, tput etc not installed though busybox provides ncurses-bin
(int153686/int-206478)
: utilities infocmp, tic, tput etc not installed though busybox provides ncurse...
Status: RESOLVED FIXED
Product: Core
Busybox
: 5.0/(2.2009.51-1)
: N900 Maemo
: Low normal with 2 votes (vote)
: Harmattan
Assigned To: Turo Janka
: busybox-bugs
:
:
:
:
  Show dependency tree
 
Reported: 2010-01-14 02:44 UTC by Vincent Lefevre
Modified: 2011-11-18 20:44 UTC (History)
4 users (show)

See Also:


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description Vincent Lefevre (reporter) 2010-01-14 02:44:06 UTC
SOFTWARE VERSION:
1.2009.44-1.002

EXACT STEPS LEADING TO PROBLEM: 
1. Type in a terminal: infocmp

EXPECTED OUTCOME:
The infocmp command should be run.

ACTUAL OUTCOME:
-sh: infocmp: not found
Apparently infocmp is not installed.

REPRODUCIBILITY:
always

OTHER COMMENTS:
The infocmp command is in the ncurses-bin package. On the N900, this package is
not installed, but the busybox package declares that it provides ncurses-bin,
so that one should have infocmp available.
Comment 1 Vincent Lefevre (reporter) 2010-01-14 03:02:50 UTC
Ditto for tic and tput.

This is a regression: there is no such problem with Maemo 4.
Comment 2 Lucas Maneos 2010-01-15 03:13:30 UTC
Thanks for the report, confirming.  The busybox package lists ncurses-bin in
its Conflicts/Provides/Replaces but it doesn't actually ship (most of) the
equivalent functionality.  The catch is that it does contain clear and reset...

(In reply to comment #1)
> Ditto for tic and tput.

And toe, tabs, tset, infotocap & captoinfo.

The real bug IMO is not that these are not installed, but that they are not
installable due to the conflict.
Comment 3 Lucas Maneos 2010-01-15 04:12:25 UTC
Relevant changelog entry:

> busybox (3:1.10.2.legal-1osso16) unstable; urgency=low
> 
>   * Added CONFIG_CLEAR and CONFIG_RESET to config.maemo
>   * Added ncurses-bin to Provides/Replaces/Conflicts. Fixes: NB#92440

The "real" versions of clear and reset (tset really) are relatively small (20K
total), perhaps they could be packaged out of the ncurses package instead,
along with a more complete ncurses-bin for those who need it?
Comment 4 Eero Tamminen nokia 2010-05-04 17:18:00 UTC
(In reply to comment #0)
> ACTUAL OUTCOME:
> -sh: infocmp: not found

Why anybody would nowadays want to:
1) manipulate terminfo database descriptions
2) do that in the device itself
???


(In reply to comment #2)
> The real bug IMO is not that these are not installed, but that they are not
> installable due to the conflict.

Hm. ncurses-bin is essential in Debian, but in this case I guess it could be
reasonable to make a difference and install separate/removable non-essential
busybox-symlinks-nucurses-bin package.

Are there any other things included into main "busybox" package where *all* of
these are true:
- it might be reasonable to expect people to want to install the real
  package instead _because_ busybox one is lacking so many utilities from
  the real package:
  - if the issue is bugs with utilities, the utilities should be fixed
- utilities in that package are such that they actually aren't essential
  in Maemo (aren't e.g. used at bootup etc) although they are in Debian
- They aren't replaceable by standard Debian facilities (alternatives etc)
?
Comment 5 Vincent Lefevre (reporter) 2010-05-05 02:57:18 UTC
(In reply to comment #4)
> (In reply to comment #0)
> > ACTUAL OUTCOME:
> > -sh: infocmp: not found
> 
> Why anybody would nowadays want to:
> 1) manipulate terminfo database descriptions
> 2) do that in the device itself
> ???

infocmp is necessary to get information about the database on the device
itself. This can be useful to solve compatibility problems. Indeed the
databases are not identical on various machines (in particular for xterm, used
by X Terminal, since this is a generic terminal name), and one may need to
adapt databases on remote machines, so that applications run under ssh can work
as expected.

tic may be important, still because of  ssh, but for the other direction (I may
want to use some particular terminal not supported by the N900 and ssh from it
to the N900).

infocmp and tic may be useful to work around some bugs, such as bug 6009, or to
find whether some problem comes from the user or the system.

tput is useful in shell scripts to be able to change the color, and so on.
Comment 6 Eero Tamminen nokia 2010-05-06 19:45:32 UTC
(In reply to comment #5)
> > Why anybody would nowadays want to:
> > 1) manipulate terminfo database descriptions
> > 2) do that in the device itself
> > ???
> 
> infocmp is necessary to get information about the database on the device
> itself. This can be useful to solve compatibility problems. Indeed the
> databases are not identical on various machines (in particular for xterm,
> used by X Terminal, since this is a generic terminal name), and one may need
> to adapt databases on remote machines, so that applications run under ssh
> can work as expected.
> 
> tic may be important, still because of  ssh, but for the other direction
> (I may want to use some particular terminal not supported by the N900 and
> ssh from it to the N900).
>
> infocmp and tic may be useful to work around some bugs, such as bug 6009,
> or to find whether some problem comes from the user or the system.

Ok, that explains 1).  Then 2), why you couldn't do that as well on that other
machine which has these tools?

Just scp /etc/terminfo/ directory out of the device and scp tic'ed terminal
descriptions under your ~/.terminfo/ directory (if you don't want to install
them as root).


> tput is useful in shell scripts to be able to change the color, and so on.

Is that supported by newer Busybox versions?
Comment 7 Vincent Lefevre (reporter) 2010-05-07 03:30:24 UTC
(In reply to comment #6)
> Ok, that explains 1).  Then 2), why you couldn't do that as well on that other
> machine which has these tools?

Because concerning infocmp, the database can be different (and often is in
practice). Concerning tic (and the ncurses library for the database access),
different versions are incompatible (at least there is a known incompatibility
between BSD / Mac OS X and Linux, and I don't know if all Linux versions are
compatible).

> Just scp /etc/terminfo/ directory out of the device and scp tic'ed terminal
> descriptions under your ~/.terminfo/ directory (if you don't want to install
> them as root).

I know that this doesn't work from Mac OS X. But is compatibility guaranteed
across Linux versions (with possibly different ncurses versions)?

> > tput is useful in shell scripts to be able to change the color, and so on.
> 
> Is that supported by newer Busybox versions?

BusyBox v1.15.3 under Debian doesn't have tput, and tput isn't listed on
upstream's web site. So, I would say no.
Comment 8 Eero Tamminen nokia 2010-05-07 11:44:26 UTC
(In reply to comment #7)
>> Just scp /etc/terminfo/ directory out of the device and scp tic'ed terminal
>> descriptions under your ~/.terminfo/ directory (if you don't want to install
>> them as root).
> 
> I know that this doesn't work from Mac OS X. But is compatibility guaranteed
> across Linux versions (with possibly different ncurses versions)?

I would expect it to work between Linux versions. Even if they have different
ncurses versions, the database format shouldn't change that often. One gotcha
could be between 32 & 64-bit distros.

Could anybody running 64-bit Linux distro test that and maybe add note about
how to do it to some Maemo wiki page?


> BusyBox v1.15.3 under Debian doesn't have tput, and tput isn't listed on
> upstream's web site. So, I would say no.

Ok, in that case I would say this is WONTFIX for having this kind of stuff on
the device pre-installed.  But let's see about making it replaceable in
Harmattan.
Comment 9 Vincent Lefevre (reporter) 2010-05-07 12:20:40 UTC
(In reply to comment #8)
> Could anybody running 64-bit Linux distro test that and maybe add note about
> how to do it to some Maemo wiki page?

I've checked between Linux/x86_64, Linux/ppc (32 bits) and Mac OS X 32-bit
PowerPC, and the files are the same. Between Linux and Mac OS X, the only
difference seems to be the intermediate directory (e.g. 'x' under Linux and
'78' under Mac OS X, i.e. the ASCII code of 'x' in hexadecimal). I'd say that
this difference is manageable with a simple script.

> > BusyBox v1.15.3 under Debian doesn't have tput, and tput isn't listed on
> > upstream's web site. So, I would say no.
> 
> Ok, in that case I would say this is WONTFIX for having this kind of stuff on
> the device pre-installed.  But let's see about making it replaceable in
> Harmattan.

OK, perhaps it doesn't need to be pre-installed (even though "tput" is in the
POSIX utilities). But there should exist a package that provides it.

Actually, the real solution would be to provide a (possibly optional)
ncurses-bin package with some method to resolve conflicts with busybox (either
diversion or by removing the duplicates from ncurses-bin).
Comment 10 Andre Klapper maemo.org 2011-10-07 13:28:46 UTC
This issue has been FIXED for Harmattan (the software version after Maemo5) in
a release with the version number *.2011.40-4 or higher.

According to Nokia this is a WONTFIX for official Maemo5.

Maybe this could get backported though via the Community Updates project - feel
free to file a bug report about that against the "Maemo 5 Community SSU"
product here.
Comment 11 Andre Klapper maemo.org 2011-11-18 20:44:13 UTC
Fixed in busybox 3:1.20-0.1+0m7, but I cannot provide any diff. :-(