[opensuse-factory] curses/ncurses crazyness
Hi: What do people think about providing just one ncurses/curses variant in 12.2 ? Currently there is ncurses5, ncurses6 each one having a "widechar" variant whose headers are provided by the same package at the same time... I have a few mutually-exclusive proposals to cleanup this: Proposal 1: - Provide only ncurses6 in widechar variant as libncurses.so, with headers in /usr/include/ncurses fix the fallout if any. This is my favorite option. Proposal 2: - Separate curses5, curses6 , their headers and its variants in separate packages, libncurses5-devel libncurses5w-devel libncurses6-devel libncurses6w-devel all providing an update-alternative script for ncurses-config and making the widely used ncurses-devel package name a provides of libncurses6w-devel any thoughts or suggestions appreciated. -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Le samedi 19 mai 2012, à 17:20 -0400, Cristian Rodríguez a écrit :
Proposal 2:
- Separate curses5, curses6 , their headers and its variants in separate packages,
libncurses5-devel libncurses5w-devel libncurses6-devel libncurses6w-devel
all providing an update-alternative script for ncurses-config and making the widely used ncurses-devel package name a provides of libncurses6w-devel
Assuming that that ncurses5 & ncurses6 are both used (and I think they are), this proposal makes sense to me. Vincent -- Les gens heureux ne sont pas pressés. -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Hello, On Mon, 21 May 2012, Vincent Untz wrote:
Le samedi 19 mai 2012, à 17:20 -0400, Cristian Rodríguez a écrit :
Proposal 2:
- Separate curses5, curses6 , their headers and its variants in separate packages,
libncurses5-devel libncurses5w-devel libncurses6-devel libncurses6w-devel
all providing an update-alternative script for ncurses-config and making the widely used ncurses-devel package name a provides of libncurses6w-devel
Assuming that that ncurses5 & ncurses6 are both used (and I think they are), this proposal makes sense to me.
They are. JFTR: on my largish 12.1/x86_64 install: $ rpm -q --provides libncurses6 | grep 'w\.so' | cut -d= -f1 | \ xargs rpm -q --whatrequires | grep -v 'no package' | wc -l 10 Among these are e.g. htop, lynx, yast2-ncurses, zsh, parted[1], dialog, w3m $ rpm -q --provides libncurses5 | grep 'w\.so' | cut -d= -f1 | \ xargs rpm -q --whatrequires | grep -v 'no package' | wc -l 28 e.g. less, mutt, nano, photorec, pinfo, powertop, stuff from util-linux, xawtv, pinentry $ rpm -q --provides libncurses6 | grep -v 'w\.so' | cut -d= -f1 | \ xargs rpm -q --whatrequires | grep -v 'no package' | wc -l 8 Those seem dummies (requires on 'ncurses'), the lib is ~310k, I'd say keep it anyway. $ rpm -q --provides libncurses5 | grep -v 'w\.so' | cut -d= -f1 | \ xargs rpm -q --whatrequires | grep -v 'no package' | wc -l 74 plenty ;) e.g. bash, emacs, vim, xemacs, screen, xterm, bsd-games ... (I verified most above mentioned using ldd) AFAIK some packages can alternatively use either curses5 or curses6 (or slang), but package maintainers would have to look into that. HTH, -dnh [1] weirdly enough, the version here requires both libncursesw.so.6 and libncurses.so.5, the latter probably via /lib64/libreadline.so.6 and not directly -- Yay! I have found the last bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bug bu%$@#$@#%$@# Error: Missing Carrier Signal -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Sat, May 19, 2012 at 05:20:00PM -0400, Cristian Rodríguez wrote:
Hi:
What do people think about providing just one ncurses/curses variant in 12.2 ?
Currently there is ncurses5, ncurses6 each one having a "widechar" variant whose headers are provided by the same package at the same time...
I have a few mutually-exclusive proposals to cleanup this:
Proposal 1:
- Provide only ncurses6 in widechar variant as libncurses.so, with headers in /usr/include/ncurses fix the fallout if any.
This is my favorite option.
Proposal 2:
- Separate curses5, curses6 , their headers and its variants in separate packages,
libncurses5-devel libncurses5w-devel libncurses6-devel libncurses6w-devel
all providing an update-alternative script for ncurses-config and making the widely used ncurses-devel package name a provides of libncurses6w-devel
Q: Is there soemting wrong with README.devel below /usr/share/doc/packages/ncurses/? AFAIK we have currently only the official API 5 whereas the API 6 is experimental and not final. And there are also third party software which do not use the widechar version of API 5 nor of API 6. As long as there is no final API 6 around we could make an libncurses5w the default by setting a link ncursesw5-config -> ncurses-config with the appropiate libraries and headers in the default linkage and include path. That means that libncurses.so becomes a linker script %{_libdir}/libncurses.so with e.g. INPUT(%{_libdir}/libncursesw5.so) for those which do not use the ncurses-config script. This because this is the official naming of the wide character version of ncurses. But, nevertheless, using implicit a widechar version may cause trouble for the using program as the API is different. And exactly this was the reason for me *not* to do this.
any thoughts or suggestions appreciated.
Be aware that the wide character version of ncurses is incompatible not only in binary form but also in the used API. In most case this may works as the single byte API is mostly compatible but it may also fail. Werner -- "Having a smoking section in a restaurant is like having a peeing section in a swimming pool." -- Edward Burr -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
participants (4)
-
Cristian Rodríguez
-
David Haller
-
Dr. Werner Fink
-
Vincent Untz