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 π
https://qt-kde-team.pages.debian.net/symbolfiles.htmlhttps://people.redhat.com/drepper/symbol-versioninghttps://people.redhat.com/drepper/goodpractice.pdfhttps://people.redhat.com/drepper/dsohowto.pdfdpkg-gensymbols(1),deb-symbols(5),dpkg-shlibdeps(1).
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 πβ¨
π¦ where this page comes from
- debian bookworm: pkg-kde-tools 0.15.38
- debian trixie: pkg-kde-tools 0.18.12
- ubuntu jammy: pkg-kde-tools 0.15.32ubuntu4
- ubuntu noble: pkg-kde-tools 0.15.38ubuntu4
- ubuntu questing: pkg-kde-tools 0.18.12ubuntu3
- ubuntu resolute: pkg-kde-tools 0.19.1ubuntu2
- ubuntu stonking: pkg-kde-tools 0.22.1ubuntu2 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms