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

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

有人可以给我一步一步说明我应该做什么吗? 据我所知,这个脚本依赖于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 / copyright应该是这样的:

 Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: myScript Upstream-Contact: Name,  Files: * Copyright: 2011, Name,  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 / control

 Source: my-script Section: python Priority: optional Maintainer: Name,  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构建它

这将创建一个function性的deb包。 林天将对​​缺少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 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包就准备好了

注意:请正确填写“控制”文件。 不要使用撇号。 它仅用于指示名称。

您可以尝试使用Debreate ,这是一个用于创建包的GUI工具。

我会快速检查,非常适合创建快速应用程序和生成debs谷歌它或你可以在这里找到教程http://developer.ubuntu.com/

试试pkgme 。 它应该是Just Work。

安装途径:

 sudo apt install pkgme 

通过:

 pkgme debuild 

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

同时,有一篇文章描述了https://www.nylas.com/blog/packaging-deploying-python/上发现的两难问题。 它主要表明dh-virtualenv与make-deb一起使用setup.py文件轻松部署Python代码。 可以在https://gist.github.com/JeOam/bc6cbf38f04d6f9dbf81上找到一本简短的手册。

您可以尝试使用Debreate

如果您不想从上面列出的网站下载它,那么这是一个用于创建包和您可以使用PPA的Gui界面。

 sudo add-apt-repository ppa:antumdeluge/; sudo apt update; sudo apt install debreate 

我已经接受了ppa,因此它只运行一行代码! 感谢您提出的令人敬畏的问题,并确保将这些代码行保存到终端!