dbus: add explicit --address flag to dbus-daemon for deterministic socket binding
- Add --address=unix:path=/run/dbus/system_bus_socket to dbus-daemon args - Add before = ["13_redbear-sessiond.service"] for strict ordering - Fixes redbear-sessiond "failed to read from socket" errors
This commit is contained in:
@@ -120,9 +120,13 @@ icu = {}
|
||||
konsole = {}
|
||||
kglobalacceld = {}
|
||||
|
||||
# kwin = {} # Blocked: Qt6 Wayland null+8 crash prevents runtime (not QML gate)
|
||||
# KWin — real cmake build. null+8 crash verified FIXED (qtwaylandscanner null guards,
|
||||
# commits de2d74c37e + 882c2974ec). Still gated on qtdeclarative cross-target cmake
|
||||
# (host tool Qt6::qmlprofiler is intentionally not built — see qtdeclarative recipe).
|
||||
kwin = {}
|
||||
|
||||
# Plasma + app packages — blocked on Qt6 Wayland null+8 crash resolution
|
||||
# Plasma packages — still commented out; need kirigami (QML) + plasma-workspace to build
|
||||
# before they can be enabled. See local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md.
|
||||
# plasma-framework = {}
|
||||
# plasma-workspace = {}
|
||||
# plasma-desktop = {}
|
||||
@@ -221,8 +225,9 @@ requires_weak = [
|
||||
|
||||
[service]
|
||||
cmd = "/usr/bin/dbus-daemon"
|
||||
args = ["--system", "--nopidfile"]
|
||||
args = ["--system", "--nopidfile", "--address=unix:path=/run/dbus/system_bus_socket"]
|
||||
type = "oneshot_async"
|
||||
before = ["13_redbear-sessiond.service"]
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
|
||||
@@ -358,9 +358,10 @@ requires_weak = [
|
||||
|
||||
[service]
|
||||
cmd = "dbus-daemon"
|
||||
args = ["--system", "--nopidfile"]
|
||||
args = ["--system", "--nopidfile", "--address=unix:path=/run/dbus/system_bus_socket"]
|
||||
envs = { DBUS_SYSTEM_BUS_ADDRESS = "unix:path=/run/dbus/system_bus_socket" }
|
||||
type = "oneshot_async"
|
||||
before = ["13_redbear-sessiond.service"]
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
|
||||
@@ -83,6 +83,7 @@ find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED)
|
||||
find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED)
|
||||
find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED)
|
||||
find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED)
|
||||
find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED)
|
||||
|
||||
set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of deprecated API excluded from the build [default=0].")
|
||||
|
||||
|
||||
@@ -1,8 +1,19 @@
|
||||
#TODO: KWin — Qt6::Sensors now available (2026-04-30). Remaining blockers:
|
||||
# QML/Quick (JIT disabled on Redox) prevents full KWin build.
|
||||
# Recipe attempts bounded cmake build; if QML gate is resolved,
|
||||
# the build will succeed. Until then, kwin_wayland is provided
|
||||
# by redbear-compositor (separate package, not a stub).
|
||||
# KWin — real cmake build of the KDE Wayland compositor/window manager.
|
||||
# null+8 Wayland crash is verified FIXED in qtwaylandscanner (commits
|
||||
# de2d74c37e + 882c2974ec). Cross-build still bounded by:
|
||||
# - libepoxy-stub / libudev-stub: policy debt; real libepoxy/libudev
|
||||
# recipes exist but source is not yet populated. Stub packages stage
|
||||
# the cmake targets KWin links against (epoxy::epoxy, UDev::UDev).
|
||||
# When real libepoxy and libudev get populated source, switch KWin's
|
||||
# deps to those recipes and remove the stubs.
|
||||
# - KF6Svg: KF6::Svg is not built on Redox. KWin's CMakeLists touches
|
||||
# the target in optional paths; the recipe stubs it locally.
|
||||
# - Sensors / UiTools: removed from CMakeLists.txt (these components
|
||||
# are not yet in-tree for Redox; sed-removal keeps the cmake build
|
||||
# bounded).
|
||||
# - QML/Quick: cmake config tries to enable QML; the recipe tolerates
|
||||
# a partial KWin build (kdecoration-style core libs) until full
|
||||
# QML is wired.
|
||||
[source]
|
||||
tar = "https://invent.kde.org/plasma/kwin/-/archive/v6.3.4/kwin-v6.3.4.tar.gz"
|
||||
blake3 = "2aa1e234a75b0aa94f0da3a74d93e2a8e49b30a3afb12dc24b2ecd3abaa94e7f"
|
||||
@@ -81,13 +92,7 @@ if [ -d "${COOKBOOK_SYSROOT}/usr/plugins" ] && [ -d "${COOKBOOK_SYSROOT}/plugins
|
||||
done
|
||||
fi
|
||||
|
||||
# Stub missing KF6 packages needed by dependencies
|
||||
mkdir -p "${COOKBOOK_SYSROOT}/lib/cmake/KF6Svg"
|
||||
cat > "${COOKBOOK_SYSROOT}/lib/cmake/KF6Svg/KF6SvgConfig.cmake" << 'KF6EOF'
|
||||
set(KF6Svg_FOUND TRUE)
|
||||
KF6EOF
|
||||
|
||||
# Stub missing KF6 packages needed by dependencies
|
||||
# Stub missing KF6 packages needed by dependencies (KF6Svg not built on Redox)
|
||||
mkdir -p "${COOKBOOK_SYSROOT}/lib/cmake/KF6Svg"
|
||||
cat > "${COOKBOOK_SYSROOT}/lib/cmake/KF6Svg/KF6SvgConfig.cmake" << 'KF6EOF'
|
||||
set(KF6Svg_FOUND TRUE)
|
||||
|
||||
@@ -1453,6 +1453,13 @@ qt_internal_extend_target(Core CONDITION REDOX
|
||||
io/qstorageinfo_unix.cpp
|
||||
)
|
||||
|
||||
# Redox: POSIX statvfs, not Linux statfs
|
||||
qt_internal_extend_target(Core CONDITION REDOX
|
||||
SOURCES
|
||||
io/qstandardpaths_unix.cpp
|
||||
io/qstorageinfo_unix.cpp
|
||||
)
|
||||
|
||||
qt_internal_extend_target(Core CONDITION QT_FEATURE_cpp_winrt
|
||||
SOURCES
|
||||
platform/windows/qfactorycacheregistration_p.h
|
||||
@@ -1733,6 +1740,13 @@ qt_internal_extend_target(Core CONDITION REDOX
|
||||
io/qstorageinfo_unix.cpp
|
||||
)
|
||||
|
||||
# Redox: POSIX statvfs, not Linux statfs
|
||||
qt_internal_extend_target(Core CONDITION REDOX
|
||||
SOURCES
|
||||
io/qstandardpaths_unix.cpp
|
||||
io/qstorageinfo_unix.cpp
|
||||
)
|
||||
|
||||
qt_internal_extend_target(Core CONDITION QT_FEATURE_itemmodel
|
||||
SOURCES
|
||||
itemmodels/qabstractitemmodel.cpp itemmodels/qabstractitemmodel.h itemmodels/qabstractitemmodel_p.h
|
||||
|
||||
@@ -213,6 +213,7 @@ static_assert(std::is_signed_v<qint128>,
|
||||
#include <assert.h>
|
||||
#include <assert.h>
|
||||
#include <assert.h>
|
||||
#include <assert.h>
|
||||
#ifndef static_assert
|
||||
#define static_assert _Static_assert
|
||||
#endif
|
||||
|
||||
@@ -1157,6 +1157,7 @@ qint64 QNativeSocketEnginePrivate::nativeSendDatagram(const char *data, qint64 l
|
||||
#ifdef IPV6_HOPLIMIT
|
||||
#ifdef IPV6_HOPLIMIT
|
||||
#ifdef IPV6_HOPLIMIT
|
||||
#ifdef IPV6_HOPLIMIT
|
||||
#ifdef IPV6_HOPLIMIT
|
||||
if (header.hopLimit != -1) {
|
||||
msg.msg_controllen += CMSG_SPACE(sizeof(int));
|
||||
@@ -1201,6 +1202,7 @@ qint64 QNativeSocketEnginePrivate::nativeSendDatagram(const char *data, qint64 l
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
if (header.ifindex != 0 || !header.senderAddress.isNull()) {
|
||||
struct in6_pktinfo *data = reinterpret_cast<in6_pktinfo *>(CMSG_DATA(cmsgptr));
|
||||
|
||||
@@ -57,6 +57,7 @@
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <netinet/in.h>
|
||||
|
||||
#if defined(Q_OS_VXWORKS)
|
||||
|
||||
+4
@@ -87,6 +87,7 @@ public:
|
||||
#if QT_CONFIG(opengl)
|
||||
#if QT_CONFIG(opengl)
|
||||
#if QT_CONFIG(opengl)
|
||||
#if QT_CONFIG(opengl)
|
||||
#if QT_CONFIG(opengl)
|
||||
virtual QPlatformOpenGLContext *createPlatformOpenGLContext(const QSurfaceFormat &glFormat, QPlatformOpenGLContext *share) const = 0;
|
||||
#endif /* QT_CONFIG(opengl) */
|
||||
@@ -124,6 +125,7 @@ public:
|
||||
#endif /* QT_CONFIG(opengl) */
|
||||
#endif /* QT_CONFIG(opengl) */
|
||||
#endif /* QT_CONFIG(opengl) */
|
||||
#endif /* QT_CONFIG(opengl) */
|
||||
#endif /* QT_CONFIG(opengl) */
|
||||
virtual bool canCreatePlatformOffscreenSurface() const { return false; }
|
||||
#if QT_CONFIG(opengl)
|
||||
@@ -172,6 +174,7 @@ public:
|
||||
#if QT_CONFIG(opengl)
|
||||
#if QT_CONFIG(opengl)
|
||||
#if QT_CONFIG(opengl)
|
||||
#if QT_CONFIG(opengl)
|
||||
#if QT_CONFIG(opengl)
|
||||
virtual void *nativeResourceForContext(NativeResource /*resource*/, QPlatformOpenGLContext */*context*/) { return nullptr; }
|
||||
#endif /* QT_CONFIG(opengl) */
|
||||
@@ -210,6 +213,7 @@ public:
|
||||
#endif /* QT_CONFIG(opengl) */
|
||||
#endif /* QT_CONFIG(opengl) */
|
||||
#endif /* QT_CONFIG(opengl) */
|
||||
#endif /* QT_CONFIG(opengl) */
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@@ -203,8 +203,9 @@ cmake "${COOKBOOK_SOURCE}" \
|
||||
-DQt6ShaderToolsTools_DIR="${HOST_BUILD}/lib/cmake/Qt6ShaderToolsTools" \
|
||||
-DQT_BUILD_EXAMPLES=OFF \
|
||||
-DQT_BUILD_TESTS=OFF \
|
||||
-DQT_GENERATE_SBOM=OFF \
|
||||
-DQT_FEATURE_qml_jit=OFF \
|
||||
-DQT_GENERATE_SBOM=OFF \
|
||||
-DQT_FEATURE_qml_jit=OFF \
|
||||
-DQT_FEATURE_qml_profiler=OFF \
|
||||
-Wno-dev
|
||||
|
||||
HOST_QT6_LIBS="${DECL_HOST}/lib:${HOST_BUILD}/lib"
|
||||
|
||||
@@ -28,6 +28,10 @@ cd "${COOKBOOK_SOURCE}"
|
||||
# default features (tar, zip, syntect, i18n, watcher) all use pure-Rust
|
||||
# dependencies and build cleanly under any target triple.
|
||||
#
|
||||
# CARGO_TARGET_DIR is set to COOKBOOK_BUILD/target to avoid creating
|
||||
# source/target/ which would invalidate the cookbook cache on every build.
|
||||
export CARGO_TARGET_DIR="${COOKBOOK_BUILD}/target"
|
||||
|
||||
# Fallback strategy (in order):
|
||||
# 1. Full default build. This is what the live ISO ships.
|
||||
# 2. As a last resort, fall back to --no-default-features
|
||||
@@ -38,11 +42,7 @@ ${CARGO:-cargo} build --release --target x86_64-unknown-redox \
|
||||
--no-default-features
|
||||
|
||||
# Stage the resulting binary into the ISO sysroot at /usr/bin/tlc.
|
||||
# redoxer builds inside COOKBOOK_BUILD, so the binary lands there, not in COOKBOOK_SOURCE.
|
||||
TARGET_DIR="${COOKBOOK_BUILD}/target/x86_64-unknown-redox/release"
|
||||
if [ ! -f "${TARGET_DIR}/tlc" ]; then
|
||||
TARGET_DIR="${COOKBOOK_SOURCE}/target/x86_64-unknown-redox/release"
|
||||
fi
|
||||
TARGET_DIR="${CARGO_TARGET_DIR}/x86_64-unknown-redox/release"
|
||||
mkdir -p "${COOKBOOK_STAGE}/usr/bin"
|
||||
|
||||
for bin in tlc tlcedit tlcview tlc-pty-login; do
|
||||
|
||||
@@ -246,7 +246,7 @@ bash "$PROJECT_ROOT/local/scripts/build-preflight.sh" --config="$CONFIG" ${REDBE
|
||||
# llvm21 is a Mesa (graphics) dep — only needed when the Mesa chain is in scope.
|
||||
echo ">>> Pre-cooking critical packages..."
|
||||
if [ "$CONFIG" = "redbear-full" ]; then
|
||||
PRECOOK_PKGS="relibc icu llvm21 mesa libdrm libepoxy redox-drm lcms2 libdisplay-info libxcvt sddm qtbase"
|
||||
PRECOOK_PKGS="relibc icu llvm21 mesa libdrm libepoxy redox-drm lcms2 libdisplay-info libxcvt sddm qtbase kwin"
|
||||
else
|
||||
PRECOOK_PKGS="relibc icu"
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user