![构建包时dpkg-source源问题如何解决?](https://linux22.com/image/828430/%E6%9E%84%E5%BB%BA%E5%8C%85%E6%97%B6dpkg-source%E6%BA%90%E9%97%AE%E9%A2%98%E5%A6%82%E4%BD%95%E8%A7%A3%E5%86%B3%EF%BC%9F.png)
这里有没有人有创建 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
。