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

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

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

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


相关手册页:

dpkg-构建软件包

-Z Z

不加改变地传递给 dpkg-source。请参阅其手册页。

dpkg-源

-Zcompression, --compression=压缩

指定要用于创建文件(tarball 和 diff)的压缩。请注意,此选项不会导致重新压缩现有 tarball,它只会影响新文件。支持的值有:gzip、bzip2、lzma 和 xz。gzip 是默认值。xz 仅在 dpkg-dev 1.15.5 之后受支持。

答案1

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

实际上创建了通常在 中dpkg-deb调用的包。您可以添加 将此命令更改为或直接调用。dh_builddebdebian/rulesdh_builddeb -- -Zgzipdpkg-deb -Zgzip

dh_builddeb如果文件中没有明确列出该命令,debian/rules您可以添加以下几行以使其工作:

override_dh_builddeb:
        dh_builddeb -- -Zgzip

请注意,选项前dh_builddeb只有一个制表符,而不是多个空格,因为这是一个Makefile

答案2

我不知道为什么它对你不起作用,但在 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 <[email protected]>
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 <[email protected]>
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。

相关内容