When testing on my Debian 11.x (stable) system, --add-udeb causes the following build error: dh_makeshlibs: error: The udeb liburing1-udeb does not contain any shared librar ies but --add-udeb=liburing1-udeb was passed!? make: *** [debian/rules:82: binary-arch] Error 255 Reading the current dh_makeshlibs(1) manpage reveals --add-udeb is nowadays implicit as of debhelper 12.3 and no longer necessary. Compatibility with Debian oldstable (buster) remains intact. Tested with debhelper 12.1.1 on Debian 10.x (buster) and debhelper 13.3.4 on Debian 11.x (bullseye). Signed-off-by: Eric Wong <e@xxxxxxxxx> --- debian/rules | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/debian/rules b/debian/rules index 1a334b3..2a0d563 100755 --- a/debian/rules +++ b/debian/rules @@ -70,7 +70,14 @@ binary-arch: install-arch dh_strip -a --ddeb-migration='$(libdbg) (<< 0.3)' dh_compress -a dh_fixperms -a - dh_makeshlibs -a --add-udeb '$(libudeb)' + +# --add-udeb is needed for <= 12.3, and breaks with auto-detection +# on debhelper 13.3.4, at least + if perl -MDebian::Debhelper::Dh_Version -e \ + 'exit(eval("v$$Debian::Debhelper::Dh_Version::version") le v12.3)'; \ + then dh_makeshlibs -a; else \ + dh_makeshlibs -a --add-udeb '$(libudeb)'; fi + dh_shlibdeps -a dh_installdeb -a dh_gencontrol -a