ldd - script to grab all the files from it's result?

Issues and / or general discussion relating to Puppy

Moderator: Forum moderators

Post Reply
trister
Posts: 91
Joined: Mon Sep 28, 2020 6:52 am
Has thanked: 19 times
Been thanked: 16 times

ldd - script to grab all the files from it's result?

Post by trister »

What I'm trying to do:
Create an SFS/squashfs and then an AppImage with all the dependencies included (don't care about the big size).

So far
apt2sfs /package manager doesn't help so at them moment I'm trying manually run ldd and include all the libs results in my file (by copying them from my /lib ,/usr/lib or by downloading them)

Is there a way to grab all the deps that LDD command returns and download them somehow; (Apt2sfs and package manager won't help).

An example result of :ldd chrome" is here

User avatar
foxpup
Posts: 186
Joined: Fri Jul 24, 2020 1:23 pm
Location: Europe near the Northsea
Has thanked: 75 times
Been thanked: 32 times

Re: ldd - script to grab all the files from it's result?

Post by foxpup »

If you do not have to do this too often:
- have the output of ldd to a file (in terminal)

Code: Select all

ldd xxx > file

- make a script of this "file"
You can use gnumeric (spreadsheet) to just have the path to a lib (text to columns), in each line one
and to add command cp to each line and the target directory for the copy.
Run the script.

s243a
Posts: 501
Joined: Mon Dec 09, 2019 7:29 pm
Has thanked: 90 times
Been thanked: 37 times

Re: ldd - script to grab all the files from it's result?

Post by s243a »

The following sed command:

Code: Select all

sed -r 's#(^[^=>]+=>\s)(.*)(\s\(0x[0-9a-f]+\))$#\2#g'

Will strip everything out except the path for the lib. So for example:

Code: Select all

echo "libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007fa43b567000)" | sed -r 's#(^[^=>]+=>\s)(.*)(\s\(0x[0-9a-f]+\))$#\2#g'

gives:

Code: Select all

/usr/lib/x86_64-linux-gnu/libX11.so.6

IF you want to see which packages contain this file you could try something like:

Code: Select all

grep -rn /var/packages -e 'libX11.so'

which on my system gives:

Code: Select all

/var/packages/builtin_files/xorg_base_new:242:/usr/lib/i386-linux-gnu/libX11.so.6
/var/packages/builtin_files/xorg_base_new:243:/usr/lib/i386-linux-gnu/libX11.so.6.3.0

To show only the package name use the following command:

Code: Select all

sed -r 's#^([^:]+/)([^/]+):([^:]+):(.*)$#\2#g'

For example:

Code: Select all

echo "/var/packages/builtin_files/xorg_base_new:243:/usr/lib/i386-linux-gnu/libX11.so.6.3.0" | sed -r 's#^([^:]+/)([^/]+):([^:]+):(.*)$#\2#g'

returns

Code: Select all

xorg_base_new

to see the dependencies of this package use the command:

Code: Select all

ls -1 /var/packages/*installed-packages | grep ^xorg_base_new | xargs cat | cut -f9 -d'|'

However, this doesn't work. "xorg_base_new" might be an aliases or a metapackage. If I instead look for X11

Code: Select all

ls -1 /var/packages/*installed-packages | xargs cat | grep -i '^X11' | cut -f2,3,9 -d'|'

I get the following (on my system):

Code: Select all

x11proto-core-dev|2020.1-1|+x11proto-dev
x11proto-dev|2020.1-1|+xorg-sgml-doctools&ge1.5
x11proto-dri2-dev|2020.1-1|+x11proto-dev
x11proto-fonts-dev|2020.1-1|+x11proto-dev
x11proto-gl-dev|2020.1-1|+x11proto-dev
x11proto-input-dev|2020.1-1|+x11proto-dev
x11proto-kb-dev|2020.1-1|+x11proto-dev
x11proto-present-dev|2020.1-1|+x11proto-dev
x11proto-randr-dev|2020.1-1|+x11proto-dev
x11proto-record-dev|2020.1-1|+x11proto-dev
x11proto-render-dev|2020.1-1|+x11proto-dev
x11proto-scrnsaver-dev|2020.1-1|+x11proto-dev
x11proto-video-dev|2020.1-1|+x11proto-dev
x11proto-xext-dev|2020.1-1|+x11proto-dev
x11proto-xf86dga-dev|2020.1-1|+x11proto-dev
x11proto-xf86dri-dev|2020.1-1|+x11proto-dev
x11proto-xf86vidmode-dev|2020.1-1|+x11proto-dev
x11proto-xinerama-dev|2020.1-1|+x11proto-dev
x11-apps|7.7+8|+libc6&ge2.29,+libpng16-16&ge1.6.2-1,+libsm6,+libx11-6,+libxaw7,+libxcursor1&gt1.1.2,+libxext6,+libxft2&gt2.1.1,+libxkbfile1,+libxmu6,+libxmuu1,+libxrender1,+libxt6&ge1.1.0,+man-db
x11-utils|7.7+5|+libc6&ge2.28,+libfontconfig1&ge2.12.6,+libfontenc1,+libgl1,+libx11-6,+libx11-xcb1&ge1.6.9,+libxaw7,+libxcb-shape0,+libxcb1&ge1.6,+libxcomposite1&ge0.3-1,+libxext6,+libxft2&gt2.1.1,+libxi6,+libxinerama1,+libxkbfile1,+libxmu6,+libxmuu1,+libxrandr2&ge1.2.0,+libxrender1,+libxt6&ge1.1.0,+libxtst6,+libxv1,+libxxf86dga1,+libxxf86vm1
x11-xkb-utils|7.7+5|+libc6&ge2.8,+libx11-6,+libxaw7,+libxkbfile1,+libxt6
x11-xserver-utils|7.7+8|+libc6&ge2.26,+libice6&ge1.0.0,+libx11-6,+libxaw7,+libxcursor1&gt1.1.2,+libxext6,+libxi6,+libxmu6,+libxmuu1,+libxrandr2&ge1.5.0,+libxrender1,+libxt6,+libxxf86vm1,+cpp
s243a
Posts: 501
Joined: Mon Dec 09, 2019 7:29 pm
Has thanked: 90 times
Been thanked: 37 times

Re: ldd - script to grab all the files from it's result?

Post by s243a »

So in the above cut command:

Code: Select all

cut -f2,3,9 -d'|'

I'm using fields 2 (the package), 3 (the version) and 9 (the dependencies). The filter is actually on field 1:

Code: Select all

grep -i '^X11'

which is the package name then a dash and then the version. The "^" matches the beginning of the line and the "-i" means "ignore case" so this filters for packages starting with "x11" but wouldn't capture libx11. If we wanted to capture libx11 we could do something like:

Code: Select all

grep -ie '^[^|]*X11'

in which case the package name can have x11 in any position. The "-e" option means to used extended regular expressions which might be relevant in this case. As an alternative to filtering by the package name we might want to filter by the package file name. This is likely a better strategy for user-installed-packages, since for these packages the naming of the file list appears to follow the package file name. In this case we might want to try something like this:

Code: Select all

ls -1 /var/packages/*installed-packages | xargs cat | awk 'BEGIN {FS="|"}; {if ($8 ~ /.*xorg.*/){print $8 "|" $9}} '

