Commit Graph

649 Commits

Author SHA1 Message Date
reddevillg 590c1c081f fix: remove vendor qdbusxml2cpp
tools/qdbusxml2cpp may not compile on all Qt versions.

Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-07-22 14:21:12 +08:00
myml b3f342ea20 fix: modify output check logic for UAB export
1. Changed output check behavior to always run main-check.sh for UAB
export statistics
2. Separated skip conditions for non-app packages and output check
skipping
3. Improved message clarity with "skipped" vs "ignored" states
4. Maintained existing error handling for failed checks

The modification ensures main-check.sh always runs for app packages
since its output is needed for UAB export statistics, even when output
checks are skipped. The logic is now clearer with distinct handling for
non-app packages (skipped) vs skipped output checks (ignored).

fix: 修改ldd检查逻辑以支持UAB导出

1. 修改ldd检查行为,为UAB导出功能, 无论是否跳过output skip都执行main-check.sh
2. 分离非应用包和跳过输出检查的不同跳过条件
3. 使用"skipped"和"ignored"提高消息清晰度
4. 保留对检查失败的现有错误处理

此修改确保对于应用包始终运行main-check.sh,因为其输出用于UAB导出统计,即
使跳过输出检查。现在逻辑更清晰,区分了非应用包(跳过)和跳过输出检查(忽略)
的不同处理情况。
2025-07-21 15:59:30 +08:00
deepsource-autofix[bot] f4277e2b74 style: format code with ClangFormat and Prettier
This commit fixes the style issues introduced in 941b502 according to the output
from ClangFormat and Prettier.

Details: None
2025-07-18 15:13:19 +08:00
deepsource-autofix[bot] 4d8d4c7640 style: format code with ClangFormat and Prettier
This commit fixes the style issues introduced in a196bea according to the output
from ClangFormat and Prettier.

Details: None
2025-07-18 11:24:39 +08:00
myml a196beae6c feat: add commit size calculation for pull progress
1. Added new fields needed_archived, needed_unpacked, and needed_objects
to ostreeUserData struct
2. Implemented getCommitSize method to fetch commit metadata and
calculate download requirements
3. Modified progress_changed to use needed_objects for more accurate
progress reporting
4. Integrated size calculation into pull operation to improve progress
tracking
5. Added error handling for cases where size calculation fails

The changes improve download progress reporting by:
- Getting actual commit sizes from server before download begins
- Calculating exact number of objects needed for download
- Providing more accurate progress percentage during download
- Maintaining backward compatibility when size info isn't available

feat: 添加提交大小计算以改进拉取进度显示

1. 在ostreeUserData结构体中新增needed_archived、needed_unpacked和
needed_objects字段
2. 实现getCommitSize方法获取提交元数据并计算下载需求
3. 修改progress_changed函数使用needed_objects实现更精确的进度报告
4. 将大小计算集成到pull操作中以改进进度跟踪
5. 添加了大小计算失败时的错误处理

这些改进通过以下方式提升了下载进度报告的准确性:
- 在下载开始前从服务器获取实际提交大小
- 计算需要下载的精确对象数量
- 在下载过程中提供更准确的进度百分比
- 当大小信息不可用时保持向后兼容
2025-07-18 10:50:11 +08:00
reddevillg d08c84bd6e Fix: Correct build order and fix private mounting
Move buildMountHome after buildPrivateDir, because it depends on private
directory that are initialized within buildPrivateDir.

Correct private config, cache, state directory mounting.

Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-07-17 17:58:32 +08:00
reddevillg 2ae89a44d8 fix: Return exit code of initial child process
The init process will now exit with the same code as the initial child
process it manages.  This is crucial for environments like the builder,
where the success or failure of a command must be detected.

