use*_*611 5 packaging dpkg bazaar deb binary
我需要主要从 Node.js Javascript 文件构建一个 DEB 包,但它也应该包含一些二进制文件。它们列在debian/source/include-binaries 中。否则我会收到错误消息
dpkg-source: error: unrepresentable changes to source
Run Code Online (Sandbox Code Playgroud)
有问题的命令是:
bzr builddeb -- -us -uc
Run Code Online (Sandbox Code Playgroud)
添加文件include-binaries 后,再次运行bzr builddeb -- -us -uc时,现在出现不同的错误:它说
dpkg-source: error: aborting due to unexpected upstream changes, see /tmp/mailadmin_0.0-1.diff.n6m5_6
Run Code Online (Sandbox Code Playgroud)
我不知道如何摆脱这个。
在下一行输出中,它告诉我
dpkg-source: info: you can integrate the local changes with dpkg-source --commit
Run Code Online (Sandbox Code Playgroud)
但是,如果我在包的构建区域中运行此命令,即使构建区域中也存在debian/source/include-binaries,它也会再次对源错误消息进行无法表示的更改。
我错过了解决这个问题的方法......
我尝试删除构建过程中产生的所有文件,仍然没有成功。
更多细节:
目标目录是/opt/mailadmin。由于这个目录不常见,我把它列在文件debian/mailadmin.install(其中包含一行:)
opt/mailadmin opt/
Run Code Online (Sandbox Code Playgroud)
该BZR builddeb过程使用预期该文件。
没有上游 tarball,因为该项目是新的。
您的错误与二进制文件无关。虽然听起来确实非常相似。(在这些情况下,可能值得提交一个dpkg
关于更好的错误消息的错误。)如果它是关于二进制文件,它看起来像:
dpkg-source: error: cannot represent change to package_name-X.Y/debian/some_binary_file.png: binary file contents changed
Run Code Online (Sandbox Code Playgroud)
即使如此,只有当您使用旧样式版本1.0
源代码包时才会发生这种情况。
这与上游 tarball 有关。如果您真的在使用,bzr builddeb -- -us -uc
您必须确信bzr builddeb
您有一个上游 tarball,否则在查找时会出错。您创建的任何 tarball 的内容与 bzr 分支的内容都不匹配,因此您会收到有关“意外的上游更改”的错误。
处理这种情况最简单的方法是传递标志--split
:
bzr builddeb --split -- -us -uc
Run Code Online (Sandbox Code Playgroud)
从bzr help builddeb
:
--split Automatically create an .orig.tar.gz from a full
source branch.
Run Code Online (Sandbox Code Playgroud)
这只是将外部的所有内容/debian
放入 tarball 中并使用它。
归档时间: |
|
查看次数: |
1768 次 |
最近记录: |