Commit Graph

2297 Commits

Author SHA1 Message Date
reddevillg 62a34749ec feat: support build extension
Introduce RunContext to unify runtime layer resolution, requiring
changes across the builder, CLI, and PM.

Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-05-20 17:18:42 +08:00
reddevillg 6ee4e1f45d feat: add extension interface
Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-05-20 17:18:42 +08:00
reddevillg 49c6660326 feat: add extension schema
Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-05-20 17:18:42 +08:00
ComixHe 642f64365e fix: returns only if creating directories failed
std::filesystem::creat_directories does not treated this as an error

Signed-off-by: ComixHe <heyuming@deepin.org>
2025-05-15 22:08:27 +08:00
dengbo fa65a7be3c fix: layer file can not install in uos v20
Do not support lzma compressor in uos v20.
2025-05-15 19:05:28 +08:00
dengbo 5249e61543 fix: ll-cli failed to start app
Improve error handling for filesystem existence checks.
2025-05-15 15:48:39 +08:00
ice909 ca321628aa feat: add support for installing packages from specific repositories
1. Added a new --repo option to the install command to specify a
repository for installation
2. Enhanced repository management with priority-based package resolution
3. Implemented methods to get, promote and recover repository priorities
4. Updated package installation logic to respect repository selection
5. Improved error handling for module not found cases
6. Added ReferenceWithRepo struct to track package references with their
source repositories
2025-05-15 12:23:25 +08:00
ice909 0d5c60c13f feat: implement printMessage method for JSONPrinter
Added implementation for JSONPrinter::printMessage method to output
messages
in JSON format. The method serializes the message as a JSON object with
a
"message" property. This enhances the JSON output capability by properly
handling messages alongside other data types.
2025-05-14 13:14:31 +08:00
ComixHe dbe988add5 style: format whole project
based on clang-format 19.1.7

Signed-off-by: ComixHe <heyuming@deepin.org>
2025-05-14 11:35:50 +08:00
ComixHe 414cb36a25 chore: update .clang-format
* strict standard to c++17
* use template < with space

Signed-off-by: ComixHe <heyuming@deepin.org>
2025-05-14 11:35:50 +08:00
ice909 eac643f380 feat: sort search results
Sort results of ll-cli search and list.

Signed-off-by: ice909 <gaochang1@uniontech.com>
2025-05-14 10:42:11 +08:00
ice909 92bd730be8 fix: improve package version filtering logic
This change optimizes the version filtering process by:
1. Replacing QString::fromStdString() with direct c_str() calls to
eliminate unnecessary string conversions
2. Directly updating existing entries instead of creating temporary maps
3. Adding proper checks when updating package repositories to prevent
overwriting existing entries
2025-05-13 16:24:21 +08:00
ice909 db3a9dc4ce feat: improve shell completions to show only apps when appropriate
This change enhances both bash and zsh completions for the ll-cli tool
by:
1. Adding a new function to specifically list installed applications
2. Updating the run, uninstall, and content commands to show only apps
   in their tab completion suggestions instead of all installed
components
3. Making the completion more contextually relevant for these commands
2025-05-13 11:34:59 +08:00
ice909 ef42541df1 refactor: search no longer supports specifying a version
Signed-off-by: ice909 <gaochang1@uniontech.com>
2025-05-12 15:31:56 +08:00
dengbo 8b2d49a6f1 refactor: adjust the default display type
The default display type is changed from app to all.
2025-05-12 10:27:23 +08:00
ice909 bb3624da8e feat: enhance package search with multi-repository support
1. Added repository field to search parameters requiring specifying
repos to search
2. Modified search implementation to support searching in multiple
repositories
3. Restructured search results to group packages by repository source
4. Added --repo option to the CLI search command
5. Updated display format to show repository information in search
results
6. Improved filtering logic to work with the repository-grouped package
structure
7. Added PackageManager1PruneResult type to separate it from search
results
2025-05-09 17:05:28 +08:00
ComixHe a784389854 refactor: improve installing from uab/layer
Signed-off-by: ComixHe <heyuming@deepin.org>
2025-05-08 21:08:45 +08:00
ice909 2628ef3873 refactor: simplify repository priority management
1. Remove automatic priority calculation when adding new repos
2. Remove automatic priority adjustment when setting default repo
3. Allow multiple repositories to have the same priority value
4. Use stable sort when displaying repositories to maintain order for
equal priorities
5. Set new repositories' default priority to 0 instead of calculated
value

refactor: 简化仓库优先级管理

