简介
说白了,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命令来安装和卸载它了。说到这里,大概已经明白如何来创建二进制包的结构了吧。看千遍,不如自己动手做一遍,动手来做一做吧。