build / ubuntu_24.04 (push) Has been cancelledDetails
build / ubuntu_22.04 (push) Has been cancelledDetails
coverage / codecov (push) Has been cancelledDetails
Introduces a `--force` flag to the `ll-cli uninstall` command, allowing
users to forcefully uninstall packages that are typically protected,
such as base and runtime dependencies.
This commit also includes significant refactoring:
- The dependency pulling logic in `PackageManager::pullDependency` has
been refactored to prioritize newer remote packages over existing local
ones, ensuring dependencies are kept up-to-date.
Signed-off-by: reddevillg <reddevillg@gmail.com>
1. Add environment variable support to Cmd class for process execution
2. Set GIT_SUBMODULES=true when executing source fetch scripts
3. Conditionally execute git submodule commands based on GIT_SUBMODULES
env var
4. Fix member variable naming in Cmd class (command -> m_command)
5. Pass environment variables to command existence checking process
This change allows git submodules to be fetched only when explicitly
enabled through the GIT_SUBMODULES environment variable, providing
better control over the source fetching process. The environment
variable mechanism was added to the Cmd utility class to support this
feature, and existing command execution logic was updated to use proper
member variable naming conventions.
Log: Added conditional git submodule fetching support in source fetcher
Influence:
1. Test git repository fetching with submodules enabled
2. Verify git repository fetching without submodules (default behavior)
3. Test environment variable passing in command execution
4. Verify command existence checking with environment variables
5. Test source fetching for projects with and without submodules
6. Validate that existing git fetch functionality remains unchanged
feat: 通过环境变量控制启用 git 子模块获取
1. 为 Cmd 类添加环境变量支持以执行进程
2. 在执行源码获取脚本时设置 GIT_SUBMODULES=true
3. 基于 GIT_SUBMODULES 环境变量条件性执行 git 子模块命令
4. 修正 Cmd 类中的成员变量命名(command -> m_command)
5. 将环境变量传递给命令存在性检查进程
此变更允许仅在通过 GIT_SUBMODULES 环境变量明确启用时才获取 git 子模块,
从而更好地控制源码获取过程。为支持此功能,向 Cmd 工具类添加了环境变量机
制,并更新了现有命令执行逻辑以使用正确的成员变量命名约定。
Log: 在源码获取器中添加条件性 git 子模块获取支持
Influence:
1. 测试启用子模块的 git 仓库获取
2. 验证不带子模块的 git 仓库获取(默认行为)
3. 测试命令执行中的环境变量传递
4. 验证带环境变量的命令存在性检查
5. 测试带和不带子模块的项目源码获取
6. 验证现有 git 获取功能保持不变
This refactoring moves the core uninstall logic from the cli to PM.
Key changes:
- Support uninstall extension
- Added robust error handling for uninstalling:
- Returns an error if multiple versions are installed and the user
input is ambiguous.
- Prevents uninstalling 'base' or 'runtime' packages directly.
- Checks if an application or its dependencies are running before
proceeding.
Signed-off-by: reddevillg <reddevillg@gmail.com>
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标志。
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
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
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>
The default priority for the stable repository is 0.
When adding a new repository, its priority will be set to the current minimum priority minus 100.
If the new repository is set as the default repository, its priority will be set to the current maximum priority plus 100.
Added the set-priority subcommand to allow manual specification of priorities (duplicates are not allowed).
Provide "build depends" and "depends" for apt build extension, build
phase seperate into build phase and prepare phase. "build depends"
to be installed in build environment before build phase starting, and
preserve in overlayfs. "depends" to be installed in prepare phase, and
will be merged to apps output.
Add the --alias option to set aliases for the 'll-cli repo add' and 'll-builder repo add' commands.
So update, remove, and set-default also need to pass alias instead of name.
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.
* 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:
* Add new struct InteractionMessageType and PackageManager1RequestInteractionAdditonalMessage.
* Add a new member 'force' to PackageManager1InstallParameters.
Log:
* Change the arg of ReplyInteraction, ID(s) to task(o).
* Rename requestInteraction to RequestInteraction.
* Change the property of RequestInteraction:
Remove ID(s).
messageID(u) -> messageID(i).
Add new arg additonalMessage(a{sv}).
Log:
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>
* 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:
* 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:
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>