我刚刚更新到 dpkg 1.17,现在它默认使用 xz 而不是 gzip 压缩 data.tar。当我为旧版本的 ubuntu 重制 CD 时,这会产生问题。
有没有办法告诉 dpkg-buildpackage 创建 data.tar.gz 而不是 xz?我试过了,-Zgzip
但没有成功。
相关手册页:
-Z Z
不加改变地传递给 dpkg-source。请参阅其手册页。
-Zcompression, --compression=压缩
指定要用于创建文件(tarball 和 diff)的压缩。请注意,此选项不会导致重新压缩现有 tarball,它只会影响新文件。支持的值有:gzip、bzip2、lzma 和 xz。gzip 是默认值。xz 仅在 dpkg-dev 1.15.5 之后受支持。
答案1
我在无法更新的旧服务器 (hardy) 上使用新构建的软件包时遇到了同样的问题。它dpkg-source
不负责创建 .deb 软件包。它仅用于创建源软件包。
实际上创建了通常在 中dpkg-deb
调用的包。您可以添加 将此命令更改为或直接调用。dh_builddeb
debian/rules
dh_builddeb -- -Zgzip
dpkg-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。