Add missing LINYAPS_INIT_SINGLE_MODE in handling process build depends.

Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-07-16 15:36:46 +08:00
dengbo 466faea895 refactor: extends ll-cli dir command with module support
Adds support for specifying a module when using the `ll-cli dir`
command. This allows users to retrieve the layer directory for a
specific module within an application.
2025-07-16 15:06:19 +08:00
reddevillg 3dd66a9a79 fix: clean sources directory on every build
Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-07-15 21:18:29 +08:00
reddevillg 6e3d377174 fix: add rbind option alongside copy-symlink
Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-07-15 18:43:08 +08:00
reddevillg bfdd30d72b fix: fix compiler error on nlohmann_json 3.9.1
Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-07-15 16:43:03 +08:00
reddevillg c698fb61d0 fix: Set LINGLONG_LD_SO_CACHE for compatibility
Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-07-15 13:37:55 +08:00
myml 8e4d963f9a fix: disable static deltas in OSTree pull operations
1. Added "disable-static-deltas" option set to true in OSTree pull
operations
2. This change prevents the use of static deltas which can cause issues
with certain repository configurations
3. The modification was made in both pull operation variants for
consistency
4. Static deltas can sometimes lead to corrupted downloads or
inefficient storage usage

fix: 在OSTree拉取操作中禁用静态增量

1. 在OSTree拉取操作中添加了"disable-static-deltas"选项并设为true
2. 此变更防止使用静态增量,某些仓库配置下会导致问题
3. 修改在两个拉取操作变体中保持一致
4. 静态增量有时会导致下载损坏或存储使用效率低下
2025-07-14 13:11:08 +08:00
reddevillg 051380e090 fix: check directory existence before creation
create_directories may fail with an error code if the destination is a
symbolic link to a directory.

Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-07-11 18:19:24 +08:00
ComixHe 0d164e08df feat: add signleMode for ll-init
all of the builder container shouldn't reuse container

Signed-off-by: ComixHe <ComixHe1895@outlook.com>
2025-07-11 16:40:15 +08:00
myml ab365912e2 fix: handle file descriptor access in layer unpacking
1. Added QTemporaryDir and fstream headers for temporary file operations
2. Implemented fallback mechanism when direct file descriptor access
fails
3. Added UUID-based temporary file naming for layer files
4. Improved error handling for file save operations

The changes address cases where direct access to file descriptors
via /proc may fail (common in containerized environments). The new
implementation first attempts direct access, then falls back to copying
the file to a temporary location if needed. This makes the unpacking
process more robust across different environments.

fix: 修复layer解包中文件描述符访问权限问题

1. 添加 QTemporaryDir 和 fstream 头文件以支持临时文件操作
2. 当直接文件描述符访问失败时实现回退机制
3. 为layer文件添加基于UUID的临时文件命名
4. 改进文件保存操作的错误处理

这些改动解决了通过/proc直接访问文件描述符可能失败的情况(在容器环境中常
见)。新实现首先尝试直接访问,如果需要则回退到将文件复制到临时位置。这使
得解包过程在不同环境中更加健壮。
2025-07-11 11:32:24 +08:00
ComixHe ce30563923 refactor: reimplement reusing container
Signed-off-by: ComixHe <ComixHe1895@outlook.com>
2025-07-10 21:07:16 +08:00
myml bdf2cde3c9 feat: add mirror enable/disable functionality for repos
1. Added new CLI commands `enable-mirror` and `disable-mirror` for
repository management
2. Implemented handler functions for mirror enable/disable operations in
both ll-builder and ll-cli
3. Modified repo config handling to support mirrorEnabled flag as
optional boolean
4. Updated test cases to include mirrorEnabled field in test data
5. Improved repo alias handling by using value_or to fallback to
repoName when alias is not provided

These changes allow users to control mirror functionality for
repositories through CLI commands, providing more flexibility in
repository configuration. The mirrorEnabled flag is now properly handled
in the OSTree repo configuration.

feat: 为仓库添加镜像启用/禁用功能

