Debian_QT软件开发_deb打包发布2
在《Debian_QT软件开发_deb打包发布》
一文中,依赖的是dh-make
去打包。本文将通过dpkg
工具去实现打包。前者在麒麟系统安装器中,能正常的安装和卸载,后者笔者实测能安装,但卸载存在问题,只能通过dpkg去卸载
。当然,前者打包比较繁琐,后者打包相对简单。
1 搭建打包环境
1.1 安装打包工具
debian发行版默认装有dpkg
安装包工具,如果没有可以执行以下操作。
2 构建软件包
2.1 创建软件包目录
2.1.1 使用以下脚本build_dir.sh
创建打包目录
这里文件夹名称没什么要求,可以自行定义。打包跟《Debian_QT软件开发_deb打包发布》
一文一致。
2.1.2 补充软件包内容
安装包安装时,会根据软件包目录结构进行安装的。以下将会讲解完善哪些内容。
- 完善软件包目录
opt/
将待打包的文件夹拷贝到软件包目录下opt/
中,软件包发布后,安装成功会在系统/opt
目录下创建该目录的。
添加(此处在.desktop
桌面配置文件DEBIAN
目录的脚本中实现)
将.desktop
文件拷贝到软件包目录下usr/share/applications
,安装包安装时,会自动拷贝.desktop
文件到系统目录下/usr/share/applications
- 将软件图标复制到软件包
usr/share/icons/hicolor/scalable/apps
中
2.1.3 软件包目录下构建DEBIAN
目录
注意:《Debian_QT软件开发_deb打包发布》
一文中,创建的的是debian
,不能和此处混淆,此处需要大写的DEBIAN
,否则dpkg
无法识别到。
- 新建
DEBIAN
、DEBIAN/control
、DEBIAN/postinst
、DEBIAN/postrm
- 添加以下内容至
control
根据实际需求进行修改。
- 添加以下内容至
postinst
,该文件会在安装后调用
以下内容做了如下工作:
- 创建日志文件,用于输出安装信息(这个可以去除,主要调试用);
- 判断用户目录是否存在桌面目录;
- 拷贝桌面快捷文件到指定目录(会在桌面显示应用图标);
- 拷贝桌面属性文件到指定目录(会在菜单栏显示应用图标);
- 软链接可执行文件到/usr/bin,这一步主要是为了桌面图标名称能正常显示名称;
- 关联桌面属性文件。
- 添加以下内容至
postinst
,该文件会在安装后调用
该脚本文件,在卸载完成后会被调用:
- 删除日志文件;
- 删除桌面快捷文件;
- 删除桌面属性文件;
- 删除链接文件。
2.2 使用 dpkg
构建软件包
- 构建
ipcapture-2024.07
是笔者创建的软件包文件夹,要构建deb
文件,需要执行以下命令:
- 安装
- 卸载
-
安装成功
- 桌面会显示图标
- 菜单栏会显示图标