[POC] Enable Ubuntu 24.04 LTS support with GCC 13 compatibility#802
Draft
[POC] Enable Ubuntu 24.04 LTS support with GCC 13 compatibility#802
Conversation
Major Changes: - Add Ubuntu 24.04 platform support with GCC 13.3.0 - Disable Delivery Optimization (not available on 24.04) - Add Azure Storage SDK GCC 12+ compatibility patch - Update documentation for all supported platforms Build System Changes: - scripts/install-deps.sh: GCC version detection and conditional patching * Skip gcc-8 installation on Ubuntu 24.04+ * Auto-detect GCC version and apply Azure Storage SDK patch for GCC >= 12 * Skip DO client installation on Ubuntu 24.04 * Change workspace directory to .workspace/ * Fix file ownership issues - scripts/build.sh: Ubuntu 24.04 detection * Auto-detect Ubuntu 24.04 and disable DO build * Update workspace path to .workspace/ CMake Changes: - CMakeLists.txt: Add ADUC_BUILD_WITH_DELIVERY_OPTIMIZATION option - src/extensions/content_downloaders/CMakeLists.txt: Conditional DO build - packages/CMakeLists.txt: Platform-specific package dependencies - cmake/agentRules.cmake: Conditional DO SDK linking Package Changes: - packages/debian/postinst: Smart downloader registration * Register DO downloader if available, otherwise curl Patches: - scripts/patches/azure-storage-sdk-base64-cstdint.patch: New patch * Fixes missing <cstdint> includes for GCC 12+ * Applied to Azure Storage SDK base64.hpp, base64.cpp, uuid.hpp Documentation: - README.md: Updated platform support table * Added Ubuntu 20.04, Debian 11/12 platforms * Added platform-specific notes for DO availability * Fixed Quick Start command to include unit tests flag - docs/agent-reference/how-to-build-agent-code.md: Comprehensive rewrite * Expanded platform support table with all distributions * Build dependencies table with LKG versions * Runtime dependencies section * Detailed per-dependency build instructions * GCC 12+ patch documentation with automatic detection * Platform-specific build notes for each OS version * Troubleshooting section Tested: - Full build successful on Ubuntu 24.04 with GCC 13.3.0 - All 148 unit tests passed (100%) - Debian package created: deviceupdate-agent_1.2.0_amd64.deb - curl content downloader registered as primary downloader
…4+ to support CPack packaging
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.
Major Changes:
Build System Changes:
scripts/install-deps.sh: GCC version detection and conditional patching
scripts/build.sh: Ubuntu 24.04 detection
CMake Changes:
Package Changes:
Patches:
Documentation:
README.md: Updated platform support table
docs/agent-reference/how-to-build-agent-code.md: Comprehensive rewrite
Tested: