Skip to contentSkip to conversation

ncurses: disable terminfo database install for host-ncurses

PATCH New Peter Korsgaard 4 participants 6 messages Aug 9, 2018 – Aug 24, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ncurses: disable terminfo database install for host-ncurses

Since commit b35ad5d0b45e (ncurses: make host-ncurses use host terminfo), we are now pointing host-ncurses to the host terminfo (typically) located in /usr/share/terminfo.

With this change we are reusing the existing host terminfo database, so there is no point in trying to install our own on top. The user running buildroot typically will have no write access to /usr/share/terminfo, but tic in that case falls back to writing the database to $HOME/.terminfo. Neither of which are desirable.

In case $HOME/.terminfo also isn't writable, tic fails, breaking the install step for host-ncurses:

** Building terminfo database, please wait... Running sh ./shlib tic to install /usr/share/terminfo ...

You may see messages regarding extended capabilities, e.g., AX. These are extended terminal capabilities which are compiled using
tic -x
If you have ncurses 4.2 applications, you should read the INSTALL document, and install the terminfo without the -x option.

"terminfo.tmp", line 21272, terminal 'v3220': /home/peko/.terminfo: permission denied (errno 30)

To fix all of this, simply disable the terminfo database install.

---
 package/ncurses/ncurses.mk | 1 +
 1 file changed, 1 insertion(+)
package/ncurses/ncurses.mk +1 -0
index 5b36df564c..e27598bd42 100644
@@ -154,6 +154,7 @@ HOST_NCURSES_CONF_OPTS = \
 	--without-cxx-binding \
 	--without-ada \
 	--with-default-terminfo-dir=/usr/share/terminfo \
+	--disable-db-install \
 	--without-normal
 
 $(eval $(autotools-package))
Signature · 1 line
2.11.0
#1 lore raw

PATCH 1/1 ncurses: disable terminfo database install for host-ncurses

package/ncurses/ncurses.mk HOST_NCURSES_CONF_OPTS = \ · line 160

Quoted 12 lines · Peter Korsgaard
package/ncurses/ncurses.mk +1 -0
index 5b36df564c..e27598bd42 100644
@@ -154,6 +154,7 @@ HOST_NCURSES_CONF_OPTS = \
  	--without-cxx-binding \
  	--without-ada \
  	--with-default-terminfo-dir=/usr/share/terminfo \
+	--disable-db-install \
  	--without-normal
 
  $(eval $(autotools-package))
Signature · 2 lines
Hollis Blanchard
Mentor Graphics Emulation Division
#2 lore raw

PATCH 1/1 ncurses: disable terminfo database install for host-ncurses

In reply to Peter Korsgaard

Hello,

Quoted 25 lines · Peter Korsgaard

Since commit b35ad5d0b45e (ncurses: make host-ncurses use host terminfo), we are now pointing host-ncurses to the host terminfo (typically) located in /usr/share/terminfo.

With this change we are reusing the existing host terminfo database, so there is no point in trying to install our own on top. The user running buildroot typically will have no write access to /usr/share/terminfo, but tic in that case falls back to writing the database to $HOME/.terminfo. Neither of which are desirable.

In case $HOME/.terminfo also isn't writable, tic fails, breaking the install step for host-ncurses:

** Building terminfo database, please wait... Running sh ./shlib tic to install /usr/share/terminfo ...

You may see messages regarding extended capabilities, e.g., AX. These are extended terminal capabilities which are compiled using
tic -x
If you have ncurses 4.2 applications, you should read the INSTALL document, and install the terminfo without the -x option.

"terminfo.tmp", line 21272, terminal 'v3220': /home/peko/.terminfo: permission denied (errno 30)

Quoted 7 lines

To fix all of this, simply disable the terminfo database install.

---
 package/ncurses/ncurses.mk | 1 +
 1 file changed, 1 insertion(+)

Applied to master, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
#3 lore raw

PATCH 1/1 ncurses: disable terminfo database install for host-ncurses

Hi,

Quoted 30 lines · Thomas Petazzoni

Hello,

