当前位置: 首页>>技术问答>>正文


如何为单个python脚本创建一个deb包?

, , , ,

问题描述

我有一个单独的python脚本,我想作为deb包进行分发。它是一个indicator,它在Unity面板中显示本地日期。我确实遵循从脚本或二进制文件创建一个.deb包,但我无法创建deb包,因为它失败了。

有人可以给我一个step-by-step指导我应该怎么做?据我所知这个脚本取决于python-appindicator

注意:我不想要任何指向Debian /Ubuntu包装说明的链接。我见过他们中的大多数。我不觉得他们初学者友好。

最佳解决方法

接下来是一个python脚本的源代码包的基本示例。虽然大多数包装教程都有点复杂,但如果遇到问题,它们确实可以提供帮助。也就是说,我首先通过查看Debian软件包了解了Debian包装的基础知识。 apt-get source类似的东西,并通过示例学习。

这是你的基本源代码包布局:

my-script/
    -- myScript
    -- debian/
        -- changelog
        -- copyright
        -- compat
        -- rules
        -- control
        -- install

在目录中运行dch --create以创建格式正确的debian/changelog条目。

debian /版权应该如下所示:

Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: myScript
Upstream-Contact: Name, <email@address>

Files: *
Copyright: 2011, Name, <email@address>
License: (GPL-2+ | LGPL-2 | GPL-3 | whatever)
 Full text of licence.
 .
 Unless there is a it can be found in /usr/share/common-licenses

debian /compat可以是:7

于Debian /规则:

#!/usr/bin/make -f

%:
    dh $@ --with python2

请注意,在dh $@ --with python2之前必须有”tab”,而不是空格。

于Debian /控制:

Source: my-script
Section: python
Priority: optional
Maintainer: Name, <email@address>
Build-Depends: debhelper (>= 7),
               python (>= 2.6.6-3~)
Standards-Version: 3.9.2
X-Python-Version: >= 2.6


Package: my-script
Architecture: all
Section: python
Depends: python-appindicator, ${misc:Depends}, ${python:Depends}
Description: short description
 A long description goes here.
 .
 It can contain multiple paragraphs

于Debian /安装:

myScript usr/bin/

该文件指示哪个文件将被安装到哪个文件夹中。

现在用debuild --no-tgz-check构建它

这将创建一个功能deb包。 Lintian会就缺少orig.tar.gz提出一些警告,但除非您打算创建一个能够释放tarball的上游项目,否则您现在可能只想忽略它。

次佳解决方法

  1. 创建一个文件夹,在你的家里有任何名字,例如:mypyscript

  2. 打开文件夹并创建两个名称分别为’DEBIAN’和’usr’的文件夹

  3. 打开文件夹DEBIAN。在那里创建一个名为’control’的文本文件(不带扩展名)。

  4. 打开’control’并键入如下并将其保存在DEBIAN上

    Package: mypyscript
    Version: 0.01
    Architecture: all
    Maintainer: your name<your mail id>
    Installed-Size: 2
    Depends: python-appindicator
    Section: extras
    Priority: optional
    Homepage: your homepage
    Description: describe
    
  5. 回到名为mypyscript的文件夹。打开’usr’。创建一个名为’bin’的文件夹。打开’bin’并在那里粘贴你的pythonscript文件。

  6. 您也可以进行菜单输入。但这不是必需的。

  7. 返回文件夹’mypyscript’所在的主文件夹或关闭文件浏览器。

  8. 打开终端。确保终端位于主文件夹中。键入dpkg -b mypyscript。然后按回车。在几秒钟内你的deb包就绪了

注意:请正确填写’control’文件。不要使用撇号。它仅用于表示名称。

第三种解决方法

您可以尝试使用Debreate创建包的GUI工具。

第四种方法

我会尽快结账,非常适合创建快速应用程序并生成谷歌代码,或者您可以在这里找到教程http://developer.ubuntu.com/

第五种方法

试试pkgme。它应该是正常工作。

安装通过:

sudo apt install pkgme

运行通过:

pkgme
debuild

(新开发人员可能需要运行gpg --gen-key,请参阅Development Keysigning以正确执行此操作)

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/873.html,未经允许,请勿转载。