Commit Graph

587 Commits

Author SHA1 Message Date
dengbo c7c3c6bb92 feat: add some translation
1. ll-dialog need to load translation file when running.
2. add some notification message translation.
2025-01-09 14:07:59 +08:00
dengbo de440dc6bc fix: can not install app in chroot
this is a temporary solution:
1. allow cache generation failure;
2. disable font cache generation.
2025-01-09 14:07:59 +08:00
ComixHe f8aa5249db fix: Change the way to check if the next task should be started
Signed-off-by: ComixHe <heyuming@deepin.org>
2025-01-08 15:54:57 +08:00
ComixHe ba4821dc06 feat: support installing uab which is exported in 'onlyApp' mode
Signed-off-by: ComixHe <heyuming@deepin.org>
2025-01-07 11:54:08 +08:00
ComixHe ebb84b48cc feat(gen): add annotations for skipping some oci-cfg-generators
Signed-off-by: ComixHe <heyuming@deepin.org>
2025-01-07 11:54:08 +08:00
ComixHe 137fe30110 feat(builder): support exporting uab in 'onlyApp' mode
Signed-off-by: ComixHe <heyuming@deepin.org>
2025-01-07 11:54:08 +08:00
ComixHe 4769801e5b refactor: reimplement function that calculating the size of directory
Signed-off-by: ComixHe <heyuming@deepin.org>
2025-01-07 11:54:08 +08:00
ComixHe 85c17bf538 feat: add optional field 'onlyApp' to UabMetaInfo
Signed-off-by: ComixHe <heyuming@deepin.org>
2025-01-07 11:54:08 +08:00
ComixHe f655205db9 feat: Temporarily disable directory permission interactions
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-12-26 16:05:33 +08:00
kamiyadm d9544e26d8 fix: no desktop in launcher after install app
Bring updateAM() back and call another service which in system bus.
Service name is org.desktopspec.ApplicationUpdateNotifier1.

Log:
2024-12-25 18:06:41 +08:00
myml 8544c5a0d6 feat: adjust systemd/user priority
XDG_DATA_DIRS下面的systemd优先级很高, 会影响系统systemd服务
将应用的systemd导出到其他地方, 再使用user-generator复制到优先级最低的generator.late目录
2024-12-25 17:31:40 +08:00
kamiyadm 3d3d94804d refactor: the behavior of install UAB
* Specialize the behavior of installing uab on uos and deepin.
  Old: install->installFromFile->PM
  New: install->installFromFile->(Execute xxx.uab)->install->installFromFile->PM
* Check LINGLONG_UAB_SKIP_RUNNING is exist or not before 'll-cli run'.

Log:
2024-12-25 16:54:17 +08:00
ComixHe 077098ff15 fix: use variable after move
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-12-25 16:46:59 +08:00
ComixHe 11ce80835b feat: change the compression algorithm to zstd
erofsfuse use fuse3 after 1.8.3

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-12-25 16:43:04 +08:00
black-desk ef3d303ec8 feat: auto install some modules
1. Update D-Bus API to allow Install method of PackageManager take
   multiple modules;
2. ll-cli will automatically generate a module list for language modules
   from language related environment variables when install a package
   without specify any modules.
2024-12-25 10:21:53 +08:00
myml 8e8bd7b0d7 feat: no need to export all entries on startup
不需要在每次启动package-manager时都执行一遍全量导出
2024-12-25 09:45:19 +08:00
ComixHe e1c9652009 fix: Correcting file mappings when there is no file path passing
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-12-24 17:47:57 +08:00
ComixHe 85cc8ea8ee build(uab): correct cmake file
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-12-24 12:29:46 +08:00
ComixHe bf376d3dbc refactor: rewriting taskList
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-12-24 12:29:46 +08:00
myml 6abd470586 feat: ll-builder supports import directory
ll-builder import命令支持传递目录, 这便于制作base和手动修改app
2024-12-24 09:37:44 +08:00
kamiyadm 5e0540eea5 fix: getOriginRawExec which in ostree.cpp occurs error
-

Log:
2024-12-23 14:43:36 +08:00
myml cd11eaf1ea feat: optimize ll-cli prune command
无论是否存在未使用的runtime, 都清理一遍ostree仓库
2024-12-23 10:56:34 +08:00
kamiyadm 89bb6f0452 fix: incorrect mount of fonts in 90_legacy
-

Log:
2024-12-23 10:54:01 +08:00
kamiyadm 28329c2b76 fix: optimize error output under generateCache.
-

