Commit Graph

378 Commits

Author SHA1 Message Date
dengbo11 c16988d30f fix: ll-builder failed to extract layer
ll-builder extract do not need constructing an build instance,
it is a static function, calling directly.

Log: fix ll-builder extract can not use normally
2024-09-03 18:01:56 +08:00
dengbo11 bf27abe33b chore: delete appimage convert feature from ll-builder
delete appimage convert feature from ll-builder
and move it to linglong-pica

Log:
2024-08-28 13:54:32 +08:00
myml ebeae251da feat: do not use bash to execute ldconfig
在制作flatpak的base时发现, flatpak的动态链接器 (ld-linux-x86-64.so.2)
只包含了/usr/lib/x86_64-linux-gnu这一个动态库搜索路径, 导致bash在运行ldconfig之前是无法启动的
所以在容器钩子中不再通过bash运行ldconfig而是直接启动ldconfig, 以兼容复杂的base环境

note: org.gnome.Platform/x86_64/43 和 org.kde.Platform/x86_64/5.15-23.08 都有这个问题

Log:
2024-08-28 10:43:43 +08:00
myml efc122c4f7 feat: support loong64 arch
支持龙芯新世界架构

Log:
2024-08-19 15:42:43 +08:00
ComixHe c4794d89df fix(ll-box): use /proc/<pid>/stat to find the target pid
add a fallback for compatible with linux kernel which compiled with CONFIG_PROC_CHILDREN=false

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-08-09 17:49:44 +08:00
myml c063dbc76a fix: running the calendar reports a timezone error
localtime直接挂载成文件, 当系统是北京时区会导致日历报时间格式错误
目前定位到QDateTime.isValid返回false, 具体原因还需要后续排查

Log:
2024-08-09 17:15:57 +08:00
ComixHe 41f01c550d fix: correct mount option of mountPoint 'media'
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-08-08 05:44:50 -05:00
dengbo 835835a6b2 fix: chromium timezone show error
mount /etc/localtime directly using file instead of soft link

Log:
2024-08-07 00:08:08 -05:00
ComixHe c79ddfeb39 feat(gen): add propagation mount `media` into container
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-07-26 16:56:58 +08:00
ComixHe 1a00b51557 feat: support propagation bind
tweak remount implementation

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-07-26 16:56:58 +08:00
ComixHe 699d1c619a refactor(gen): remove check for Xauth
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-07-26 16:56:58 +08:00
ComixHe 97ed3dee35 fix: expose dconf database to all apps
Issue: https://github.com/linuxdeepin/developer-center/issues/9919

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-07-24 17:12:01 +08:00
ComixHe f2201a7070 refactor(uab): improve signal handler when program exits unexpectedly
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-07-24 16:20:58 +08:00
ComixHe a5e4b9dfd4 refactor(uab): isolating uab-loader and uab-header
shouldn't pass envs from uab-header to loader
and tweak some misc

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-07-23 16:32:50 +08:00
dengbo 164cb931c6 fix: can not install app from store.linglong.dev
linglong-installer executable file name should be ll-installer

Log:
2024-07-23 14:09:46 +08:00
ComixHe dcf2d1d85f fix(ll-box): ignore remount temporarily when declaring nosymfollow
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-07-22 17:27:53 +08:00
myml f86bf0ad96 feat: Use symbolic links to mount variable system files
使用软链接挂载可变的系统文件,可避免容器不更新重建的系统文件

Log:
2024-07-22 17:10:29 +08:00
ComixHe f7cac32c9e feat: add `nosymfollow` option
implementation mount a fd path to destination
instead of passing the MS_NOSYMFOLLOW directly.

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-07-22 10:36:29 +08:00
dengbo 80a35d1c75 fix: linglong-installer show error in dock
linglong-installer should not show in dock, so set WindowFlags to Dialog

Log:
2024-07-19 15:24:10 +08:00
kamiyadm b1bef2138b fix: failed to execute 'll-cli enter'
Remove '&' from exec() in ll-box. We add it in ll-cli.
issue: https://github.com/linuxdeepin/developer-center/issues/9445

Log:
2024-07-19 13:42:24 +08:00
dengbo f1ca50579c feat: move linglong-installer project to linglong
move linglong-installer project to linglong

Log:
2024-07-18 15:37:44 +08:00
bluesky a2937ea359 feat: add ll-session-helper monitor listening service
通过 ll-session-helper 服务,来监听宿主机上 /etc/resolv.conf ,/etc/localtime等文件的变化。
设置开机自启

