你们要的“图形化打包工具”
Tofloor
poster avatar
wtz
deepin
2018-02-04 02:56
Author
本帖最后由 wtz 于 2018-10-13 21:03 编辑

抽空写了一个flatpak-builder和flatpak的外壳,看看你们需要不。如
欢迎在github上开issue~

Github: https://github.com/zwpwjwtz/FlatpakBuilder-qt
编译好的可执行文件(Deepin 15.4以上):FlatpakBuilder-qt.zip


注意事项

1、请先安装如下依赖:
  1. sudo apt install flatpak-builder
  2. sudo apt install  deepin-fprt-com.deepin.runtime-15.5 deepin-fprt-com.deepin.sdk-15.5
Copy the Code

2、不要在tmpfs上(比如 /tmp)执行程序!请把程序复制到其他地方(比如”~/“下面),然后再执行,不然会因为无法设置xattr而报错……被这个神坑坑了一晚上有木有……
3、build目录不要设为 /tmp!理由同上。
4、目前只支持使用git qmake管理的项目,而且只能编译一个模块。后期会加入更多选项。
5、请确保你的Qt项目文件(XXX.pro)里面有如下行:
  1. target.path = ${PREFIX}/bin/
  2. INSTALLS += target
Copy the Code
不然无法编译安装。

暂时就这样~

============
2018-03-11更新:
1、支持多模块编译;
2、支持Git、压缩文件、patch文件等多种类型的源代码;
3、支持编译Dtk应用(在“Application”选项卡中的“Own name in sandbox”那一行填入“com.deepin.SingleInstance.XXX”就行了,“XXX”是任意名称。

如何安装并运行编译好的Flatpak包:
  默认情况下,Flatpak包位于Build path文件夹下,文件名与.pro文件的名称一致。如果要将Flatpak包安装到系统仓库,可以使用命令:
  1. flatpak install --bundle XXX
Copy the Code
其中“XXX”是Flatpak包的文件名。安装时需要提供密码(因为需要修改系统的flatpak仓库)。
  然后就可以运行程序了:
  1. flatpak run YYY
Copy the Code
其中“YYY”是打包时输入的程序名(Application ID),例如“com.example.firefox”。

============
2018-09-29更新:
1、支持生成可执行文件!传说中的(伪)一键安装不再是梦想!目前安装部分的代码是用C写的,所以GUI很粗糙,以后会逐渐完善。
2、支持编译单独的目录!告别git噩梦,从此笑傲江湖_(:з」∠)_
3、可以在/tmp上编译了……
4、注意:从deepin 15.7开始,系统默认安装的Flatpak平台是 deepin-fprt-org.deepin.flatdeb.base.platform ,而非 deepin-fprt-com.deepin.runtime。如果只安装了前者,则无法使用本程序打包(因SDK中缺少qmake),也无法运行打好的flatpak包。故请按照注意事项第1条进行操作。

  国庆节快乐~

============
2018-10-13更新:
1、 修正安装依赖的命令;
2、编译时显示进度条。

Reply Favorite View the author
All Replies
2 / 2
To page
avatar
pikachuhy
deepin
2018-04-23 07:42
#21
https://bbs.deepin.org/post/152879
仓库链接?什么东西?
我是按照这个帖子做的
https://qtdream.com/topic/1095/flatpak-hello-world

抱歉,把你坑到了。
我重新试了一下,也遇到这个问题了。
暂时还没有解决的思路。
Reply View the author
avatar
wenjie198881
deepin
2018-04-24 07:15
#22
标记一下。
Reply View the author
avatar
要讲武德
deepin
2018-05-05 10:35
#23
Reply View the author
avatar
zkqsky
deepin
2018-10-14 04:42
#24
无法定位软件包 deepin-fprt-com.deepin.runtime
E: 无法按照 glob ‘deepin-fprt-com.deepin.runtime’ 找到任何软件包
E: 无法按照正则表达式 deepin-fprt-com.deepin.runtime 找到任何软件包
咋办
Reply View the author
avatar
wtz
deepin
2018-10-14 04:49
#25
https://bbs.deepin.org/post/152879
无法定位软件包 deepin-fprt-com.deepin.runtime
E: 无法按照 glob ‘deepin-fprt-com.deepin.runtime’ 找 ...

抱歉,少写了一个版本号,应该是:
  1. sudo apt install  deepin-fprt-com.deepin.runtime-15.5 deepin-fprt-com.deepin.sdk-15.5
Copy the Code
Reply View the author
avatar
Ligocut光剪视频剪辑软件
deepin
Backbone of ecological co-construction group
2019-04-06 06:03
#26
我写的软件要唤醒或者调用其他程序,flatpak打包后的软件能做到这一点吗?
Reply View the author
avatar
wtz
deepin
2019-04-07 05:47
#27
https://bbs.deepin.org/post/152879
我写的软件要唤醒或者调用其他程序,flatpak打包后的软件能做到这一点吗?

可以通过dbus与其他程序通讯。
Reply View the author
avatar
Ligocut光剪视频剪辑软件
deepin
Backbone of ecological co-construction group
2019-04-07 07:30
#28
https://bbs.deepin.org/post/152879
可以通过dbus与其他程序通讯。

好的,我试试
Reply View the author
2 / 2
To page