PKGKDE-SYMBOLSHELPER(1)

πŸ’… PKGKDE-SYMBOLSHELPER β€” the Debian KDE symbols helper, bestie edition

okay so real talk: pkgkde-symbolshelper is a tool to help simplify managing C++ symbols files for the KDE project. yes, those symbols files. the ones that make you cry. but not anymore bestie, we're gonna slay this πŸ’–


✨ SYNOPSIS ✨

pkgkde-symbolshelper create | patch | batchpatch | rewrite

🌸 DESCRIPTION 🌸

so like, pkgkde-symbolshelper helps you automate the whole process of managing your deb-symbols(5) files. it's giving "I got you" energy fr fr 🫢

there are four commands, and yes you have to pick one of them: create, patch, batchpatch, and rewrite.


πŸŽ€ CREATING SYMBOLS FILE πŸŽ€

okay bestie, so you wanna create the symbols file for a library package libfoo1 whose version is 1.7. here's the vibe:

pkgkde-gensymbols -plibfoo1 -v1.7 -Osymbols.amd64 -edebian/libfoo1/usr/lib/libfoo.so.1
pkgkde-symbolshelper create -o debian/libfoo1.symbols -v 1.7 symbols.amd64

now the important part, don't skip this πŸ™ˆ β€” you gotta run those commands from the top level directory of your package's source, after having built the package but before cleaning, so that debian/libfoo1/usr/lib/libfoo.so.1 actually exists. no file, no slay.

and symbols.amd64? that's the filename of the intermediate symbols file that pkgkde-gensymbols generates. this filename must be in the format name.architecture or name_architecture, where architecture is the cpu architecture on which you have built this package. periodt. πŸ’…


πŸ¦‹ UPDATING A SYMBOLS FILE FOR A NEW LIBRARY VERSION πŸ¦‹

so you built a new version of the library (say, 1.8 of our libfoo1 from up there ⬆️) and now symbols may have been added or removed. and in both cases you must check and update the symbols file. no skipping the vibe check, bestie.

here's the tea: during the build, a diff between the current symbols file and the one based on the current built library will be printed in the output. pkgkde-symbolshelper can read the build log to find this diff. to save the build log you may want to do:

dpkg-buildpackage | tee buildlog
pkgkde-symbolshelper patch -p libfoo1 -v 1.8 < buildlog

iconic. obsessed. πŸ’–


🌈 UPDATING MULTIPLE SYMBOLS FILES AT ONCE 🌈

for source packages that provide multiple binary library packages, it's lowkey useful to have a method to patch all the symbol files at once. pkgkde-symbolshelper offers a way to do this using the batchpatch command. for example:

pkgkde-symbolshelper batchpatch -v 1.8 < buildlog

batchpatch can also be of use when you wanna update symbol files for multiple architectures at once. there's an additional command pkgkde-getbuildlogs that will download the build logs for multiple architectures from Debian's build servers πŸ‘‘

pkgkde-getbuildlogs
pkgkde-symbolshelper batchpatch -v 1.8 foo_unstable_logs/foo_1.8-1*.build

main character energy, honestly. ✨


πŸ“ NOTES πŸ“

ngl, this man page was based on text written by others from the pkg-kde symbols file help page. credit where credit is due 🫢


πŸ‘€ SEE ALSO πŸ‘€


and that's a wrap, bestie πŸ’œ this was version 0.15, dated 2015-04-18, from the Debian KDE symbols helper squad. go forth and manage those C++ symbols files, you absolute icon πŸ‘‘βœ¨