Issue: https://github.com/linuxdeepin/developer-center/issues/8989
Log: add ll-session-helper service
2024-07-11 15:54:02 +08:00
ComixHe de9437a7c2 fix(uab-loader): correct commands which executed by ll-box
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-07-10 10:25:02 +08:00
dengbo d28c7549ca feat: ll-build appimage convert support export uab or layer
ll-build convert will export uab default, add --layer option to support export layer

Log:
2024-07-09 16:39:59 +08:00
ComixHe 45f303b23e fix: correct mismatched iterator and change signature of importSelf
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-07-09 16:22:37 +08:00
black-desk ff8360cfde build(builder): change uab elfs install dest
Signed-off-by: black-desk <me@black-desk.cn>
2024-07-09 16:20:47 +08:00
black-desk cd3168fe16 refact(box): clean warnings
Signed-off-by: black-desk <me@black-desk.cn>
2024-07-09 16:20:47 +08:00
ComixHe 4814ec62b7 build: make ll-box statically linked and enable uab build on deepin 23
and uos 20

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-07-09 13:22:00 +08:00
dengbo 571f5b21a3 fix: builder create return error
when project dir have exist or mkpath error, we must return error code

Log:
2024-07-05 13:44:05 +08:00
ComixHe 90f0846d2e refactor: unserialize metaInfo of uab by generated api
if ll-cli exist in host machine, uab should check app has been
already installed or not before install

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-07-03 13:10:16 +08:00
ComixHe 56ad855f7e fix: return -1 expliclitly at the end of function DoWait
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-07-03 13:10:16 +08:00
ComixHe fd30959180 fix(uab-header): correct the args passed to ll-cli
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-07-02 11:53:29 +08:00
kamiyadm c6e0a6d365 fix: failed to run app after ll-cli reviced SIGINT
* If the errno which returns from ::wait in ll-cli
  is EINTR, wait child more times. And if interrupt
  by SIGINT one more time, kill child immediately.
* If the pid which in container json  is not exists,
  remove the json.

Log:
2024-07-01 14:32:49 +08:00
myml f8cf372825 feat: Add static suffix to statically linked binaries
lintian检查要求静态链接的二进制, 文件名需要添加-static

Log:
2024-07-01 11:47:32 +08:00
ComixHe 482b753813 fix: correct the command to install uab
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-06-28 14:40:25 +08:00
bluesky fdf7a8339d fix: delete excess comments
Log: delete excess comments
2024-06-27 10:07:38 +08:00
dengbo d97f6b15c1 fix: ll-builder convert appimage error when use url
url is download to linglong/sources, should enter linglong/sources to
operate appimage file

Log:
2024-06-27 09:55:31 +08:00
bluesky 105ba70cf0 feat: add session-helper
新增 session-helper 模块,用来做用户级服务调用,目前先新增文件监视的功能,给后续 ll-cli 监视配置文件的修改移动到 /run/user/$uid/linglong/monitor

Issue: https://github.com/linuxdeepin/developer-center/issues/8989
Log: add session-helper
2024-06-26 17:06:12 +08:00
ComixHe 4370745c93 build: link libzstd.a to uab-header due to libcrypto.a needs it
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-06-21 14:34:12 +08:00
ComixHe e057f5a694 build: link libcrypto.a to uab-header
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-06-21 14:17:51 +08:00
ComixHe 21a1451a0b refactor: optimize uab-header
- add a fallback for XDG_RUNTIME_DIR
 - increasing buffer size to 4096
 - passing errno to elf_errmsg
 - check EAGAIN during reading from file

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-06-21 13:40:00 +08:00
kamiyadm 879ace5b49 fix: fix a warning during build deb
* Rename ENABLE_UAB_HEADER to ENABLE_UAB.
* If ENABLE_UAB is not set, do not build uab-loader.

Log:
2024-06-20 17:41:01 +08:00
dengbo 3a7f05ca3d fix: deb package error
libzstd-dev is missing when deb package, add it

Log:
2024-06-20 15:34:08 +08:00
kamiyadm 2d2a54cf49 fix: missed some env variables when reusing container
* Save env variables to /run/user/1000/linglong/containerId/00env.sh
  and mount it to /etc/profile.d/00env.sh in container.
* Remove 'bash --login -c' from exec() of ll-box, we
  add it before .

Log:
2024-06-20 14:26:11 +08:00
kamiyadm ddea8b0667 refactor: add 25-host-env to generate env variables
Add new generator 25-host-env and use it.

