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
ice
5eb436842a
feat: print builder version when building the project ( #1131 )
...
Signed-off-by: ice909 <gaochang1@uniontech.com>
2025-04-17 19:19:14 +08:00
dengbo
9e05fb32d2
fix: unable to start the app normally when switching accounts
...
Do not use lock file to ensure cache generate, only determine whether the cache directory exists.
2025-04-17 15:10:58 +08:00
ComixHe
ec5352d860
fix: correct container's hook
...
Signed-off-by: ComixHe <heyuming@deepin.org>
2025-04-16 16:50:29 +08:00
ice909
fb09ada313
feat: optimization error message
...
Define error codes to identify different errors.
The cli displays error information to users based on error codes.
Add -v,--verbose option to display detailed error information.
Signed-off-by: ice909 <gaochang1@uniontech.com>
2025-04-16 10:56:11 +08:00
ice909
83507c5b52
feat: optimized error msgs for base and runtime mismatches
...
Signed-off-by: ice909 <gaochang1@uniontech.com>
2025-04-15 16:15:10 +08:00
reddevillg
f4503384d0
feat: use ll-builder-utils to export UAB
...
try to use uab-header, uab-loader and mkfs.erofs from ll-builder-utils
Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-04-15 10:14:35 +08:00
reddevillg
b8705353a6
feat: Add output file option and improve compressor handling
...
Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-04-15 10:14:35 +08:00
reddevillg
0f76f9f006
feat: Bind host statics to container config builder
...
Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-04-14 15:21:07 +08:00
reddevillg
71fb063e1c
fix: clear project working directory
...
Set the directory containing the YAML file as the project working
directory
Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-04-14 15:21:07 +08:00
ice
5821e5c4ef
chore: update translate ( #1114 )
...
add ca、fi、pl、pt_BR、uk translates.
fix some typo.
Signed-off-by: ice909 <gaochang1@uniontech.com>
2025-04-14 14:44:09 +08:00
ice909
44e1457705
fix: builder build crash
...
Signed-off-by: ice909 <gaochang1@uniontech.com>
2025-04-11 17:16:45 +08:00
ComixHe
306ff229f5
fix: failed to generate ldcache
...
remove 'RootfsPropagation' which cause to container failed to start
Signed-off-by: ComixHe <heyuming@deepin.org>
2025-04-11 17:14:58 +08:00
ice909
ab7a147d6a
chore: adjust the builder output format
...
Increase the width of the packge under the builder Processing Dependency.
Signed-off-by: ice909 <gaochang1@uniontech.com>
2025-04-11 13:29:19 +08:00
ComixHe
efc5f9d331
refactor: bind mount init to container
...
change the way of starting container
Signed-off-by: ComixHe <heyuming@deepin.org>
2025-04-10 16:52:23 +08:00
ComixHe
963e00d928
feat: vendoring 'dumb-init' as container init
...
project source: https://github.com/Yelp/dumb-init
We need an init process to forwarding signal and cleaning orphaned zombie processes.
In above cases, it is more convenent that replacing bash with dumb-init
Signed-off-by: ComixHe <heyuming@deepin.org>
2025-04-10 16:52:23 +08:00
reddevillg
b67fc5c348
feat: add isolate network option for build
...
use --isolate-network to build in an isolated network environment
2025-04-08 10:08:43 +08:00
reddevillg
672f23f0d3
refactor: separate build process into several stages
...
separate build process into several stages
2025-04-08 10:08:43 +08:00
reddevillg
761d44f5ad
refactor: make builder and pm use ContainerCfgBuiler
...
Make builder and pm use ContainerCfgBuiler
2025-04-08 10:08:43 +08:00
reddevillg
4524903d93
refactor: Introduce class ContainerCfgBuiler
...
Use builder design pattern to generate container config
2025-04-08 10:08:43 +08:00
ice909
4eaac1fe9a
chore: change the connection timeout period to 5 seconds
...
Users can set the timeout period using environment variables `LINGLONG_CONNECT_TIMEOUT`.
Signed-off-by: ice909 <gaochang1@uniontech.com>
2025-04-07 17:30:11 +08:00
ice909
33f5913209
feat: extract the export paths as a config file
...
Signed-off-by: ice909 <gaochang1@uniontech.com>
2025-04-07 17:14:27 +08:00
reddevillg
5ab119abae
fix: merge runtime module also
...
old runtime module is equal to binary module
2025-04-07 13:14:57 +08:00
ComixHe
6cdc6ca73d
fix: failed to compile with qt 6.9
...
Signed-off-by: ComixHe <heyuming@deepin.org>
2025-04-03 15:14:47 +08:00
dengbo
2fb12eca32
feat: support Qt6 packaging
...
Support Qt6 packaging according to the method recommended by the Qt official.
2025-04-02 15:56:22 +08:00
ice909
337e42022f
feat: support don't export the develop module
...
When exporting layer, add --no-develop to avoid exporting the develop module.
Signed-off-by: ice909 <gaochang1@uniontech.com>
2025-04-02 14:28:22 +08:00
ComixHe
6bfebe8e0c
fix: compatible with qt 5.11
...
Signed-off-by: ComixHe <heyuming@deepin.org>
2025-04-02 14:24:07 +08:00
ice909
e8227994de
chore: adjust the builder output format
...
Increase the width of the packge under the builder Processing Dependency.
Signed-off-by: ice909 <gaochang1@uniontech.com>
2025-04-02 14:22:22 +08:00
dengbo
9dad8536a6
feat: add share/templates dir to whitelist
...
Templates file should be exported, add it to whitelist.
2025-03-31 13:19:27 +08:00
dengbo
bd5f7ebeee
refactor: use the new unmount command to unmount the directory
...
Use fusermount -u to replace umount.
2025-03-28 13:16:51 +08:00
dengbo
c6afc10ee2
fix: failed to umount layer dir
...
Layer dir has been umount in unpack,
so do not need to umount again in LayerPackager destructor.
2025-03-28 13:16:51 +08:00
ice909
e5010969ac
fix: ll-builder build failed
...
Symbolic should only be created for directories.
Signed-off-by: ice909 <gaochang1@uniontech.com>
2025-03-28 12:25:40 +08:00
ice909
619a93ea5c
fix: version comparison error
...
Direct string comparisons should not be used.
Signed-off-by: ice909 <gaochang1@uniontech.com>
2025-03-27 17:56:15 +08:00
myml
b332bbd5df
fix: exporting systemd service may cause system error
...
builder不再将systemd service导出到share目录,
避免因share优先级过高影响系统功能
2025-03-26 13:43:30 +08:00
reddevillg
a7a8cf5efa
fix: skip whiteout files
...
skip fuse-overlayfs whiteout files which name starts with ".wh."
2025-03-26 13:12:33 +08:00
reddevillg
c7ba19a611
fix: fix compiler error
...
fix compiler error when use nlohmann from CPM
2025-03-26 11:09:08 +08:00
ComixHe
917e7f0977
fix: correct path deduplication while fixmount
...
only need to skip strictly equivalent path
Signed-off-by: ComixHe <heyuming@deepin.org>
2025-03-24 14:21:02 +08:00
dengbo
06dc2a06f8
fix: empty directory exists after app uninstall
...
Delete empty directories after uninstalling the app.
2025-03-20 17:40:25 +08:00
myml
a11b66d9e3
fix: no free space when installing dependencies
...
tmp目录被挂载成tmpfs并且设置了64M大小, 导致安装deb依赖时报错
现在会在宿主机的tmp目录创建新的临时文件夹做为容器的tmp目录
2025-03-18 20:09:59 +08:00
myml
0450a2726c
feat: supports selecting compression algorithm
...
在导出时传递参数自选压缩算法
layer默认使用lzma有更高压缩率
uab默认使用lz4可以更快解压速度,避免影响应用自运行
2025-03-18 15:16:36 +08:00
dengbo
534fb1b0f8
fix: dsg config not effective
...
DSG_APP_ID should be add to environment.
2025-03-18 14:52:14 +08:00
dengbo
05655fc764
feat: support export dsg config file
...
Support export dsg config file for self-developed applications.
2025-03-18 14:52:14 +08:00
ice909
4fa4148801
fix: Invalid symbolic links should also be copied
...
Signed-off-by: ice909 <gaochang1@uniontech.com>
2025-03-14 10:36:27 +08:00
ice909
52479429ae
fix: relative symlinks to directories from becoming empty folders
...
When copying relative symlinks pointing to existing directories, they were incorrectly turned into empty folders.
Issue: https://github.com/OpenAtom-Linyaps/linyaps/issues/1039
Signed-off-by: ice909 <gaochang1@uniontech.com>
2025-03-14 10:36:27 +08:00
ice909
f72413cdd3
fix: ostree init failed
...
Signed-off-by: ice909 <gaochang1@uniontech.com>
2025-03-13 14:07:41 +08:00
ice909
f5cb7a22c0
fix: preserve packages with different modules while filtering by version
...
Previously, packages with the same id but different module values were incorrectly treated as the same package, causing some to be lost.
This fix ensures that (id, module) is used as the unique key, preserving all distinct packages while still filtering by version.
Signed-off-by: ice909 <gaochang1@uniontech.com>
2025-03-13 11:37:35 +08:00
ice909
1e9c45de71
fix: ostree repo config is not initialized
...
Signed-off-by: ice909 <gaochang1@uniontech.com>
2025-03-12 17:27:07 +08:00
dengbo
a0f68ba652
refactor: adust the behavior of install UAB
...
Do not Execute UAB when install UAB.
2025-03-12 16:30:56 +08:00
ice909
cb3a81d50b
fix: builder push crash
...
Push crashes when getting the default repository.
2025-03-10 17:46:17 +08:00
reddevillg
6ffb64124d
fix: fix mapping file
...
fix an unintentional change made by commit d7cea3443a
2025-03-10 16:59:38 +08:00
ComixHe
278bbc63e4
fix: correct mount option for distribution.info
...
Signed-off-by: ComixHe <heyuming@deepin.org>
2025-03-10 10:28:02 +08:00
reddevillg
abe82f68e2
fix: fix missing environment variable
...
Merge environment variable if possible
2025-03-06 12:02:53 +08:00
ice909
bbc864d9cd
fix: repo output is not aligned
...
Fix repo's output title and value do not align.
2025-03-05 10:53:40 +08:00
ice909
904e726f12
fix: upgrade progress abnormal
...
Fix upgrade progress will exceed 100%.
2025-03-05 10:52:59 +08:00
ComixHe
caf8886ed4
fix: container root must exist at the declared path
...
Signed-off-by: ComixHe <heyuming@deepin.org>
2025-03-05 10:52:04 +08:00
dengbo11
4c66ed5a85
feat(cli): ll-cli add dir sub command
...
ll-cli add dir sub command to support get layer director by appid.
2025-03-04 09:59:10 +08:00
myml
2805551ec7
feat: use getLayerDir when exporting
...
导出entires时不需要获取modules目录
2025-03-04 09:53:43 +08:00
ice909
6eb10ec317
fix: ostree config doesn't have the correct update
...
When adding and removing a repository, ostree's repo config isn't updated.
2025-03-03 21:22:37 +08:00
ice909
59d5af4116
feat: optimizing cli output
...
Optimize ps and list --upgrade's output.
2025-02-28 11:44:00 +08:00
reddevillg
3a08a6f794
fix: Fix export empty app layer
...
Fix export empty app layer
2025-02-27 20:32:12 +08:00
myml
52720d5fc8
fix: builder does not use the channel field of linglong.yaml
...
构建工具未使用linglong.yaml的channel字段
Log:
2025-02-27 20:31:33 +08:00
ComixHe
d7cea3443a
refactor: optimize starting container
...
Signed-off-by: ComixHe <heyuming@deepin.org>
2025-02-27 19:42:27 +08:00
reddevillg
ba59b2239e
fix: Dont't mapping the file under /home
...
Fix some applications can't write to files or delete files under home
directory
2025-02-27 19:22:08 +08:00
dengbo
34da329288
fix: rewrite file error
...
Should use complete base name rather than base name.
2025-02-27 16:16:42 +08:00