您的位置:首页 > 产品设计 > UI/UE

dpkg-buildpackage制作deb软件包

2016-05-06 00:00 337 查看
摘要: “
我这里要说明一下,下面会详细介绍一下deb软件包制作,但是由于软件包功能的限制,大家如果想学习deb软件包打包的话,可以把这篇博文作为deb打包的经验贴或者是入门贴。如有不对的地方,还请各位批评指正~


简介
说白了,deb包就是debian Linux下的一个软件包格式,从文件的角度来看,deb包就是deb格式的归档文件而已。

其实我已经接触debian系列的Linux好久了,但是说来也惭愧,我都没有自己尝试去手动打一个包。机缘巧合的是,我的组长R女士让我做一个系统的帮助手册软件包,我当时就开开心心的揽下了这个活,我是一个做事喜欢理由或者借口的人,如果上面两者都没有,那么我做事会非常消极。得亏这次不仅仅能作为任务来交差,还能满足一下自己对deb打包的好奇心。

思路(想看打包方法的,直接跳过该部分)
首先,这个包是一个软件,那我还是最好遵循软件工程的原则来做这个软件包。

需求:1)从【开始菜单】进入在线帮助反馈,可以在网页上打开帮助页面;

2)F1快捷键同样可以调用浏览器打开帮助页面;

3)帮助页面的内容为操作系统的用户帮助信息。

4)最终该安装包的名字fakeroot_01-01_amd64.deb。

分析:

软件设计:

|开始菜单帮助入口| |F1按键|

| |

| |Gnome应用程序keybinding|

| |gnome-help|

| |

| --- 帮助应用程序 ------- |

编码:

关于这个软件的编码量基本集中在网页部分,就不具体说明了。

另外还有少量的脚本需要编写。

测试:

黑盒>

1) 正常安装;

2) 按下F1,firefox浏览器会打开一个help-doc.html网页;

3) 在【开始菜单】入口中,点击【在线帮助与反馈】,达到和上面一样的效果;

4) 最后简单对帮助反馈页面的内容进行一个简单的测试,需要网页能够达到预计的效果。

5) 正常卸载。

发布与提交

在测试正常的情况下,将软件包提交构建组构建,以提供进一步的测试。

打包过程
查阅相关文档,确保源码包中必须具备的基本目录结构,目录结构如下>

|-- DEBIAN
| |-- control #包含主要的软件版本信息和维护者信息
| |--changelog #软件包的修改记录,它是有规范的,下面会给出
| |--rules #该文件及其重要,里面包含了打包时执行的动作
| |-- postinst #该脚本为安装软件包时执行的处理脚本
| |-- postrm #该脚本为卸载软件包时执行的处理脚本
| |-- compat #兼容性文件照者其它源码包中的内容抄就ok了
|--usr

|--资源文件

1)步骤一

假设当前在~下,创建基本目录结构

~ $  mkdir fakeroot-1.11.0

~$   cd fakeroot-1.11.0

~/fakeroot-1.11.0$   mkdir  fakeroot      # you can use any name you like , actually , I recommend you to use a name relevant to your debian software

~/fakeroot-1.11.0$  mkdir  debian     # important control files should be in it

2)步骤二

在debian目录下创建控制信息

control文件

source: fakeroot     #源码包名
section: devel   #工具类
Priority: optional  #优先级
Maintainer:  #维护者邮箱
Standards-Version: 1.11.0   #版本号

Package:fakeroot   #这个指的是编译生成的二进制包名
Architecture: any   #软件包适用的系统架构
Depends:  ***(oprator version)
Description : #给出你对这个软件的描述

postinst文件

#!/bin/sh

code block      #do what you want to do on the post stage of excuting `dpkg -i fakeroot`

postrm文件

#!/bin/sh

code block       # do what you want to do on the post stage of excuting 'dpkg -r fakeroot**'

rules文件

install: build阶段

rm -r $(CURDIR)/debian/fakeroot*          #在build过程中将fakeroot相关的中间文件删除
mkdir -p $(CURDIR)/debian/fakeroot
cp -r $(CURDIR) /fakeroot/$(DEB_HOST_ARCH)/usr  $(CURDIR)/debian/fakeroot/    #将usr下的资源文件拷贝到资源文件下

3)步骤三

创建资源文件,这一部分是你实现软件的核心部分文件了

在usr目录下创建资源文件

usr/share/applications usr/share/cdos-help usr/share/doc

4) 步骤四

~/fakeroot-1.11.0 $ dpkg-buildpackage -fakeroot -uc -us

前面的步骤如果全部执行成功的话,那么执行上面的命令的话,会在上一层目录生成fakeroot-1.11.0_amd64.deb。

到这一步,你的二进制包文件已经创建成功了。

总结
经过以上的步骤,你想要创建的二进制包已经创建成功了。此时,你可以使用dpkg命令来安装和卸载它了。说到这里,大概已经明白如何来创建二进制包的结构了吧。看千遍,不如自己动手做一遍,动手来做一做吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  deb打包 dpkg