Log:
2024-06-20 10:52:46 +08:00
ComixHe ae8279374c feat: add option "--layer" for ll-builder to export layer
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-06-19 16:37:41 +08:00
ComixHe 1326fb0c0e feat: support export uab file
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-06-19 16:08:11 +08:00
ComixHe a1257a5083 fix: create ll-host under tmpfs
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-06-19 15:31:53 +08:00
ComixHe fb4ba0a4c3 refactor: checking some operations of ll-box are exectuing successfully or not
if someting goes wrong, return early

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-06-19 15:31:53 +08:00
myml c9d96bf627 fix: Using pointer to prevent object destruction
package manager应该使用指针类型的ClientFactory
避免对象在函数返回后被销毁

Log:
2024-06-18 14:57:34 +08:00
myml 2e3da426f3 feat: Check the version number in advance
在构建应用时,如果版本号不符合规范会在最后的commit阶段报错
应该提前检查yaml文件是否符合规范

Log:
2024-06-17 13:18:45 +08:00
ComixHe 8d099eeda3 refactor: split target linglong::linglong into four parts
- linglong::linglong
 - linglong::utils
 - linglong::api
 - linglong::dbus-api

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-06-17 11:04:45 +08:00
myml bf8489cfc9 feat: Create dedicated client for HTTP requests
使用单独的client发送http请求, 避免请求结果混淆

Log:
2024-06-14 09:42:52 +08:00
ComixHe 15e4912007 build: uab-header is not built by default
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-06-11 14:46:10 +08:00
ComixHe 8fd1efe593 fix: link static libelf to uab-header
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-06-11 13:02:50 +08:00
myml dd8f95fb0c fix: builder log redirection losing error message
日志重定向会导致应用检测到非tty环境, 关闭stderr日志输出
builder强制开启非tty环境的终端日志输出

Log:
2024-06-07 11:24:37 +08:00
ComixHe edfbb6626c feat: add uab-header
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-06-07 11:09:15 +08:00
myml 8fbc7b9034 feat: ll-builder allows manual linglong.yaml selection
ll-builder添加-f参数用于手动选择非当前目录下的linglong.yaml

Log:
2024-06-06 16:04:40 +08:00
ComixHe 41501cd8ff fix: check some file exists or not during generating config
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-05-31 14:36:23 +08:00
myml eb40e28ccd feat: add offline parameter to ll-builder run
ll-builder run添加offline参数,便于测试本地的Runtime

Log:
2024-05-31 11:25:06 +08:00
dengbo b80f276941 Revert "fix: timezone is error for linglong app"
This reverts commit 69efe374c5.
2024-05-28 14:41:18 +08:00
dengbo 69efe374c5 fix: timezone is error for linglong app
mount /etc/timezone to container

Log:
2024-05-28 10:59:30 +08:00
kamiyadm bc08c49339 fix: move ll-package-manager to /usr/libexec/linglong
close: https://github.com/linuxdeepin/linglong/issues/460

Log:
2024-05-27 16:48:48 +08:00
dengbo 2aa0e267df fix: ll-build failed to convert appimage
linglong.yaml must have command and base option when convert

Log:
2024-05-27 16:38:19 +08:00
ComixHe 4e0ceeacd7
fix: mask user bashrc with default configuration
Mask ~/.bashrc in container with /etc/skel/.bashrc from host.

Fix: #459
Signed-off-by: ComixHe <heyuming@deepin.org>
Signed-off-by: black-desk <me@black-desk.cn>
2024-05-27 10:49:34 +08:00
ComixHe 448d0f5e89 fix: couldn't find binary in container
improve parsing args

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-05-22 13:22:14 +08:00
kamiyadm 9200d6e635 refactor: ll-builder create
Generate linglong.yaml from example.yaml.
close: https://github.com/linuxdeepin/linglong/issues/448

Log:
2024-05-22 11:03:09 +08:00
ComixHe 83d98b5820 feat: reuse container when application is runnnig
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-05-21 14:24:57 +08:00
kamiyadm 5d2dbcbc83 fix: the linglong.yaml after ll-builder create is readonly
1. fix the typo.
2. set the permission to 0644 if the templateFile is not exits.

Log:
2024-05-20 17:06:34 +08:00
ComixHe 2a71f85525 refactor(ll-box): arguments parsing
support exec and some options

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-05-20 13:21:29 +08:00
kamiyadm 1aa1efba21 fix: mount failed when '$HOME/.deepinwine' is a symlink
If the source dir is a symlink, mount the real path of the symlink.

Log:
2024-05-16 16:20:04 +08:00
kamiyadm cc5959a609 fix: '$HOME/.deepinwine' should not be mount directly
-

Log:
2024-05-16 16:20:04 +08:00
dengbo 372321bd44 fix: linglong app can not access network
/etc/resolv.conf must be mount to container

