拓冰建站拓冰建站
首页 / 资讯中心 / 正文

Deepin 应用商店 deepin-appstore 源码编译实战:4 步跑通 Deepin AppStore

Deepin 应用商店 deepin-appstore 源码编译实战4 步跑通 Deepin AppStore【免费下载链接】deepin-appstore项目地址: https://gitcode.com/gh_mirrors/dee/deepin-appstoredeepin-appstore 是 Deepin 团队维护的 Deepin 系统官方应用商店负责搜索、安装、升级和管理系统里的 deb 软件包。它在生态里扮演客户端入口 包管理代理的双重角色界面上看到的每个下载按钮最终都会经过它的 Go 守护进程转发给系统包管理器。 先备好依赖让 Deepin 应用商店编译环境达标这套客户端是C/Qt5 DTK Angular Go的混合体缺一个组件都编不过。装编译依赖在 Debian/Ubuntu 系系统上一条命令装齐核心依赖sudo apt install cmake libdtkwidget-dev libqcef-dev libqt5webchannel5-dev \ libsass0 qttools5-dev-tools libqt5sql5-sqlite qttools5-dev这一步装上 DTK 桌面组件、libqcef网页内核和 Qt 翻译工具主程序全靠它们链接。拉源码与子模块git clone https://gitcode.com/gh_mirrors/dee/deepin-appstore cd deepin-appstore git submodule update --init --recursive git submodule update --remote子模块 src/web/vendor-deps 是前端构建依赖不初始化后面npm run build会直接失败。 从源码到可运行三步跑通 Deepin 应用商店1. 配置 CMakemkdir build cd build cmake .. -DCMAKE_BUILD_TYPERelease选Release很关键它会自动触发前端网页构建、翻译 .qm 生成、Go 守护进程编译四个附加任务见 src/CMakeLists.txtDebug 模式只编主程序和 daemon网页界面会缺失。注意Release 构建要求本机装好Node.js/npm前端用 Angular CLI和Godaemon 编译用go build。2. 开始编译make -j$(nproc)产物包括deepin-appstore主程序和deepin-appstore-daemon守护进程二者通过 DBus 通信。3. 运行起来sudo make install deepin-appstore安装会把web_dist前端产物、翻译文件和 daemon 都放到系统目录直接./build/deepin-appstore也能先跑起来看看效果。 它能做什么用户视角与开发者视角各举一个例子普通用户场景启动后在首页搜索、浏览分类和推荐专题点安装即走 daemon 调 apt 装 deb 包我的应用页可以本地管理已装软件支持批量安装和自动更新检查。开发者场景一调接口daemon 在 DBus 上注册了com.deepin.AppStore.Daemon服务接口定义见 src/dbus/ 里的 XML 文件Backend、Job、Deb、metadata、settings 等你可以写脚本直接触发安装、查询任务进度而不必碰图形界面。开发者场景二写插件链接应用可用dpk://deb/gedit这种链接表达某个包名 包格式商店点击即可拉起安装规则文档在 docs/dpk.md。 继续深入贡献路径与值得读的代码从翻译入手是最快的贡献路径。整个 i18n 流程已经内置# 仓库根目录执行 cmake --build . --target download-i18n # 拉取翻译 cmake --build . --target upload-i18n # 推送更新翻译源文件集中在 translations/ 和前端 src/web/src/locale/用 Qt Linguist 或 Transifex 都行。想改功能按模块对号入座主程序Qt/Csrc/app/ 是入口src/ui/ 是原生窗口和控件网页前端Angularsrc/web/src/app/首页、详情、下载、我的应用各是一个独立 moduleGo 守护进程src/daemon/ 处理包安装deb.go、任务队列deb_job.go和元数据metadata.go包管理器封装src/services/package/ 里有 apt 封装和 dpk 链接解析接新包格式从这里改相关生态组件daemon 里对接了 lastoreDeepin 的软件包后端接口见 src/dbus/ 的lastore_deb_interface系统侧的推送元数据处理配置在 src/daemon/data/com.deepin.appstore.json。回归测试脚本在 test/ 下改完 daemon 建议跑一遍test_settings.bash再提交。【免费下载链接】deepin-appstore项目地址: https://gitcode.com/gh_mirrors/dee/deepin-appstore创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门