mirror of
https://github.com/flatcar/scripts.git
synced 2025-11-12 22:21:28 +01:00
overlay sys-fs/overlaybd: Bump to 1.0.16, update the patches
- add patch for yaml-cpp to fix cmake 4.0 issues - drop two cross patches as they are already upstreamed (keep the cross fixes for photon, though) - drop tcmu pin patch (upstreamed) Signed-off-by: Krzesimir Nowak <knowak@microsoft.com>
This commit is contained in:
parent
73b7eabe67
commit
6dd7c26560
@ -0,0 +1,25 @@
|
|||||||
|
From 72d823c414a1416dffc2276e5a0a17f03c5e4549 Mon Sep 17 00:00:00 2001
|
||||||
|
From: James Le Cuirot <jlecuirot@microsoft.com>
|
||||||
|
Date: Mon, 28 Jul 2025 12:16:50 +0100
|
||||||
|
Subject: [PATCH 1/2] Patch Photon after fetching to fix cross issues
|
||||||
|
|
||||||
|
Signed-off-by: James Le Cuirot <jlecuirot@microsoft.com>
|
||||||
|
---
|
||||||
|
CMake/Findphoton.cmake | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/CMake/Findphoton.cmake b/CMake/Findphoton.cmake
|
||||||
|
index c905bd9..5507f66 100644
|
||||||
|
--- a/CMake/Findphoton.cmake
|
||||||
|
+++ b/CMake/Findphoton.cmake
|
||||||
|
@@ -6,6 +6,7 @@ FetchContent_Declare(
|
||||||
|
photon
|
||||||
|
GIT_REPOSITORY https://github.com/alibaba/PhotonLibOS.git
|
||||||
|
GIT_TAG v0.6.17
|
||||||
|
+ PATCH_COMMAND patch -p1 -i @FILESDIR@/photon-cross.patch
|
||||||
|
)
|
||||||
|
|
||||||
|
if(BUILD_TESTING)
|
||||||
|
--
|
||||||
|
2.51.0
|
||||||
|
|
||||||
@ -0,0 +1,25 @@
|
|||||||
|
From eae89e8432d993417e6f0e17ae519b4e02f72c9b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Krzesimir Nowak <knowak@microsoft.com>
|
||||||
|
Date: Fri, 7 Nov 2025 12:06:05 +0100
|
||||||
|
Subject: [PATCH 2/2] Patch yaml-cpp after fetching to fix cmake issues
|
||||||
|
|
||||||
|
Signed-off-by: Krzesimir Nowak <knowak@microsoft.com>
|
||||||
|
---
|
||||||
|
CMakeLists.txt | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 753b081..03b2ab9 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -53,6 +53,7 @@ if (NOT yaml-cpp_FOUND)
|
||||||
|
yaml-cpp
|
||||||
|
GIT_REPOSITORY https://github.com/jbeder/yaml-cpp.git
|
||||||
|
GIT_TAG 0.8.0
|
||||||
|
+ PATCH_COMMAND patch -p1 -i @FILESDIR@/yaml-cpp-cmake-4.0.patch
|
||||||
|
)
|
||||||
|
FetchContent_MakeAvailable(yaml-cpp)
|
||||||
|
endif()
|
||||||
|
--
|
||||||
|
2.51.0
|
||||||
|
|
||||||
@ -1,128 +0,0 @@
|
|||||||
From de68119855229db8e457043d86bbb38bbd5d55d9 Mon Sep 17 00:00:00 2001
|
|
||||||
From: James Le Cuirot <jlecuirot@microsoft.com>
|
|
||||||
Date: Fri, 25 Jul 2025 17:12:03 +0100
|
|
||||||
Subject: [PATCH 1/3] Fix cross-compiling by using CMAKE_SYSTEM_PROCESSOR
|
|
||||||
rather than uname -m
|
|
||||||
|
|
||||||
There is no need to check the architecture twice. Also check for arm64
|
|
||||||
(MacOS) wherever we check for aarch64 (Linux).
|
|
||||||
|
|
||||||
Signed-off-by: James Le Cuirot <jlecuirot@microsoft.com>
|
|
||||||
--- a/CMakeLists.txt
|
|
||||||
+++ b/CMakeLists.txt
|
|
||||||
@@ -9,10 +9,8 @@ enable_language(C)
|
|
||||||
set(CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG")
|
|
||||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -DNDEBUG -g")
|
|
||||||
|
|
||||||
-# Get CPU arch
|
|
||||||
-execute_process(COMMAND uname -m OUTPUT_VARIABLE ARCH OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
||||||
-if (NOT (${ARCH} STREQUAL x86_64) AND NOT (${ARCH} STREQUAL aarch64) AND NOT (${ARCH} STREQUAL arm64))
|
|
||||||
- message(FATAL_ERROR "Unknown CPU architecture ${ARCH}")
|
|
||||||
+if (NOT (CMAKE_SYSTEM_PROCESSOR STREQUAL x86_64) AND NOT (CMAKE_SYSTEM_PROCESSOR STREQUAL aarch64) AND NOT (CMAKE_SYSTEM_PROCESSOR STREQUAL arm64))
|
|
||||||
+ message(FATAL_ERROR "Unknown CPU architecture ${CMAKE_SYSTEM_PROCESSOR}")
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
option(OBD_VER "Overlaybd version" "overlaybd/0.0.0-undefined")
|
|
||||||
@@ -25,7 +23,7 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/CMake")
|
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fpic -Wall -Werror=sign-compare")
|
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpic -Wall -Werror=sign-compare -DOVERLAYBD_VER=${OBD_VER}")
|
|
||||||
|
|
||||||
-if (${ARCH} STREQUAL aarch64)
|
|
||||||
+if ((CMAKE_SYSTEM_PROCESSOR STREQUAL aarch64) OR (CMAKE_SYSTEM_PROCESSOR STREQUAL arm64))
|
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=armv8-a+crc -fsigned-char -fno-stack-protector -fomit-frame-pointer")
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
--- a/src/overlaybd/zfile/CMakeLists.txt
|
|
||||||
+++ b/src/overlaybd/zfile/CMakeLists.txt
|
|
||||||
@@ -2,19 +2,13 @@ file(GLOB SOURCE_ZFILE "*.cpp")
|
|
||||||
file(GLOB SOURCE_LZ4 "lz4/*.c")
|
|
||||||
file(GLOB SOURCE_CRC32 "crc32/crc32c.cpp")
|
|
||||||
|
|
||||||
-# Get CPU arch
|
|
||||||
-execute_process(COMMAND uname -m OUTPUT_VARIABLE ARCH OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
||||||
-if (NOT (${ARCH} STREQUAL x86_64) AND NOT (${ARCH} STREQUAL aarch64))
|
|
||||||
- message(FATAL_ERROR "Unknown CPU architecture ${ARCH}")
|
|
||||||
-endif ()
|
|
||||||
-
|
|
||||||
set (CMAKE_CXX_STANDARD 17)
|
|
||||||
add_library(crc32_lib STATIC ${SOURCE_CRC32})
|
|
||||||
target_include_directories(crc32_lib PUBLIC
|
|
||||||
${PHOTON_INCLUDE_DIR}
|
|
||||||
)
|
|
||||||
|
|
||||||
-if (${ARCH} STREQUAL x86_64)
|
|
||||||
+if (CMAKE_SYSTEM_PROCESSOR STREQUAL x86_64)
|
|
||||||
target_compile_options(crc32_lib PUBLIC -msse4.2 -mcrc32)
|
|
||||||
else()
|
|
||||||
target_compile_options(crc32_lib PRIVATE -march=native -mcpu=generic+crc)
|
|
||||||
--
|
|
||||||
2.49.0
|
|
||||||
|
|
||||||
|
|
||||||
From ee0e074c256ea1bcbcff2ed5a3e311becaf122cc Mon Sep 17 00:00:00 2001
|
|
||||||
From: James Le Cuirot <jlecuirot@microsoft.com>
|
|
||||||
Date: Mon, 28 Jul 2025 12:05:19 +0100
|
|
||||||
Subject: [PATCH 2/3] Respect aarch64 -march=|-mcpu= flag and check whether
|
|
||||||
-mcpu=native works
|
|
||||||
|
|
||||||
Packagers may specify a target system up front, which should be
|
|
||||||
respected. The CRC extensions are not strictly necessary as there is a
|
|
||||||
software fallback.
|
|
||||||
|
|
||||||
Otherwise, use -mcpu=native if it works (it won't when cross-compiling)
|
|
||||||
or -mcpu=generic+crc.
|
|
||||||
|
|
||||||
Signed-off-by: James Le Cuirot <jlecuirot@microsoft.com>
|
|
||||||
--- a/CMakeLists.txt
|
|
||||||
+++ b/CMakeLists.txt
|
|
||||||
@@ -24,7 +24,16 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fpic -Wall -Werror=sign-compare")
|
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpic -Wall -Werror=sign-compare -DOVERLAYBD_VER=${OBD_VER}")
|
|
||||||
|
|
||||||
if ((CMAKE_SYSTEM_PROCESSOR STREQUAL aarch64) OR (CMAKE_SYSTEM_PROCESSOR STREQUAL arm64))
|
|
||||||
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=armv8-a+crc -fsigned-char -fno-stack-protector -fomit-frame-pointer")
|
|
||||||
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsigned-char -fno-stack-protector -fomit-frame-pointer")
|
|
||||||
+ if (NOT CMAKE_CXX_FLAGS MATCHES "-march=|-mcpu=")
|
|
||||||
+ include(CheckCXXCompilerFlag)
|
|
||||||
+ check_cxx_compiler_flag(-mcpu=native COMPILER_HAS_NATIVE_FLAG)
|
|
||||||
+ if (COMPILER_HAS_NATIVE_FLAG)
|
|
||||||
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mcpu=native")
|
|
||||||
+ else ()
|
|
||||||
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mcpu=generic+crc")
|
|
||||||
+ endif ()
|
|
||||||
+ endif ()
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD_LIBRARIES "-static-libgcc ${CMAKE_CXX_STANDARD_LIBRARIES}")
|
|
||||||
--- a/src/overlaybd/zfile/CMakeLists.txt
|
|
||||||
+++ b/src/overlaybd/zfile/CMakeLists.txt
|
|
||||||
@@ -10,8 +10,6 @@ target_include_directories(crc32_lib PUBLIC
|
|
||||||
|
|
||||||
if (CMAKE_SYSTEM_PROCESSOR STREQUAL x86_64)
|
|
||||||
target_compile_options(crc32_lib PUBLIC -msse4.2 -mcrc32)
|
|
||||||
-else()
|
|
||||||
- target_compile_options(crc32_lib PRIVATE -march=native -mcpu=generic+crc)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(ENABLE_DSA OR ENABLE_ISAL)
|
|
||||||
--
|
|
||||||
2.49.0
|
|
||||||
|
|
||||||
|
|
||||||
From 2e4edd416a42fad0e8d7ac21855a4e81f34f1e82 Mon Sep 17 00:00:00 2001
|
|
||||||
From: James Le Cuirot <jlecuirot@microsoft.com>
|
|
||||||
Date: Mon, 28 Jul 2025 12:16:50 +0100
|
|
||||||
Subject: [PATCH 3/3] Patch Photon after fetching to fix cross issues
|
|
||||||
|
|
||||||
Signed-off-by: James Le Cuirot <jlecuirot@microsoft.com>
|
|
||||||
--- a/CMake/Findphoton.cmake
|
|
||||||
+++ b/CMake/Findphoton.cmake
|
|
||||||
@@ -6,6 +6,7 @@ FetchContent_Declare(
|
|
||||||
photon
|
|
||||||
GIT_REPOSITORY https://github.com/alibaba/PhotonLibOS.git
|
|
||||||
GIT_TAG v0.6.17
|
|
||||||
+ PATCH_COMMAND patch -p1 -i @FILESDIR@/photon-cross.patch
|
|
||||||
)
|
|
||||||
|
|
||||||
if(BUILD_TESTING)
|
|
||||||
--
|
|
||||||
2.49.0
|
|
||||||
@ -1,11 +0,0 @@
|
|||||||
--- a/CMake/Findtcmu.cmake
|
|
||||||
+++ b/CMake/Findtcmu.cmake
|
|
||||||
@@ -4,7 +4,7 @@ set(FETCHCONTENT_QUIET false)
|
|
||||||
FetchContent_Declare(
|
|
||||||
tcmu
|
|
||||||
GIT_REPOSITORY https://github.com/data-accelerator/photon-libtcmu.git
|
|
||||||
- GIT_TAG main
|
|
||||||
+ GIT_TAG 813fd65361bb2f348726b9c41478a44211847614
|
|
||||||
)
|
|
||||||
|
|
||||||
if(BUILD_TESTING)
|
|
||||||
42
sdk_container/src/third_party/coreos-overlay/sys-fs/overlaybd/files/yaml-cpp-cmake-4.0.patch
vendored
Normal file
42
sdk_container/src/third_party/coreos-overlay/sys-fs/overlaybd/files/yaml-cpp-cmake-4.0.patch
vendored
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
From 10a573aa85db4eeb13df9e9cfa7047a0dc55d334 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Christoph=20Gr=C3=BCninger?= <foss@grueninger.de>
|
||||||
|
Date: Mon, 24 Mar 2025 08:32:25 +0100
|
||||||
|
Subject: [PATCH] [cmake] Require minimum CMake version 3.5
|
||||||
|
|
||||||
|
Soon CMake 4.0 will be released. It requires that projects
|
||||||
|
set a minimum required CMake version of 3.5. There is a
|
||||||
|
workaround with an additional flag, but it would is better
|
||||||
|
to increase the minimum required version.
|
||||||
|
---
|
||||||
|
CMakeLists.txt | 5 +++--
|
||||||
|
test/CMakeLists.txt | 1 -
|
||||||
|
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 46dc180..ee04e75 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -1,5 +1,6 @@
|
||||||
|
-# 3.5 is actually available almost everywhere, but this a good minimum
|
||||||
|
-cmake_minimum_required(VERSION 3.4)
|
||||||
|
+# 3.5 is actually available almost everywhere.
|
||||||
|
+# 3.30 as the upper policy limit avoids CMake deprecation warnings.
|
||||||
|
+cmake_minimum_required(VERSION 3.5...3.30)
|
||||||
|
|
||||||
|
# enable MSVC_RUNTIME_LIBRARY target property
|
||||||
|
# see https://cmake.org/cmake/help/latest/policy/CMP0091.html
|
||||||
|
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
|
||||||
|
index 351b03f..210e629 100644
|
||||||
|
--- a/test/CMakeLists.txt
|
||||||
|
+++ b/test/CMakeLists.txt
|
||||||
|
@@ -2,7 +2,6 @@ find_package(Threads REQUIRED)
|
||||||
|
|
||||||
|
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
|
||||||
|
set(BUILD_MOCK ON CACHE BOOL "" FORCE)
|
||||||
|
-set(CMAKE_POLICY_DEFAULT_CMP0048 NEW)
|
||||||
|
|
||||||
|
add_subdirectory(
|
||||||
|
"${CMAKE_CURRENT_SOURCE_DIR}/gtest-1.11.0"
|
||||||
|
--
|
||||||
|
2.51.0
|
||||||
|
|
||||||
@ -44,13 +44,13 @@ RDEPEND="
|
|||||||
"
|
"
|
||||||
|
|
||||||
PATCHES=(
|
PATCHES=(
|
||||||
"${FILESDIR}"/${PN}-cross.patch
|
"${FILESDIR}"/0001-Patch-Photon-after-fetching-to-fix-cross-issues.patch
|
||||||
"${FILESDIR}"/${PN}-pin-tcmu.patch
|
"${FILESDIR}"/0002-Patch-yaml-cpp-after-fetching-to-fix-cmake-issues.patch
|
||||||
)
|
)
|
||||||
|
|
||||||
src_prepare() {
|
src_prepare() {
|
||||||
cmake_src_prepare
|
cmake_src_prepare
|
||||||
sed -i "s:@FILESDIR@:${FILESDIR}:g" CMake/Findphoton.cmake || die
|
sed -i "s:@FILESDIR@:${FILESDIR}:g" CMakeLists.txt CMake/Findphoton.cmake || die
|
||||||
}
|
}
|
||||||
|
|
||||||
src_configure() {
|
src_configure() {
|
||||||
@ -58,7 +58,7 @@ src_configure() {
|
|||||||
# runtime. Only DSA hard requires at least AVX2. However, the code doesn't
|
# runtime. Only DSA hard requires at least AVX2. However, the code doesn't
|
||||||
# try especially hard to avoid these instructions from being implicitly used
|
# try especially hard to avoid these instructions from being implicitly used
|
||||||
# outside these runtime checks. :(
|
# outside these runtime checks. :(
|
||||||
# ISAL similarly leads to "illegal instruction" termination on QEMU.
|
# ISAL similarly leads to "illegal instruction" termination on QEMU.
|
||||||
local mycmakeargs=(
|
local mycmakeargs=(
|
||||||
-DBUILD_SHARED_LIBS=no
|
-DBUILD_SHARED_LIBS=no
|
||||||
-DBUILD_TESTING=no
|
-DBUILD_TESTING=no
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user