Log:
2024-05-16 15:52:46 +08:00
ComixHe c7a02a6d43 refactor(gen): Detecting whether `/dev/dri` exists during generating container config
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-05-14 15:42:39 +08:00
black-desk 4f33fe1598
build: add missing header
Signed-off-by: black-desk <me@black-desk.cn>
2024-05-14 15:04:51 +08:00
ComixHe 2bddcdc098 feat: support remount with fd
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-05-13 18:09:22 +08:00
dengbo 32920bb32a fix: remove ll-system-helper when use --no-dbus option
remove ll-system-helper when use --no-dbus option

Log:
2024-05-10 16:10:16 +08:00
ComixHe 54dd0f4f0c feat: support copy-symlink
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-05-10 10:45:51 +08:00
ComixHe b4cb15dfc8 fix(generator): correct locations
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-05-09 18:21:20 +08:00
black-desk af82dd0424
Revert "fix: add finalizeMounts to delay remount"
This reverts commit 43a6068163.

Signed-off-by: black-desk <me@black-desk.cn>
2024-05-08 10:12:32 +08:00
black-desk d2b6d3e020
Revert "fix(box): move finalize mounts to beginning of pivot root"
This reverts commit 1cc308e859.

Signed-off-by: black-desk <me@black-desk.cn>
2024-05-08 10:12:31 +08:00
black-desk 7020686c2f
fix(box): correct spelling
Signed-off-by: black-desk <me@black-desk.cn>
2024-05-08 10:12:28 +08:00
black-desk c8a27ebea4 fix(box): default log level set to warning
Signed-off-by: black-desk <me@black-desk.cn>
2024-05-08 09:07:03 +08:00
black-desk 1cc308e859 fix(box): move finalize mounts to beginning of pivot root
Signed-off-by: black-desk <me@black-desk.cn>
2024-05-08 09:07:03 +08:00
ComixHe 43a6068163 fix: add finalizeMounts to delay remount
and fix some typo

Issue: https://github.com/linuxdeepin/linglong/issues/398

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-05-07 15:15:59 +08:00
ComixHe 7f513e0d21 refact(generators): mount to default location
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-05-06 16:40:16 +08:00
myml a2a3c90e5c feat: ll-builder support skip run container
builder支持跳过容器运行(构建), 用于只下载源码和依赖的时候使用

Log:
2024-04-29 07:02:48 +00:00
kamiyadm 5ee9227cfb fix(ll-builder): update help tips
* remove unneeded options.
* update "--exec <exec>" to "--exec <command>"
* add "extract" and "import" to subcommand.

Log:
2024-04-29 10:13:41 +08:00
kamiyadm 613dbad577 fix(ll-builder): failed to show help without linglong.yaml
-

Log:
2024-04-29 10:13:41 +08:00
kamiyadm 63c721b614 feat: support ll-cli content
New subcommand to display the exported files.

Log:
2024-04-28 11:43:33 +08:00
myml 7821ba2266 fix: build failure on UOS 20
修复在UOS 20系统构建错误

