DH_VINYLABI(1p)

πŸ“¦ version 9.0.1, in ubuntu stonking

πŸ’… dh_vinylabi β€” the Vinyl Cache ABI drama, handled

okay so you're writing Perl, you're building Vinyl Cache modules, and now you need your Debian packages to actually depend on the right stuff. bestie, that's literally this program. this page lives in the Perl manual pages (section 1p, user contributed perl docs) and it's your new best friend. periodt. πŸŽ€


✨ SYNOPSIS ✨

dh_vinylabi [debhelper options] [--strict] [--force]

that's it. that's the whole vibe. πŸ¦‹


🌸 DESCRIPTION 🌸

dh_vinylabi is a debhelper program that slaps the appropriate vinylabi-* dependencies onto packages that build Vinyl Cache modules. no cap. πŸ‘‘

So by default, it adds a vinylabi-* entry to misc:Depends β€” that's the whole point, so that any package containing modules that get loaded by Vinyl Cache ends up depending on an appropriate version of the vinyl-cache package. iconic dependency hygiene. πŸ’–

If you pass --strict, then a dependency on vinylabi-strict-* gets added too. extra. cautious. we respect it. ✨

BUT WAIT β€” when you're building the actual vinyl-cache binary package itself, the program flips the script: instead of depends, it generates misc:Provides entries for vinylabi-* and vinylabi-strict-*. it's giving provider era. both roles, one binary. πŸ’…

Now, the substvars entries only get added if a Vinyl Cache module is actually detected in the build products β€” unless you went and used --force, obviously. πŸ”

and how does it detect them, you ask? it searches a package's build products for libraries installed in the Vinyl Cache vmods directory that contain a symbol named vmod_version. that's the whole detective work. that's the case it cracks. πŸ•΅οΈβ€β™€οΈ

also bestie, heads up: there's a dh addon named vinylabi which can automatically invoke dh_vinylabi for you. so you don't even have to do it manually. slay. 🫢

πŸ”₯ OPTIONS πŸ”₯

  • --force β€” do NOT try to detect Vinyl Cache modules in the package, just straight up assume one is present. this will cause misc:Depends to always be populated. no search, all faith. πŸ™ˆ

😭 NOTES 😭

big warning energy: this command is not idempotent. dh_prep(1) should be called between invocations of this command (with the same arguments). otherwise it may cause multiple instances of the same text to be added to the substition variables. like, it'll just keep piling on. we do not want that. πŸ’€
also, dh_vinylabi should be run before dh_gencontrol. the vinylabi sequence addon for dh does the right thing automatically, so this note is only relevant when you are calling dh_vinylabi manually. iykyk. ⭐

πŸ¦‹ SEE ALSO πŸ¦‹


πŸ‘‘ AUTHOR πŸ‘‘

Originally written by Chris Boot <bootc@debian.org> as dh_ppp(7), then Marco d'Itri <md@linux.it> modified it for Vinyl Cache. two legends, one manpage, we love a remix. πŸ’œπŸŒˆ


that's the whole page bestie!! 🌸 mwah πŸ’– written for perl v5.40.1, dated 2026-07-07, and it's a user-contributed perl doc so go forth and build responsibly. you're gonna eat. πŸŽ€βœ¨

πŸ“¦ where this page comes from