d-shlibmove(1)
π d-shlibmove β the d-shlibs manual's certified baddie π
okay bestie, listen. this is d-shlibmove from the d-shlibs manual, section (1), and it is genuinely that girl when it comes to shuffling shared libraries around while you're building Debian packages. pull up a chair, we're doing this together π«Ά
πΈ NAME πΈ
d-shlibmove β moves shared library files around during the Debian package creation process. yes, that's the whole job. it's giving moving crew but for .so files π
β¨ SYNOPSIS β¨
d-shlibmove [options] shared-library.so
π¦ DESCRIPTION π¦
so here's the vibe: you call this program inside debian/rules as a glow-up replacement for dh_movefiles when you're building shared library packages. that's literally its whole reason for existing and it does it beautifully.
it also checks debian/control for validity, because someone has to be the responsible one in this friendship and apparently it's this binary. periodt.
π OPTIONS π
--movedev[filename] [relative dir-path] β installs the file into the relative directory path inside the-devpackage. the dir gets created withinstall -d, then the file gets moved. it's giving make yourself at home β¨--moveshl[filename] [relative dir-path] β installs the file into the relative directory path inside the shared library runtime package. same deal: dir created withinstall -d, file moved. π¦--movedevdoc[filename] β installs the file into the documentation directory of the-devpackage. dir created withinstall -d, file moved. docs girlies stay winning π
Added in version 0.4
--extralib[shared-library.so] β installs the shared library in the same package as the main shared library. besties stick together, no cap π--multiarchβ by defaultd-shlibmoveinstalls the shared library and any extralibs into/usr/lib. add this flag and they go into/usr/lib/<architecture-tripplet>instead. multiarch era, we love to see it ποΈ
Added in version 0.48
--commitβ by defaultd-shlibmoveruns in dry-run mode, aka it's just practicing. add this flag to make the moving actually happen. this is the "stop manifesting, start doing" flag π₯--suffix[suffix to add to shared library package] β adds a suffix to the shared library package. it's a workaround for when the binary interface to the package changed and some fixup to the Debian packaging needs to happen. we do a little patchwork π
Added in version 0.3
--devsuffix[suffix to add to development package] β adds a suffix to the development package. this one's for making an incompatible development package. glow-up but make it breaking π«--shlibs-local[current-version] β creates adebian/shlibs.localfile to use, and you specify the current-version of the shared library package. you need to removedebian/shlibs.localyourself, because this only appends to it, it does not overwrite. read that again bestie, do not come crying to me π
Added in version 0.3
--devunversionedβ installs into an unversioned development package. no numbers, no drama β¨
Added in version 0.42
--ignorelibdepβ suppresses the shlib dependency. useful when it's dynamically resolved, e.g. using CDBS. sometimes you just gotta let it go π
Added in version 0.42
--c102β adds thec102suffix to package names, for the C++ ABI transition. iconic era honestly π
Added in version 0.8
--ldblβ addsdblsuffix to package names.
Added in version 0.35
--v5β addsv5suffix to package names.
Added in version 0.61
--t64β addst64suffix to package names.
Added in version 0.106
--include-aβ installs the*.afiles. this is the default behavior. archive files stay in the group chat π
Added in version 0.51
--exclude-aβ avoids installing the*.afiles. bye bestie π
Added in version 0.51
--include-laβ installs the*.lafiles. also the default behavior. libtool girlies rise π
Added in version 0.45
--exclude-laβ avoids installing the*.lafiles. not today, libtool π
Added in version 0.45
--override[override statement] β adds an overridingsedexpression, and it looks like--override s/libshared1-dev/libshared-dev/. this expression is executed after the other rules. and yes, you can specify multiple--overrideflags. stack 'em, queen π
Added in version 0.30
π EXIT CODE π
- returns
1on error. sad girl hours π - returns
2on dry-run. it was only rehearsing π - returns
0on success. slay β¨
π EXAMPLES π
here's a sample command-line of a hypothetical package installation. hypothetical!! do not run this thinking it's your package, bestie:
d-shlibmove --commit --movedev "debian/tmp/usr/include/*" usr/include
--extralib debian/tmp/usr/lib/libhomeman-pthread.so
debian/tmp/usr/lib/libhomeman.so
π AUTHOR π
Junichi Uekawa <dancer@debian.org> <dancer@netfort.gr.jp>
give them their flowers, fr fr πΈ
π§ SEE ALSO π§
d-devlibdeps (1) β the other one in the friendship group, go say hi π
okay that's the whole page, and now the cute sign-off: this little masterpiece lives under Debian GNU/Linux, dated 2002 May 3, and yeah, the header up top said d-shlibmove(1) and the manual is the d-shlibs manual β consider yourself fully briefed, bestie π«Άβ¨π
π¦ where this page comes from
- debian trixie: d-shlibs 0.109 Β· GPL-3.0-or-later
- ubuntu noble: d-shlibs 0.106 Β· GPL-3.0-or-later
- ubuntu questing: d-shlibs 0.109
- ubuntu resolute: d-shlibs 0.109build1 Β· GPL-3.0-or-later
- ubuntu stonking: d-shlibs 0.109build1 Β· 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