1. 新增了用于仓库管理的`enable-mirror`和`disable-mirror` CLI命令
2. 在ll-builder和ll-cli中实现了镜像启用/禁用操作的处理函数
3. 修改了仓库配置处理以支持可选的mirrorEnabled标志
4. 更新了测试用例,在测试数据中包含mirrorEnabled字段
5. 通过使用value_or在别名未提供时回退到repoName,改进了仓库别名处理

这些变更允许用户通过CLI命令控制仓库的镜像功能,为仓库配置提供更多灵活
性。现在在OSTree仓库配置中正确处理了mirrorEnabled标志。
2025-07-10 19:28:36 +08:00
reddevillg c7559ffe7c fix: treat /etc/localtime as fixed mount node
Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-07-08 14:14:54 +08:00
myml 7e00c9b76d fix: skip rewrite for files with a single hard link
为了兼容上个版本直接对source进行重写,这里需要判断原始文件的硬链接数
如果硬链接数为1,则说明原始文件重写过了,就跳过重写
因为多次重写会导致应用出问题
2025-07-04 14:36:53 +08:00
dengbo ebcadfe850 fix: the context menu of the file manager displays abnormally
Add optional file suffix filtering to exportDir, ensures only files matching the specified suffix are processed.
2025-07-02 09:47:35 +08:00
reddevillg c3d8c21aca fix: Isolate app-specific patches in dedicated directories
Previously, app-specific patches were identified by matching the patch
filename (without the extension) against the application ID. This
approach was flawed as it caused patch conflicts between different
applications. For example, a patch named `com.app.A.json`, intended
only for `com.app.A`, would be incorrectly applied as a global patch
to `com.app.B`.

This commit introduces a directory-based mechanism to correctly isolate
application-specific patches. All patches for a specific app must now
reside within a subdirectory named after the app ID.

Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-07-01 20:14:26 +08:00
reddevillg 5fa8a91e68 fix: ensure correct localtime and resolv.conf mounting
Mounting may fail if the file types differed between the build layer and
host (e.g., regular file vs. symbolic link).

Implemented solution through two approaches
1. Build phase: Proactively remove /etc/localtime and /etc/resolv.conf
   from base layer during overlayfs preparation to prevent conflicts
   with host.
2. Container configuration: Introduced dedicated buildMountLocalTime
   and buildNetworkConf methods to handle timezone and resolv.conf
   mounts, with enableSelfAdjustingMount properly managing these cases.

Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-07-01 17:11:07 +08:00
myml 7cef08dba4 fix: invert condition in filterPackageInfosByType
invert condition in filterPackageInfosByType to correctly filter package types
2025-07-01 09:52:49 +08:00
reddevillg 70156a8722 fix: copy hidden files
see issue #1246

Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-07-01 09:48:58 +08:00
reddevillg 71ee2bd1d1 fix: improve ld.so.cache validation and regeneration
- Add content-based validation for ld.so.conf to detect layer path
  changes
- Include configuration sources hash in ld.so.conf for validation
- In PackageManager GenerateCache always generate cache,
  tryGenerateCache will skip it if cache directory exists
- use memcpy in sha256 to avoid unaligned visit

This ensures that ld.so.cache is properly regenerated when the
underlying layer configuration changes, preventing stale cache issues.

Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-06-30 18:26:02 +08:00
ComixHe cab7fa441d fix: add missing header
Signed-off-by: ComixHe <ComixHe1895@outlook.com>
2025-06-23 16:02:44 +08:00
reddevillg 23e4f9bfeb fix: fix compiler error when use CPM nlohmann
Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-06-20 18:12:10 +08:00
reddevillg 5401be148f fix: correctly pass argument by vector
use quoteBashArg if run with bash -c or write to bash script.

Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-06-20 18:10:33 +08:00
myml b22c58959e feat: add PackageInfoDisplay schema and update related components
在ll-cli list --json中添加install_time字段,用于表示包的安装时间
2025-06-20 14:32:41 +08:00
reddevillg 3bc48055bc fix: fix build failure caused by removed file
Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-06-19 19:01:41 +08:00
reddevillg a963f6e81c fix: generate ld cache before builder run
Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-06-19 17:49:17 +08:00
reddevillg fb30135210 fix: Correctly quote arguments in container entrypoint script
This change introduces a quoting mechanism (`quoteArg`) that:
1. Encloses each argument in single quotes.
2. Escapes embedded single quotes within an argument (e.g., `it's`
   becomes `'it'\''s'`).
