Overview

Request 582535 accepted

- Add ncurses patch 6.1-20180303
+ modify TurnOn/TurnOff macros in lib_vidattr.c and lib_vid_attr.c to
avoid expansion of "CUR" in trace.
+ improve a few lintian warnings in test-packages.
+ modify lib_setup to avoid calling pthread_self() without first
verifying that the address is valid, i.e., for weak symbols
(report/patch by Werner Fink).
+ modify generated terminfo.5 to not use "expand" and related width
on the last column of tables, making layout on wide terminals look
better (adapted from patch by Kir Kolyshkin).
+ add a category to report_offsets, e.g., "w" for wide-character, "t"
for threads to make the report more readable. Reorganized the
structures reported to make the categories more apparent.
+ simplify some ifdef's for extended-colors.
+ add NCURSES_GLOBALS and NCURSES_PRESCREEN to report_offsets, to show
how similar the different tinfo configurations are.
- Remove patch ncurses-6.1-weakpthreads.dif now upstream (bsc#1082772)
- Make expect build check less fragile on timing

- Switch back to shared libtinfo only but provide an auxiliary shared
library libtinfow to avoid a rebuild of third party programs (bsc#1082772)
+ Add sanity check if new 32bit API is included in libtinfo

- Add patch ncurses-6.1-weakpthreads.dif
+ Be aware that libtinfo/libtinfw is also used without libpthread
(boo#1058509)
- Use expect to run at least two test for normal and wide character
version of newdemo from test suite

- Add ncurses patch 6.1-20180224

Loading...

Dominique Leuenberger's avatar

This submission is a candidate to be responsible for the pidgin build failure:

https://build.opensuse.org/build/openSUSE:Factory:Staging:B:DVD/standard/x86_64/pidgin/_log

CCing pidgin maintainers: @EGDFree @XRevan86 @zhangxiaofei


Dominique Leuenberger's avatar

extract from the log:

[  299s] gntwm.c: In function 'work_around_for_ncurses_bug':
[  299s] gntwm.c:177:21: error: dereferencing pointer to incomplete type 'PANEL {aka struct panel}'
[  299s]    sx = getbegx(panel->win);
[  299s]                      ^

Dr. Werner Fink's avatar

Does this mean that I've to remove

    --enable-opaque-form    \
    --enable-opaque-menu    \
    --enable-opaque-panel   \

from configure command line which should protect ncurses internal to be abused by external programs/libraries?


Dominique Leuenberger's avatar

Or we get the abusive code fixed to no longer do it. So far, pidgin was the only one popping up with this kind of error (but the Staging is still building, so there can be more)

If pidgin is really the only, I'd rather see that one fixed than opening up ncurses to allow direct structur access


Dominique Leuenberger's avatar

And I thought we already had that issue once in the past - memory served me well:

https://developer.pidgin.im/ticket/16764

Ticket was filed 09/09/15, and closed 25/09/17 - so there should be an upstream commit lingering around we can backport into our package (or possibly an update... where are our maintainers? :P)



Dominique Leuenberger's avatar

Actually, that's the patch we already have even...

we moved from constructs like sx = panel->win->_begx; to the ones using the accessor sx = getbegx(panel->win);

Seems that was only half the truth back then


Dominique Leuenberger's avatar

sr#583470 en route to the devel project


Dr. Werner Fink's avatar

From panel/panel.h <ocde> typedef struct panel

if !NCURSES_OPAQUE_PANEL

{

WINDOW *win;

struct panel *below;

struct panel *above;

NCURSES_CONST void *user;

}

endif /* !NCURSES_OPAQUE_PANEL */

PANEL;

</code>


Dr. Werner Fink's avatar

if !NCURSES_OPAQUE_PANEL

{ WINDOW *win; struct panel *below; struct panel *above; NCURSES_CONST void *user; }

endif /* !NCURSES_OPAQUE_PANEL */

PANEL;


Dr. Werner Fink's avatar

Correct would be to use

panel_window(3curses)

with

WINDOW *panel_window(const PANEL *pan)


Dr. Werner Fink's avatar

Beside the pidgin not using panel_window() but ncurses internals , the bugs boo#1058509 and bsc#1082772 had be fixed, the last also for Leap 15 as well as for SLES-15

Request History
Dr. Werner Fink's avatar

WernerFink created request

- Add ncurses patch 6.1-20180303
+ modify TurnOn/TurnOff macros in lib_vidattr.c and lib_vid_attr.c to
avoid expansion of "CUR" in trace.
+ improve a few lintian warnings in test-packages.
+ modify lib_setup to avoid calling pthread_self() without first
verifying that the address is valid, i.e., for weak symbols
(report/patch by Werner Fink).
+ modify generated terminfo.5 to not use "expand" and related width
on the last column of tables, making layout on wide terminals look
better (adapted from patch by Kir Kolyshkin).
+ add a category to report_offsets, e.g., "w" for wide-character, "t"
for threads to make the report more readable. Reorganized the
structures reported to make the categories more apparent.
+ simplify some ifdef's for extended-colors.
+ add NCURSES_GLOBALS and NCURSES_PRESCREEN to report_offsets, to show
how similar the different tinfo configurations are.
- Remove patch ncurses-6.1-weakpthreads.dif now upstream (bsc#1082772)
- Make expect build check less fragile on timing

- Switch back to shared libtinfo only but provide an auxiliary shared
library libtinfow to avoid a rebuild of third party programs (bsc#1082772)
+ Add sanity check if new 32bit API is included in libtinfo

- Add patch ncurses-6.1-weakpthreads.dif
+ Be aware that libtinfo/libtinfw is also used without libpthread
(boo#1058509)
- Use expect to run at least two test for normal and wide character
version of newdemo from test suite

- Add ncurses patch 6.1-20180224


Factory Auto's avatar

factory-auto added opensuse-review-team as a reviewer

Please review sources


Factory Auto's avatar

factory-auto added repo-checker as a reviewer

Please review build success


Factory Auto's avatar

factory-auto accepted review

Check script succeeded

Output of check script (non-fatal):
Unknown license 'GPL-2.0-or-later'


Saul Goodman's avatar

licensedigger accepted review

ok


Dominique Leuenberger's avatar

dimstar_suse set openSUSE:Factory:Staging:B as a staging project

Being evaluated by staging project "openSUSE:Factory:Staging:B"


Dominique Leuenberger's avatar

dimstar_suse accepted review

Picked openSUSE:Factory:Staging:B


Repo Checker's avatar

repo-checker accepted review

cycle and install check passed


Dominique Leuenberger's avatar

dimstar accepted review


Dominique Leuenberger's avatar

dimstar_suse accepted review

ready to accept


Dominique Leuenberger's avatar

dimstar_suse approved review

ready to accept


Dominique Leuenberger's avatar

dimstar_suse accepted request

Accept to openSUSE:Factory

openSUSE Build Service is sponsored by