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

han*_*xue 23 packaging dpkg compiling backport

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

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

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

 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
Run Code Online (Sandbox Code Playgroud)

在 src 目录中运行 'make clean-all' 仍然不能解决问题。有没有办法完全清除构建过程中生成的所有文件,或者要求 debuild 忽略源文件中的任何差异?

hen*_*dry 33

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

  • @jeremiah 但如果您正在调整 debian 包供个人使用,则非常有用。 (7认同)
  • 如果您打算上传到 debian,这不是很有用。 (2认同)

小智 10

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

  • 我天真地遵循了这个评论。最终效果是您的构建将不再使用 debian/patches 中的补丁。您能否通过解释如何向 debian/rules 添加必要的魔法来实际应用补丁来扩展答案? (4认同)

dob*_*bey 8

这意味着您已经对解压的上游源应用了更改,这些更改不是debian/patches/目录中补丁的一部分,或者列series在那里的文件中;和/或被子应用补丁的状态存在一些不一致。

查看 /tmp 中提到的文件将显示有问题的更改。