Log:
2024-04-26 13:56:20 +08:00
black-desk 6328cc8e9d fix(ll-box): exit with -1 when init don't return 0
Signed-off-by: black-desk <me@black-desk.cn>
2024-04-25 13:18:31 +08:00
black-desk 5998dd3e79
feat(ll-box): initial implementation of `list` and `kill`
Signed-off-by: black-desk <me@black-desk.cn>
2024-04-23 17:40:49 +08:00
black-desk 825877a9df
chore: remove a debug log
Signed-off-by: black-desk <me@black-desk.cn>
2024-04-23 15:44:01 +08:00
black-desk 4707804938
fix: void use after move
Signed-off-by: black-desk <me@black-desk.cn>
2024-04-23 15:44:00 +08:00
black-desk 4e439c917a
fix: correct hook exec
Signed-off-by: black-desk <me@black-desk.cn>
2024-04-23 15:43:59 +08:00
black-desk d98434aed2
fix: correct second clone id mapping
Signed-off-by: black-desk <me@black-desk.cn>
2024-04-23 15:43:58 +08:00
black-desk 911363a642
feat: support startContainer
Signed-off-by: black-desk <me@black-desk.cn>
2024-04-23 15:43:58 +08:00
black-desk 7203890c12 chore: move ll-builder user config location
Signed-off-by: black-desk <me@black-desk.cn>
2024-04-22 13:44:07 +08:00
black-desk 570a0d562a chore: enable info logging and deprecate builder -v
Signed-off-by: black-desk <me@black-desk.cn>
2024-04-22 13:44:07 +08:00
black-desk 85c70e6ff5 docs(ll-box): move box readme here
Signed-off-by: black-desk <me@black-desk.cn>
2024-04-22 13:43:18 +08:00
black-desk 1b1f7e1f5f refact(ll-box): void unknow env
Signed-off-by: black-desk <me@black-desk.cn>
2024-04-19 09:39:53 +08:00
black-desk 2024ce961b
fix(ll-box): support related root path
Signed-off-by: black-desk <me@black-desk.cn>
2024-04-18 20:48:02 +08:00
black-desk 8fe1510728
fix(ll-box): correct argp
Signed-off-by: black-desk <me@black-desk.cn>
2024-04-18 20:48:00 +08:00
black-desk 3859a11a93
refact(ll-box): remove annotations
Signed-off-by: black-desk <me@black-desk.cn>
2024-04-18 20:47:59 +08:00
black-desk 47a21d9cbe
refact(ll-box): create container item json file
Signed-off-by: black-desk <me@black-desk.cn>
2024-04-18 20:47:58 +08:00
black-desk b18c5cb6fe refact(ll-box): remove ll-dbus-proxy logic
Signed-off-by: black-desk <me@black-desk.cn>
2024-04-18 19:27:16 +08:00
black-desk 1262f0ec98 refact(ll-box): use argp
Signed-off-by: black-desk <me@black-desk.cn>
2024-04-18 19:27:16 +08:00
black-desk 19860e8fb8 refact(ll-box): let loglevel effect syslog
Signed-off-by: black-desk <me@black-desk.cn>
2024-04-18 19:27:16 +08:00
black-desk f1c5971659 refact(ll-box): set default log level to error
Signed-off-by: black-desk <me@black-desk.cn>
2024-04-18 19:27:16 +08:00
black-desk 76b50d8cb2 refact(ll-box): remove container option and loader
Signed-off-by: black-desk <me@black-desk.cn>
2024-04-18 19:27:16 +08:00
black-desk cae0a420a8 refact(ll-box): remove message reader
Signed-off-by: black-desk <me@black-desk.cn>
2024-04-18 19:27:16 +08:00
black-desk bbda931b9b feat: allow set the oci runtime via env variable
1. Introduce LINGLONG_DEFAULT_OCI_RUNTIME cmake option to set the
   default oci runtime cli used by linglong;
2. Allow override oci runtime by set env variable LINGLONG_OCI_RUNTIME.

Signed-off-by: black-desk <me@black-desk.cn>
2024-04-18 11:11:56 +08:00
black-desk 72556c727c chore: merge ll-box
Signed-off-by: black-desk <me@black-desk.cn>
2024-04-18 09:31:26 +08:00
black-desk 36c9d35800 build: backport to UOS v20
1. vendor more dependencies
   - docopt.cpp
   - tl-expected
2. make ocppi subproject
3. upgrade PFL.cmake

Signed-off-by: black-desk <me@black-desk.cn>
2024-04-17 20:55:14 +08:00
myml 119422e12a feat: ll-builder add the 'skip-pull-depend' param
build支持跳过拉取依赖的过程,便于在离线场景使用

Log:
2024-04-15 17:34:18 +08:00
myml 39f51f8f9d feat: ll-builder adds system environment variables
构建添加一些默认的环境变量,
支持rootfs在 /etc/profile.d 添加自定义环境变量

Log:
2024-04-12 10:30:19 +08:00
ComixHe 6e12e60a3e fix(generators): correct ipc generator
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-04-10 14:51:37 +08:00
kamiyadm 00dad48d69 fix: using 'develop' as the module name
-

Log:
2024-04-09 14:14:31 +08:00
myml 40de7dacea fix: source fetch error
修复源码拉取错误
源码应该存放在linglong/sources的子目录

Log:
2024-04-09 10:21:46 +08:00
kamiyadm dc79e0f0a1 fix(ll-builder): init config.yaml failed
The dir which is the prefix of config.yaml should be created first.

Log:
2024-04-08 21:17:36 +08:00
myml 06b20ad74b fix: ll-build build error
修复多个会导致构建失败的错误

Log:
2024-04-08 06:44:37 +00:00
dengbo 7c853ec952 fix: com.360.browser-stable can not run normally
com.360.browser-stable need apps-data/private/com.360.browser-stable dir
to save authorization file

Log:
2024-04-07 14:49:51 +08:00
black-desk ddd014d27a
fix: correct container configuration
Signed-off-by: black-desk <me@black-desk.cn>
2024-04-03 00:10:05 +08:00
black-desk 8fe0f87aa6
chore: add endl to make sure buffer flushed
Signed-off-by: black-desk <me@black-desk.cn>
2024-04-03 00:10:03 +08:00
black-desk 4530dbdecb
fix: correct id-mapping type
Signed-off-by: black-desk <me@black-desk.cn>
2024-04-03 00:10:02 +08:00
black-desk aaab7c5c30
fix: make container config generators work
1. chmod +x
2. fix wrong path
3. skip entries not present on host

