build system + kde: fix stale-cache force-rebuild; bump plasma-wayland-protocols to 1.21.0
redbear-ci / check (push) Has been cancelled
redbear-ci / check (push) Has been cancelled
Root cause of kf6-kwayland's 'PlasmaWaylandProtocols >= 1.21.0 not found': the plasma-wayland-protocols recipe (a custom data-only recipe) HARD-CODED set(PACKAGE_VERSION "1.16.0") in the hand-written ConfigVersionCmake heredoc, while the package + source are 1.21.0. Bumped it to 1.21.0. Build-system fix (src/cook/cook_build.rs): the !check_source early-return served the cached stage for dependency cooks WITHOUT honoring --force-rebuild — it fired before the force_rebuild handling, so a stale binary-store artifact could never be regenerated. Guard it with !cook_config.force_rebuild so --force-rebuild always takes effect (repo binary rebuilt). kf6-kwayland: declare redbear-input-headers (fakeinput.cpp needs <linux/input.h>).
This commit is contained in:
@@ -16,6 +16,8 @@ dependencies = [
|
||||
"libwayland",
|
||||
"wayland-protocols",
|
||||
"plasma-wayland-protocols",
|
||||
# <linux/input.h> for fakeinput.cpp (Linux input event codes).
|
||||
"redbear-input-headers",
|
||||
]
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
|
||||
@@ -38,7 +38,7 @@ cat > "${COOKBOOK_STAGE}/usr/lib/cmake/PlasmaWaylandProtocols/PlasmaWaylandProto
|
||||
set(PLASMA_WAYLAND_PROTOCOLS_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../share/plasma-wayland-protocols")
|
||||
EOF
|
||||
cat > "${COOKBOOK_STAGE}/usr/lib/cmake/PlasmaWaylandProtocols/PlasmaWaylandProtocolsConfigVersion.cmake" << 'EOF'
|
||||
set(PACKAGE_VERSION "1.16.0")
|
||||
set(PACKAGE_VERSION "1.21.0")
|
||||
if(PACKAGE_FIND_VERSION VERSION_GREATER PACKAGE_VERSION)
|
||||
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||
else()
|
||||
|
||||
@@ -496,7 +496,12 @@ pub fn build(
|
||||
};
|
||||
}
|
||||
|
||||
if !check_source {
|
||||
// Dependencies normally skip the source check for speed. But --force-rebuild
|
||||
// must always take effect here — otherwise this early-return fires before the
|
||||
// force_rebuild handling below, so a stale binary-store artifact whose source
|
||||
// changed could never be regenerated (the KWayland/plasma-wayland-protocols
|
||||
// 1.16-vs-1.21 stale-cache bug).
|
||||
if !check_source && !cook_config.force_rebuild {
|
||||
// TODO: when stage_dirs does not exist due to clean_target was true, extract from stage.pkgar?
|
||||
let stage_present = stage_pkgars.iter().all(|file| file.is_file());
|
||||
if stage_present && auto_deps_file.is_file() {
|
||||
|
||||
Reference in New Issue
Block a user