Quoted 27 lines · Peter Korsgaard

Since commit b35ad5d0b45e (ncurses: make host-ncurses use host terminfo), we are now pointing host-ncurses to the host terminfo (typically) located in /usr/share/terminfo.

With this change we are reusing the existing host terminfo database, so there is no point in trying to install our own on top. The user running buildroot typically will have no write access to /usr/share/terminfo, but tic in that case falls back to writing the database to $HOME/.terminfo. Neither of which are desirable.

In case $HOME/.terminfo also isn't writable, tic fails, breaking the install step for host-ncurses:

** Building terminfo database, please wait... Running sh ./shlib tic to install /usr/share/terminfo ...

You may see messages regarding extended capabilities, e.g., AX. These are extended terminal capabilities which are compiled using
tic -x
If you have ncurses 4.2 applications, you should read the INSTALL document, and install the terminfo without the -x option.

"terminfo.tmp", line 21272, terminal 'v3220': /home/peko/.terminfo: permission denied (errno 30)

To fix all of this, simply disable the terminfo database install.

Quoted 7 lines
Quoted 5 lines
---
 package/ncurses/ncurses.mk | 1 +
 1 file changed, 1 insertion(+)

Applied to master, thanks.

As the breaking commit b35ad5d0b45e went onto the 2018.02.x branch (as 00e775b76cfb), I think the fix should be applied there as well.

Similarly for 2018.05.x if any more releases are planned from that branch.

Thanks,
Thomas

#4 lore raw

PATCH 1/1 ncurses: disable terminfo database install for host-ncurses

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Thomas" == Thomas De Schampheleire <[email protected]> writes:

Hi,

Quoted 20 lines
Quoted 20 lines
Quoted 19 lines

** Building terminfo database, please wait... Running sh ./shlib tic to install /usr/share/terminfo ...

You may see messages regarding extended capabilities, e.g., AX. These are extended terminal capabilities which are compiled using
tic -x
If you have ncurses 4.2 applications, you should read the INSTALL document, and install the terminfo without the -x option.

"terminfo.tmp", line 21272, terminal 'v3220': /home/peko/.terminfo: permission denied (errno 30)

To fix all of this, simply disable the terminfo database install.

---
 package/ncurses/ncurses.mk | 1 +
 1 file changed, 1 insertion(+)
Quoted 6 lines
Quoted 1 line

Applied to master, thanks.

As the breaking commit b35ad5d0b45e went onto the 2018.02.x branch (as 00e775b76cfb), I think the fix should be applied there as well.

Similarly for 2018.05.x if any more releases are planned from that branch.

Yes, I'll take care or that.

Signature · 1 line
Bye, Peter Korsgaard
#5 lore raw

PATCH 1/1 ncurses: disable terminfo database install for host-ncurses

In reply to Peter Korsgaard
Quoted 25 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Peter" == Peter Korsgaard <[email protected]> writes:

Since commit b35ad5d0b45e (ncurses: make host-ncurses use host terminfo), we are now pointing host-ncurses to the host terminfo (typically) located in /usr/share/terminfo.

With this change we are reusing the existing host terminfo database, so there is no point in trying to install our own on top. The user running buildroot typically will have no write access to /usr/share/terminfo, but tic in that case falls back to writing the database to $HOME/.terminfo. Neither of which are desirable.

In case $HOME/.terminfo also isn't writable, tic fails, breaking the install step for host-ncurses:

** Building terminfo database, please wait... Running sh ./shlib tic to install /usr/share/terminfo ...

You may see messages regarding extended capabilities, e.g., AX. These are extended terminal capabilities which are compiled using
tic -x
If you have ncurses 4.2 applications, you should read the INSTALL document, and install the terminfo without the -x option.

Quoted 6 lines

"terminfo.tmp", line 21272, terminal 'v3220': /home/peko/.terminfo: permission denied (errno 30)

To fix all of this, simply disable the terminfo database install.

Committed to 2018.02.x and 2018.05.x, thanks.

Signature · 1 line
Bye, Peter Korsgaard