Signed-off-by: black-desk <me@black-desk.cn>
2024-04-03 00:10:01 +08:00
black-desk 4d11b4f3e4
fix: move basedir from annotation to "root"
Signed-off-by: black-desk <me@black-desk.cn>
2024-04-03 00:09:59 +08:00
ComixHe 7c345afe47 chore: change generator sequence
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-04-02 18:10:23 +08:00
ComixHe c9be53253f refactor: move some operation to a new generator
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-04-02 17:40:21 +08:00
myml 8ce1b1a18e feat: make the 'sources' field optional
现在会固定将项目文件及映射到容器中, 不再需要写local
sources也就不再是必选项

Log:
2024-04-02 14:29:56 +08:00
black-desk 451e82c1ba
fix: correct generators
Signed-off-by: black-desk <me@black-desk.cn>
2024-04-01 20:35:40 +08:00
black-desk ee364e3007 refact: all API types use quicktype
1. Update dbus interface xml files to
   use QVariantMap as parameters and response;

2. Add api/schema/v1.yaml to generate all API types;

3. Remove qserializer.

Signed-off-by: black-desk <me@black-desk.cn>
2024-04-01 17:05:32 +08:00
myml 7e8931c869 feat: export support arch parameter
export命令支持arch参数
build支持指定base架构
清理注释的代码

Log:
2024-03-22 00:59:57 +08:00
myml 146c6435dc feat: support skip commit output
构建支持跳过commit output, 跳过source fetch
便于快速调试

Log:
2024-03-21 09:34:00 +08:00
ComixHe b72ecefa93 refactor(package_manager): install and upgrade
* use dbus signal to notify cli download progress
  * support cancel downloading manually
  * use eventloop instead of threadpool

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-03-15 18:00:42 +08:00
kamiyadm 8886992552 refactor: make source to a list and rename to sources
-

Log:
2024-03-12 08:03:41 +00:00
black-desk 3ec42da2f7
refact: new error wrapping macros
Signed-off-by: black-desk <me@black-desk.cn>
2024-03-06 10:48:25 +08:00
myml 42ea62fd0a feat: split the build function
拆分build函数, 使构建逻辑更清晰

Log:
2024-03-05 06:01:06 +00:00
myml 82b4f1f8b6 feat: builder support set environment variables using command args
build支持使用命令行参数设置环境变量

Log:
2024-03-04 17:57:26 +08:00
dengbo f64c4ed593 feat: appimage support url convert
support appimage url and hash to convert to linglong .layer(.uab)

gog:
2024-03-04 07:58:03 +00:00
dengbo f0332800c2 feat: Refactor appimage convert features
to export linglong.layer(.uab) according to
the user-specified appimage package parameters

Log:
2024-03-04 06:21:02 +00:00
myml 319f2db592 feat: Check if crun exists
检查crun是否存在,如果不存在打印提示

Log:
2024-02-29 02:31:26 +00:00
myml fe9e7ec754 feat: buildArch uses host arch by default
buildArch默认使用主机的架构
修复builder run架构为空的问题

Log:
2024-02-29 01:48:29 +00:00
black-desk 3903d7cfef
fix: update PFL.cmake
Signed-off-by: black-desk <me@black-desk.cn>
2024-02-22 10:56:59 +08:00
kamiyadm 3842522fb8 feat(ll-builder): start support cross compilation
This is just a start.
2024-02-04 16:05:01 +08:00
black-desk 3595a15382
chore: remove ll-service
Signed-off-by: black-desk <me@black-desk.cn>
2024-02-01 18:21:27 +08:00
myml 648d09d4c5 feat: Support using run and build
使用支持oci标准的crun替换ll-box

Log:
2024-01-26 13:28:33 +08:00
myml c7ed7622fa
feat: ll-builder uses AppManager to run applications
ll-builder使用AppManager运行应用, 避免开发测试和实际运行不一致

Log:
2024-01-24 13:44:05 +08:00
kamiyadm 526bf28644 feat: support extract the layer
-

Log:
2024-01-15 15:14:26 +08:00
kamiyadm b099a20d83 fix: push failed because of timeout
set timeout to 10 min.

Log:
2024-01-15 15:14:26 +08:00
kamiyadm 26c0bdf1a3 feat: add some function for print text in console
-

