我正在使用 Launchpad 上传 a .dsc
、adebian.tar.gz
和 a .orig.tar.xz
。原始存档包含 i386 和 amd64 文件,我用它debian/rules
来构建不同架构的软件包。但它只在 Trusty 系列上构建。我想使用该功能复制包,但我希望它能够自动化。
目前,我必须连接到发射台, 点击查看套餐详情, 点击复制包,并使用:
> Destination PPA:
> This PPA
> Destination series:
> Utopic
> Copy existing binaries
有没有办法自动执行所有这些“将现有二进制文件从旧系列复制到新系列”的操作,或者通过 CLI 在脚本中使用它?
谢谢
线索:
问:或许
ubuntu-archive-tools
可以帮我做到这一点,它似乎有一个复制包的 python 脚本?A:它不适用于:
python copy-package -y -b --ppa-name=myname/myppa --to-ppa-name=myname/myppa -s trusty --to-suite=utopic -e versionofpackage
问:也许如果我将我的变更日志条目从
trusty ; urgency=low
改为utopic trusty ; urgency=low
?A:它不起作用:
Unable to find distroseries: utopic trusty. Further error processing not possible because of a critical previous error.
问:构建 1
orig.tar.xz
和多个.dsc
&debian.tar.gz
A:我目前构建了一个递增的版本号(即
mypackage-1.1.0-0trusty0
和mypackage-1.1.0-0utopic0
),但解决方案可能更好,因为我必须为orig.tar.xz
每个重新上传,并且它在 PPA 中占用两倍的位置,因为构建的.deb
不被视为彼此的副本而是 2 个包。
答案1
copy-package
对此很有用,但正确的现代调用应该是:
./copy-package --from=~myname/ubuntu/myppa --from-suite=trusty --to=~myname/ubuntu/myppa --to-suite=utopic -b -y packagename
(正如 saiarcot895 正确指出的那样,您需要分离--ppa
和--ppa-name
,但这总是非常令人困惑,这也是我们添加统一--from
和--to
选项来指定档案的原因之一。此外,您忽略了包含包名称,这可能是您没有输出的原因;较新版本的copy-package
检查了这一点。)