qt程序打包(四)Linux(UOS)系统生成deb包

一、背景
1.设备: UOS专业版虚拟机
2.程序:qt代码,已经实现抓取依赖库,摆脱qt环境,此步骤参考下面的博文:

http://t.csdn.cn/Jlq8N

经过这一步,我们得到一个文件夹,这个文件夹里包括:可执行程序、.sh脚本(用于寻找和执行程序)以及用到的库和配置文件。
3.前言:UOS系统比较特殊,它对于安装到系统的安装包有比较严格的要求,为了避免一些不必要的麻烦,我们根据官方的要求来做,参考资料:

打包教程视频:https://www.bilibili.com/video/BV1P54y1v7NL?share_source=copy_web

如何构建符合uos应用商店打包规则的安装包:链接:https://pan.baidu.com/s/1Y6bc0YlL3jKO3tL6UWYemw
提取码:1123
–来自百度网盘超级会员V6的分享

二、实现
uos规定第三方的应用程序装在/opt/apps路径下,我们在打安装包的时候先建立好目录结构,填入相应的内容,就可以打包了。
(1).建立目录结构(如下图)注意事项:
1.最外层的文件夹要以“程序名-版本号”或域名倒写的形式,名字必须小写
2.我红字的这些地方:abc指的是应用程序名
3.icons目录存放的是应用程序的图标,根据像素大小分开放置,图片只能用svg或png,不能用别的类型直接改后缀!

这里是引用

(2). 建好之后填写内容:

  1. 存放将本文开头说的那个文件夹里的文件复制到files文件夹中,然后在files文件夹下建立bin文件夹,将上述sh文件和可执行文件放进来。
  2. info 文件填写内容: permissions中的参数根据需要选择(上面那个网盘提供的文件中有详解)
{
    "appid": "abc",   #程序标识,与上图红字保持一致小写
    "name": "Abc",               #此处是你像展示出来的程序名
    "version": "1.0.0",
    "arch": ["amd64"],
    "permissions": {
        "autostart": false,
        "notification": false,
        "trayicon": true,
        "clipboard": false,
        "account": false,
        "bluetooth": false,
        "camera": false,
        "audio_record": false,
        "installed_apps": false
    }
}

  1. desktop文件是桌面启动文件,很重要! ! 填写如下:
Name=Abc               #此处是你像展示出来的程序名
Comment=The Lightning-Smart PHP IDE
Comment[zh_CN]=极速智能的 PHP 开发工具
Exec=/opt/apps/com.jetbrains.phpstorm/files/bin/phpstorm.sh      #bin里面那个启动脚本
Icon=abc.svg        #图标 直接写名字或者写清楚路径(个人感觉后者更保险)
Categories=Development
Type=Application

(3)上面弄好之后,在opt文件夹同目录下 打开终端,填写如下命令,则会生成一个debian文件夹,与opt文件夹并列:

dh_make --createorig -s -n

如图:

这里是引用

(4)处理debian文件夹
1.进入debian文件夹,将多余的文件夹删掉,可用以下两个命令:

rm *.ex *.EX
rm -rf *.docs README README.*

2.control文件如下:

Source: abc
Section: unknown
Priority: optional
Maintainer: unknown <unknown@unknown>
Build-Depends: debhelper (>= 11)
Standards-Version: 1.0.0        #此处与info文件中的version保持一致
Homepage: <insert the upstream URL, if relevant>
#Vcs-Browser: https://salsa.debian.org/debian/
#Vcs-Git: https://salsa.debian.org/debian/.git

Package: yeecohreader
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}    #此处放需要依赖安装的程序或库
Description: <简介>
  1. rules文件有改动的地方如下:

export DH_VERBOSE = 1


%:
	dh $@
override_dh_auto_build:

override_dh_shlibdeps:

override_dh_strip:

  1. 新建一个install文件(无后缀名),此处填写安装位置:
opt/ /    #装在根目录下,结果就是:将之前做好的目录结构放到/opt下了

以上弄好之后检查一下,现在debain中有7项:source文件夹、install、control、rules、changelog、compat、copyrirht.

如果有别的设置可以考虑脚本:postinst, potram,postrm等四个无后缀的脚本文件是打包时可识别的文件,他们是放在debin文件夹中。
如果想在卸载程序的时候卸载掉某一个目录下的文件,可以写在postrm脚本中,它会在卸载的时候执行。

(5)终于可以生成deb包了:在opt和debain同目录下,右键终端,输入下面命令:

sudo dpkg-buildpackage -us -uc -b -tc

然后静静等待几分钟在opt的上级目录就生成了一个deb包和两个用不着的文件。

(6)
deb包安装方法:双击或者用下面的命令,命令可以帮助查看安装过程中的一些信息。安装好之后在左下角开始菜单中可以看到程序,右键选择“发送到桌面”即可生成桌面快捷方式。

sudo dpkg -D2 -i yeecohreader_3.1.2_amd64.deb
  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值