Log:
2024-01-15 15:14:26 +08:00
kamiyadm b663c7eab2 fix: QT_LOGGING_RULES doesn't work in ll-builder
QT_LOGGING_RULES should be set before QCoreApplication.

Log:
2024-01-15 15:14:26 +08:00
black-desk f89669c3e0
fix: allow anonymous auth in --no-dbus mode
Check comment.

Related: linuxdeepin/developer-center#6784
Signed-off-by: black-desk <me@black-desk.cn>
2024-01-12 15:24:44 +08:00
black-desk 4c96d3a3bd
chore: keep QDBUS_DEBUG while exec ll pkg manager
It make debug --no-dbus mode easier.

Signed-off-by: black-desk <me@black-desk.cn>
2024-01-12 15:24:41 +08:00
black-desk 63950e8225
chore: add some log
Signed-off-by: black-desk <me@black-desk.cn>
2024-01-11 18:19:11 +08:00
black-desk 4d345a588c
fix: add service name for system helper
Signed-off-by: black-desk <me@black-desk.cn>
2024-01-11 18:19:10 +08:00
black-desk 67d5a74713
refact: add a check for p2p conn
Signed-off-by: black-desk <me@black-desk.cn>
2024-01-11 18:19:07 +08:00
black-desk c00575da7f
fix(cli): compatiable with old --exec
continue 92f60891b2

Related: linuxdeepin/developer-center#6636
Related: linuxdeepin/developer-center#6736
Signed-off-by: black-desk <me@black-desk.cn>
2024-01-04 15:42:55 +08:00
black-desk 68dcc268d0
chore: force log to stderr with --no-dbus
Signed-off-by: black-desk <me@black-desk.cn>
2024-01-04 15:31:25 +08:00
black-desk e3a46e5e6b
fix: correct dbus address for p2p mode
Old location has permission issue.

Signed-off-by: black-desk <me@black-desk.cn>
2024-01-04 15:31:24 +08:00
linxin 0fb9e3bdfc feat: add transfer appimage to linglong
help ll-builder to build linglong package with appimage file
2024-01-02 21:24:09 +08:00
myml 108726d634 feat: ll-builder uses new default channel to push application
ll-builder使用新默认channel推送应用

Log:
2023-12-29 15:31:53 +08:00
myml e5be1cea15 feat: Use util::fromYAML in builder
使用 fromYAML 读取 linglong 文件
之前的方法有解析失败的情况

Log:
2023-12-28 17:34:40 +08:00
black-desk 92f60891b2
fix(cli): handle old run --exec arguments
Signed-off-by: black-desk <me@black-desk.cn>
2023-12-28 13:25:22 +08:00
black-desk 9d00026b28
refact: use new config
Signed-off-by: black-desk <me@black-desk.cn>
2023-12-26 10:19:38 +08:00
kamiyadm c8a68af3c8 feat: support the operation of print info from layer
Print info from layer with ll-cli info <layer path>.

Log:
2023-12-22 14:53:26 +08:00
kamiyadm b5f4ed8dbd feat: support the operation of import layer
Import layer with ll-builder import <layer path>.

Log:
2023-12-22 09:53:33 +08:00
kamiyadm e30deed8b5 feat: support the operation of export layer
Export layer with ll-builer export <dir>.

Log:
2023-12-21 17:01:29 +08:00
black-desk 28bb59c9fb fix: get right default repository
repos is not a QList but a QMap of QString.
2023-12-13 11:24:40 +08:00
black-desk 6fd9a4856b fix: use value captured dbus connection in main
systemBus() and sessionBus() is not return a reference but a value.
This value captured by address in a lambda cause crash when that value
is gone.

So we use a value capture here to fix it.
2023-12-13 11:24:34 +08:00
black-desk 5d71e0861f refact: inject repo::RepoClient
Signed-off-by: black-desk <me@black-desk.cn>
2023-11-29 11:35:35 +08:00
linxin f0ea664a1f
refact: refact repo module error handling
rewrite util::error by utils::error

