启动板:CLI“复制包”

MrV*_*dji 9 launchpad command-line ppa

我使用的Launchpad上传.dsc,一debian.tar.gz.orig.tar.xz。orig 档案包含 i386 和 amd64 文件,我debian/rules用来构建不同的架构包。但它仅建立在 Trusty 系列之上。我想使用功能Copy packages,但我希望它是自动化的。

目前,我必须连接到Launchpad,单击View Package Details,单击Copy Packages,然后使用:

> Destination PPA:
> This PPA

> Destination series:
> Utopic

> Copy existing binaries
Run Code Online (Sandbox Code Playgroud)

有没有办法自动执行所有这些“将现有的二进制文件从旧系列复制到新系列”,或者通过 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=lowutopic trusty ; urgency=low

    答:它不起作用:Unable to find distroseries: utopic trusty. Further error processing not possible because of a critical previous error.

  • 问: Build 1orig.tar.xz和多个.dsc&debian.tar.gz

    答:我目前构建了一个递增的版本号(即mypackage-1.1.0-0trusty0mypackage-1.1.0-0utopic0),但解决方案可能会更好,因为我必须orig.tar.xz为每个重新上传并且它在 PPA 中占据两倍的位置,因为构建.deb的不被视为副本彼此但 2 包。

Col*_*son 2

copy-package对此有好处,但正确的现代调用是:

./copy-package --from=~myname/ubuntu/myppa --from-suite=trusty --to=~myname/ubuntu/myppa --to-suite=utopic -b -y packagename
Run Code Online (Sandbox Code Playgroud)

(正如 saiarcot895 正确指出的那样,您需要将--ppa和分开--ppa-name,但这总是非常令人困惑,这也是我们添加统一--from--to指定存档选项的原因之一。此外,您忽略了包含包名称,这可能就是为什么您没有得到输出;更新版本的copy-package检查。)