debuild:未找到上游 tarball

debuild:未找到上游 tarball

修补包的正确命名约定是什么?

我正在尝试将 exiv2 版本与补丁程序组合在一起以添加额外的模式。

以下是我目前所做的:

$ sudo apt-get build-dep exiv2
$ cd src/exiv2
$ apt-get source exiv2
$ cd exiv2-0.23-1ubuntu2
 ... apply patch
$ dpkg-source --commit
$ dch -i
    exiv2 (0.23-1ubuntu2-DwC1) trusty; urgency=medium
$ debuild -S -sd -k1230CB40

但随后我收到一条错误消息:

此软件包具有 Debian 修订号,但父目录中似乎没有合适的原始 tar 文件或 .orig 目录;(预期为 exiv2_0.23-1ubuntu2.orig.tar.gz、exiv2_0.23-1ubuntu2.orig.tar.bz2、exiv2_0.23-1ubuntu2.orig.tar.lzma、exiv2_0.23-1ubuntu2.orig.tar.xz 或 exiv2-0.23-1ubuntu2.orig 之一)是否继续?(y/n)y

dpkg-source -b exiv2-0.23-1ubuntu2 dpkg-source: 错误: 无法使用源格式 '3.0 (quilt)' 进行构建: 在 ../exiv2_0.23-1ubuntu2.orig.tar.{bz2,gz,lzma,xz} 处未找到上游 tarball dpkg-buildpackage: 错误: dpkg-source -b exiv2-0.23-1ubuntu2 给出错误退出状态 255 debuild: 第 1364 行出现致命错误: dpkg-buildpackage -rfakeroot -d -us -uc -S -sd 失败

$ ls ..
exiv2-0.23-1ubuntu2  exiv2_0.23-1ubuntu2.debian.tar.gz  exiv2_0.23-1ubuntu2.dsc  exiv2_0.23-1ubuntu2-DwC1_source.build  exiv2_0.23.orig.tar.gz

我需要做什么才能让 debuild 识别原始 tar 文件?

答案1

问题出-DwC1在你的版本字符串中。每Debian 政策上游版本可以包含,. + - : ~但 Debian 修订版只能包含+ . ~,因此之前的所有内容-DwC1都被视为上游版本的一部分,因此它正在寻找该版本的原始 tarball。

dch当您添加该条目时会给出有关此内容的线索:

dch warning: your current directory has been renamed to:
../exiv2-0.23-1ubuntu2
dch warning: no orig tarball found for the new version.

通常,当我执行软件包的 ppa 上传时,我会调整 ubuntu 版本并添加类似 的内容~ppa0,通常是目标版本,例如。~trusty例如。带有 的额外字符串将导致版本比较小于,因此如果软件包在主存储库中更新,用户将获得较新的版本。1ubuntu21ubuntu3~ppa0~trusty~1ubuntu3

实际上,您需要做的就是从您的版本中删除连字符,这样1ubuntu2DwC1就可以了,或者也许1ubuntu2.DwC1

相关内容