挖坑不止!Geeko Store 开始施工


#1

目标是创建一个基于 Qt 5 的软件商店,支持 OBS 和 Packman。

相比 software.opensuse.org ,它能够真正实现一键安装,不需要下载文件再打开再和对话框互动……

相比 KDE Discover 和 GNOME Software,它能够支持 OBS 的 API,浏览更多的软件包,这对 Leap 用户特别有用。

比较难的部分可能是软件包依赖冲突的解决,当有 OBS 源(特别是 KDE 源这种)加入之后,冲突解决就更头疼了。慢慢来吧。

之前也写过一两个 Qt 5 程序,经验不多,边学边做。各位有兴趣的也欢迎入坑。目前在犹豫纯用 Qt 5 还是用 KDE 的 Kirigami 框架。

每周更新一次,请监督我 :roll_eyes: 欢迎经常 @ 我催更新!


#2

为什么不基于KDE Discover开发?
可以列一列具体的功能需求、技术架构、开发规范等等,其他感兴趣的童鞋也可以加入进来。

楼主加油! :fu::fu::fu:


#3

其实依赖复用 rpm 或者 libzapp 之类的东西似乎就行?


#4

Discover 是基于 AppStream 和 PackageKit 的,造成安装体验很差,所以就放弃了这个路线。


#5

libzypp 是可以的,我还没来得及研究


#6

这个商店是绿色安装的那种吗?就是不用输入根密码的那种安装方式。我觉得做成appimage那种方式最好


#7

就是把software.opensuse.org封装了一下


#8

还是需要密码的,不然可能会导致系统安全漏洞


#9

我觉得你可以发到 openSUSE 的 irc 开发频道或者英文论坛上,关注和愿意合作的人可能还会多些。


#10

等我先搞个雏形出来,现在没啥给人看的东西


#11

开始弄界面


#12

这两天在测试怎么用 OBS 的 API,文档在这里 openSUSE Build Service

我是用 curl 测试的,目前尚未成功,以前都是处理 JSON 的 RESTful API,对这种 XML API 摸不着头脑。有朋友指点一二么。

curl -u wiki_hermes:w_h_p1 "https://api.opensuse.org/search/published/binary/id?match=firefox"

#13

解决了,从 software.opensuse.org 的代码里爬出来了

https://api.opensuse.org/search/published/binary/id?match=%40project+%3D+%27openSUSE%3AFactory%27++and+contains-ic%28%40name%2C+%27firefox%27%29+and+path%2Fproject%3D%27openSUSE%3AFactory%27

match 参数是一种特殊的 XML 查询语法,需要经过 URL 转义。