1. 移除添加新仓库时的自动优先级计算
2. 移除设置默认仓库时的自动优先级调整
3. 允许多个仓库具有相同的优先级值
4. 使用稳定排序显示仓库,以维持优先级相同时的原始顺序
5. 设置新仓库的默认优先级为0,取代之前的计算值
2025-05-08 17:44:27 +08:00
ice909 b90a8abd53 style: improve repository information display formatting
Enhance CLI repository information display with dynamic column widths
and URL truncation:
1. Calculate maximum lengths for name, URL, and alias columns
dynamically
2. Limit URL display length to 100 characters with ellipsis for longer
URLs
3. Use calculated widths instead of fixed column widths for better
alignment
4. Truncate long URLs with "..." to improve readability

style: 改进仓库信息显示格式

增强命令行界面仓库信息显示,使用动态列宽和 URL 截断:
1. 动态计算名称、URL 和别名列的最大长度
2. 限制 URL 显示长度为 100 个字符,超长时添加省略号
3. 使用计算出的宽度而非固定列宽,以获得更好的对齐效果
4. 为长 URL 添加"..."截断,提高可读性
2025-05-08 17:44:27 +08:00
ComixHe 34a5d847f3 refactor(semver): remove C++20 code
Signed-off-by: ComixHe <heyuming@deepin.org>
2025-05-08 16:34:39 +08:00
ice909 0d6f12c49e chore: format semver_increment_test.cpp
Signed-off-by: ice909 <gaochang1@uniontech.com>
2025-05-08 16:11:03 +08:00
ice909 f7415b9341 fix: improve base and runtime version validation
The code now parses base and runtime fields using FuzzyReference::parse
before validating their versions, adding proper error handling for
parsing failures. This ensures that complex reference formats are
correctly handled before version validation is performed, making
the validation process more robust.
2025-05-08 16:11:03 +08:00
reddevillg 9946fa8d54 fix: make /sys, /proc, /dev and /tmp default
Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-05-08 16:07:03 +08:00
ice909 9785d14127 refactor: remove unused VersionRange class and related code
This change removes the VersionRange class which was marked with a TODO
comment
as "currently not used". Also removes the unused PreRelease struct from
version.cpp that was marked as having "no practical use". Deleted
associated
test files and updated CMake configuration files to reflect these
removals.

refactor: 移除未使用的 VersionRange 类及相关代码

此更改移除了标记为"当前未使用"的 VersionRange 类。同时删除了 version.cpp
中被标记为"无实际用途"的未使用 PreRelease 结构体。删除了相关的测试文件,
并更新了 CMake 配置文件以反映这些移除。
2025-05-08 15:05:32 +08:00
ice909 a9c83dbef8 refactor: implement semantic version matching
1. Added semanticMatch functionality to VersionV1, VersionV2, and
FallbackVersion classes
2. Added semanticMatching flag to clearReferenceOption struct
3. Updated clearReference implementations to use semantic version
matching
4. Modified package filtering to support semantic versioning
5. Replaced version tweak handling with more robust semantic matching
6. Enabled semantic matching in Builder, PackageManager and CLI
components

refactor: 实现语义化版本匹配

1. 为 VersionV1、VersionV2 和 FallbackVersion 类添加 semanticMatch 功能
2. 在 clearReferenceOption 结构体中添加 semanticMatching 标志
3. 更新 clearReference 实现以使用语义化版本匹配
4. 修改包过滤功能以支持语义化版本控制
5. 用更健壮的语义匹配替代版本补丁处理
6. 在 Builder、PackageManager 和 CLI 组件中启用语义化匹配
2025-05-08 15:05:32 +08:00
ice909 349230d544 feat: add a fallback parsing solution for version
Ensure that when the version number changes in the future, the old client will not throw an exception.
2025-05-08 15:05:32 +08:00
ice909 71a8e8041d feat: support semver sepc
Supports semver specification version numbers.
2025-05-08 15:05:32 +08:00
ice909 574c0db46c fix: restrict content command to app type layers only
Added validation to ensure the content command can only be used with
application layers by checking the layer kind. If the layer is not an
app,
an error message is displayed to inform the user that only app content
viewing is supported. This prevents potential issues when trying to view
content of non-application layers.

fix: 限制内容命令仅用于应用类型层

