pypackager是一个板载开发工具,用于创建源代码和binarymaemo/harmattan/meego包。

pypackager的Python项目详细描述


pypackager
==

**许可证:**gplv3
**来源:**[github存储库](https://github.com/khertan/pypackager)
**下载(maemo):**[pypackager on maemo存储库](http://maemo.org/packages/view/pypackager/)
**下载(meego):**[pypackager on meego存储库](http://repo.pub.meego.com/home:/khertan/harmattan/armel/)
**错误跟踪器:**[pypackager错误跟踪器](https://github.com/khertan/pypackager/issues)
**平台:**maemo diablo,maemo fremantle

pypackager是一个板载开发工具,用于创建源代码
和二进制maemo包。

![pypackager source截图](http://khertan.net/medias/pypackager.jpg)


\pypackager howto


在maemo平台上,使用debian包
系统分发软件。如果您不在scratchbox中开发,而是直接在设备上开发,则需要一个工具来正确地组合软件以作为
.deb包分发。为了解决这个问题,我创建了pypackager。pypackager 3.x.x与py2deb相同,除了使用相同的脚本,您可以准备要上传到Extras Maemo Builder的包,或者直接在您的设备上为Maemo构建Debian包。


因此,您可以使用应用程序管理器安装它。

然后
添加以下文件和文件夹:*一个子文件夹/src,其中包含所有
源文件,文件夹结构代表应用程序文件
在设备上的安装方式,并且设置了正确的权限(因此不要使用fat分区~/mydocs)!*软件包的图标(例如
myapp.png,48×48像素),在
应用程序管理器中可以看到的图标。*以及make.py文件

可以使用



$python setup.py bdist_dumb


在dist/子目录中编译并生成.tar.gz包。只需在src/文件夹中解包
该包,并在其中添加hildon桌面集成文件
(见下文)。


\example/src folder structure


hildon桌面集成所需的文件:


/src/usr/share/applications/hildon/myapp.desktop
/src/usr/share/dbus-1/services/myapp.service
/src/usr/share/icons/hicolor/48x448/hildon/myapp.png
/src/usr/share/icons/hicolor/48x448/hildon/myapp.png/myapp.png/myapp.png(64x64像素)




~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/>版本=1.0.0
编码=utf-8
名称=myapp
注释=clock&;日夜地图
exec=/opt/myapp/myapp.py
icon=myapp
x-icon-path=/usr/share/icons
x-window-icon=myapp
type=application
x-osso-service=net.khertan.myapp
x-osso-type=application/x-executable
StartupWMClass=MyApp
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

*版本*是桌面文件的版本,而不是应用的版本。保持在1.0.0
*name*是菜单中显示的应用程序名称
*description*是指菜单中显示的应用程序说明
mode
*exec*是指向应用程序的链接
*icon*是我们图标文件的名称,没有尾随的.png部分
*x-icon-path*是图标的路径
*x-window-icon*是图标文件的名称,没有尾随的.png部分
*startupWMClass*是唯一需要的,因为如果它的程序使用直接屏幕
呈现类库,就像pygame一样,xlib或opengl。

请注意,只有在实际使用osso
服务时,才需要x-osso-service行。如果不正确处理应用程序中的
osso事件,将该行包含在.desktop文件中,将重新应用程序中的sult在启动后不久即被终止





>
>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~申请文件自身本身也

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>/src/opt/myapp/myapp/myapp.py
/src/opt/myapp/myapp/myapp.py/src/opt/myapp/myapp/myapp/myapp/myapp/myapp等一类别的一类。py
~~~~~~~~~~~~~~~~~~~~~~~~.py应该以:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
小精灵!/usr/bin/env python
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

可执行

/>安装build_myapp.py.py安装build_myapp.py的代码



/>/>复制以下代码创建自己的build_myapp.py.py.py,然后根据需要编辑


* -*-编码:UTF-8**BR/>此程序是自由软件;可以根据GNU通用公共许可证的条款重新发布和修改< BR/> >,由自由软件基金会发布。是在希望它有用的情况下分发的,
但没有任何保证;甚至没有对
适销性或特定用途的适用性的暗示保证。有关更多详细信息,请参阅
GNU通用公共许可证。
p=pypackager.pypackager("khteditor")
p.version="0.0.1"
p.buildversion="1"
p.display"khteditor name="khteditor"
p.description="khteditor是专为运行maemo和meego手机的设备设计的源代码编辑器。"
p.author="beno_thervier"
p.mainter="khertan"
p.email="khertan@khertan.net"
p.depends="python2.5-qt4-gui,python2.5-qt4-core,python2.5-qt4-maemo5"
p.suggestions="pylint"
p.section="用户/开发"
p.arch="armel"
p.emergency="low"
p.bugtracker="http://khertan.net/flysray/index.php?项目=7'
p.distribution="fremantle"
p.repository="extras devel"
p.icon="khteditor.png"
p["/usr/bin"]=["khteditor_launch.py",]
p["/usr/share/dbus-1/services"]=["khteditor.service",]
p["/usr/share/pixmaps"]=["khteditor.png",]
p["/usr/share/applications/hildon"]=["khteditor.desktop",]
meego的特定标志
p.maemo_flags='可见'
p.meego_desktop逖entry逖filename='
p.createdigsigsums=true
p.aegismanifest=''<;aegis name="…">;
<;提供>;
<;提供>;
<;限制>;
<;帐户>;
<;帐户>;
<;请求>;
<;域>;
<;docstring>;<;/docstring>;
<;/aegis>;''
文件=[]

src
OS.walk('/home/user/mydocs/projects/khteditor/khteditor'):
FS中的f:
打印OS.path.basename(root),dirs,f
前缀='khteditor/'
如果os.path.basename(根)!='khteditor':
prefix=prefix+os.path.basename(root)+'/'
files.append(prefix+os.path.basename(f))
打印文件



p["/usr/lib/python2.5/site packages"]=文件

chmod+x/usr/bin/khteditor_launch.py
python-m compileall/usr/lib/python2.5/site packages/khteditor"

p.changelog=""第一个版本
""

打印p.generate(build_binary=false,build_src=true)
打印p.generate(build_binary=true,build_src=true)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

\py运行make.py代码


打开设备上的"x终端",并将目录更改为文件夹(例如
"cd/home/user/myapp")。然后在xterm中使用"python2.5make.py"运行代码。
pypackager现在将打包您的文件。一旦成功完成,
根据生成选项,您的~/myapp文件夹将包含新文件,这些文件可以上载到maemo auto builder,也可以上载到您自己的存储库
*myapp_0.5.6-1.更改(更改日志)
*myapp_0.5.6-1.dsc(包
说明)
*myapp_0.5.6-1.tar.gz(打包的源文件)

本文是从[http://wiki.maemo.org/py2deb](http://wiki.maemo.org/py2deb)页面派生的。

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

推荐PyPI第三方库


热门话题
java JAXB封送字符串,具有xml值,且不转义该值   java ModelMapper转换器不工作   java像HH000412或HCANN000001这样的前缀是什么意思?   验证日期输入修复java。lang.numberformatexception错误   当表具有外键时,java Telosys代码生成失败   如何使所有派生类一起只能实例化一个实例的单例抽象基类?(爪哇)   java如何在非静态服务类中使用广播接收器   java nutch爬虫相对URL问题   使用Jboss DMR下载/保存java附件   Rest模板:无法提取响应:当我们得到xml响应时,没有找到适合响应类型的HttpMessageConverter,没有绑定到JAVA对象   java如何编写可扩展窗格/面板/卡的代码   java是在ITreeViewerListener的treeExpanded()之前调用ContentProvider的getChildren()吗?   java将JComponent添加到小程序窗格   java混淆:使用简单逻辑的Flames程序