Log: rewrite error handing
Signed-off-by: black-desk <me@black-desk.cn>
2023-11-24 09:54:14 +08:00
black-desk c834125382 fix: use Qt::QueuedConnection
Signed-off-by: black-desk <me@black-desk.cn>
2023-11-15 09:50:10 +08:00
black-desk 59a47b5ebd fix: register job manager
Signed-off-by: black-desk <me@black-desk.cn>
2023-11-15 09:50:10 +08:00
black-desk e9393e9e3b refact: remove pkg manager in ll-cli
use p2p dbus to call method from package_manager in ll-cli.
2023-11-13 01:01:23 +08:00
black-desk eb60cfbb80 refact: do not inject pkgManImpl
Run package manager directly in ll-cli is just a workaround.
Check comment for later refact note.
2023-11-13 01:01:23 +08:00
black-desk 45c88bb337 refact: use about to quit in main
`finally` runs after QCoreApplication::exec return.
2023-11-13 01:01:23 +08:00
black-desk 45934ed095 chore: add version marco
add LINGLONG_VERSION
2023-11-13 01:01:23 +08:00
black-desk 2a7d840879 style(cli): use anonymous namespace
use namespace instead of static
2023-11-13 01:01:23 +08:00
black-desk f441040403 refact: refactory cli and its test
1. use pImpl for error;
2. remove factory template;
3. use gmock;
4. remove command helper class.
2023-11-13 01:01:23 +08:00
linxin 6712e3fc43 feat: add ll-cli command test
add ll-cli test

Log: add test
2023-11-13 01:01:23 +08:00
linxin ae2ab9850c reface: add json output
add the type of data output by json

Log: add data output type
Issue:
2023-11-13 01:01:23 +08:00
linxin abcfb26eda refact: parser dbus proxy parameter
parse the dbus proxy config data from json file

Log: change the method of obtainning dbus proxy parameter
2023-11-13 01:01:23 +08:00
black-desk ee54a2edc0 refact(cli): early return
Signed-off-by: black-desk <me@black-desk.cn>
2023-11-13 01:01:23 +08:00
black-desk 2cca37b841 chore: remove unused comment
Signed-off-by: black-desk <me@black-desk.cn>
2023-11-13 01:01:23 +08:00
black-desk ef80f995a9 refact: make all exec command as QStringList
Signed-off-by: black-desk <me@black-desk.cn>
2023-11-13 01:01:23 +08:00
linxin 6aed2a2b6c refact: ll-cli command parser implement
use docopt lib to replace Qt command line parser lib

Log: change command line parser implement
Issues:
Signed-off-by: black-desk <me@black-desk.cn>
2023-11-13 01:01:23 +08:00
black-desk ee1dece0a3
style: run clang-format on all files
Signed-off-by: black-desk <me@black-desk.cn>
2023-10-13 22:41:07 +08:00
black-desk 7fa2bb3d6b
chore: update PFL.cmake
Signed-off-by: black-desk <me@black-desk.cn>
2023-10-11 22:53:12 +08:00
black-desk 9ada065677
build: refact build process
- update cmake-format config;
- using PFL.cmake (https://github.com/black-desk/PFL.cmake);
- using CPM.cmake (https://github.com/cpm-cmake/CPM.cmake).

Signed-off-by: black-desk <me@black-desk.cn>
2023-10-11 13:35:51 +08:00
black-desk ac5d7bc795
refact: remove unneed function
Signed-off-by: black-desk <me@black-desk.cn>
2023-10-11 10:40:36 +08:00
black-desk a122049325
style: sort include
Signed-off-by: black-desk <me@black-desk.cn>
2023-10-07 10:55:46 +08:00
black-desk b07e3ea778
refact: remove private class of package mangaer
Signed-off-by: Chen Linxuan <me@black-desk.cn>
2023-09-28 14:03:13 +08:00
black-desk dba8b94795
refact: remove private class of app_manager
- remove private class of app_manager
- remove singleton base of app_manager

Signed-off-by: Chen Linxuan <me@black-desk.cn>
2023-09-28 14:03:12 +08:00
black-desk 6233e22990
refact: make ll-package-manager use utils/dbus
Signed-off-by: Chen Linxuan <me@black-desk.cn>
2023-09-28 14:03:10 +08:00
black-desk 05030b467f
refact: add using in ll-service
use using to make the code more readable in ll-service.

Signed-off-by: Chen Linxuan <me@black-desk.cn>
2023-09-28 14:03:09 +08:00
black-desk 32210fab10
refact: add some logs
- add some log in ll-service launching progress;
- add some log in utils/dbus.

Signed-off-by: Chen Linxuan <me@black-desk.cn>
2023-09-28 14:03:08 +08:00
black-desk 92f8ddda72
refact: make ll-service use utils/dbus
Signed-off-by: Chen Linxuan <me@black-desk.cn>
2023-09-28 14:03:07 +08:00
black-desk 2eee362db8
feat: use journald to logging
- introduce the new utils/global module for holding functions using
  everywhere;
- add qt message handler for logging to journald;
- add -DQT_MESSAGELOGCONTEXT for enabling source location of log.

Signed-off-by: black-desk <me@black-desk.cn>
2023-09-25 14:07:31 +08:00