This yields a lot of results:

Code: Select all

xserver-xorg-core_1.20.9-2ubuntu1_i386.deb|+xserver-common&ge1.20.9,+keyboard-configuration,+udev&ge149,+libegl1,+libaudit1&ge2.2.1,+libbsd0&ge0.7.0,+libc6&ge2.32,+libdbus-1-3&ge1.9.14,+libdrm2&ge2.4.66,+libepoxy0&ge1.5.4,+libgbm1&ge17.1.0,+libgcrypt20&ge1.8.0,+libgl1,+libpciaccess0&ge0.12.902,+libpixman-1-0&ge0.30.0,+libselinux1&ge3.1,+libsystemd0,+libudev1&ge183,+libunwind8,+libxau6,+libxdmcp6,+libxfont2&ge2.0.1,+libxshmfence1
xserver-xorg-dev_1.20.9-2ubuntu1_i386.deb|+libpixman-1-dev&ge0.27.2,+x11proto-dev&ge2018.4,+libxfont-dev,+libxkbfile-dev,+libpciaccess-dev,+mesa-common-dev
xserver-xorg-input-aiptek_1.4.1-2+b1_i386.deb|+libc6&ge2.4,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-input-all_7.7+21_i386.deb|+xserver-xorg-input-libinput
xserver-xorg-input-elographics_1.4.1-1+b5_i386.deb|+libc6&ge2.3,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-input-evdev-dev_2.10.6-2_all.deb|
xserver-xorg-input-evdev_2.10.6-2_i386.deb|+libc6&ge2.7,+libevdev2&ge1.2.2+dfsg-1,+libmtdev1&ge1.1.0,+libudev1&ge183,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-input-joystick-dev_1.6.3-1build1_all.deb|
xserver-xorg-input-joystick_1.6.3-1+b1_i386.deb|+libc6&ge2.7,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-input-libinput-dev_0.30.0-1_all.deb|
xserver-xorg-input-libinput_0.30.0-1_i386.deb|+libc6&ge2.7,+libinput10&ge1.15.1,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-input-mtrack_0.3.1-1+b3_i386.deb|+libc6&ge2.4,+libmtdev1&ge1.0.10,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-input-mutouch_1.3.0-1+b7_i386.deb|+libc6&ge2.7,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-input-synaptics-dev_1.9.1-1ubuntu3_all.deb|+x11proto-core-dev
xserver-xorg-input-synaptics_1.9.1-2_i386.deb|+libc6&ge2.15,+libevdev2&ge1.3,+libx11-6,+libxi6&ge1.2.0,+libxtst6,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-input-void_1.4.1-1+b2_i386.deb|+libc6&ge2.4,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-input-wacom_0.34.99.1-1_i386.deb|+xserver-xorg-core&ge1.18.99.901,+libc6&ge2.3,+libudev1&ge183,+libx11-6,+libxext6,+libxi6&ge1.2.0,+libxinerama1,+libxrandr2&ge1.2.0
xserver-xorg-input-xwiimote_0.5-1+b3_i386.deb|+libc6&ge2.7,+libudev1&ge183,+libxwiimote2&ge2,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-video-all_7.7+21_i386.deb|+xserver-xorg-video-amdgpu,+xserver-xorg-video-ati,+xserver-xorg-video-fbdev,+xserver-xorg-video-nouveau,+xserver-xorg-video-vesa,+xserver-xorg-video-vmware
xserver-xorg-video-amdgpu_19.1.0-1_i386.deb|+libc6&ge2.17,+libdrm-amdgpu1&ge2.4.73,+libgbm1&ge8.1,+libudev1&ge183,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-video-ati_19.1.0-1_i386.deb|+libc6&ge2.4,+libpciaccess0,+xserver-xorg-core&ge1.18.99.901,+xserver-xorg-video-radeon
xserver-xorg-video-dummy_0.3.8-1+b1_i386.deb|+libc6&ge2.4,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-video-fbdev_0.5.0-1_i386.deb|+libc6&ge2.1.3,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-video-intel_2.99.917+git20200714-1_i386.deb|+libc6&ge2.29,+libdrm-intel1&ge2.4.38,+libdrm2&ge2.4.62,+libpciaccess0&ge0.8.0+git20071002,+libpixman-1-0&ge0.30.0,+libudev1&ge183,+libx11-6,+libx11-xcb1&ge1.6.9,+libxcb-dri2-0,+libxcb-util0&ge0.3.8,+libxcb1,+libxcursor1&gt1.1.2,+libxdamage1&ge1.1,+libxext6,+libxfixes3,+libxinerama1,+libxrandr2&ge1.2.99.2,+libxrender1,+libxss1,+libxtst6,+libxvmc1&ge1.0.12,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-video-mach64_6.9.6-1_i386.deb|+libc6&ge2.4,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-video-neomagic_1.3.0-1_i386.deb|+libc6&ge2.4,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-video-nouveau_1.0.16-1_i386.deb|+libc6&ge2.4,+libdrm-nouveau2&ge2.4.38,+libdrm2&ge2.4.61,+libudev1&ge183,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-video-openchrome_0.6.0-4_i386.deb|+libc6&ge2.4,+libdrm2&ge2.3.1,+libx11-6&ge1.4.99.1,+libxext6,+libxvmc1&ge1.0.12,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-video-qxl_0.1.5+git20200331-1_i386.deb|+libc6&ge2.4,+libudev1&ge183,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-video-r128_6.12.0-1_i386.deb|+libc6&ge2.4,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-video-radeon_19.1.0-1_i386.deb|+libc6&ge2.17,+libdrm-radeon1&ge2.4.39,+libgbm1&ge8.1,+libudev1&ge183,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-video-savage_2.3.9-2_i386.deb|+libc6&ge2.4,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-video-siliconmotion_1.7.9-2+b1_i386.deb|+libc6&ge2.7,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-video-sisusb_0.9.7-1+b1_i386.deb|+libc6&ge2.7,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-video-tdfx_1.4.7-1+b1_i386.deb|+libc6&ge2.4,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-video-trident_1.3.8-1+b1_i386.deb|+libc6&ge2.7,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-video-vesa_2.5.0-1_i386.deb|+libc6&ge2.4,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-video-vmware_13.3.0-3_i386.deb|+libc6&ge2.28,+libdrm2&ge2.4.60,+libudev1&ge183,+libx11-6&ge1.4.99.1,+libxatracker2&ge11.1.0,+libxext6,+xserver-xorg-core&ge1.18.99.901
xserver-xorg_7.7+21_i386.deb|+xserver-xorg-core&ge1.17.2-2,+xserver-xorg-video-all,+xserver-xorg-input-all,+xkb-data&ge1.4,+x11-xkb-utils