添加验证以确保内容命令只能用于应用层,方法是检查层的类型。
如果该层不是应用类型,则显示错误消息,通知用户只支持查看应用内容。
这可以防止尝试查看非应用层内容时可能出现的问题。
2025-05-07 14:41:48 +08:00
reddevillg 2eebc546a7 fix: make the mount adjustment behavior clearer
Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-05-07 13:21:17 +08:00
transifex-integration[bot] 1f5d99a0d4
[linyaps] Updates for project Linyaps (#1160)
* i18n: Translate po/en_US.po in es

100% translated source file: 'po/en_US.po'
on 'es'.

* i18n: Translate po/en_US.po in es

100% translated source file: 'po/en_US.po'
on 'es'.

* i18n: Translate po/en_US.po in es

100% translated source file: 'po/en_US.po'
on 'es'.

* i18n: Translate po/en_US.po in es

100% translated source file: 'po/en_US.po'
on 'es'.

---------

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2025-05-07 13:14:17 +08:00
dengbo ca9cbe7449 fix: app can not open url
Update URL prefix to use Correct file path.
2025-04-29 16:11:32 +08:00
dengbo 8c8ba9ae10 fix: build error in ci build
Correct string formatting.
2025-04-29 16:00:04 +08:00
reddevillg 3e0a9d8ca5 feat: use ll-box in ll-builder-utils when export UAB
Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-04-28 15:13:11 +08:00
ComixHe d8b25b4b7c fix: remove binding host certs for now
Certificate name resolvtion is very complicated
we shouldn't bind /etc/ssl/certs to container directly

Signed-off-by: ComixHe <heyuming@deepin.org>
2025-04-28 15:07:46 +08:00
transifex-integration[bot] 3b09168063 i18n: Translate po/en_US.po in zh_CN
100% translated source file: 'po/en_US.po'
on 'zh_CN'.
2025-04-27 17:39:54 +08:00
ice909 d9d0a802c6 feat: support specifying the desktop installation directory
Specify 'LINGLONG_DESKTOP_EXPORT_PATH' during compilation.

Signed-off-by: ice909 <gaochang1@uniontech.com>
2025-04-27 14:21:10 +08:00
transifex-integration[bot] cc123c2acd
[linyaps] Updates for project Linyaps (#1152)
* i18n: Translate po/en_US.po in pt_BR

76% of minimum 50% translated source file: 'po/en_US.po'
on 'pt_BR'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* i18n: Translate po/en_US.po in pt_BR

79% of minimum 50% translated source file: 'po/en_US.po'
on 'pt_BR'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* i18n: Translate po/en_US.po in pt_BR

81% of minimum 50% translated source file: 'po/en_US.po'
on 'pt_BR'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* i18n: Translate po/en_US.po in pt_BR

84% of minimum 50% translated source file: 'po/en_US.po'
on 'pt_BR'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* i18n: Translate po/en_US.po in pt_BR

90% of minimum 50% translated source file: 'po/en_US.po'
on 'pt_BR'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* i18n: Translate po/en_US.po in pt_BR

97% of minimum 50% translated source file: 'po/en_US.po'
on 'pt_BR'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* i18n: Translate po/en_US.po in pt_BR

99% of minimum 50% translated source file: 'po/en_US.po'
on 'pt_BR'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* i18n: Translate po/en_US.po in pt_BR

100% translated source file: 'po/en_US.po'
on 'pt_BR'.

* i18n: Translate po/en_US.po in pt_BR

100% translated source file: 'po/en_US.po'
on 'pt_BR'.

---------

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2025-04-27 11:35:25 +08:00
reddevillg c3d407e004 fix: fix /tmp bind in multiple users envrionment
Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-04-27 11:31:34 +08:00
dengbo ec6cbe3c8a docs: update install docs
Update install docs.
2025-04-25 17:44:25 +08:00
dengbo 0bd17b98fe docs: update docs
Update docs.
2025-04-25 15:22:35 +08:00
myml 0b593a58c8 feat: add base and runtime docs
添加base和runtime的介绍文档
2025-04-25 14:58:42 +08:00
reddevillg 0a17cb711f feat: generate ld cache in a separate running container
Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-04-25 13:26:22 +08:00
ice909 63263e8a29 fix: zsh completion failed
"_values:compvalues:11: not enough arguments"

Signed-off-by: ice909 <gaochang1@uniontech.com>
2025-04-25 13:03:58 +08:00
ComixHe 5f78b356e2 fix: remove option 'nosymfollow'
'nosymfollow' doesn't satisfying with our purpose

Signed-off-by: ComixHe <heyuming@deepin.org>
2025-04-25 09:33:14 +08:00
ComixHe be075cc7b0 fix: skip binding XauthFile if it not exists
Signed-off-by: ComixHe <heyuming@deepin.org>
2025-04-24 18:18:42 +08:00
ice909 605b8eff45 fix: add the --no-same-owner parameter to avoid tar unpack errors
Signed-off-by: ice909 <gaochang1@uniontech.com>
2025-04-24 17:59:53 +08:00
ComixHe 1840243f59 refactor: fix compiling warnings
Signed-off-by: ComixHe <heyuming@deepin.org>
2025-04-24 13:53:45 +08:00
ice909 52ae54a70d fix: cannot set priority
Signed-off-by: ice909 <gaochang1@uniontech.com>
2025-04-22 19:08:07 +08:00
ice909 b70df3c967 fix: builder build crash when parsing version number
When writing a version number incorrectly, it should return an error and exit instead of crashing directly.

Signed-off-by: ice909 <gaochang1@uniontech.com>
2025-04-22 16:42:47 +08:00
reddevillg 6cfdaf9798 docs: Revamp ll-builder manifests documentation for clarity and detail
Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-04-21 16:08:02 +08:00