构建包时dpkg-source源问题如何解决?

构建包时dpkg-source源问题如何解决?

这里有没有人有创建 Debian / Ubuntu 软件包的经验?我正在尝试反向移植 lammps 软件包(http://packages.ubuntu.com/quantal/lammps)从 Ubuntu 12.10(Quantal)升级到 Ubuntu 12.04

我只是非正式地需要它 - 只需要一个 .deb 包,以方便在创建自定义虚拟机映像以部署到 IaaS 平台时使用。

按照 Ubuntu 打包指南https://wiki.ubuntu.com/PackagingGuide,我可以成功构建,除非我尝试使用拆除命令时,我通常会收到此错误:

 dpkg-source: error: aborting due to unexpected upstream changes, see
 /tmp/lammps_0~20120615.gite442279-1.diff.aie32n dpkg-source: info: you
 can integrate the local changes with dpkg-source --commit
 dpkg-buildpackage: error: dpkg-source --include-binaries -i -b
 lammps-0~20120615.gite442279 gave error exit status 2

在 src 目录运行“make clean-all”仍然无法解决问题。有没有办法彻底清除构建过程中生成的所有文件,或者让 debuild 忽略源文件中的任何差异?

答案1

只需构建二进制文件即可避免 Debian 的官僚主义:dpkg-buildpackage -b

答案2

这意味着您已将更改应用于解压后的上游源,而这些更改不是目录中补丁的一部分debian/patches/,或者series如果是的话,则在文件中列出;和/或 quilt 应用补丁的状态存在一些不一致。

查看 /tmp 中提到的文件将会向您显示相关的更改。

答案3

如果您不想使用 quilt,请将 debian/source/format 中的格式从 3.0 (quilt) 更改为 3.0 (native)。无论如何,这为我解决了问题。

答案4

当 quilt 错误地认为我已经将补丁应用到工作副本时(您可以在 .pc 文件夹中找到其当前状态),我看到了这个问题。在这种情况下,修复方法是强制 quilt 使用 弹出所有补丁quilt pop -a -f

相关内容