This ensures that arguments are passed to the `exec` command
in the entrypoint script as single, intact units, even if they
contain spaces or single quotes.

Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-06-19 17:05:11 +08:00
ice909 e29efbe569 fix: prevent crash in prune command after loop exit
Added missing return statements after loop.exit() calls in the prune
command
to prevent function execution from continuing after exit is called. This
fixes a crash that occurred when the function continued executing code
after
requesting the event loop to exit, potentially accessing invalid memory.
2025-06-18 13:01:25 +08:00
myml 44bae7483e fix: handle renaming and copying of non-original linyaps files in exportDir
Updated the exportDir function to rename source files to include a ".linyaps.original" suffix if they are not already named as such, ensuring proper handling during the export process. This change prevents overwriting original files and maintains compatibility with existing export logic.
2025-06-17 20:22:40 +08:00
ComixHe b8db0e242b chore: remove unused file
Signed-off-by: ComixHe <ComixHe1895@outlook.com>
2025-06-17 16:37:50 +08:00
dengbo faf1be9bad fix: dock application icons will lose when upgrading components
If have a custom desktop export directory, you need to ensure compatibility and export the desktop files to both the old and new directories.
2025-06-16 14:51:37 +08:00
myml 1a0e639a7b fix: update size type to int64_t and initialize struct stat in UABPackager and Builder
Changed the size type from int to int64_t in both Builder and UABPackager to ensure proper handling of larger values. Additionally, initialized struct stat variables to improve code clarity and maintainability.
2025-06-13 17:57:57 +08:00
dengbo 29be0294c7 fix: failed to export uab use com.uniontech.foundation
Adds support for recognizing com.uniontech.foundation.
2025-06-13 11:18:35 +08:00
dengbo a6fde49e93 feat: add sub directory to prevent export file conflicts
Add sub directory using item commit to prevent export file conflicts.
2025-06-13 11:18:25 +08:00
ComixHe bab96b9d4e fix: building failed when using Qt5
Signed-off-by: ComixHe <ComixHe1895@outlook.com>
2025-06-11 16:47:37 +08:00
ComixHe 67aff2635e fix: correct the way of exporting only-app UAB
Signed-off-by: ComixHe <ComixHe1895@outlook.com>
2025-06-11 16:37:05 +08:00
ComixHe 2615ac3525 refactor: remove all generators
Signed-off-by: ComixHe <ComixHe1895@outlook.com>
2025-06-11 16:37:05 +08:00
reddevillg d8a3191d2f fix: Preserve host's HOME env in container.
1. Ensure container HOME env matches the host environment exactly, we
   rely on it before support portal well.
2. remove /run/udev bind, udev database path and file across different
   versions are not guaranteed to be compatible.
3. add all_proxy env to defulat forward list.

Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-06-10 18:15:35 +08:00
dengbo b54fd561aa feat: add hooks features
Add hooks features for app install.
2025-06-06 17:33:22 +08:00
reddevillg a77322acc9 fix: preserve set-default compatibility
The set-default command ensures compatibility by setting the priority.
However, its modification to the priority is unidirectional and
one-time, subsequent set-priority invokes will not alter the default
state.

Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-06-05 10:20:14 +08:00
reddevillg c6386bdfe5 feat: modify the way container patches work
1. provide application level patches
2. application level patches will apply after global patches

