dpkg-buildpackage 命令不适用于 -P 参数

dpkg-buildpackage command not working with -P argument

当我 运行 带有 -P 参数的 dpkg-buildpackage 失败时

dpkg-buildpackage -b -us -uc -P mypackageprofile
dpkg-buildpackage: unknown option or argument mypackageprofile

我也试过 -P [mypackageprofile] 和 ['mypackageprofile']。根据手册有这个论点

  -P, --build-profiles=profile[,...]
              Specify the profile(s) we build, as a comma-separated list
              (since dpkg 1.17.2, long option since dpkg 1.18.8).  The
              default behavior is to build for no specific profile. Also
              sets them (as a space separated list) as the
              DEB_BUILD_PROFILES environment variable which allows, for
              example, debian/rules files to use this information for
              conditional builds.

https://man7.org/linux/man-pages/man1/dpkg-buildpackage.1.html

你应该写成这样:

pkg-buildpackage -b -us -uc -Pmypackageprofile

可能是一个错误,或者它应该有默认参数(通常情况下不允许在选项及其参数之间使用白色 space。

dpkg-buildpackage: unknown option or argument mypackageprofile

-P 和您的个人资料之间不应有空格。这由来源证实:

while (@ARGV) {
    $_ = shift @ARGV;

    if (/^(?:--help|-\?)$/) {
    usage;
    exit 0; 
    # [...]
    } elsif (/^-a(.*)$/ or /^--host-arch=(.*)$/) {
    $host_arch = ;
    } elsif (/^-P(.*)$/ or /^--build-profiles=(.*)$/) {
    my $arg = ;
    @build_profiles = split /,/, $arg;
    } elsif (/^-s[iad]$/) {
    push @changes_opts, $_;

可以看出,短选项需要在选项之后立即指定它们的参数。该错误告诉您它正在尝试将“mypackageprofile”读取为参数或选项,当然它没有定义。