DLOPEN-NOTES.PY(1)

πŸ“¦
version 0.20 Β· 2 versions
, in arch rolling, fedora 43, fedora 44, ubuntu resolute, ubuntu stonking

✨ dlopen-notes.py ✨

okay bestie, welcome to dlopen-notes.py β€” it's a little script from the Generated Python Manual, and it's genuinely one of my faves, no cap. πŸ’–


🌸 NAME 🌸

dlopen-notes.py β€” the girl who reads your .note.dlopen notes and tells you what's in them πŸ•΅οΈβ™€οΈβœ¨


πŸŽ€ SYNOPSIS πŸŽ€

dlopen-notes.py [-r] [-s] [-f [FEATURE1,FEATURE2]] [-h] filename
[filename ...]

πŸ’… DESCRIPTION πŸ’…

So basically: this tool reads .note.dlopen notes out of ELF files and reports the contents back to you. That's the whole vibe. πŸ¦‹

Here's the lore, fr fr: ELF binaries keep their link-time dependencies in their headers, and a bunch of different tools can parse those. But here's the thing β€” there's no machine-readable metadata by default about dependencies that get loaded at build time via dlopen(3). Like, none. It's giving mystery. 😭

So the ELF Dlopen Metadata specification said "not on my watch" and stepped in to fill that gap by defining a common format. πŸ‘‘

You can go read all about it at https://systemd.io/ELF_DLOPEN_METADATA/ β€” highly recommend, iykyk.

And this tool is the one that lets you parse such a note and print the result out in various formats. main character energy tbh. πŸ’œ

filename

  • Library file to extract notes from πŸ“š

πŸ”₯ OPTIONS πŸ”₯

  • -r, --raw β€” show the original JSON extracted from input files. raw. unfiltered. iconic. ✨
  • -s, --sonames β€” list all sonames and their priorities, one soname per line. neat lil lineup, one per line, obsessed. 🌈
  • -f [FEATURE1,FEATURE2], --features [FEATURE1,FEATURE2] β€” describe features. and yes, you can specify it multiple times, go off. πŸ’…

πŸ’¬ COMMENTS πŸ’¬

If no option is specified, --raw is the default. so like, if you just vibe and pass nothing, you get raw JSON. periodt. πŸ“


that's the whole page bestie, slay πŸ’– β€” this gem comes from package-notes, dated 2024-07-23, and it's the DLOPEN-NOTES.PY(1) manual. go forth and parse those notes, you absolute queen πŸ«ΆπŸ‘‘

πŸ“¦ where this page comes from