楼上说得对
20的版本应该够用了
aarch64 runtime现在只有20.0.0的版本,公众号的文章是based deepin 23 x86_64
改一下runtime版本看看
好的
arm64 当前只有 20版的 org.deepin.Runtime
当前还木有 23版的 org.deepin.Runtime
需要自行修改 org.deepin.Runtime的版本 或者 等待 官方出了org.deepin.Runtime 23版再构建
将base 和runtime 都改成20.0.0
[Build Target]
com.tencent.wechat
[Project Info]
Package Name: WeChat
Version: 4.0.0.23
Package Type: app
Build Arch: arm64
[Current Repo]
Name: stable
Url: https://mirror-repo-linglong.deepin.com
[Processing Dependency]
Package Version Module Status
org.deepin.Runtime 20.0.0.12 develop complete
org.deepin.foundation 20.0.0.28 develop complete
(25111) (null):0 QStandardPaths: wrong ownership on runtime directory /run/user/1000, 1000 instead of 0
(25111) (null):0 QStandardPaths: wrong ownership on runtime directory /run/user/1000, 1000 instead of 0
[Start Build]
(25111) (null):0 QStandardPaths: wrong ownership on runtime directory /run/user/1000, 1000 instead of 0
[ERR | 4026532970:1 | MountNode:64 ] lstat /home/james/.cache/linglong-builder/layers/main/org.deepin.foundation/20.0.0.28/arm64/develop/files/bin failed
[ERR | 4026532970:1 | MountNode:64 ] lstat /home/james/.cache/linglong-builder/layers/main/org.deepin.foundation/20.0.0.28/arm64/develop/files/boot failed
[ERR | 4026532970:1 | MountNode:64 ] lstat /home/james/.cache/linglong-builder/layers/main/org.deepin.foundation/20.0.0.28/arm64/develop/files/etc failed
[ERR | 4026532970:1 | MountNode:64 ] lstat /home/james/.cache/linglong-builder/layers/main/org.deepin.foundation/20.0.0.28/arm64/develop/files/lib failed
[ERR | 4026532970:1 | MountNode:64 ] lstat /home/james/.cache/linglong-builder/layers/main/org.deepin.foundation/20.0.0.28/arm64/develop/files/mnt failed
[ERR | 4026532970:1 | MountNode:64 ] lstat /home/james/.cache/linglong-builder/layers/main/org.deepin.foundation/20.0.0.28/arm64/develop/files/root failed
[ERR | 4026532970:1 | MountNode:64 ] lstat /home/james/.cache/linglong-builder/layers/main/org.deepin.foundation/20.0.0.28/arm64/develop/files/sbin failed
[ERR | 4026532970:1 | MountNode:64 ] lstat /home/james/.cache/linglong-builder/layers/main/org.deepin.foundation/20.0.0.28/arm64/develop/files/srv failed
[ERR | 4026532970:1 | MountNode:64 ] lstat /home/james/.cache/linglong-builder/layers/main/org.deepin.foundation/20.0.0.28/arm64/develop/files/var failed
[ERR | 4026532970:1 | MountNode:64 ] lstat /home/james/.cache/linglong-builder/layers/main/org.deepin.foundation/20.0.0.28/arm64/develop/files/run/lock failed
[ERR | 4026532970:1 | create_directories:43 ] ret(-1),errno(13): Permission denied /data/home/james/linglong 493
[FAL | 4026532970:1 | do_mount_with_fd:198 ] fail to open target(/data/home/james/linglong/wechat/linglong/bGluZ2xvbmctYnVpbGRlci1tYWluOmNvbS50ZW5jZW50LndlY2hhdC80LjAuMC4yMy9hcm02NHtmNmJiZjgyMC00YjAxLTQyMzMtYWJhOC03MDI5YjE1NzNmZTZ9/rootfs/opt): errno(13): Permission denied
(25111) /build/linglong-1.6.3/apps/ll-builder/src/main.cpp:377 [code -1 ] message:
/build/linglong-1.6.3/libs/linglong/src/linglong/builder/linglong_builder.cpp:590 build project /data/home/james/linglong/wechat/linglong.yaml
/build/linglong-1.6.3/libs/linglong/src/linglong/runtime/container.cpp:186 run container bGluZ2xvbmctYnVpbGRlci1tYWluOmNvbS50ZW5jZW50LndlY2hhdC80LjAuMC4yMy9hcm02NHtmNmJiZjgyMC00YjAxLTQyMzMtYWJhOC03MDI5YjE1NzNmZTZ9: cli run: run command failed: /usr/bin/ll-box --cgroup-manager=disabled run -b /data/home/james/linglong/wechat/linglong/bGluZ2xvbmctYnVpbGRlci1tYWluOmNvbS50ZW5jZW50LndlY2hhdC80LjAuMC4yMy9hcm02NHtmNmJiZjgyMC00YjAxLTQyMzMtYWJhOC03MDI5YjE1NzNmZTZ9 bGluZ2xvbmctYnVpbGRlci1tYWluOmNvbS50ZW5jZW50LndlY2hhdC80LjAuMC4yMy9hcm02NHtmNmJiZjgyMC00YjAxLTQyMzMtYWJhOC03MDI5YjE1NzNmZTZ9 retval=65280
aarch64 runtime现在只有20.0.0的版本,公众号的文章是based deepin 23 x86_64
改一下runtime版本看看
换用普通账号 编译后
[Build Target]
com.tencent.wechat
[Project Info]
Package Name: WeChat
Version: 4.0.0.23
Package Type: app
Build Arch: arm64
[Current Repo]
Name: stable
Url: https://mirror-repo-linglong.deepin.com
[Processing Dependency]
Package Version Module Status
org.deepin.Runtime 20.0.0.12 develop complete
org.deepin.foundation 20.0.0.28 develop complete
(5472) /build/linglong-1.6.3/apps/ll-builder/src/main.cpp:377 [code 9 ] message:
/build/linglong-1.6.3/libs/linglong/src/linglong/builder/linglong_builder.cpp:473 build project /home/james/linglong/wechat/linglong.yaml: /home/james/linglong/wechat/linglong/entry.sh: Permission denied
aarch64 runtime现在只有20.0.0的版本,公众号的文章是based deepin 23 x86_64
改一下runtime版本看看
.
├── binary
│ └── WeChat
├── com.tencent.wechat_4.0.0.23_arm64.deb
├── linglong.yaml
├── opt
│ └── apps
└── template_app
├── applications
└── icons
换用普通账号 编译后
[Build Target]
com.tencent.wechat
[Project Info]
Package Name: WeChat
Version: 4.0.0.23
Package Type: app
Build Arch: arm64
[Current Repo]
Name: stable
Url: https://mirror-repo-linglong.deepin.com
[Processing Dependency]
Package Version Module Status
org.deepin.Runtime 20.0.0.12 develop complete
org.deepin.foundation 20.0.0.28 develop complete
(5472) /build/linglong-1.6.3/apps/ll-builder/src/main.cpp:377 [code 9 ] message:
/build/linglong-1.6.3/libs/linglong/src/linglong/builder/linglong_builder.cpp:473 build project /home/james/linglong/wechat/linglong.yaml: /home/james/linglong/wechat/linglong/entry.sh: Permission denied
你这个build dir不是普通用户创建的吧?
你这个build dir不是普通用户创建的吧?
文件权限
james@UOS1070:~/linglong/wechat$ ls -ls
总用量 203132
4 drwxr-xr-x 3 james james 4096 11月 7 14:25 binary
203108 -rw-r--r-- 1 root root 207979990 11月 5 14:36 com.tencent.wechat_4.0.0.23_arm64.deb
4 drwxr-xr-x 3 james james 4096 11月 7 14:26 linglong
4 -rw-r--r-- 1 root root 759 11月 7 08:27 linglong.yaml
4 drwxr-xr-x 3 root root 4096 2月 1 2024 opt
4 -rw-r--r-- 1 james james 20 11月 7 14:26 start.sh
4 drwxr-xr-x 4 root root 4096 11月 7 08:20 template_app
文件权限
james@UOS1070:~/linglong/wechat$ ls -ls
总用量 203132
4 drwxr-xr-x 3 james james 4096 11月 7 14:25 binary
203108 -rw-r--r-- 1 root root 207979990 11月 5 14:36 com.tencent.wechat_4.0.0.23_arm64.deb
4 drwxr-xr-x 3 james james 4096 11月 7 14:26 linglong
4 -rw-r--r-- 1 root root 759 11月 7 08:27 linglong.yaml
4 drwxr-xr-x 3 root root 4096 2月 1 2024 opt
4 -rw-r--r-- 1 james james 20 11月 7 14:26 start.sh
4 drwxr-xr-x 4 root root 4096 11月 7 08:20 template_app
一个合理的build dir正常应该每个目录、文件都是非root权限的,可以重开一个目录确保所有相关文件权限非root之后重新构建一次
一个合理的build dir正常应该每个目录、文件都是非root权限的,可以重开一个目录确保所有相关文件权限非root之后重新构建一次
好的 binary 里的文件夹里的文件 也都是非root吗?我是解压后的files 文件夹直接剪切过来的 然后重命名为WeChat
一个合理的build dir正常应该每个目录、文件都是非root权限的,可以重开一个目录确保所有相关文件权限非root之后重新构建一次
我明白 我解压的时候 用的root😪
好的 binary 里的文件夹里的文件 也都是非root吗?我是解压后的files 文件夹直接剪切过来的 然后重命名为WeChat
我当时操作的时候全程是在普通用户操作的
我当时操作的时候全程是在普通用户操作的
[Build Target]
com.tencent.wechat
[Project Info]
Package Name: WeChat
Version: 4.0.0.23
Package Type: app
Build Arch: arm64
[Current Repo]
Name: stable
Url: https://mirror-repo-linglong.deepin.com
[Processing Dependency]
Package Version Module Status
org.deepin.Runtime 20.0.0.12 develop complete
org.deepin.foundation 20.0.0.28 develop complete
[Start Build]
mkdir: 无法创建目录 “/opt/apps/com.tencent.wechat/files/bin/”: Permission denied
mkdir: 无法创建目录 “/opt/apps/com.tencent.wechat/files/share/”: Permission denied
(7520) /build/linglong-1.6.3/apps/ll-builder/src/main.cpp:377 [code -1 ] message:
/build/linglong-1.6.3/libs/linglong/src/linglong/builder/linglong_builder.cpp:590 build project /home/james/linglong/wechat/linglong.yaml
/build/linglong-1.6.3/libs/linglong/src/linglong/runtime/container.cpp:186 run container bGluZ2xvbmctYnVpbGRlci1tYWluOmNvbS50ZW5jZW50LndlY2hhdC80LjAuMC4yMy9hcm02NHtkZTQ5NjY4Ni02OWM3LTRjN2ItYTZjYi05MDIxMmI4ZDI5YWV9: cli run: run command failed: /usr/bin/ll-box --cgroup-manager=disabled run -b /run/user/1000/linglong/bGluZ2xvbmctYnVpbGRlci1tYWluOmNvbS50ZW5jZW50LndlY2hhdC80LjAuMC4yMy9hcm02NHtkZTQ5NjY4Ni02OWM3LTRjN2ItYTZjYi05MDIxMmI4ZDI5YWV9 bGluZ2xvbmctYnVpbGRlci1tYWluOmNvbS50ZW5jZW50LndlY2hhdC80LjAuMC4yMy9hcm02NHtkZTQ5NjY4Ni02OWM3LTRjN2ItYTZjYi05MDIxMmI4ZDI5YWV9 retval=65280
[Build Target]
com.tencent.wechat
[Project Info]
Package Name: WeChat
Version: 4.0.0.23
Package Type: app
Build Arch: arm64
[Current Repo]
Name: stable
Url: https://mirror-repo-linglong.deepin.com
[Processing Dependency]
Package Version Module Status
org.deepin.Runtime 20.0.0.12 develop complete
org.deepin.foundation 20.0.0.28 develop complete
[Start Build]
mkdir: 无法创建目录 “/opt/apps/com.tencent.wechat/files/bin/”: Permission denied
mkdir: 无法创建目录 “/opt/apps/com.tencent.wechat/files/share/”: Permission denied
(7520) /build/linglong-1.6.3/apps/ll-builder/src/main.cpp:377 [code -1 ] message:
/build/linglong-1.6.3/libs/linglong/src/linglong/builder/linglong_builder.cpp:590 build project /home/james/linglong/wechat/linglong.yaml
/build/linglong-1.6.3/libs/linglong/src/linglong/runtime/container.cpp:186 run container bGluZ2xvbmctYnVpbGRlci1tYWluOmNvbS50ZW5jZW50LndlY2hhdC80LjAuMC4yMy9hcm02NHtkZTQ5NjY4Ni02OWM3LTRjN2ItYTZjYi05MDIxMmI4ZDI5YWV9: cli run: run command failed: /usr/bin/ll-box --cgroup-manager=disabled run -b /run/user/1000/linglong/bGluZ2xvbmctYnVpbGRlci1tYWluOmNvbS50ZW5jZW50LndlY2hhdC80LjAuMC4yMy9hcm02NHtkZTQ5NjY4Ni02OWM3LTRjN2ItYTZjYi05MDIxMmI4ZDI5YWV9 bGluZ2xvbmctYnVpbGRlci1tYWluOmNvbS50ZW5jZW50LndlY2hhdC80LjAuMC4yMy9hcm02NHtkZTQ5NjY4Ni02OWM3LTRjN2ItYTZjYi05MDIxMmI4ZDI5YWV9 retval=65280
感觉是你的yaml写法有问题吧...发出来看看内容
感觉是你的yaml写法有问题吧...发出来看看内容
james@UOS1070:~/linglong/wechat/linglong/output$ tree -L 3
.
├── binary
│ ├── com.tencent.wechat.install
│ ├── entries
│ │ └── share -> ../files/share
│ ├── files
│ │ ├── bin
│ │ └── share
│ ├── info.json
│ └── linglong.yaml
└── develop
├── com.tencent.wechat.install
├── entries
│ └── share -> ../files/share
├── files
│ ├── bin
│ └── share
├── info.json
└── linglong.yaml
12 directories, 6 files
感觉是你的yaml写法有问题吧...发出来看看内容
# SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd.
#
# SPDX-License-Identifier: LGPL-3.0-or-later
version: "23"
package:
id: com.tencent.wechat
name: "WeChat"
version: 4.0.0.23
kind: app
description: |
linglongsha
base: org.deepin.foundation/20.0.0
runtime: org.deepin.Runtime/20.0.0
command:
- /opt/apps/com.tencent.wechat/files/bin/start.sh
source:
- kind: local
name: "WeChat"
build: |
##Extract res
mkdir -p ${PREFIX}/bin/ ${PREFIX}/share/
cp -rf binary/* ${PREFIX}/bin/
cp -rf template_app/* ${PREFIX}/share/
##Generate files
echo "#!/usr/bin/env bash" > start.sh
echo "cd $PREFIX/bin/WeChat/ && ./wechat" >> $PREFIX/bin/start.sh
chmod +x $PREFIX/bin/start.sh
感觉是你的yaml写法有问题吧...发出来看看内容
我重新做了一遍 并且把.cache的linglong-* 都删除了。然后重新编译一下。显示 sucess了但是还是有报错。
james@UOS1070:~/linglong/wechat$ ll-builder build -v
[Build Target]
com.tencent.wechat
[Project Info]
Package Name: WeChat
Version: 4.0.0.23
Package Type: app
Build Arch: arm64
[Current Repo]
Name: stable
Url: https://mirror-repo-linglong.deepin.com
[Processing Dependency]
Package Version Module Status
org.deepin.Runtime 20.0.0.12 develop complete
org.deepin.foundation 20.0.0.28 develop complete
[Start Build]
[Install Files]
[====================================================================================================>] 100%
[Commit Contents]
Package Version Module Status
com.tencent.wechat 4.0.0.23 binary committing(2910) /build/linglong-1.6.3/libs/linglong/src/linglong/repo/ostree_repo.cpp:1149 Failed to access the parent dir: "/home/james/.cache/linglong-builder/layers/main/com.tencent.wechat/4.0.0.23/arm64/runtime"
(2910) /build/linglong-1.6.3/libs/linglong/src/linglong/builder/linglong_builder.cpp:780 remove "main:com.tencent.wechat/4.0.0.23/arm64" "/build/linglong-1.6.3/libs/linglong/src/linglong/repo/ostree_repo.cpp:1167 remove main:com.tencent.wechat/4.0.0.23/arm64\n/build/linglong-1.6.3/libs/linglong/src/linglong/repo/ostree_repo.cpp:252 remove ostree refspec from repository: couldn't resolve ref main/com.tencent.wechat/4.0.0.23/arm64/runtime on local machine error code:1, message:Refspec 'main/com.tencent.wechat/4.0.0.23/arm64/runtime' not found"
com.tencent.wechat 4.0.0.23 binary complete
com.tencent.wechat 4.0.0.23 develop committing(2910) /build/linglong-1.6.3/libs/linglong/src/linglong/builder/linglong_builder.cpp:805 remove "main:com.tencent.wechat/4.0.0.23/arm64" "/build/linglong-1.6.3/libs/linglong/src/linglong/repo/ostree_repo.cpp:1167 remove main:com.tencent.wechat/4.0.0.23/arm64\n/build/linglong-1.6.3/libs/linglong/src/linglong/repo/ostree_repo.cpp:252 remove ostree refspec from repository: couldn't resolve ref main/com.tencent.wechat/4.0.0.23/arm64/develop on local machine error code:1, message:Refspec 'main/com.tencent.wechat/4.0.0.23/arm64/develop' not found"
com.tencent.wechat 4.0.0.23 develop complete
Successfully build com.tencent.wechat
感觉是你的yaml写法有问题吧...发出来看看内容
大佬有时间再给看下,又进步了一点。
我又重新ll-builder build -v 下,没有错误。然后 export成uab
./*.uab 安装后,
james@UOS1070:~/linglong/wechat$ ./com.tencent.wechat_arm64_4.0.0.23_main.uab
(6707) /build/linglong-1.6.3/libs/linglong/src/linglong/cli/cli.cpp:522 install from file "/home/james/linglong/wechat/com.tencent.wechat_arm64_4.0.0.23_main.uab"
0% prepare for installing uabError: CODE=-1
/build/linglong-1.6.3/libs/linglong/src/linglong/cli/cli.cpp:125 download status:
/build/linglong-1.6.3/libs/linglong/src/linglong/package/uab_file.cpp:210 mount uab bundle
/build/linglong-1.6.3/libs/utils/src/linglong/utils/command/env.cpp:78 exec erofsfuse --offset=4955320 /proc/857/fd/14 /tmp/runtime-deepin-linglong/linglong/UAB/0ca4424e-94fe-4c64-b007-4e54ebfd9a94: disk: /proc/857/fd/14
offset: 4955320
mountpoint: /tmp/runtime-deepin-linglong/linglong/UAB/0ca4424e-94fe-4c64-b007-4e54ebfd9a94
dbglevel: 0
fuse: mountpoint is not empty
fuse: if you are sure this is safe, use the 'nonempty' mount option
import uab to linglong successfully, delegate running operation to linglong.
Error: CODE=-1
/build/linglong-1.6.3/libs/linglong/src/linglong/repo/ostree_repo.cpp:1281 clear fuzzy reference unknown:com.tencent.wechat/unknown/unknown
/build/linglong-1.6.3/libs/linglong/src/linglong/repo/ostree_repo.cpp:524 clear fuzzy reference locally: channel not found
然后貌似没装成功。版本是4.0.0.23 商店deb
然后又把官方的包,重新按照公众号的方法打包了一次。版本4.0.0.30 腾讯deb arm包
手动安装后,有以下输出,缺少依赖。
james@UOS1070:~/linglong/wechat-tencent$ ./com.tencent.wechat_arm64_4.0.0.30_main.uab
(7956) /build/linglong-1.6.3/libs/linglong/src/linglong/cli/cli.cpp:522 install from file "/home/james/linglong/wechat-tencent/com.tencent.wechat_arm64_4.0.0.30_main.uab"
100% install uab successfully
import uab to linglong successfully, delegate running operation to linglong.
./wechat: error while loading shared libraries: libxkbcommon-x11.so.0: cannot open shared object file: No such file or directory
Error: CODE=-1
/build/linglong-1.6.3/libs/linglong/src/linglong/runtime/container.cpp:186 run container bWFpbjpjb20udGVuY2VudC53ZWNoYXQvNC4wLjAuMzAvYXJtNjQtezkwOTdhNWZkLWYzN2ItNDdmMy1iYjhjLTY5ODY2ZTc5NGVjNn0=: cli run: run command failed: /usr/bin/ll-box --cgroup-manager=disabled run -b /run/user/1000/linglong/bWFpbjpjb20udGVuY2VudC53ZWNoYXQvNC4wLjAuMzAvYXJtNjQtezkwOTdhNWZkLWYzN2ItNDdmMy1iYjhjLTY5ODY2ZTc5NGVjNn0= bWFpbjpjb20udGVuY2VudC53ZWNoYXQvNC4wLjAuMzAvYXJtNjQtezkwOTdhNWZkLWYzN2ItNDdmMy1iYjhjLTY5ODY2ZTc5NGVjNn0= retval=65280
ll-cli list 能看到,运行后,说缺少依赖。
james@UOS1070:~/linglong/wechat-tencent$ ll-cli list
id name version arch channel module description
com.baidu.baidunetdisk com.baidu.baidunetdisk 4.17.7.0 arm64 main runtime com.baidu.baidunetdisk
com.tencent.wechat WeChat 4.0.0.30 arm64 main binary linglongsha
james@UOS1070:~/linglong/wechat-tencent$ ll-cli run com.tencent.wechat
./wechat: error while loading shared libraries: libxkbcommon-x11.so.0: cannot open shared object file: No such file or directory
Error: CODE=-1
/build/linglong-1.6.3/libs/linglong/src/linglong/runtime/container.cpp:186 run container bWFpbjpjb20udGVuY2VudC53ZWNoYXQvNC4wLjAuMzAvYXJtNjQtezQ4M2QxMjhlLWFkNzUtNDJiOC05OGYyLTMwOTczZDU3YzIyZn0=: cli run: run command failed: /usr/bin/ll-box --cgroup-manager=disabled run -b /run/user/1000/linglong/bWFpbjpjb20udGVuY2VudC53ZWNoYXQvNC4wLjAuMzAvYXJtNjQtezQ4M2QxMjhlLWFkNzUtNDJiOC05OGYyLTMwOTczZDU3YzIyZn0= bWFpbjpjb20udGVuY2VudC53ZWNoYXQvNC4wLjAuMzAvYXJtNjQtezQ4M2QxMjhlLWFkNzUtNDJiOC05OGYyLTMwOTczZDU3YzIyZn0= retval=65280
root@UOS1070:/home/james/wechat/com.tencent.wechat# ll-builder build -v
[Build Target]
com.tencent.wechat
[Project Info]
Package Name: WeChat
Version: 4.0.0.30
Package Type: app
Build Arch: arm64
[Current Repo]
Name: stable
Url: https://mirror-repo-linglong.deepin.com
[Processing Dependency]
Package Version Module Status
(21193) /build/linglong-1.6.3/apps/ll-builder/src/main.cpp:377 [code -1 ] message:
/build/linglong-1.6.3/libs/linglong/src/linglong/builder/linglong_builder.cpp:425 build project /home/james/wechat/com.tencent.wechat/linglong.yaml: pull runtime
/build/linglong-1.6.3/libs/linglong/src/linglong/builder/linglong_builder.cpp:131 pull unknown:org.deepin.Runtime/23.0.1/unknown
/build/linglong-1.6.3/libs/linglong/src/linglong/repo/ostree_repo.cpp:1294 clear fuzzy reference unknown:org.deepin.Runtime/23.0.1/unknown
/build/linglong-1.6.3/libs/linglong/src/linglong/repo/ostree_repo.cpp:689 clear reference remotely: not found
/build/linglong-1.6.3/libs/linglong/src/linglong/repo/ostree_repo.cpp:620 clear reference remotely: unknown error