move configure.h.in to src root, becasue lib utils depends on QT,
we don't want to introduce QT in certain scenarios.

Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-06-04 14:45:07 +08:00
dengbo 286d413070 fix: export desktop to a invalid export path
1. The custom desktop exported directory(CUSTOM_DATA_DIR) should only be in the share dir, not in the subdirectory;
2. LINGLONG_DATA_DIR should be exported;
3. need to update LINGLONG_EXPORT_VERSION to fix export.
2025-06-04 14:10:12 +08:00
ComixHe 881f0d5b1e refactor: move gvfs envs to OstreeRepo ctor
ensure that gvfs module wouldn't be loaded

Signed-off-by: ComixHe <ComixHe1895@outlook.com>
2025-06-04 10:14:31 +08:00
dengbo 4ed2ad9216 feat: add /etc/hosts to old generators
Bind /etc/hosts to the container to facilitate network debugging.
2025-06-03 09:34:08 +08:00
dengbo 59fbf35dea feat: bind /etc/hosts to container
Bind /etc/hosts to the container to facilitate network debugging.
2025-06-03 09:34:08 +08:00
reddevillg 6e99856fd4 fix: ensure bundle directory is clean
Containers may fail to start if the bundle directory contains residual
files or conflicts from previous run.

Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-05-29 11:37:38 +08:00
reddevillg 01455c39f2 feat: support architecture specfied linglong.yaml
1. ll-builder use current directory as project directory.
2. Project yaml file(aka linglong.yaml) must reside within project
   directory or its subdirectories.
3. User can use -f option to specfy a project yaml file.
4. ll-builder will attempt to load project yaml file in the following
   order from the project root directory:
     - linglong.<arch>.yaml (architecture-specific)
     - linglong.yaml (generic)

Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-05-29 11:19:54 +08:00
reddevillg 1fc517735b fix: remove unused code
Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-05-29 11:19:54 +08:00
reddevillg 3e9f0b8902 fix: enable self adjust mount in builder run
If the current RunContext contains innerBinds, self-adjust mount must be
enabled; otherwise, execution may fail due to missing mount points.

Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-05-27 17:55:22 +08:00
reddevillg a8127f77de feat: prune support extension
Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-05-27 17:50:05 +08:00
reddevillg c5f2665f12 feat: Support extension environment variables
1. apply extension environment
2. apply app and extension permission binds
3. run ldconfig with -X option in cache generate phase
4. introduce dummy extension which is enabled by default

Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-05-27 17:32:58 +08:00
dengbo a2f07ca8fc fix: uninstall application exception output log
update-desktop-database and update-mime-database will generate system files in
specify a directory. these files do not belong to the applications and should not be
printed in the log.
2025-05-26 13:38:49 +08:00
ComixHe e7814c3cd3 refactor: add getBundlePath
make basePath and bundlePath to be required field

Signed-off-by: ComixHe <ComixHe1895@outlook.com>
2025-05-22 21:01:09 +08:00
ComixHe 3c85b1ef53 refactor: forwardEnv will forward all envs by default
fix typo

Signed-off-by: ComixHe <heyuming@deepin.org>
2025-05-22 20:25:45 +08:00
reddevillg c32d5d0e7f fix: fix crash when no runtime provided
Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-05-22 19:39:16 +08:00
dengbo 3f19ae56ef fix: update task ends abnormally when there is an application running
Should not terminate the update task when the sub-state is PackageManagerDone.
2025-05-22 16:43:23 +08:00
myml fc16401fa5 feat: handle missing refs gracefully in removeOstreeRef
在删除ref时, 如果ostree不存在对应的ref, 不需要报错,
避免因缓存不一致导致无法卸载应用
2025-05-22 13:08:29 +08:00
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 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
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 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
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
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
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
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
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
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
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
reddevillg 06cdb32115 refactor: refactor ll-builder main function
Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-04-21 16:00:57 +08:00