Repository navigation
Conversation
1. Add CMake feature detection for DDM::DaemonMessages::SessionDirs/LastLogin 2. Guard the two case branches in greeterproxy.cpp with the detected macro 3. Treeland now builds against both old (0.4.0) and new (master) DDM headers Log: Arch CI failed because ddm 0.4.0-2 package lacks SessionDirs/LastLogin Influence: 1. Verify Arch Linux CI build passes with ddm 0.4.0-2 installed 2. Verify Deepin build with ddm master still receives SessionDirs/LastLogin 3. Verify greeter login flow works on both old and new DDM fix: 兼容 DDM 0.4.0 缺少 SessionDirs/LastLogin 的问题 1. 新增 CMake 特性检测 DDM::DaemonMessages::SessionDirs/LastLogin 是否存在 2. 在 greeterproxy.cpp 中用检测到的宏保护两个 case 分支 3. Treeland 可同时兼容旧版(0.4.0)和新版(master) DDM 头文件 Log: Arch CI 因 ddm 0.4.0-2 包缺少 SessionDirs/LastLogin 构建失败 Influence: 1. 验证 Arch Linux CI 在安装 ddm 0.4.0-2 时构建通过 2. 验证 Deepin 构建使用 ddm master 时仍能接收 SessionDirs/LastLogin 3. 验证 greeter 登录流程在新旧 DDM 上均正常工作 WM-978
|
Skipping CI for Draft Pull Request. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: deepin-wm The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
Reviewer's GuideImplementationCompile the LastLogin message handler only when the corresponding DDM message values are available.
ConfigurationDetect whether the installed DDM headers define both message values and expose the result as a compile definition for compatible builds.
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Arch Linux CI fails to build treeland because ddm 0.4.0-2 package headers lack
DDM::DaemonMessages::SessionDirsandDDM::DaemonMessages::LastLogin— these enum values were added in ddm master (commit ce83963) but not yet released in a tagged version.Fix
Add CMake configure-time feature detection (
check_cxx_source_compiles) to test whether the installed DDM headers haveSessionDirs/LastLogin. Guard the twocasebranches ingreeterproxy.cppwith the resultingDDM_HAS_LAST_LOGIN_SESSION_DIRSmacro.This follows the existing
DDM_VERSION_LT_0_3_8pattern already in the codebase.Issue: WM-978
Summary by Sourcery
Make treeland build against both released and development DDM versions by conditionally compiling newer daemon message handling.
Bug Fixes:
Enhancements:
Build: