Maemo 是Nokia 开发的新一代手机操作系统,基于开源的Linux 内核。为了更进一步的简化用户操作,Maemo在Debian 的APT包管理系统之上,提供了一个非常简单易用的前端程序Application Manager。这里将简单介绍如何创建能够用于Maemo的软件包。
假设我们的源码包括一个main.c文件和一个Makefile文件,存放到一个名为“hellodebian-1.0.0”的空目录下。需要注意的是,为了构建包,我们需要对Makefile进行修改,在安装路径前加上$(DESTDIR),使包构建工具能够事先创建一个名为Debian/hellodebian的临时目录,包含所有最终要安装的文件。
首先创建环境变量 :
export DEBFULLNAME="Xizhi Zhu"
export DEBEMAIL="xizhi.zhu@gmail.com"
如果你拥有GPG密钥对,系统在构建包时会根据这里的用户名和邮件地址选择相应密钥以进行签名。
然后在存放源码的目录下执行命令 :
dh_make -f ./hellodebian-1.0.0.orig.tar.gz
此时,系统会询问包类型 :
Type of package: single binary, indep binary, multiple binary, library, kernel module, kernel patch or cdbs?
[s/i/m/l/k/n/b]
根据程序类型进行选择 后,系统会产生如下输出:
Maintainer name: Xizhi Zhu
Email-Address: xizhi.zhu@gmail.com
Date: Thu, 19 Nov 2009 20:40:55 +0200
Package Name: hellodebian
Version: 1.0.0
License: blank
Using dpatch: no
Using quilt: no
Type of Package: Single
Hit <enter> to confirm:
如果确认无误则点击回车确认,则系统会生成一个名为debian的目录 ,包含各种配置文件和man手册模板等。为节省空间,Maemo只要求changelog 、compat (兼容性版本号,不要修改)、control (描述包依赖等信息)、copyright 和rules (编译用的makefile)五个文件被保留。需要注意的是,所有文本信息必须以UTF-8格式进行编码。
其中,最核心的control文件 必须 包含以下几个域:
Source: hellodebian
Section: user/other
Priority: optional
Maintainer: Xizhi Zhu <xizhi.zhu@gmail.com>
Build-Depends: debhelper (>= 4.0.0)
Standards-Version: 3.8.1
Package: hellodebian
Architecture: any
Depends: ${shlibs:Depends}
Description: 简单描述
详细描述,注意行首有一个空格
XB-Maemo-Icon-26:
以BASE64进行编码的图标文件,可用uuencode等程序编码 ,注意行首有一个空格
注意,Application Manager仅显示user目录下的包,故Section一项必须是user/<sub-section>的格式
修改完相应信息后,就可以构建安装包 了:
dpkg-buildpackage -rfakeroot -b
包构建工具会在上一层目录生成构建的包 :
hellodebian_1.0.0-0_i386.deb
现在,你就可以用这个.deb在SDK中进行测试。通过测试后,则在scratchbox中将目标调节为FREMANTLE_ARMEL即可构建真正用于Maemo上的包。
构建Maemo软件包
最新推荐文章于 2024-09-26 15:54:18 发布