dh_md5sums: 参数列表太长

dh_md5sums: Argument list too long

我正在使用 debuild 构建我的 debian 软件包。在构建其中一个(其中包含相当多的 php 文件)时,出现以下错误:

   dh_installdocs
   dh_installchangelogs
   dh_perl
   dh_link
   dh_compress
   dh_fixperms
   dh_installdeb
   dh_gencontrol
dpkg-gencontrol: warning: package amazing-php: unused substitution variable ${perl:Depends}
   dh_md5sums
Can't exec "/bin/sh": Argument list too long at /usr/share/perl5/Debian/Debhelper/Dh_Lib.pm line 241.
dh_md5sums: (cd debian/amazing-php >/dev/null ; find . -type f ! -path "./etc/apache2/sites-available/amazing-php.conf" ! -path "./etc/amazing-php/extensions/Arrays/arrayLoopsInteractionParserTests.txt" ! < A LONG LIST OF FILES >

使用 vi /usr/share/perl5/Debian/Debhelper/Dh_Lib.pm +241 查看文件时,您可以找到

system(join(" ", @_)) == 0

它启动一个带有文件列表的子 shell(太长)。这对我来说似乎是个错误?

有什么解决方法吗?

编辑:显然这是 debhelper 包中的一个错误,直到(不包括)11.4。所以在任何情况下 >=11.4 这应该不再是一个问题。

感谢@axel-beckert 提到它。


我通过将 dh_override_md5sums 添加到我们的 debian/rules 文件来修复它:

#!/usr/bin/make -f

# Empty target: https://www.gnu.org/software/make/manual/html_node/Empty-Recipes.html
override_dh_md5sums: ;

%:
    dh $@