一、原材料:
rtl8723du网卡源代码包,一级目录如下
二、任务目标:
将该源代码包打包为debian包,用户安装该deb包时,可以通过执行命令sudo dpkg -i 8723du-5.2.15-all.deb 来安装该驱动,并达到和在一级目录下执行sudo bash install.sh一样的效果
三、必要步骤:
1)建立一个目录结构为
这些都是文件夹,其中RTL8723DU_WiFiXXXXX为你的源码包文件夹
注:usr/src的含义是用户安装deb时,RTL8723DU_WiFiXXXXX会被复制到usr/src下面。当然如果你想放在其他的目录下,目录结构usr/src可以改变为你想要的目录
2)在DEBIAN目录下,建立control的文件,里面包含的是关于这个包的一些标志信息
我简略地编辑它为(注意all前面有一个空格)
Package: 8723du
Version: 5.2.15
Section: utils
Priority: optional
Depends:
Suggests:
Architecture: all
Maintainer: XXXXX
Description: 8723DU driver
3)在DEBIAN目录下,建立postinst的文件,里面包含安装完deb包之后要执行的脚本命令,编辑为
#!/bin/sh
set -e
cd usr/src/ RTL8723DU_WiFiXXXXX
sudo bash install.sh
4)在8723du文件夹所在的目录下执行命令dpkg-deb -b 8723du 8723du-5.2.15-all.deb即可在该目录下得到8723du 8723du-5.2.15-all.deb包,安装时使用sudo dpkg -i 8723du-5.2.15-all.deb命令即可安装
这是很简略的版本,存在一些问题,比如在卸载包时,他只会把usr/src目录下的源码包文件夹删除,并不会删除执行install.sh而产生的放置在其他的目录的文件,需要在DEBIAN下另建文件脚本以达到完全卸载的目的。