

















作者:克亮 原文链接:https://bbs.deepin.org/post/291716
什么是pica ?pica 怎么用?
官方文档介绍:https://linyaps.org.cn/guide/ll-pica/introduction.html
玲珑pica是一套用于将不同格式的应用包(deb、AppImage、Flatpak)转换为玲珑(Linglong)格式应用包工具集。该工具集由二进制程序和脚本组成,形成了一个完整的应用包转换生态系统。
deepin V23-25系统可以通过右键打开终端 输入 apt download linglong-pica 获取安装deb包
目前仓库最新版本是 linglong-pica_1.2.4-1+u005_amd64.deb

我们可以通过dpkg-deb -R 命令来解包deb包,一探究竟里面都有些什么内容(里面包含二进制文件及相关脚本)


DEB 包转换(ll-pica)
https://linyaps.org.cn/guide/ll-pica/convert.html
AppImage 应用转换(ll-appimage-convert)
https://linyaps.org.cn/guide/ll-appimage-convert/convert-appimage.html
Flatpak 应用转换(ll-pica-flatpak)
https://linyaps.org.cn/guide/ll-flatpak-convert/convert-flatpak.html
我们来重点学习和理解 如何利用ll-pica-flatpak convert 实现将flatpak的应用转换成 玲珑应用
$HOME/.cache/linglong-pica-flathub$HOME/.pica/ll-pica-flatpak-config.json$HOME/.pica/ll-pica-flatpak-refs.txt--base :指定基础镜像名称--base-version :指定基础镜像版本--version :指定应用版本--build :是否构建 UAB 包--layer :是否导出为layer格式安装包ostree init --repo="$FLATHUB_CACHE" --mode bare-user-onlyostree --repo="$FLATHUB_CACHE" remote add --if-not-exists --no-sign-verify flathub "$FLATHUB_URL"ll-pica-flatpak-utils generate_ref_cacheostree --repo="$FLATHUB_CACHE" pull "$REF"$REF 的格式为: flathub:app/$APPID/$ARCH/stablemkdir -p "$WORKDIR"ostree --repo="$FLATHUB_CACHE" checkout "$REF" "$WORKDIR/flatpak"grep '^command=' $WORKDIR/flatpak/metadatagrep '^runtime=' "$WORKDIR"/flatpak/metadataorg.deepin.base.flatpak.$(echo "$FLATPAK_RUNTIME"|awk -F'.' '{print $2}')/app 路径替换为 /opt/apps/$APPID/files1.创建 linglong.yaml
2.创建 profile 文件
--build 选项,执行: ll-builder build--layer 选项,执行: ll-builder export --layerll-builder export经过大量应用测试,发现通过ostree 拉取应用时间比想象中的要久,而且非常不稳定,为了解决这个问题。作了好几套方案,把心路历程跟大家交流如下:
对于新手来说 首先要先本地配置好Flatpak 商店,打开网址 https://flathub.org/zh-Hans 根据自己的发行版 安装Flatpak,这里以Deepin 来演示。


sudo apt install flatpak
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
sudo flatpak remote-modify flathub --url=https://mirror.sjtu.edu.cn/flathub
sudo flatpak remote-modify flathub --url=https://mirrors.sjtug.sjtu.edu.cn/flathub
如果想恢复官方源:
flatpak remote-modify flathub --url=https://dl.flathub.org/repo
如果想查看flatpak仓库的详细信息
flatpak remotes --show-details

到这里,针对Flatpak 部分就已经介绍完毕,如有错误,请多执教!
方法一:将Flathub 缓存目录 config 里面的默认仓库 改为上海交大的国内镜像站点)如下图

仅显示最新版
ll-cli search . --type=runtime

查看仓库中所有版本
ll-cli search . --type=runtime --show-all-version

下面红色框选部分就是 基于 Flatpak 运行时生成玲珑基础镜像名称
(部分flatpak 应用如果没有对应的runtime版本,可以手动修改linglong.yaml里面的版本号来测试是否可以正常运行)

flatpak remote-info [远程仓库名] [应用ID]
比如我想查询一个应用ID为 net.nokyan.Resources 在终端输入以下命令
flatpak remote-info flathub net.nokyan.Resources

此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。