However, in upupuGG+D these are the ubuntu equivalents of these packages. Puppy appears to actually only use three Xorg packages, which are likely consolated and trimmed down versions of the above. We observe this with the following command:

Code: Select all

ls -1 /var/packages/builtin_files | grep xorg

which returns:

Code: Select all

xorg_base_new
xorg_dri
xserver_xorg

I think specifically for these "xorg" packages it likely makes sense to only include the libs that you need but for other backages there may be other files that you want to include.

s243a
Posts: 501
Joined: Mon Dec 09, 2019 7:29 pm
Has thanked: 90 times
Been thanked: 37 times

Re: ldd - script to grab all the files from it's result?

Post by s243a »

s243a wrote: Fri Dec 25, 2020 2:02 am

... As an alternative to filtering by the package name we might want to filter by the package file name. This is likely a better strategy for user-installed-packages, since for these packages the naming of the file list appears to follow the package file name. In this case we might want to try something like this:

Code: Select all

ls -1 /var/packages/*installed-packages | xargs cat | awk 'BEGIN {FS="|"}; {if ($8 ~ /.*xorg.*/){print $8 "|" $9}} '

This yields a lot of results:

Code: Select all

xserver-xorg-core_1.20.9-2ubuntu1_i386.deb|+xserver-common&ge1.20.9,+keyboard-configuration,+udev&ge149,+libegl1,+libaudit1&ge2.2.1,+libbsd0&ge0.7.0,+libc6&ge2.32,+libdbus-1-3&ge1.9.14,+libdrm2&ge2.4.66,+libepoxy0&ge1.5.4,+libgbm1&ge17.1.0,+libgcrypt20&ge1.8.0,+libgl1,+libpciaccess0&ge0.12.902,+libpixman-1-0&ge0.30.0,+libselinux1&ge3.1,+libsystemd0,+libudev1&ge183,+libunwind8,+libxau6,+libxdmcp6,+libxfont2&ge2.0.1,+libxshmfence1
xserver-xorg-dev_1.20.9-2ubuntu1_i386.deb|+libpixman-1-dev&ge0.27.2,+x11proto-dev&ge2018.4,+libxfont-dev,+libxkbfile-dev,+libpciaccess-dev,+mesa-common-dev
xserver-xorg-input-aiptek_1.4.1-2+b1_i386.deb|+libc6&ge2.4,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-input-all_7.7+21_i386.deb|+xserver-xorg-input-libinput
xserver-xorg-input-elographics_1.4.1-1+b5_i386.deb|+libc6&ge2.3,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-input-evdev-dev_2.10.6-2_all.deb|
xserver-xorg-input-evdev_2.10.6-2_i386.deb|+libc6&ge2.7,+libevdev2&ge1.2.2+dfsg-1,+libmtdev1&ge1.1.0,+libudev1&ge183,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-input-joystick-dev_1.6.3-1build1_all.deb|
xserver-xorg-input-joystick_1.6.3-1+b1_i386.deb|+libc6&ge2.7,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-input-libinput-dev_0.30.0-1_all.deb|
xserver-xorg-input-libinput_0.30.0-1_i386.deb|+libc6&ge2.7,+libinput10&ge1.15.1,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-input-mtrack_0.3.1-1+b3_i386.deb|+libc6&ge2.4,+libmtdev1&ge1.0.10,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-input-mutouch_1.3.0-1+b7_i386.deb|+libc6&ge2.7,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-input-synaptics-dev_1.9.1-1ubuntu3_all.deb|+x11proto-core-dev
xserver-xorg-input-synaptics_1.9.1-2_i386.deb|+libc6&ge2.15,+libevdev2&ge1.3,+libx11-6,+libxi6&ge1.2.0,+libxtst6,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-input-void_1.4.1-1+b2_i386.deb|+libc6&ge2.4,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-input-wacom_0.34.99.1-1_i386.deb|+xserver-xorg-core&ge1.18.99.901,+libc6&ge2.3,+libudev1&ge183,+libx11-6,+libxext6,+libxi6&ge1.2.0,+libxinerama1,+libxrandr2&ge1.2.0
xserver-xorg-input-xwiimote_0.5-1+b3_i386.deb|+libc6&ge2.7,+libudev1&ge183,+libxwiimote2&ge2,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-video-all_7.7+21_i386.deb|+xserver-xorg-video-amdgpu,+xserver-xorg-video-ati,+xserver-xorg-video-fbdev,+xserver-xorg-video-nouveau,+xserver-xorg-video-vesa,+xserver-xorg-video-vmware
xserver-xorg-video-amdgpu_19.1.0-1_i386.deb|+libc6&ge2.17,+libdrm-amdgpu1&ge2.4.73,+libgbm1&ge8.1,+libudev1&ge183,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-video-ati_19.1.0-1_i386.deb|+libc6&ge2.4,+libpciaccess0,+xserver-xorg-core&ge1.18.99.901,+xserver-xorg-video-radeon
xserver-xorg-video-dummy_0.3.8-1+b1_i386.deb|+libc6&ge2.4,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-video-fbdev_0.5.0-1_i386.deb|+libc6&ge2.1.3,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-video-intel_2.99.917+git20200714-1_i386.deb|+libc6&ge2.29,+libdrm-intel1&ge2.4.38,+libdrm2&ge2.4.62,+libpciaccess0&ge0.8.0+git20071002,+libpixman-1-0&ge0.30.0,+libudev1&ge183,+libx11-6,+libx11-xcb1&ge1.6.9,+libxcb-dri2-0,+libxcb-util0&ge0.3.8,+libxcb1,+libxcursor1&gt1.1.2,+libxdamage1&ge1.1,+libxext6,+libxfixes3,+libxinerama1,+libxrandr2&ge1.2.99.2,+libxrender1,+libxss1,+libxtst6,+libxvmc1&ge1.0.12,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-video-mach64_6.9.6-1_i386.deb|+libc6&ge2.4,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-video-neomagic_1.3.0-1_i386.deb|+libc6&ge2.4,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-video-nouveau_1.0.16-1_i386.deb|+libc6&ge2.4,+libdrm-nouveau2&ge2.4.38,+libdrm2&ge2.4.61,+libudev1&ge183,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-video-openchrome_0.6.0-4_i386.deb|+libc6&ge2.4,+libdrm2&ge2.3.1,+libx11-6&ge1.4.99.1,+libxext6,+libxvmc1&ge1.0.12,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-video-qxl_0.1.5+git20200331-1_i386.deb|+libc6&ge2.4,+libudev1&ge183,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-video-r128_6.12.0-1_i386.deb|+libc6&ge2.4,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-video-radeon_19.1.0-1_i386.deb|+libc6&ge2.17,+libdrm-radeon1&ge2.4.39,+libgbm1&ge8.1,+libudev1&ge183,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-video-savage_2.3.9-2_i386.deb|+libc6&ge2.4,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-video-siliconmotion_1.7.9-2+b1_i386.deb|+libc6&ge2.7,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-video-sisusb_0.9.7-1+b1_i386.deb|+libc6&ge2.7,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-video-tdfx_1.4.7-1+b1_i386.deb|+libc6&ge2.4,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-video-trident_1.3.8-1+b1_i386.deb|+libc6&ge2.7,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-video-vesa_2.5.0-1_i386.deb|+libc6&ge2.4,+xserver-xorg-core&ge1.18.99.901
xserver-xorg-video-vmware_13.3.0-3_i386.deb|+libc6&ge2.28,+libdrm2&ge2.4.60,+libudev1&ge183,+libx11-6&ge1.4.99.1,+libxatracker2&ge11.1.0,+libxext6,+xserver-xorg-core&ge1.18.99.901
xserver-xorg_7.7+21_i386.deb|+xserver-xorg-core&ge1.17.2-2,+xserver-xorg-video-all,+xserver-xorg-input-all,+xkb-data&ge1.4,+x11-xkb-utils