Log:
2024-12-23 10:54:01 +08:00
ComixHe 8cfc01f551 feat: mapping exec field while generating desktop file
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-12-23 10:54:01 +08:00
kamiyadm 30495bbcdd feat: support rewrite some apps config files
Rewrite *.desktop/*.service/*.conf.

Log:
2024-12-23 10:54:01 +08:00
kamiyadm 1d8fcb948f feat: add new class GKeyFileWrapper
Wrap GKeyFile from glib which used for parsing ini-like config file.

Log:
2024-12-23 10:54:01 +08:00
ComixHe 768828bac6 refactor(oci-gen): using outer json file to generate the patch content
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-12-20 13:50:47 +08:00
myml 0b7d27fc0b fix: getRemoteModuleList for incompatibility with runtime modules
获取远程模块列表时, 应该考虑兼容旧版本的runtime modules
优化安装和升级流程, 只安装单个模块时, 不需要提前获取远程模块列表
2024-12-20 10:39:18 +08:00
myml 9c7ec8a352 fix: handling of DBus addresses with options
当DBus环境变量包含选项时, 玲珑没有正确处理
2024-12-20 09:48:12 +08:00
ComixHe 241b33e112 fix: correct mappingFile behavior
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-12-19 18:36:09 +08:00
ComixHe bb25607b91 refactor(gen): change the way of uising generators
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-12-19 18:21:01 +08:00
kamiyadm 06c55b1e70 fix: install app failed after it was cancled before
The job which the state is not Queued or has no job should be remove.

Log:
2024-12-19 10:17:53 +08:00
ComixHe bbd5df5c95 fix: skip some generating steps which related to env 'HOME'
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-12-18 17:47:03 +08:00
myml df0a58926b fix: unable to install module
修复因合并代码导致的module功能异常
将module安装独立起来, 避免和binary安装混杂
2024-12-18 16:50:22 +08:00
kamiyadm 2ea8ce7232 fix: PM blocked in a cancled task
Set the runningTaskObjectPath before the next available
task start instead of after the last task finished.

Log:
2024-12-18 16:13:34 +08:00
myml 1792d8df18 fix: abnormal cursor size in wayland
DTK使用XCURSOR_SIZE环境变量设置鼠标尺寸
需要将该环境变量从宿主机传递到容器中
2024-12-18 16:10:56 +08:00
ComixHe a39015081c refactor(gen): make all generator as a static library
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-12-18 15:28:04 +08:00
myml c195e81fc1 fix: old version of ll-cli cannot export the new package
旧版本玲珑不支持遍历entries/share目录中的软链接, 为保持兼容,
构建应用后不在entries/share目录创建软链接, 而是复制文件
2024-12-16 09:52:51 +08:00
kamiyadm a3412923a4 refactor: use ll-dialog when generate cache for apps
-

Log:
2024-12-12 17:26:10 +08:00
kamiyadm 101d22fbe7 fix: PM start container failed
* If the XDG_DATA_DIRS is not set, the dir that used for storage
  container state will fallback to /run/ll-box. deepin-linglong
  has no permission to create dir in /run, so we should specific
  a writable path to ll-box.
* Change Container::run(Process) to Container::run(Process, RunOption),
  we need to support specific run option.

Log:
2024-12-12 17:26:10 +08:00
kamiyadm 01babce152 fix: error message displayed when generating cache
If LINGLONG_SKIP_HOME_GENERATE is set, don't mount the home dir of host.

Log:
2024-12-12 17:26:10 +08:00
kamiyadm 42263b7072 fix: cannot run application after upgrade cli
* Add dbus method GenerateCache, signal GenerateCacheFinished. (PM)
* Add an exclusive write lock to the application cache in
  ensureCache to ensure that the container runs after the cache
  is generated. (cli)

Log:
2024-12-12 17:26:10 +08:00
kamiyadm b9d8199b71 fix: one of Prune() shoule be private member
-

Log:
2024-12-12 17:26:10 +08:00
kamiyadm 824a49990b fix: ll-builder also need to generate some cache
* In the build stage, create the cache directory in
  workdir and mount it to /run/linglong/cache. Then
  generate ld.so.cache in the hook.
* In the run stage, mount the cache dirctory and generate
  both the ld.so.cache and font cache.

Log:
2024-12-12 17:26:10 +08:00
kamiyadm 5085249328 fix: need support hooks when creating container
-

Log:
2024-12-12 17:26:10 +08:00
kamiyadm a9b7d836bb refactor: no need to pullDependency during ll-builder run
-

Log:
2024-12-12 17:26:10 +08:00
kamiyadm 429bd1cc7c refactor: adjust some cache generation and usage behaviors
The caches that have been processed are ld.so.cache and font cache.

Code:
 * Add a new member ContainerBuilder to PackageManager. (package_manager)
 * Add a new scripts to gererate cache in container. (ld-cache-generator/font-cache-generator)
 * Add new func generateCache() to execute app-cache-generator. (pacakge_manager)
 * Add new func removeCache() to remove cache. (package_manager)
 * Mount the cache during running application. (cli)

Mount:(host->container)
 * Remove /var/cache/fontconfig -> /var/cache/fontconfig
 * Add /usr/local/share/fonts -> /usr/local/share/fonts
 * Add /var/lib/linglong/cache/[hash] -> /run/linglong/cache
 * Add /var/lib/linglong/cache/[hash]/fontconfig -> /var/cache/fontconfig

Config: (config.json)
 * Remove the hooks part.
 * Change env LINGLONG_LD_SO_CACHE to /run/linglong/cache/ld.so.cache.

Log:
2024-12-12 17:26:10 +08:00
ComixHe d2e37dc5cf feat: add permission dialog
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-12-10 18:13:49 +08:00
kamiyadm f58cd1ffd5 fix: the canceled task would be Queued again
If a task which is queued before has been canceled,
it should not be update to Queued.

Log:
2024-12-10 16:22:37 +08:00
kamiyadm 600c657baa fix: print invalid task when the task is queued
The initial State in the cli is Unknown, and the initial
State of PackageTask is Queued. When a new task enters and
queues, PM will update the State of task to Queued, but the
State has not actually changed at this time.
After receiving the PropertyChanged signal, and the cli will
not update the states from Unknown to Queued. Then the cli finds
that its State is Unknown, so it prints invalid task.

Log
2024-12-10 16:22:37 +08:00
kamiyadm 6ecb60f98b refactor: check permission by method Permissions
Add new method Permissions to PM.

Log:
2024-12-10 16:22:37 +08:00
kamiyadm c6cde14474 fix: wrong upgrade prompt
The 'Please restart ...' staff should not be displayed when the app is not running.

Log:
2024-12-10 15:46:42 +08:00
kamiyadm 92d7f6cdd5 fix: PM crashed during adding new jobs
-

Log:
2024-12-09 18:02:06 +08:00
kamiyadm 40515978ed fix: add task execution log
-

Log:
2024-12-09 18:02:06 +08:00
ComixHe 3005c8ceef fix: entries directory isn't being exported when exporting uab
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-12-06 15:47:34 +08:00
kamiyadm ddcf78d044 fix: optimize the downgrade prompt output during install
-

Log:
2024-12-05 17:16:26 +08:00
kamiyadm 3f1ce95f20 fix: the permission of states.json is incorrect
-

Log:
2024-12-04 17:04:08 +08:00
kamiyadm ca45488ca4 fix: dbus permission authentication is skipped
The interface org.freedesktop.DBus.Introspectable can not be rejected in
dbus(1.12.20.11-deepin1). We use org.deepin.linglong.PackageManager.Prune
to identify permissions now.

Log:
2024-12-04 16:56:42 +08:00
kamiyadm 563156616c fix: can not uninstall ref if layer dir is not exist
If the layer dir is not exists, we just need to give a warning
instead of return with error.

Log:
2024-12-04 16:54:54 +08:00
myml d7a995f14d feat: custom user-agent with api client and ostree
将玲珑版本号添加到user-agent便于服务端识别
2024-12-04 09:54:49 +08:00
ComixHe a396a3cd9f fix: compatible with old gtest
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-12-02 16:29:15 +08:00
myml 7e09fb68f3 feat: compatible with runtime module
兼容旧版本的runtime module
2024-11-30 11:55:14 +08:00
ComixHe 01eb8ab22b feat: add sha256 implementation for uab
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-11-29 17:58:00 +08:00
myml 572d384e89 feat: add list and remove commands to builder
builder添加应用列表和删除应用的命令, 便于开发者清理构建缓存
2024-11-29 17:17:03 +08:00
myml 434eac27b6 fix: ll-builder cannot exit while pulling dependency
修复builder在下载依赖时无法按Ctrl+C退出的问题
尝试使用QCoreApplication::aboutToQuit让任务停止没有效果, 所以使用了自定义的全局对象
2024-11-29 15:10:34 +08:00
dengbo11 c01bc53fee fix(cli): package manager pullDependency misjudgment
Use the correct logical operators to judge module.
2024-11-29 14:45:00 +08:00
black-desk e7b72a8d93 test: bring some tests back
Signed-off-by: black-desk <me@black-desk.cn>
2024-11-29 13:54:51 +08:00
dengbo11 127d31f507 fix(cli): can not install or uninstall develop module
1. Develop module can not be installed without binary module.
2. Develop module should be remove when run uninstall app.
2024-11-28 10:16:00 +08:00
ComixHe c65555e3fe fix: resolve the real path of symlink
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-11-27 18:01:35 +08:00
ComixHe c56da37a1e fix: remove symlink or empty directory before checkout
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-11-27 15:38:24 +08:00
ComixHe 2373bd1a98 fix: access value to unexpected
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-11-27 15:38:24 +08:00
ComixHe 27c2e7cd57 fix: ignore version while creating PackageTask
After we removed support of multi-verison app, PackageTask must
ignore version to avoid installing multi-verison at the same time

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-11-27 15:38:24 +08:00
myml 776613d7ee fix: should be return when layer is not found
export函数找不到layerdir时应该返回
2024-11-26 19:54:13 +08:00
dengbo11 db54a5f645 fix(cli): ll-cli kill can not stop app by reference
1. Compatible with old versions to stop running app container using fuzz reference.
2. Only support enter running app container by fuzz reference.
2024-11-23 17:24:25 +08:00
ComixHe 6ae5725e2c fix: add fallback channel "main" to earlier packageInfo
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-11-23 16:03:16 +08:00
dengbo11 e6aea9d998 feat(cli): support kill or enter container by appid
Support kill or enter application by appid.
2024-11-22 17:20:22 +08:00
myml 426bf7ae37 feat: compatibility with older versions of pkexec
旧版本pkexec没有keep-cwd选项, 为兼容旧版本pkexec,
将相对路径的layer文件转为绝对路径
2024-11-22 17:19:59 +08:00
kamiyadm b6a866e666 fix: failed to rebuildCache because of some invalid records
If the repository or cache file is not damaged, rebuildCache should not fail.

Log:
2024-11-22 15:35:34 +08:00
ComixHe 57ea9cb404 feat: filepathMapping supports multiple files or urls
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-11-22 15:15:50 +08:00
myml cc16885515 fix: unable to export all entries file
将软链接改为重命名时应该使用绝对路径
遍历entries目录时需要跟随软链接
非app包不应该导出entries
2024-11-22 13:11:07 +08:00
ComixHe 7a45551fd9 refactor(migrate): try to migrate builder repo
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-11-21 17:34:58 +08:00
dengbo11 c1b70c36f7 fix(cli): cli list --upgradable show extra information
Adjust the log output level to debug, do not show extra information.
2024-11-21 17:26:48 +08:00
myml 4bea611f7b feat: re-export all application entries after migrate
在迁移后重新导出所有应用的entries, 避免数据残留影响功能
2024-11-21 16:55:36 +08:00
kamiyadm f33390f7ef fix: refuse to run application as root
Return early if the current user is root.

Log:
2024-11-21 14:52:37 +08:00
kamiyadm 19548c38d8 fix: crashed in anolisos 23.1 after ll-cli run
-

Log:
2024-11-21 13:58:33 +08:00
ComixHe d2df2fcdd1 fix: resolve symlink in filepathMapping
Issue: https://pms.uniontech.com/bug-view-283279.html

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-11-21 11:15:15 +08:00
myml 4dee0744cd feat: optimize gdbinit
优化生成gdbinit的代码, 使逻辑更清晰
debug-file-directory使用绝对路径而不是substitute-path二次转换, 避免低版本gdb不支持
2024-11-21 10:17:15 +08:00
ComixHe ca4f8bc7c7 refactor: re-implement migrate
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-11-19 17:46:22 +08:00
kamiyadm cda7a380fe fix(ll-cli): call updateAM failed
Remove updateAM, we can't connect to session bus now.

Log:
2024-11-19 14:43:50 +08:00
kamiyadm b1f12ac4c4 fix(ll-builder): broken progress display during pull
-

Log:
2024-11-19 14:43:50 +08:00
myml 53705e2f92 fix: the prefix of install file was not removed
在旧版本玲珑中, $appid.install用于裁剪binary体积, 记录的文件路径需要带着$PREFIX
在新版本玲珑中, 裁剪会自动添加$PREFIX, 但兼容$appid.install文件的逻辑未考虑去除PREFIX
导致使用$appid.install的应用构建有问题
2024-11-19 09:54:49 +08:00
kamiyadm 33c3332e71 fix: return wrong state during pull
If the reason is not "No such branch ...", do not fallback.

Log:
2024-11-19 09:45:47 +08:00
ComixHe 790ee4edfe fix: skip some ref while iterating all refs
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-11-16 15:26:11 +08:00
ComixHe 7224edcd81 feat(uab): importing sign files to app layer if uab has been signed
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-11-15 13:57:51 +08:00
myml e9fbcc4edb feat: auth push the develop module
现在develop会自动构建, 在push的时候也应该自动推送
2024-11-15 10:51:15 +08:00
ComixHe b7357a1e6d fix: ignore the version of module which is neither runtime nor binary
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-11-15 10:00:20 +08:00
kamiyadm a2ea228e10 fix: some minor issues
* Return after ret with error.
* Call the prune of ostree after remove unused runtime or base.

Log:
2024-11-14 21:30:35 +08:00
kamiyadm 702db8c5f8 fix: some multi-version compatibility issues
* There may be multiple versions locally, and only the update
  information of the latest local version will be displayed.
* The same as exportRefrence during migration.

Log:
2024-11-14 17:17:33 +08:00
kamiyadm c9d59d653d fix: adjust error output level
-

Log:
2024-11-14 17:17:33 +08:00
ComixHe 37afcfa94f fix: only do un/export when ref kind is 'app'
do not un/export latest ref while old one is running

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-11-14 16:54:33 +08:00
kamiyadm 5b951922cb fix: progress overflow during upgrade all
-

Log:
2024-11-14 14:14:36 +08:00
ComixHe c50b0150e7 fix: add fallback to check layer has been deleted or not
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-11-13 18:11:20 +08:00
ComixHe ed3a66443a fix: check error_code has value or not before output to log
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-11-13 17:35:39 +08:00
ComixHe 6f37db0765 refactor: Adapts to Qt 6.8.0
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-11-13 16:03:50 +08:00
ComixHe eecb4201c7 chore: vendor qdbusxml2cpp from Qt 6.8.0
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-11-13 16:03:50 +08:00
myml 97d752f248 fix: ll-builder cannot run the application with debug
临时创建的mergedDir被mergeModules函数清理了,
现在在mergeModules之后创建mergedDir
2024-11-13 12:43:36 +08:00
kamiyadm cffb82c176 refactor: adjust Install() in ll-package-manager
If the version is set, do clearReference by local first. If exists,
return with error.

Log:
2024-11-13 10:22:06 +08:00
ComixHe 60f7f71517 fix: correct logic error
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-11-12 17:55:08 +08:00
ComixHe 036a0fe9f5 fix: add more check while migrating
compare refs before commit to ostree

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-11-12 16:40:55 +08:00
ComixHe ca908217ad fix: unexport reference before removing it
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-11-12 16:07:21 +08:00
ComixHe b4e75ff98e fix: check status of exported symlink
ignore if symlink doesn't exist

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-11-12 16:07:21 +08:00
ComixHe 8fe518dd77 fix: use custom comparator to compare remote and local version
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-11-12 14:13:11 +08:00
kamiyadm 9218c3d81f fix: upgrade failed from oldRef/runtime to newRef/runtime
The module which is a paramater in pull could be runtime,
it cause the fallback mechanism not work.

Log:
2024-11-12 13:52:46 +08:00
ComixHe f7df6f0264 fix: use symlink_status to check symlink exist or not
std::filesystem::exist will follow symlink

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-11-12 13:37:09 +08:00
ComixHe 7e01780e79 fix: always search module 'binary' at first
correct state missing

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-11-11 20:57:40 +08:00
kamiyadm 0785f44968 fix: some minor bugs of 'll-cli prune'
* Optimize output information of prune.
* If the module is runtime, it should be removed too.

Log:
2024-11-11 17:29:13 +08:00
kamiyadm 06cd6d955e fix: cli returned if no avilable notifier
Fallback to DummyNotifier if no avilable notifier.

Log:
2024-11-11 17:07:59 +08:00
myml a85107ae40 feat: not use the host machine PATH variable
目前会通过profile.d/00env.sh将宿主机的PATH变量传递到容器中并覆盖profile文件设置的默认值
目前看来并没有好处, 反而会导致预料之外的问题, 比如在一些系统上PATH没有包含/bin目录, 但玲珑的base有可能需要
2024-11-11 09:32:41 +08:00
kamiyadm 5f45e6eb52 refactor: adjust the behavior of ll-cli upgrade
-

Log:"
2024-11-08 18:11:17 +08:00
myml 879d810b1f fix: ll-cli cannot install layer and uab files
在安装时会使用pkexec提权, pkexec默认不继承当前的工作目录和环境变量
所以使用--keep-cwd参数让pkexec继承工作目录
因为环境变量也不会继承, 并且没有需要继承环境的场景,不再传递当前环境变量给pkexec
2024-11-08 17:57:22 +08:00
myml 286121b4a2 fix: ll-builder build command parameter error
ll-builder build的命令参数有重复的变量, 导致部分参数不生效
网络库在断网时没有返回准确的错误信息
2024-11-08 17:56:03 +08:00
kamiyadm 88a8481dc3 fix: upgrade failed when the local app's module is runtime
-

Log:
2024-11-08 17:55:15 +08:00
kamiyadm 5cbf240880 fix: not pull dependency during install app
-

Log:
2024-11-07 09:56:12 +08:00
kamiyadm 7d848ab3a5 fix: some buildflag has uncertain value
Fully initialize those options.

Log:
2024-11-07 09:56:12 +08:00
kamiyadm 97e0898bbf fix: can not do the migration
* If there need migrate and the current operation is
  not 'll-cli migrate', notify the message.
* Call runningAsRoot() before call migrate().

Log:
2024-11-06 10:43:11 +08:00
dengbo11 583ad9d024 feat(cli): linglong cli help information internationalization
Add ll-cli chinese and spanish help information.
2024-11-05 20:12:08 +08:00
kamiyadm d7a9c1154b fix: coredump during ll-cli search failed
* Used a std::optional variable without check value.
* Should return after exiting the QEventLoop.
* Check the result code before use it.

Log:
2024-11-05 20:11:47 +08:00
kamiyadm fb3feed9c2 fix: wrong return code if no migration required
It should be 0 instead -1.

Log:
2024-11-05 16:05:40 +08:00
kamiyadm 21ce364aea fix: no permission to migrate
* Not doing interact before migration, only notification.
* Allow anyone to call WaitForAvailable() by dbus.

Log:
2024-11-05 15:33:04 +08:00
ComixHe 3d76823835 feat(uab): add exec flag to elf section 'linglong.meta' while exporting
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-11-05 15:27:49 +08:00
kamiyadm c647ad834d fix(ll-builder): some minor bugs
* We should keep the output format of 'll-builder repo show' as ll-cli.
* The command 'll-builder repo show' should return after print info.
* The linglong.yaml is not necessary to 'll-builder import'.

Log:
2024-11-05 14:36:39 +08:00
kamiyadm 5c3623d663 fix: check dbus error after read/write the Property of PM
Configuration() and setConfiguration() could be failed. Due to
the limit of dbus permission policy, we should call runningAsRoot()
before setConfiguration().

Log:
2024-11-05 14:34:22 +08:00
myml 7f3e65f1f9 feat: modules.files type changed from string to array
files从字符串改为字符串数组, 不再需要切分, 避免yaml格式化导致切分错误
当没有配置develop模块并未开启full develop选项, develop使用内置默认值
2024-11-05 09:37:24 +08:00
ComixHe 6a4fa5fc65 fix(ll-builder): only exporting existing module to layer
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-11-04 15:21:00 +08:00
dengbo11 d724f434b4 feat(ll-builder): optimize cli command line parsing function
Use CLI11 to optimize Qt command line parsing.
2024-11-04 13:39:08 +08:00
ComixHe 5105b2e221 refactor: improve multi-modules support
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-11-01 17:37:48 +08:00
dengbo11 e8a17cd9c3 chore: misspelling of word
Word spelling inaccurate.
2024-11-01 10:56:18 +08:00
dengbo11 795f2d681e chore: remove docopt
Use CLI11 to replace docopt.
2024-11-01 10:56:18 +08:00
dengbo11 73d4db59e6 feat(cli): optimize cli command line parsing function
Use CLI11 to optimize cli command line parsing.
2024-11-01 10:56:18 +08:00
dengbo11 5ffddb523e feat: add CLI11 command line parsing library
Use CLI11 to optimize command line parsing function.
2024-11-01 10:56:18 +08:00
kamiyadm 36e070b806 fix(cli): ll-cli --upgradable error to output standard output stream
ll-cli --upgradable should output to standard error stream.
2024-11-01 10:44:09 +08:00
kamiyadm 75b9c0db1d fix: typo and duplicated code in CMakeList.txt
-

Log:
2024-11-01 10:43:54 +08:00
dengbo11 93e5f0c133 feat: add deepin-manual to export paths
deepin-manual path should be exported,
self-developed applications will installed files that will be accessed by the help manual.
2024-11-01 10:43:30 +08:00
kamiyadm 0d17130efd fix(ll-cli): some operations should run as root
* Run pkexec before these operations: Install, Uninstall, Upgrade, Prune.

Log:
2024-10-31 18:00:49 +08:00
ComixHe fbe864243c fix: correct some errors and compiable with feature multi-module
- merge existing module after install/(deferred)uninstall
  - refactor version comparing logic in method 'install'
  - export/unexport directly, no need to check anymore
  - filter layer which has been marked as 'deleted'
  - adjust sequence of some transaction

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-31 13:35:32 +08:00
ComixHe da249785cd fix: add transaction for install
Fix crash during installation
Rearranging the installation process

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-31 13:35:32 +08:00
ComixHe 9ae61657a5 fix: fix some error about cli and printer
- populate unused enum
 - correct containerID in Cli::exec
 - unify error handling after dbus method call
 - correct 'll-cli list' behavior

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-31 13:35:32 +08:00
ComixHe b205d107eb fix: resolving conflicts and compilation errors after rebasing from master branch
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-31 13:35:32 +08:00
kamiyadm 07237a50bb fix: ll-cli may not exit after PM emit PruneFinished
-

Log:
2024-10-31 13:35:32 +08:00
ComixHe 50253b4565 fix: rebuild underlying cache when changing repo's config
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-31 13:35:32 +08:00
ComixHe f05b394cdb fix: change the way of cli lookup container while executing 'kill' or 'exec'
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-31 13:35:32 +08:00
ComixHe ec4e2ecd44 feat: implement the 'deferred uninstallation' feature
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-31 13:35:32 +08:00
kamiyadm d577c08617 fix: build error in lower version gcc
Change std::hash<QString>{}(x) to qHash(x).

Log:
2024-10-31 13:35:32 +08:00
kamiyadm f21d81e108 fix: coredump and abnormal registration of dbus
-

Log:
2024-10-31 13:35:32 +08:00
kamiyadm 2a3272b0c4 fix: minor errors after refactor
*Print '/n' after the substate is Done.
*Add a variable to store the version of state.json.
*Remove unused func setProPerty().

Log:
2024-10-31 13:35:32 +08:00
kamiyadm 89b1533c9e fix: should not use std::map<Reference>
* Use std::unordered_map<Reference>.
* Overload operators '==' and '!=' and specialization of std::hash in Reference.

Log:"
2024-10-31 13:35:32 +08:00
kamiyadm 102d23e86d fix(ll-package-manager): the value of refSpec is incorrect
The refSpec should be repo/channel:id/version/arch.

Log:
2024-10-31 13:35:32 +08:00
kamiyadm ca2a4af4e5 refactor: the behavior of InstallFromFile
* Add new arg options(a{sv}) to InstallFromFile(dbus xml).
* Support interaction for installFromFile.

Log:
2024-10-31 13:35:32 +08:00
kamiyadm 353f33bcd8 refactor: add new structure CommonResult
* Add new structure CommontOptions.
* Change 'force' to 'CommonOptions' in PackageManager1InstallParameters.

Log:
2024-10-31 13:35:32 +08:00
kamiyadm 6440fdbba2 refactor: Cli and PackageManager
In Cli:
 * Add a new slot func interaction.
 * Connect the signal RequestInteraction of PackageManager before call Install.
 * If '--force' is set, set it to PackageManager1InstallParameters.
In PackageManager:
 * Change replyInteraction(const QString &interactionID...)
   to     ReplyInteraction(QDBusObjectPath...).
 * Add new signals RequestInteraction and ReplyReceived.
 * Change runningTaskID to runningTaskObjectPath.
 * Change the behavior of Install.

Log:
2024-10-31 13:35:32 +08:00
kamiyadm 056eea73a4 refactor: adjust the structure of v1.yaml
* Add new struct InteractionMessageType and PackageManager1RequestInteractionAdditonalMessage.
* Add a new member 'force' to PackageManager1InstallParameters.

Log:
2024-10-31 13:35:32 +08:00
ComixHe 883373b19e fix: failure to compile under older versions of GCC and Qt
GCC version: 8.3.0
Qt version 5.11.3

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-31 13:35:32 +08:00
ComixHe 032627936c feat: add syncing mecanism between ll-cli and ll-package-manager
ll-package-manager will delay the uninstall process of application
if there are running containers that are using the application that
will be uninstalled and ll-package-manager may not daemonlize anymore
in the future.

So we need a mecanism to sync states and let ll-package-manager to know
how many running container there are and whether container is building
or not.

ll-cli should touch a file under /run/linglong/UID which named
with current pid and left empty to present initialization of ll-cli is
incomplete, ll-package-manager should waiting until all file are valid
(or exit immediately) if ll-package-manager want to uninstalling
package.

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-31 13:35:32 +08:00
kamiyadm c1a94f6775 feat: add func markDeleted in OSTreeRepo
-

Log:
2024-10-31 13:35:32 +08:00
kamiyadm 18166b45d3 refactor: adjust some func in RepoCache
* Remove func UpdateLayerItem.
* Add func findMatchingItem and use it.
* Make the member func writeToDisk public.

Log:
2024-10-31 13:35:32 +08:00
kamiyadm 263096e6f8 refactor: add a new member to RepositoryCacheLayersItem
* Add 'deleted' to RepositoryCacheLayersItem.
* Set the version of state.json to 2.

Log:
2024-10-31 13:35:32 +08:00
kamiyadm 3525075035 refactor(ll-cli): uninstall should not remove runtime or base
-

Log:
2024-10-31 13:35:32 +08:00
ComixHe fc1088eba4 refactor: the mechanism of task
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-31 13:35:32 +08:00
kamiyadm 3ec1512167 feat: support prune
* Implement Prune in package_manager.cpp.
* Overload the less-than operator of reference.
* Add new signal PruneFinished to package_manager.

Log:
2024-10-31 13:35:32 +08:00
kamiyadm cfa6eba615 feat: add new method to print prune result
-

Log:
2024-10-31 13:35:32 +08:00
kamiyadm f9d5e1b980 fix: some errors after rebase
-

Log:
2024-10-31 13:35:32 +08:00
kamiyadm 670e82dd76 refactor: change some api of ll-cli/ll-package-manager
* Change dbus return type to QVariantMap.
* Add new dbus method SetRunningState, Prune.
* Add new subcommand prune.
* Change the parameters in TaskChange.
* Add task for Uninstall.
* Set correct Status and SubStatus.

Log:
2024-10-31 13:35:32 +08:00
kamiyadm 0623453dca refactor: change the progress printing function
-

Log:
2024-10-31 13:35:32 +08:00
kamiyadm be27e22a7d refactor: Change the dbus properties of Task1
* Rename state/subState to State/SubState.
* Change the type of State/SubState to 'u'.
* Add new property Percentage.
* Implement some functions to read these properties.

Log:
2024-10-31 13:35:32 +08:00
kamiyadm 6d45060139 refactor: Change some data structures in the schema
* Remove PackageTaskMessage, PackageManager1ResultWithTaskID.
* Add State, SubState, PackageManager1ResultWithTaskObjectPath.

Log:
2024-10-31 13:35:32 +08:00
ComixHe 790c01230f refactor: the way of interaction between cli and package_manager
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-31 13:35:32 +08:00
ComixHe e03058b404 refactor!: adjust dbus interface and api of package manager
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-31 13:35:32 +08:00
dengbo11 9539ffb312 refactor(ll-builder): ll-builder filter entries share dir
Only install specified share directorys in build.

Log: ll-builder add filter entries share dir
2024-10-31 11:01:46 +08:00
myml 375e21491f fix: systemd service file not revised correctly
玲珑在构建后会使用app-conf-generator脚本修改应用的desktop, service等文件
在Exec字段添加ll-cli run实现通过玲珑启动应用, 减少应用开发者工作量
修复了在错误的share/systemd目录查找service,改为在lib/systemd目录查找
share/systemd目录是在执行完app-conf-generator后才从lib/systemd复制的
复制的原因是因为entries是指向share的软链接, systemd需要在entries中才会生效

Log:
2024-10-30 09:51:49 +08:00
myml c3a85f1191 fix: exception thrown when merging modules
在查询merged目录的文件列表时没有考虑目录不存在的情况
再加上没有捕获std::filesystem的错误返回值, 导致合并模块时会抛出异常
2024-10-29 15:59:52 +08:00
kamiyadm 3f682e0b8c fix!: restrict access to some methods of PM
* Add some rules to the dbus conf of PM:
  For deepin-linglong and root, allow to call any method.
  For other users, they should not call any method instead of Search.
* Capture the error of dbus reply which is from PM. If the error type is 'AccessDenied',
  notify pepole and return.

Log:
2024-10-29 15:59:16 +08:00
dengbo11 09e0ce0ea5 feat(ll-cli): add ll-cli list --upgradable feature
Add ll-cli list --upgradable to show the latest version list of the
currently installed apps.

Log: add ll-cli list --upgradable feature
2024-10-25 16:09:26 +08:00
dengbo11 58a1845159 fix(package_manager): error to use Q_ASSERT
The value should be determined directly instead of using Q_ASSERT.
2024-10-25 14:19:35 +08:00
ComixHe 10763a1485 feat: support for hiding some directories in a user's home directory via configuration
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-25 04:04:01 +00:00
kamiyadm 41dd7ea59a fix: not compare the arch during install layer/uab
-

Log:
2024-10-24 13:10:31 +08:00
myml ca6551e634 fix: unable to push a single module
修复因命令行解析配置错误导致无法推送单个模块
修复混用new和free
修复source没有url时报错信息不明
改进debug参数的说明
在pull依赖后应该执行一次模块合并操作
2024-10-23 15:01:17 +08:00
myml 6fe39d6040 feat: ll-builder add debug argument
ll-builder添加debug参数, 方便调试应用
debug环境使用develop模块, 可使用 gdb 调试应用
添加了模块拆分功能的文档, 更新了调试应用的文档
2024-10-22 11:21:39 +08:00
myml e13e855369 feat: ll-cli support install and uninstall modules
ll-cli添加安装卸载模块的功能, 在运行时会自动使用已安装的所有模块
在安装, 卸载, 更新时会扫描全部已安装的应用,
然后将应用和模块文件合并到merged目录, 在运行应用时优先查找merged目录

卸载binary时会自动将其他模块删除, 在安装模块前要求用户先安装binary
如果需要调试应用, 要先安装base的develop模块, 再安装应用的develop模块
2024-10-22 11:21:39 +08:00
ComixHe bcd3e80399 fix: failure to compile under older version of GCC
older verisons of GCC were unable to deduce the corrsponding
argument type from designated initializer list and function declaration.

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-21 21:05:42 +08:00
myml 6d5425545e feat: support module split files
实现了调试符号剥离的功能, 在编译前给gcc添加全局-g参数, 在编译后剥离调试符号到$PREFIX/lib/debug目录
实现了按模块拆分文件的功能, 在linglong.yaml中使用modules字段将构建产物拆分到不同的模块中

Log:
2024-10-15 14:18:40 +08:00
dengbo11 e2e33e7392 fix(repo): ll-cli search result is abnormal
PackageInfoV2 packageInfoV2Module is not assignment when construction
PackageInfoV2.

Log: fix ll-cli search abnormally
2024-10-14 09:39:16 +08:00
ComixHe 5c14203dd1 fix: No polling wait when migrating data
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-11 13:55:28 +08:00
dengbo11 972475473b feat(linglong_builder): add build option to skip ldd check
Some appimage packages use libraries in packages(LD_LIBRARY_PATH),
it will cause the ldd check fails. so add build option to skip ldd
check.
2024-10-10 15:47:31 +08:00
ComixHe ea5865f321 fix: correct output of printer when there isn't running containner
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-09 15:47:22 +08:00
ComixHe a74bce9b7d fix: ll-cli crashed while clearing local reference
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-09 15:47:22 +08:00
dengbo11 56400783b5 refactor: code refactor
1. Remove the redundant header files included.
2. Remove redundant code(file.h,file.cpp).
3. remove ll-store-installer

Log: Code optimization
2024-10-09 15:01:51 +08:00
ComixHe b203d63996 feat: support migrating data interactively
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-08 17:40:34 +08:00
ComixHe a2487b23eb fix: only try to migrate old refs
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-08 17:40:34 +08:00
ComixHe 4507034871 fix: failed to modify repo config
incorrect usage of docopt

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-08 17:40:34 +08:00
ComixHe 9c9c8637b0 fix: initalize underlying repo crashed
- fix use after move.
 - if underlying repository is empty, method 'migrate' should return
   early.

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-08 17:40:34 +08:00
ComixHe b346ac1bec fix: fallback to old module name lazily
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-08 17:40:34 +08:00
ComixHe b13390840f feat: verify existance of defaultRepo before changin underlying config
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-08 17:40:34 +08:00
ComixHe a1e742eeca refactor: redesign some methods of repoCache
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-08 17:40:34 +08:00
ComixHe 01821e4f0b refactor: improve error message and fix some error
- two packages with the same version but different channels are not
 - use type 'std::optional<std::string>' for subRef of UAB

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-08 17:40:34 +08:00
kamiyadm 63fa3687a2 fix: some errors during migration
-

Log:
2024-10-08 17:40:34 +08:00
ComixHe 9e30b04605 feat: migrating old ostree repo while constructing OstreeRepo
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-08 17:40:34 +08:00
ComixHe 6f7b243ec2 feat: add new dbus object for migrating underlying storage
Adding version '1' to dbus service 'org.deepin.linglong.PackageManager' and it's dbus object.

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-08 17:40:34 +08:00
kamiyadm c6482fd3e8 refactor: cli.cpp/package_manager.cpp/ostree_repo.*
* Do not set empty string for info->uuid. (cli.cpp)
 * Default module should be 'binary'. (package_manager.cpp)
 * Refactor removeOstreeRef/handleRepositoryUpdate/importLayerDir
   and some glue functions.(ostree_repo.cpp)
 * Add function isLayerEmpty in RepoCache. (repo_cache.cpp)
2024-10-08 17:40:34 +08:00
ComixHe cc6bcbed20 refactor: remove deprecated method and refactor getLayerDir
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-08 17:40:34 +08:00
kamiyadm fa0adcc979 refactor: modify pull/listLocal/rebuildCache/searchLayerItem
* Using new flag OSTREE_REPO_PULL_FLAGS_NONE, keep repo name
  in ref. (pull)
* Using layer info which from cache. (listLocal)
* Get repo name from ref. (rebuildCache)
* Return with no error. (searchLayerItem)
* If cacheRef.id is empty, return all items. (searchLayerItem)

Log:
2024-10-08 17:40:34 +08:00
ComixHe 29b0a39a0e refactor: remove unnecesseray code and refactor OSTreeRepo
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-08 17:40:34 +08:00
ComixHe 7f4890d6c3 refactor(api): redesign repoCache and remove MinifiedInfo
MinifiedInfo is no longer needed after isolating storage

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-08 17:40:34 +08:00
kamiyadm bf8cf40cab refactor: modify pull and createLayerQDir in ostree_repo.cpp
* Add new func cacheRefFromReference and cacheRefFromReferenceV2.
* Insert record to repo cache after ostree pull successfully.
* Use the hash of the ostree commit as the layerDir.

Log:
2024-10-08 17:40:34 +08:00
kamiyadm b61acf227e refactor: improve class RepoCache
* Rename structure cacheRef to CacheRef.
* Call writeToDisk after addLayerItem and deleteLayerItem.
* Clear variable gErr before use it.

Log:
2024-10-08 17:40:34 +08:00
kamiyadm 1b5c741e7d feat: implement rebuildCache in repo_cache.cpp
-

Log:
2024-10-08 17:40:34 +08:00
kamiyadm df449dc704 feat: overload loadJSONFile with other type
Support std::filesystem and GFile.

Log:
2024-10-08 17:40:34 +08:00
ComixHe 287606321f refactor: change repoCache
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-08 17:40:34 +08:00
ComixHe 8b7b347b9a feat: add cache to OSTreeRepo
improve RepoCache methods.

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-08 17:40:34 +08:00
kamiyadm e0d8ac49dc feat: add class RepoCache
This class will be a member of OSTreeRepo.

Log:
2024-10-08 17:40:34 +08:00
ComixHe 7689c505f7 feat: changing the api 'RepositoryCacheLayersItem'
Booking the commit hash of base and runtime in object which depends by
current item.

Adding these properties for the 'minified' feature of UAB

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-08 17:40:34 +08:00
ComixHe 51065863af refactor!: use command to operate configuration of builder and cli
1. We shouldn't operate repository of ll-build mannually by editing
configuration file.
2. Deprecate command 'll-cli repo modify' due to functional confusion of this command.

ll-cli use below commands to operate repository:
  - ll-cli repo add NAME URL
  - ll-cli repo remove NAME
  - ll-cli repo update NAME URL
  - ll-cli repo set-default NAME

ll-builder use below commands to operate repository:
  - ll-builder repo add --name=NAME --url=URL
  - ll-builder repo remove --name=NAME
  - ll-builder repo update --name=NAME --url=URL
  - ll-builder repo set-default --name=NAME

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-08 17:40:34 +08:00
dengbo11 cdf0142e18 refactor(package_manager): change packeage kind type judgment
Move kind type judgment to pullDependency.

Log: packeage kind type judgment is inaccurate
2024-09-27 17:20:29 +08:00
dengbo11 a67fc09633 fix(package_manager): adjust update task context status
Should update task context to installing status before pull runtime or
base.

Log: fix update task context status abnormal
2024-09-27 17:20:29 +08:00
myml b24ab2b6b2 fix: an exception will occur when the LINGLONG_DEBUG does not set
如果环境变量未设置std::getenv会返回空指针, std::string接收空指针会异常

Log:
2024-09-27 16:51:27 +08:00
myml 2fd118814d chore: clean build dependencies
添加libcurl的依赖, 清理不再需要的构建依赖

Log:
2024-09-26 19:09:16 +08:00
myml 5b98130d57 feat: add task queue to package manager
为package manager添加任务队列功能, 避免函数被同时多次调用时
搜索应用的接口改为异步返回结果, 避免dbus超时
2024-09-26 19:09:16 +08:00
myml 773f34d607 refactor: use libcurl to replace QT NetworkManager
为简化程序依赖, 使用openapi generator生成新的http api相关代码
使用libcurl的替换现有的QT NetworkManager
2024-09-26 19:09:16 +08:00
dengbo11 fca5580ecb feat: optimization reference export
Only export specified directorys, prevent files installed by applications from affecting the operation of the host system.
specified directorys reference: 79abc960a6/app/flatpak-builtins-build-finish.c (L233)

Log: linglong export reference optimization
2024-09-26 18:58:22 +08:00
dengbo11 3c3ffc8272 chore: code clean
Project configuration file optimization.

Log:
2024-09-26 15:12:47 +08:00
myml a0427e94f9 feat: Do not base64 encode container id when debugging
在加了LINGLONG_DEBUG环境变量时, 不再使用base64编码容器ID, 避免调试困难

Log:
2024-09-25 17:38:14 +08:00
myml c3e9d2d99b feat: skip the check when kind is runtime
目前的检查脚本未对runtime做适配, 在构建runtime时会报错
kind等于runtime时先跳过检查, 未来可能会为runtime添加对应的检查脚本

Log:
2024-09-19 13:53:21 +08:00
myml 51bd8eb26d fix: remove duplicate task delete operations
任务队列会自动删除运行完毕的任务, 不在需要在每个任务清理自己
修复安装layer和uab报错的问题

Log:
2024-09-18 14:00:30 +08:00
kamiyadm a0d6e7bcb6 feat: add some serialization func to reference
-

Log:
2024-09-11 18:00:06 +08:00
myml 52bdce97dc fix: using queues to control install order
有用户反馈安装应用时会阻塞搜索命令的使用, 对此进行了排查
发现为修复同时执行多个安装任务导致manager异常退出的问题
在下载文件时使用g_main_context_new切换事件循环, 这会导致dbus服务无法处理调用, 同时也会导致下载进度无法通过dbus信号发出
本次改动去掉了g_main_context_new, 并通过队列控制同时只执行一个安装/更新任务
顺便修复因ostree_async_progress重用导致下载runtime不显示进度的问题
2024-09-11 17:59:54 +08:00
dengbo11 50a1b0c55e fix: failed to pull runtime or base
Only need to download if base or runtime does not exist locally.

Log: fixed runtime or base can not pull normally
2024-09-10 09:51:04 +08:00
dengbo11 126c1e5458 fix: failed to install runtime or base layer
Only need to pull dependencies when installing app, but not when installing runtime or base.

Log: fixed runtime or base layer can not install normally
2024-09-06 13:07:49 +08:00
dengbo11 71caecb838 chore: adujust include guards
Use #pragma once to replace #ifndef
reference https://includeguardian.io/article/pragma-once-vs-ifndef.

Log: use #pragma once to guard include
2024-09-05 14:55:38 +08:00
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
ComixHe b34bf88cbb fix(uab): build failed below GCC 12
The std::hash specialization for std::filesystem::path has only been
added as resolution of LWG issue 3657 into the standard draft.

This issue has been fixed in GCC 12:
https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=e3c5e8360b4e4799e1e2daf74282629248690f23.

So use std::unordered_set<std::string> instead of
std::unordered_set<std::filesystem::path> for compatibility with lower version of GCC.

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-08-30 15:09:30 +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
ComixHe ef7dfb9467 feat: add storage API
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-08-27 14:51:40 +08:00
kamiyadm 893f2ba96b fix(ll-builder): failed to generate desktop file
* Return error when execute app-conf-generator failed.
* Do not parse full line of Exec, just insert string after Exec=.

issue: https://github.com/linuxdeepin/developer-center/issues/10419

Log:
2024-08-23 16:06:39 +08:00
bluesky 9c3192b2b6 feat: copy linglong.yaml to output
ll-builder 构建出来的玲珑应用没有拷贝出 linglong.yaml,不方便后续应用维护以及复现打包过程。

Log: copy linglong.yaml
2024-08-22 15:01:56 +08:00
kamiyadm cb35f6d5f3 fix(ll-cli): nothing changed if repo modify without '--name'
If '--name' is not set, use the default name.
issue: https://github.com/linuxdeepin/developer-center/issues/10235

Log:
2024-08-22 13:25:27 +08:00
ComixHe b04e73bdc6 fix: improve `ll-cli ps` output
Issue: https://github.com/linuxdeepin/developer-center/issues/10430

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-08-20 17:53:49 +08:00
ComixHe 29318500c1 refactor: uab filtering rules
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-08-19 16:30:01 +08:00
myml efc122c4f7 feat: support loong64 arch
支持龙芯新世界架构

Log:
2024-08-19 15:42:43 +08:00
ComixHe 0ab4666766 refactor: create hard link instead of copying files during exporting
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-08-16 14:28:05 +08:00
kamiyadm 8bcbee5e65 fix: SIGBRT when installing two apps
ostree_repo_pull() will iterate the thread default main context,
We new a new context before call ostree_repo_pull().

Log:
2024-08-09 22:25:15 +08:00