Re: r358062(ncurses) breaks installed ports, howto check?

From: Mark Millard <marklmi_at_yahoo.com>
Date: Mon, 24 Feb 2020 19:10:21 -0800
On 2020-Feb-24, at 11:43, Mark Millard <marklmi_at_yahoo.com> wrote:

> O. Hartmann ohartmann at walstatt.org wrote on
> Mon Feb 24 19:20:32 UTC 2020 :
> 
>> After r358062, many installed ports do not work anymore on several running systems (CURRENT).
>> /usr/src/UPDATING states one should reinstall all ncurses depending ports, but no hint is
>> given! Can someone mitigate this lack of information? Is there a simple way to check what
>> ports installed on a system rely on ncurses provided by the system?
> 
> Turns out there was an exchange on the ports list, with
> various folks giving improvements on an initial example.
> My last contribution for a /bin/sh context was (showing
> an example use):
> 
> # find /usr/local/*bin* /usr/local/lib* -type f \
> | xargs ldd -f '%p %A\n' 2>&1 | grep "^/lib/libncurses[^ ]*\.so\.8" | cut -w -f2 \
> | xargs pkg which -q | sort -u | more
> bison-3.5.2,1
> dialog4ports-0.1.6
> gdb-8.3.1
> gdbm-1.18.1_1
> gettext-tools-0.20.1_1
> gnuplot-5.2.8
> libedit-3.1.20191211,1
> libtextstyle-0.20.1
> llvm10-10.0.0.r2
> llvm80-8.0.1_3
> lua52-5.2.4
> mesa-dri-18.3.2_9
> python37-3.7.6
> readline-8.0.1
> ruby-2.6.5,1
> spidermonkey60-60.9.0_1
> sqlite3-3.30.1,1
> texinfo-6.7_1,1
> xterm-353_1
> 
> I'll note that the "2>&1" could be "2>/dev/null" for contexts
> that have /dev/null. (I used the above in a chroot that does
> not have /dev/null by default.)

Thomas Dickey wrote about tracking upper vs. lower interface
distinctions to cut down on what needs to be built.

The below does not go that direction but does cut down the list
to ports directly involving /lib/libncurses[^ ]*\.so\.8 :

# find /usr/local/*bin* /usr/local/lib* -type f \
| xargs ldd -f '%p %A\n' 2>&1 | grep "^/lib/libncurses[^ ]*\.so\.8" | cut -w -f2 \
| xargs ldd -a | egrep '(^/.*:$| /lib/libncurses[^ ]*\.so\.8 )' \
| grep -B1 " /lib/libncurses" | grep "^/.*:$" | sed -e's;:$;;' \
| xargs pkg which -q | sort -u | more
dialog4ports-0.1.6
gdb-8.3.1
gdbm-1.18.1_1
gnuplot-5.2.8
libedit-3.1.20191211,1
libtextstyle-0.20.1
llvm10-10.0.0.r2
llvm80-8.0.1_3
python37-3.7.6
readline-8.0.1
ruby-2.6.5,1
sqlite3-3.30.1,1
texinfo-6.7_1,1
xterm-353_1

So, for example, "bison-3.5.2,1" is not listed because only its use
of "libtextstyle-0.20.1" brought in a ncurses library use overall.
The "libtextstyle-0.20.1" is listed.

===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)
Received on Tue Feb 25 2020 - 02:10:32 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:23 UTC