问题描述
我有一个单独的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的上游项目,否则您现在可能只想忽略它。
次佳解决方法
-
创建一个文件夹,在你的家里有任何名字,例如:mypyscript
-
打开文件夹并创建两个名称分别为’DEBIAN’和’usr’的文件夹
-
打开文件夹DEBIAN。在那里创建一个名为’control’的文本文件(不带扩展名)。
-
打开’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
-
回到名为mypyscript的文件夹。打开’usr’。创建一个名为’bin’的文件夹。打开’bin’并在那里粘贴你的pythonscript文件。
-
您也可以进行菜单输入。但这不是必需的。
-
返回文件夹’mypyscript’所在的主文件夹或关闭文件浏览器。
-
打开终端。确保终端位于主文件夹中。键入
dpkg -b mypyscript
。然后按回车。在几秒钟内你的deb包就绪了
注意:请正确填写’control’文件。不要使用撇号。它仅用于表示名称。
第三种解决方法
您可以尝试使用Debreate创建包的GUI工具。
第四种方法
我会尽快结账,非常适合创建快速应用程序并生成谷歌代码,或者您可以在这里找到教程http://developer.ubuntu.com/
第五种方法
试试pkgme。它应该是正常工作。
安装通过:
sudo apt install pkgme
运行通过:
pkgme
debuild
(新开发人员可能需要运行gpg --gen-key
,请参阅Development Keysigning以正确执行此操作)
参考资料