在deb中构建data.tar.gz而不是data.tar.xz

我刚刚更新到dpkg 1.17,它现在​​默认使用xz而不是gzip压缩data.tar。 当我为旧版本的ubuntu重新制作CD时会产生问题。

有没有办法告诉dpkg-buildpackage创建data.tar.gz而不是xz? 我试过-Zgzip没有成功。


相关联机文字:

的dpkg-buildpackage

-Z Z

传递给dpkg-source。 请参见其手册页。

dpkg的源

-Z压缩, – 压缩=压缩

指定用于创建文件的压缩(tarball和差异)。 请注意,此选项不会导致重新压缩现有的tarball,它只会影响新文件。 支持的值包括:gzip,bzip2,lzma和xz。 gzip是默认值。 仅从dpkg-dev 1.15.5开始支持xz。

我在旧服务器(hardy)上使用新构建的包时遇到了同样的问题,我无法更新。 dpkg-source不负责创建.deb包。 它仅用于创建源包。

事实上, dpkg-deb创建了一个通常由dh_builddebdebian/rules调用的包。 您可以将此命令更改为dh_builddeb -- -Zgzip或直接调用dpkg-deb -Zgzip

如果命令dh_builddeb未在debian/rules文件中明确列出,则可以添加以下行以使其工作:

 override_dh_builddeb: dh_builddeb -- -Zgzip 

请注意,在dh_builddeb选项之前,只有一个选项卡,而不是多个空格,因为这是一个Makefile 。

我不知道为什么它对你不起作用,但在Debian中它按预期工作:

 $ dpkg-buildpackage -Zgzip dpkg-buildpackage: source package lastfm dpkg-buildpackage: source version 1:1.5.4.27091+dfsg1-1 dpkg-buildpackage: source distribution unstable dpkg-buildpackage: source changed by John Stamp  dpkg-buildpackage: host architecture i386 dpkg-source -Zgzip --before-build lastfm-1.5.4.27091+dfsg1 dpkg-source: warning: unknown information field 'Dm-Upload-Allowed' in input data in general section of control info file 

如果我尝试使用其他任何东西:

 dpkg-buildpackage -Zgz dpkg-buildpackage: source package lastfm dpkg-buildpackage: source version 1:1.5.4.27091+dfsg1-1 dpkg-buildpackage: source distribution unstable dpkg-buildpackage: source changed by John Stamp  dpkg-buildpackage: host architecture i386 dpkg-source -Zgz --before-build lastfm-1.5.4.27091+dfsg1 dpkg-source: gz is not a supported compression Use --help for program usage information. dpkg-buildpackage: error: dpkg-source -Zgz --before-build lastfm-1.5.4.27091+dfsg1 gave error exit status 2 

错了。 您必须确保已安装gzip。