跳转到主要内容

从一个发布口袋复制Ubuntu PPA软件包到另一个发布口袋

项目描述

ppa-copy-packages

从发布口袋复制发布的PPA软件包到另一个发布口袋。

我们构建了一些包含各种有用脚本的Debian软件包(即,软件包具有架构:all,不需要在系统库版本更改时重新编译)。我们希望它们对所有支持的Ubuntu版本都可用。因此,我们将为支持的最老LTS版本构建的版本上传到我们的PPA,并使用此脚本将构建的软件包复制到同一PPA中的所有其他版本

ppa-copy-packages -O pov -s xenial -t bionic disco -p pov-admin-tools ...

我使用同样的方法处理 gtimelog,这是一个纯Python程序,也不需要重新编译

ppa-copy-packages -O gtimelog -s xenial -t bionic disco -p gtimelog

有时,当我感到勇敢时,我会尝试用C程序(如pwsafe)使用这个技巧

ppa-copy-packages -O mg -s xenial -t bionic disco -p pwsafe

认证由 launchpadlib 处理,它在首次运行时打开浏览器窗口并要求您登录并授权其访问令牌(该令牌存储在系统密钥链中以方便您)。

概要

$ ppa-copy-packages -h
usage: ppa-copy-packages [-h] [--version] [-v] [-q] [-n] [-w] [-b]
                         [--debug] -O OWNER [-N NAME] -p NAME [NAME ...]
                         -s SERIES -t SERIES [SERIES ...]
                         [--architectures ARCH [ARCH ...]]
                         [--pocket POCKET] [--launchpad-instance INSTANCE]

copy Ubuntu PPA packages from one release pocket to another

optional arguments:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  -v, --verbose         More verbose output (can be stacked)
  -q, --quiet           Less verbose output
  -n, --dry-run         Don't make any changes
  -w, --wait            Wait for pending packages to be published
  -b, --browse          Open the PPA page in a browser, don't do anything
                        else.
  --debug               Very verbose logging, for debugging this script

PPA selection:
  -O OWNER, --owner OWNER
                        owner of the PPA
  -N NAME, --name NAME  name of the PPA (default: ppa)
  -p NAME [NAME ...], --packages NAME [NAME ...]
                        names of packages to copy
  -s SERIES, --source-series SERIES
                        source series (e.g. xenial)
  -t SERIES [SERIES ...], --target-series SERIES [SERIES ...]
                        target series (e.g. bionic)
  --architectures ARCH [ARCH ...]
                        architectures to check for published binaries (default
                        is ['i386', 'amd64'])
  --pocket POCKET       pocket name (you probably don't want to change this;
                        default is Release)
  --launchpad-instance INSTANCE
                        Launchpad instance (default: production)

变更日志

1.9.4 (2022-10-21)

  • 逐个复制软件包以避免Launchpad超时。

  • 在使用 –wait 时,不要重复复制相同的软件包。

  • 修复在使用 –wait 时的 TypeError: '<' 不支持在 'str' 和 'NoneType' 实例之间。

1.9.3 (2020-10-31)

  • 处理使用 –wait 时的 'needs building' 状态。

1.9.2 (2020-07-02)

  • 修复 ValueError: 命名空间 GnomeKeyring 不可用 (GH #3)。

1.9.1 (2019-09-06)

  • 修复 TypeError: 不可哈希类型: 'Entry'。

1.9 (2019-09-05)

  • 首次发布到 PyPI。

  • 统一了三篇我之前散落的硬编码配置的旧脚本。

  • 将硬编码配置替换为命令行参数。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪一个,请了解更多关于 安装包 的信息。

源分发

ppa-copy-packages-1.9.4.tar.gz (11.1 kB 查看散列值)

上传时间

构建分发

ppa_copy_packages-1.9.4-py3-none-any.whl (8.6 kB 查看散列值)

上传时间 Python 3

支持