However, in upupuGG+D these are the ubuntu equivalents of these packages. Puppy appears to actually only use three Xorg packages, which are likely consolated and trimmed down versions of the above. We observe this with the following command:

Code: Select all

ls -1 /var/packages/builtin_files | grep xorg

which returns:

Code: Select all

xorg_base_new
xorg_dri
xserver_xorg

I think specifically for these "xorg" packages it likely makes sense to only include the libs that you need but for other backages there may be other files that you want to include.

I think the actual packages which make up these builtin packages is defined in "/var/packages/DISTRO_PACKAGES_SPECS". For instance for xorg_base_new, we have the following line in this file:

Code: Select all

yes|xorg_base_new|libglapi-mesa,libx11-xcb1,libx11-xcb-dev,xfonts-utils,libxmu-headers,mesa-common-dev,xinit,x11-xkb-utils,x11-xserver-utils,x11-utils,x11-apps,fontconfig,libdrm2,libdrm-dev,libdrm-amdgpu1,libdrm-intel1,libdrm-nouveau2,libdrm-radeon1,libepoxy0,libepoxy-dev,libfontconfig1,libfontconfig1-dev,libfontenc1,libfontenc-dev,libgl1-mesa-glx,libgl1-mesa-dev,libglu1-mesa,libglu1-mesa-dev,libice6,libice-dev,libsm6,libsm-dev,libunwind8,libx11-6,libx11-dev,libx11-data,libxau6,libxau-dev,libxaw7,libxaw7-dev,libxcomposite1,libxcomposite-dev,libxcursor1,libxcursor-dev,libxdamage1,libxdamage-dev,libxdmcp6,libxdmcp-dev,libxext6,libxext-dev,libxfixes3,libxfixes-dev,libxfont2,libxfont-dev,libxft2,libxft-dev,libxi6,libxi-dev,libxinerama1,libxinerama-dev,libxkbfile1,libxkbfile-dev,libxmu6,libxmu-dev,libxmuu1,libxmuu-dev,libxpm4,libxpm-dev,libxrandr2,libxrandr-dev,libxrender1,libxrender-dev,libxres1,libxres-dev,libxss1,libxss-dev,libxt6,libxt-dev,libxtst6,libxtst-dev,libxv1,libxv-dev,libxwiimote2,libxxf86dga1,libxxf86dga-dev,libxxf86vm1,libxxf86vm-dev,xkb-data,xinput,xbitmaps|exe,dev,doc,nls|

I notice for these dependencies of "xorg_base_new", there are no separate file lists, so I presume that they are built into "xorg_base_new" and then the combined package is likely stripped (e.g. remove manpages). If we wanted to know which actual package a given file resided in we could download the file list from online (see post), for each one of these sub packages, and look to see which subpackage it resided in.

trister
Posts: 91
Joined: Mon Sep 28, 2020 6:52 am
Has thanked: 19 times
Been thanked: 16 times

Re: ldd - script to grab all the files from it's result?

Post by trister »

Thanks for the reply .
I will try these commands

Post Reply

Return to “Users”