补丁包的正确命名约定是什么?
我正在尝试将带有补丁的 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
Run Code Online (Sandbox Code Playgroud)
但我随后收到一条错误消息:
这个包有一个 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.tar 之一。 xz 或 exiv2-0.23-1ubuntu2.orig) 继续吗?(y/n) 是
dpkg-source -b exiv2-0.23-1ubuntu2 dpkg-source:错误:无法使用源格式“3.0(被子)”构建:在 ../exiv2_0.23-1ubuntu2.orig.tar.{bz2 ,gz,lzma,xz} dpkg-buildpackage:错误:dpkg-source -b exiv2-0.23-1ubuntu2 给出错误退出状态 255 反编译:第 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
Run Code Online (Sandbox Code Playgroud)
我需要做什么才能让 debuild 识别原始 tar 文件?
问题出-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.
Run Code Online (Sandbox Code Playgroud)
通常,当我对包进行 ppa 上传时,我会更改 ubuntu 版本并添加类似~ppa0
目标版本的内容,例如~trusty
. 例如1ubuntu2
,1ubuntu3~ppa0~trusty
额外的字符串~
将导致版本比较小于因此1ubuntu3
,如果包在主存储库中更新,用户将获得较新的版本。
实际上,您所需要做的就是从版本中删除连字符,这样1ubuntu2DwC1
就可以工作,或者也许1ubuntu2.DwC1
.
归档时间: |
|
查看次数: |
6642 次 |
最近记录: |