已做快速打包工具,欢迎下载使用 upTool
一,源码下载
1,debian官方软件包下载
Debian 软件包地址
例:pushover游戏debian主页
- 右键点击红色框内链接,然后复制该链接,
- 在桌面新建pushover目录,进入该目录下载源码
mkdir pushover
cd pushover/
dget http://deb.debian.org/debian/pool/main/p/pushover/pushover_0.0.5+git20180909-3.dsc
#下载慢可以将deb.debian.org换成mirrors.163.com
#dget http://mirrors.163.com/debian/pool/main/p/pushover/pushover_0.0.5+git20180909-3.dsc
- 下载完成后的目录
2,github,gitee等平台下载源码
使用git clone url 下载
二,生成debian目录
- 修改源码包名和生成源码包的tar.gz文件
将其余文件删除,留下源码包,然后生成tar.gz文件
-
进入源码包名录,如果有debian目录,可以直接修改debian目录中的文件,也可以删除重新构建。如果没有,执行debmake命令自动生成debian文件,该例子采取删除后建立新的模板。
-
debian目录下保留这些文件即可,其余文件可以删掉
三,生成deb包
- 修改control文件
主要改动了三个地方:
- section : section值这里选择了games
- Homepage : 复制了下载源码时候的debian主页的url
- Package: 所在url的倒置,域名倒置,路径不倒置,我这里因为包名太长没写packages,包名没有严格要求
-
修改desktop文件
在源码包中找到该软件的desktop文件,该软件放在pushover-0.0.5/src/description/ 目录下
主要改动了两个地方: uos的deb包安装路径放在/opt/apps下,会在rules文件中指定
Exec : 改为deb包安装好后程序可执行文件的路径
Icon : 改为deb包安装好后图标图片所在的路径 -
在debian目录下增加org.info文件
{
"appid": "org.debian.buster.pushover,
"name": "pushover,
"version": "0.0.5",
"arch": ["amd64","arm64","mips64el"],
"permissions": {
"autostart": false,
"notification": false,
"trayicon": false,
"clipboard": false,
"account": false,
"bluetooth": false,
"camera": false,
"audio_record": false,
"installed_apps": false
}
}
appid为包名, name为程序名
- 修改rules文件
修改rules文件虚根据源码构建的过程来修改,修改前可以先使用默认生成的rules文件进行构建,在源码包目录下执行debuild -b命令,大概看一下configure,build,install这三个步骤的构建命令,然后对自己的rules文件修改
主要修改三个地方:
override_dh_auto_configure: 自动执行预编译,对cmake,qmake,configure等预编译工程需用到,本例使用的makefile构建工程,不需用到该步骤
override_dh_auto_build: 覆盖默认的构建规则
override_dh_auto_install: 覆盖默认的安装规则
每个程序的构建步骤都不相同,所以需要需要大概了解原程序的规则,了解源程序如何生成对应的目录,然后修改规则生成符合uos规范的目录
一般生成这样的目录就可以,entries下放构建生成的文件,不一定需要全都有
files文件下为生成的可执行文件,可通过在rules文件中指定前缀生成到files文件夹下
info文件为debian文件夹下的org.info的拷贝。
在源码包目录下执行debuild -b命令,然程序自动生成deb包
下图为生成的目录,此目录和deb包安装后,/opt/apps/下的目录结构相同
四,执行deb包
打开源码包所在的目录,此时生成了deb文件,双击执行该文件
安装完后检查启动器是否有该程序,图标是否显示
然后点击改程序,看程序是否能运行
打包到此完成!!!
- 主要麻烦在修改rules文件,其他按规范改动就可以,rules文件涉及到修改构建规则,修改源码,需要对构建规则有了解才能够打包成功。
- 打包过程中遇到的问题,随时可以在QQ群交流。QQ群号:942418736