in reply to Re^6: Capture::Tiny getting stuck on ldd /proc/self/fd/1
in thread Capture::Tiny getting stuck on ldd /proc/self/fd/1

After that, you suggested to run:
rpm -q --requires grep info /bin/sh /bin/sh rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1 libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) rpmlib(PayloadIsLzma) <= 4.4.6-1

You can skip info, since this is a program to display manual pages. It provides no libraries. You can skip those rpmlib lines, too. The libc.so.6 package contains the standard C library, which is needed by all programs written in C. Include that. If in doubt, run rpm -ql $pkg | grep '\.so' to check whether a package provides shared libraries. If so, add that package. If not, you can skip it.

perl -le'print map{pack c,($-++?1:13)+ord}split//,ESEL'

Replies are listed 'Best First'.
Re^8: Capture::Tiny getting stuck on ldd /proc/self/fd/1
by ovedpo15 (Pilgrim) on Jun 22, 2021 at 17:28 UTC
    I see. Under info I find bash,zlib,libzio which should not be ignored. Now that I'm using this command, I don't need the libraries right (because you mentioned ". It provides no libraries")? I just need to find all the packages.
    Also, I want to make it run automatically. So I need some logic on how to parse the output of rpm -q --requires $pkg. I gave grep as an example so it will be easier to talk about the strategy on how to parse this output. I guess I can exclude the rpmlib lines. For the libc.so.6, do I need to run locate to find the location and then run the rpm -qf --queryformat "[%{NAME}]" $lib command? What about /bin/sh?

    To sum up - What is the strategy in general case, on parsing the output of rpm -q --requires?