又是一个德比辛图书馆

pydebsign的Python项目详细描述


状态

https://secure.travis-ci.org/mkouhei/pydebsign.png?branch=develhttps://coveralls.io/repos/mkouhei/pydebsign/badge.png?branch=develhttps://pypip.in/v/pydebsign/badge.pngDocumentation Status

动机

debsign是使用gpg对debian.changes和.dsc文件pare进行签名的devscripts命令, 该命令不能在没有tty的环境中使用,例如由ci调用eking。

我试着使用python的子流程模块debsign,如下所示, 但始终返回输入密码短语提示。 在使用gnupg代理和keyring的情况下也是一样的。

>>> import subprocess
>>> import shlex
>>> command0 = 'echo -e "%s\n%s\n"' % (`passphrase`, `passphrase`)
>>> command1 = '/usr/bin/debsign -k %s %s' % (`keyid`, `.changes`)
>>> process0 = subprocess.Popen(shlex.split(command0),
...                             stdin=subprocess.PIPE,
...                             stdout=subprocess.PIPE,
...                             stderr=subprocess.PIPE)
>>> process1 = subprocess.Popen(shlex.split(command1),
...                             stdin=process0.stdout,
...                             stdout=subprocess.PIPE,
...                             stderr=subprocess.PIPE)
>>> stdout, stderr = process.communicate()

所以,我决定创建一个python库来执行同样的行为debsign。

目标

  • 它可以使用gpg对文件进行签名,而无需输入交互式密码。
  • 它还可以被用户使用,不能登录shell上的ci,如jenkins。

需要

  • Debian系统,或从Debian派生的系统。
    • debian gnu/linux喘息
    • debian gnu/linux杰西/sid
    • ubuntu 14.04 LTS
  • Debian包如下;
    • gnupg
    • dput
    • 林寻
    • Python(=Python2.7)或Python3
  • python包如下;
    • python_gnupg(因为debian包是python gnupg或python3 gnupg)
    • python_debian(因为debian包是python debian或python3 debian)
    • chardet(因为debian包是python chardet或python3 chardet)

用法

一般用法;:

>>> from pydebsign import debsign
>>> debsign.debsign_process('/path/to/some.changes', passphrase='secretkey')

当使用另一个GPG密钥环而不是默认的GPG密钥环时;:

>>> from pydebsign import debsign
>>> debsign.debsign_process('/path/to/some.changes', passphrase='secretkey',
...                         keyid='keyid', gnupghome='/path/to/gpghome')

历史记录

0.1.5(2015-08-25)

  • 将狮身人面像主题更改为狮身人面像主题。
  • 来自mkouhei/travis包的合并拉取请求9
  • 添加执行apt get update。
  • 显式启用sudo。

0.1.4(2014-12-21)

  • 不支持的Python 3.2
  • 添加Sphinx文档并应用阅读文档
  • 已将pep8、pyflakes、pychecker、pylint迁移到tox

0.1.3(2014-05-31)

  • 已修复6 dput check local section失败
  • 不受支持的python2.6

0.1.2(2014-05-27)

  • 修正3无法解码元音变音符。

0.1.1(2014-05-26)

  • 解决了python_gnupg 0.3.0(喘息版本)的向后兼容性问题。

0.1.0(2014-05-26)

  • 初始版本

待办事项

  • 添加命令行界面。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java岩石、布、剪刀程序,带文件输入   java迭代Hashmap中的值列表   数组不能正确循环   JavaHibernate:对于一个遥远的惰性依赖,有一个渴望的获取者吗?   交通阻塞下的java车辆路径选择   如何在java中创建布尔方法来检查添加到具有特定索引的arraylist的对象   java Tomcat配置文件/上下文xml似乎已经崩溃了。请确保它是可分析和有效的。有关详细信息,请参阅服务器日志   为什么坐标有时相等,有时不相等?   java libgdx CameraInputController过于敏感,平移开始得太早   将C++排序函数移植到java   java应该是十进制的   swing Java JFrame中的所有内容都不可见   java使用数组中除一个元素以外的所有元素   从子类运行构造函数的Java