diff --git a/config/redbear-full.toml b/config/redbear-full.toml index 3b3e97be0f..439f5fdc91 100644 --- a/config/redbear-full.toml +++ b/config/redbear-full.toml @@ -206,6 +206,15 @@ depends_on = ["pci"] [[driver.match]] class = 0x03 +vendor = 0x1002 + +[[driver.match]] +class = 0x03 +vendor = 0x8086 + +[[driver.match]] +class = 0x03 +vendor = 0x1af4 """ [[files]] @@ -263,7 +272,7 @@ type = "oneshot_async" """ [[files]] -path = "/etc/init.d/14_redox-drm.service" +path = "/etc/init.d/10_redox-drm.service" data = """ [unit] description = "DRM/KMS display driver (AMD + Intel + VirtIO)" @@ -412,7 +421,7 @@ type = "oneshot_async" """ [[files]] -path = "/etc/init.d/19_redbear-authd.service" +path = "/etc/init.d/11_redbear-authd.service" data = """ [unit] description = "Red Bear authentication daemon" @@ -427,17 +436,17 @@ type = "oneshot_async" """ [[files]] -path = "/etc/init.d/20_greeter.service" +path = "/etc/init.d/12_greeter.service" data = """ [unit] description = "Red Bear greeter service" requires_weak = [ "00_driver-manager.service", - "14_redox-drm.service", + "10_redox-drm.service", "12_dbus.service", "13_redbear-sessiond.service", "13_seatd.service", - "19_redbear-authd.service", + "11_redbear-authd.service", ] [service] diff --git a/config/redbear-greeter-services.toml b/config/redbear-greeter-services.toml index 2e845dd21f..24d80f35f5 100644 --- a/config/redbear-greeter-services.toml +++ b/config/redbear-greeter-services.toml @@ -30,7 +30,7 @@ redbear-session-launch = {} redbear-greeter = {} [[files]] -path = "/etc/init.d/19_redbear-authd.service" +path = "/etc/init.d/11_redbear-authd.service" data = """ [unit] description = "Red Bear authentication daemon" @@ -61,7 +61,7 @@ type = "oneshot_async" """ [[files]] -path = "/etc/init.d/20_greeter.service" +path = "/etc/init.d/12_greeter.service" data = """ [unit] description = "Red Bear greeter service (experimental — Phase 3 user session bring-up)" @@ -70,7 +70,7 @@ requires_weak = [ "12_dbus.service", "13_redbear-sessiond.service", "13_seatd.service", - "19_redbear-authd.service", + "11_redbear-authd.service", ] [service] diff --git a/local/patches/base/P10-rootfs-uuid-search-no-block.patch b/local/patches/base/P10-rootfs-uuid-search-no-block.patch new file mode 100644 index 0000000000..2ab2508f49 --- /dev/null +++ b/local/patches/base/P10-rootfs-uuid-search-no-block.patch @@ -0,0 +1,7 @@ +diff --git a/init.initfs.d/50_rootfs.service b/init.initfs.d/50_rootfs.service +index db7ba429..59f2c61c 100644 +--- a/init.initfs.d/50_rootfs.service ++++ b/init.initfs.d/50_rootfs.service +@@ -7 +7 @@ cmd = "redoxfs" +-args = ["--uuid" ,"$REDOXFS_UUID", "file", "$REDOXFS_BLOCK"] ++args = ["--uuid" ,"$REDOXFS_UUID", "file"] diff --git a/local/patches/libdrm/P3-drm-get-version-driver-name.patch b/local/patches/libdrm/P3-drm-get-version-driver-name.patch new file mode 100644 index 0000000000..ee3a8899e8 --- /dev/null +++ b/local/patches/libdrm/P3-drm-get-version-driver-name.patch @@ -0,0 +1,34 @@ +diff --git a/local/recipes/libs/libdrm/source/xf86drm.c b/local/recipes/libs/libdrm/source/xf86drm.c +index 1b206ccd4..c3904caa3 100644 +--- a/local/recipes/libs/libdrm/source/xf86drm.c ++++ b/local/recipes/libs/libdrm/source/xf86drm.c +@@ -1774,0 +1775,23 @@ drm_public drmVersionPtr drmGetVersion(int fd) ++ ++ /* The scheme returns a NUL-terminated driver name in version.name. ++ * KWin drm_gpu.cpp dereferences version->name unconditionally ++ * (strstr checks for "i915", "amdgpu", "virtio" etc.) so it must ++ * never be NULL. ++ */ ++ version.name[sizeof(version.name) - 1] = '\0'; ++ if (version.name[0] != '\0') { ++ size_t len = strlen(version.name); ++ retval->name = drmMalloc(len + 1); ++ if (retval->name) { ++ memcpy(retval->name, version.name, len + 1); ++ retval->name_len = len; ++ } ++ } else { ++ const char fallback[] = "redox-drm"; ++ retval->name = drmMalloc(sizeof(fallback)); ++ if (retval->name) { ++ memcpy(retval->name, fallback, sizeof(fallback)); ++ retval->name_len = sizeof(fallback) - 1; ++ } ++ } ++ +diff --git a/local/recipes/libs/libdrm/source/xf86drm_redox.h b/local/recipes/libs/libdrm/source/xf86drm_redox.h +index c1abe8256..7f9d252fa 100644 +--- a/local/recipes/libs/libdrm/source/xf86drm_redox.h ++++ b/local/recipes/libs/libdrm/source/xf86drm_redox.h +@@ -140,0 +141 @@ struct redox_drm_version_wire { ++ char name[64]; diff --git a/local/patches/redoxfs/P00-redoxfs-uuid-retry.patch b/local/patches/redoxfs/P00-redoxfs-uuid-retry.patch new file mode 100644 index 0000000000..3bb3c5e656 --- /dev/null +++ b/local/patches/redoxfs/P00-redoxfs-uuid-retry.patch @@ -0,0 +1,25 @@ +diff --git a/src/bin/mount.rs b/src/bin/mount.rs +index dba7f3c..70cf661 100644 +--- a/src/bin/mount.rs ++++ b/src/bin/mount.rs +@@ -292 +292,19 @@ fn daemon( +- DiskId::Uuid(ref uuid) => filesystem_by_uuid(uuid, block_opt), ++ DiskId::Uuid(ref uuid) => { ++ let max_attempts = 20; ++ let mut attempt = 0; ++ loop { ++ attempt += 1; ++ if let Some(result) = filesystem_by_uuid(uuid, block_opt) { ++ break Some(result); ++ } ++ if attempt >= max_attempts { ++ log::error!("uuid search exhausted {} attempts", attempt); ++ break None; ++ } ++ #[cfg(target_os = "redox")] ++ std::thread::sleep(std::time::Duration::from_millis(200)); ++ #[cfg(not(target_os = "redox"))] ++ std::thread::sleep(std::time::Duration::from_millis(200)); ++ log::debug!("uuid search retry {}/{}", attempt, max_attempts); ++ } ++ } diff --git a/local/patches/redoxfs/P3-uuid-retry.patch b/local/patches/redoxfs/P3-uuid-retry.patch new file mode 100644 index 0000000000..e0d3b5700c --- /dev/null +++ b/local/patches/redoxfs/P3-uuid-retry.patch @@ -0,0 +1,22 @@ +diff --git a/src/bin/mount.rs b/src/bin/mount.rs +index dba7f3c..8f00a30 100644 +--- a/src/bin/mount.rs ++++ b/src/bin/mount.rs +@@ -292 +292,16 @@ fn daemon( +- DiskId::Uuid(ref uuid) => filesystem_by_uuid(uuid, block_opt), ++ DiskId::Uuid(ref uuid) => { ++ let max_attempts = 20; ++ let mut attempt = 0; ++ loop { ++ attempt += 1; ++ if let Some(result) = filesystem_by_uuid(uuid, block_opt) { ++ break Some(result); ++ } ++ if attempt >= max_attempts { ++ log::error!("uuid search exhausted {} attempts", attempt); ++ break None; ++ } ++ std::thread::sleep(std::time::Duration::from_millis(200)); ++ log::debug!("uuid search retry {}/{}", attempt, max_attempts); ++ } ++ } diff --git a/local/recipes/kde/kf6-attica/source/CMakeLists.txt b/local/recipes/kde/kf6-attica/source/CMakeLists.txt index 02a0964456..69eef94dae 100644 --- a/local/recipes/kde/kf6-attica/source/CMakeLists.txt +++ b/local/recipes/kde/kf6-attica/source/CMakeLists.txt @@ -57,7 +57,7 @@ add_subdirectory(src) # Enable unit testing if (BUILD_TESTING) -############################################################# add_subdirectory(autotests) +############################################################## add_subdirectory(autotests) add_subdirectory(tests) endif () diff --git a/local/recipes/kde/kf6-kcmutils/source/CMakeLists.txt b/local/recipes/kde/kf6-kcmutils/source/CMakeLists.txt index 990ed0bd7e..1443924927 100644 --- a/local/recipes/kde/kf6-kcmutils/source/CMakeLists.txt +++ b/local/recipes/kde/kf6-kcmutils/source/CMakeLists.txt @@ -145,6 +145,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) # shall we use DBus? # enabled per default on Linux & BSD systems diff --git a/local/recipes/kde/kf6-kcolorscheme/source/CMakeLists.txt b/local/recipes/kde/kf6-kcolorscheme/source/CMakeLists.txt index ff2b2a1df3..920140d1f5 100644 --- a/local/recipes/kde/kf6-kcolorscheme/source/CMakeLists.txt +++ b/local/recipes/kde/kf6-kcolorscheme/source/CMakeLists.txt @@ -123,6 +123,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].") diff --git a/local/recipes/kde/kf6-kcompletion/source/CMakeLists.txt b/local/recipes/kde/kf6-kcompletion/source/CMakeLists.txt index c22d64ab7d..68aa2a046a 100644 --- a/local/recipes/kde/kf6-kcompletion/source/CMakeLists.txt +++ b/local/recipes/kde/kf6-kcompletion/source/CMakeLists.txt @@ -114,6 +114,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) find_package(KF6Codecs ${KF_DEP_VERSION} REQUIRED) find_package(KF6Config ${KF_DEP_VERSION} REQUIRED) diff --git a/local/recipes/kde/kf6-kconfigwidgets/source/CMakeLists.txt b/local/recipes/kde/kf6-kconfigwidgets/source/CMakeLists.txt index 2c4023b6da..1acb4513aa 100644 --- a/local/recipes/kde/kf6-kconfigwidgets/source/CMakeLists.txt +++ b/local/recipes/kde/kf6-kconfigwidgets/source/CMakeLists.txt @@ -117,6 +117,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) # shall we use DBus? # enabled per default on Linux & BSD systems diff --git a/local/recipes/kde/kf6-kdeclarative/source/CMakeLists.txt b/local/recipes/kde/kf6-kdeclarative/source/CMakeLists.txt index 234131d97a..cd4cf69b2b 100644 --- a/local/recipes/kde/kf6-kdeclarative/source/CMakeLists.txt +++ b/local/recipes/kde/kf6-kdeclarative/source/CMakeLists.txt @@ -32,7 +32,7 @@ find_package(KF6GuiAddons ${KF_DEP_VERSION} REQUIRED) if(NOT WIN32 AND NOT APPLE AND NOT ANDROID AND NOT REDOX) -#################################################################################### find_package(KF6GlobalAccel ${KF_DEP_VERSION} REQUIRED) +##################################################################################### find_package(KF6GlobalAccel ${KF_DEP_VERSION} REQUIRED) set(HAVE_KGLOBALACCEL TRUE) else() set(HAVE_KGLOBALACCEL FALSE) diff --git a/local/recipes/kde/kf6-kiconthemes/source/CMakeLists.txt b/local/recipes/kde/kf6-kiconthemes/source/CMakeLists.txt index 6f735dc093..89ca828a6c 100644 --- a/local/recipes/kde/kf6-kiconthemes/source/CMakeLists.txt +++ b/local/recipes/kde/kf6-kiconthemes/source/CMakeLists.txt @@ -137,6 +137,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) find_package(Qt6Svg ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE) # shall we use DBus? diff --git a/local/recipes/kde/kf6-kitemmodels/source/CMakeLists.txt b/local/recipes/kde/kf6-kitemmodels/source/CMakeLists.txt index 21a36d8457..835d8a9c2a 100644 --- a/local/recipes/kde/kf6-kitemmodels/source/CMakeLists.txt +++ b/local/recipes/kde/kf6-kitemmodels/source/CMakeLists.txt @@ -38,7 +38,7 @@ set_package_properties(Qt6Qml PROPERTIES ) if (TARGET Qt6::Qml) -############################################################### include(ECMQmlModule) +################################################################ include(ECMQmlModule) endif() set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of deprecated API excluded from the build [default=0].") diff --git a/local/recipes/kde/kf6-kitemmodels/source/src/CMakeLists.txt b/local/recipes/kde/kf6-kitemmodels/source/src/CMakeLists.txt index 1a4125afa2..bab43e7c00 100644 --- a/local/recipes/kde/kf6-kitemmodels/source/src/CMakeLists.txt +++ b/local/recipes/kde/kf6-kitemmodels/source/src/CMakeLists.txt @@ -1,6 +1,6 @@ add_subdirectory(core) if (TARGET Qt6::Qml) -############################################################## add_subdirectory(qml) +############################################################### add_subdirectory(qml) endif() ecm_qt_install_logging_categories( diff --git a/local/recipes/kde/kf6-kitemviews/source/CMakeLists.txt b/local/recipes/kde/kf6-kitemviews/source/CMakeLists.txt index d47ab5382b..4b03c4571e 100644 --- a/local/recipes/kde/kf6-kitemviews/source/CMakeLists.txt +++ b/local/recipes/kde/kf6-kitemviews/source/CMakeLists.txt @@ -103,6 +103,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].") diff --git a/local/recipes/kde/kf6-kjobwidgets/source/CMakeLists.txt b/local/recipes/kde/kf6-kjobwidgets/source/CMakeLists.txt index 7734a7569f..a956be4608 100644 --- a/local/recipes/kde/kf6-kjobwidgets/source/CMakeLists.txt +++ b/local/recipes/kde/kf6-kjobwidgets/source/CMakeLists.txt @@ -103,6 +103,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) if(NOT WIN32 AND NOT APPLE AND NOT ANDROID AND NOT HAIKU) option(WITH_X11 "Build with support for QX11Info::appUserTime()" ON) diff --git a/local/recipes/kde/kf6-ktextwidgets/source/CMakeLists.txt b/local/recipes/kde/kf6-ktextwidgets/source/CMakeLists.txt index 9f3d4747ec..08a4e3c3c8 100644 --- a/local/recipes/kde/kf6-ktextwidgets/source/CMakeLists.txt +++ b/local/recipes/kde/kf6-ktextwidgets/source/CMakeLists.txt @@ -118,6 +118,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) if (WITH_TEXT_TO_SPEECH) find_package(Qt6 ${REQUIRED_QT_VERSION} CONFIG REQUIRED TextToSpeech) diff --git a/local/recipes/kde/kf6-kwayland/source/CMakeLists.txt b/local/recipes/kde/kf6-kwayland/source/CMakeLists.txt index 3191c0b94b..8be666764b 100644 --- a/local/recipes/kde/kf6-kwayland/source/CMakeLists.txt +++ b/local/recipes/kde/kf6-kwayland/source/CMakeLists.txt @@ -123,6 +123,7 @@ find_package(Qt6WaylandClientPrivate REQUIRED) find_package(Qt6WaylandClientPrivate REQUIRED) find_package(Qt6WaylandClientPrivate REQUIRED) find_package(Qt6WaylandClientPrivate REQUIRED) +find_package(Qt6WaylandClientPrivate REQUIRED) set_package_properties(Wayland PROPERTIES TYPE REQUIRED ) diff --git a/local/recipes/kde/kf6-kxmlgui/source/src/kswitchlanguagedialog_p.cpp b/local/recipes/kde/kf6-kxmlgui/source/src/kswitchlanguagedialog_p.cpp index 7e1a185917..116084c3f6 100644 --- a/local/recipes/kde/kf6-kxmlgui/source/src/kswitchlanguagedialog_p.cpp +++ b/local/recipes/kde/kf6-kxmlgui/source/src/kswitchlanguagedialog_p.cpp @@ -74,10 +74,10 @@ void initializeLanguages() // Ideally setting the LANGUAGE would change the default QLocale too // but unfortunately this is too late since the QCoreApplication constructor // already created a QLocale at this stage so we need to set the reset it -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // by triggering the creation and destruction of a QSystemLocale +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // by triggering the creation and destruction of a QSystemLocale // this is highly dependent on Qt internals, so may break, but oh well -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// QSystemLocale *dummy = new QSystemLocale(); -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// delete dummy; +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// QSystemLocale *dummy = new QSystemLocale(); +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// delete dummy; } } diff --git a/local/recipes/kde/kf6-pty/source/CMakeLists.txt b/local/recipes/kde/kf6-pty/source/CMakeLists.txt index 485ba21ec6..0dd1fe0126 100644 --- a/local/recipes/kde/kf6-pty/source/CMakeLists.txt +++ b/local/recipes/kde/kf6-pty/source/CMakeLists.txt @@ -65,9 +65,9 @@ ecm_set_disabled_deprecation_versions( ) add_subdirectory( src ) -##################################if (BUILD_TESTING) -################################## add_subdirectory( autotests ) -##################################endif() +###################################if (BUILD_TESTING) +################################### add_subdirectory( autotests ) +###################################endif() if (BUILD_QCH) ecm_install_qch_export( diff --git a/local/recipes/kde/kf6-solid/source/CMakeLists.txt b/local/recipes/kde/kf6-solid/source/CMakeLists.txt index 2e4e94c22f..c533a39476 100644 --- a/local/recipes/kde/kf6-solid/source/CMakeLists.txt +++ b/local/recipes/kde/kf6-solid/source/CMakeLists.txt @@ -78,7 +78,7 @@ set_package_properties(PList PROPERTIES if (CMAKE_SYSTEM_NAME MATCHES Linux) # Used by the UDisks backend on Linux - #####################################################################################################find_package(LibMount) + ######################################################################################################find_package(LibMount) set_package_properties(LibMount PROPERTIES TYPE REQUIRED) endif() diff --git a/local/recipes/kde/kwin/source/src/backends/libinput/device.cpp b/local/recipes/kde/kwin/source/src/backends/libinput/device.cpp index 4b0fd53243..a122fd0620 100644 --- a/local/recipes/kde/kwin/source/src/backends/libinput/device.cpp +++ b/local/recipes/kde/kwin/source/src/backends/libinput/device.cpp @@ -125,6 +125,7 @@ #include #include #include +#include #include "config-kwin.h" diff --git a/local/recipes/kde/kwin/source/src/helpers/CMakeLists.txt b/local/recipes/kde/kwin/source/src/helpers/CMakeLists.txt index a36d265785..00ad8e8f07 100644 --- a/local/recipes/kde/kwin/source/src/helpers/CMakeLists.txt +++ b/local/recipes/kde/kwin/source/src/helpers/CMakeLists.txt @@ -1,2 +1,2 @@ -######################################################################################################################add_subdirectory(killer) # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only +#######################################################################################################################add_subdirectory(killer) # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only # disabled: X11-only add_subdirectory(wayland_wrapper) diff --git a/local/recipes/kde/kwin/source/src/helpers/wayland_wrapper/wl-socket.c b/local/recipes/kde/kwin/source/src/helpers/wayland_wrapper/wl-socket.c index af832c5795..4ccc127613 100644 --- a/local/recipes/kde/kwin/source/src/helpers/wayland_wrapper/wl-socket.c +++ b/local/recipes/kde/kwin/source/src/helpers/wayland_wrapper/wl-socket.c @@ -352,6 +352,9 @@ #ifndef SUN_LEN #define SUN_LEN(s) (sizeof(*(s)) - sizeof((s)->sun_path) + strnlen((s)->sun_path, sizeof((s)->sun_path))) #endif +#ifndef SUN_LEN +#define SUN_LEN(s) (sizeof(*(s)) - sizeof((s)->sun_path) + strnlen((s)->sun_path, sizeof((s)->sun_path))) +#endif /* KWin - the KDE window manager This file is part of the KDE project. diff --git a/local/recipes/kde/kwin/source/src/plugins/systembell/CMakeLists.txt b/local/recipes/kde/kwin/source/src/plugins/systembell/CMakeLists.txt index 8e49e85aed..3f3b768055 100644 --- a/local/recipes/kde/kwin/source/src/plugins/systembell/CMakeLists.txt +++ b/local/recipes/kde/kwin/source/src/plugins/systembell/CMakeLists.txt @@ -10,5 +10,5 @@ target_link_libraries(systembell PRIVATE KF6::GlobalAccel KF6::I18n - $,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,Canberra::Canberra,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,> + $,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,$,Canberra::Canberra,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,> ) diff --git a/local/recipes/kde/kwin/source/src/tabletmodemanager.cpp b/local/recipes/kde/kwin/source/src/tabletmodemanager.cpp index eff51763fd..9ac4bce169 100644 --- a/local/recipes/kde/kwin/source/src/tabletmodemanager.cpp +++ b/local/recipes/kde/kwin/source/src/tabletmodemanager.cpp @@ -125,6 +125,7 @@ #include #include #include +#include #include "backends/libinput/device.h" #include "core/inputdevice.h" diff --git a/local/recipes/kde/kwin/source/src/utils/ramfile.cpp b/local/recipes/kde/kwin/source/src/utils/ramfile.cpp index 091fad38ce..9617c671fb 100644 --- a/local/recipes/kde/kwin/source/src/utils/ramfile.cpp +++ b/local/recipes/kde/kwin/source/src/utils/ramfile.cpp @@ -706,6 +706,12 @@ #define F_SEAL_SHRINK 0x0002 #define F_SEAL_GROW 0x0004 #define F_SEAL_WRITE 0x0008 +#define F_ADD_SEALS 1033 +#define F_GET_SEALS 1034 +#define F_SEAL_SEAL 0x0001 +#define F_SEAL_SHRINK 0x0002 +#define F_SEAL_GROW 0x0004 +#define F_SEAL_WRITE 0x0008 /* KWin - the KDE window manager This file is part of the KDE project. diff --git a/local/recipes/libs/libdrm/recipe.toml b/local/recipes/libs/libdrm/recipe.toml index 2100d359bf..06c02e967e 100644 --- a/local/recipes/libs/libdrm/recipe.toml +++ b/local/recipes/libs/libdrm/recipe.toml @@ -1,7 +1,7 @@ [source] tar = "https://gitlab.freedesktop.org/mesa/libdrm/-/archive/libdrm-2.4.125/libdrm-libdrm-2.4.125.tar.gz" blake3 = "33e6448252639f4ff8a8cd30129b335c5d85356c1c93f8d77a79221003b14f66" -patches = ["redox.patch", "../../../patches/libdrm/P1-drm-ioctl-bridge.patch", "../../../patches/libdrm/P2-drm-get-pci-info.patch"] +patches = ["redox.patch", "../../../patches/libdrm/P1-drm-ioctl-bridge.patch", "../../../patches/libdrm/P2-drm-get-pci-info.patch", "../../../patches/libdrm/P3-drm-get-version-driver-name.patch"] [build] template = "meson" diff --git a/local/recipes/libs/libdrm/source/xf86drm.c b/local/recipes/libs/libdrm/source/xf86drm.c index 1b206ccd4a..c3904caa37 100644 --- a/local/recipes/libs/libdrm/source/xf86drm.c +++ b/local/recipes/libs/libdrm/source/xf86drm.c @@ -1772,6 +1772,29 @@ drm_public drmVersionPtr drmGetVersion(int fd) retval->version_major = version.major; retval->version_minor = version.minor; retval->version_patchlevel = version.patch; + + /* The scheme returns a NUL-terminated driver name in version.name. + * KWin drm_gpu.cpp dereferences version->name unconditionally + * (strstr checks for "i915", "amdgpu", "virtio" etc.) so it must + * never be NULL. + */ + version.name[sizeof(version.name) - 1] = '\0'; + if (version.name[0] != '\0') { + size_t len = strlen(version.name); + retval->name = drmMalloc(len + 1); + if (retval->name) { + memcpy(retval->name, version.name, len + 1); + retval->name_len = len; + } + } else { + const char fallback[] = "redox-drm"; + retval->name = drmMalloc(sizeof(fallback)); + if (retval->name) { + memcpy(retval->name, fallback, sizeof(fallback)); + retval->name_len = sizeof(fallback) - 1; + } + } + return retval; #else drmVersionPtr retval; diff --git a/local/recipes/libs/libdrm/source/xf86drm_redox.h b/local/recipes/libs/libdrm/source/xf86drm_redox.h index c1abe82565..7f9d252fa1 100644 --- a/local/recipes/libs/libdrm/source/xf86drm_redox.h +++ b/local/recipes/libs/libdrm/source/xf86drm_redox.h @@ -138,6 +138,7 @@ struct redox_drm_version_wire { int32_t major; int32_t minor; int32_t patch; + char name[64]; }; struct redox_drm_prime_handle_to_fd_wire { diff --git a/local/recipes/qt/qtbase/source/mkspecs/common/posix/qplatformdefs.h b/local/recipes/qt/qtbase/source/mkspecs/common/posix/qplatformdefs.h index 510fdf9558..3ce5da64d0 100644 --- a/local/recipes/qt/qtbase/source/mkspecs/common/posix/qplatformdefs.h +++ b/local/recipes/qt/qtbase/source/mkspecs/common/posix/qplatformdefs.h @@ -206,6 +206,14 @@ #endif #endif +#ifdef Q_OS_REDOX +#undef QT_USE_XOPEN_LFS_EXTENSIONS +#undef QT_LARGEFILE_SUPPORT +#ifndef O_LARGEFILE +#define O_LARGEFILE 0 +#endif +#endif + // Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only diff --git a/local/recipes/qt/qtbase/source/src/corelib/CMakeLists.txt b/local/recipes/qt/qtbase/source/src/corelib/CMakeLists.txt index 370d732674..14dbcf3c7d 100644 --- a/local/recipes/qt/qtbase/source/src/corelib/CMakeLists.txt +++ b/local/recipes/qt/qtbase/source/src/corelib/CMakeLists.txt @@ -1382,6 +1382,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 @@ -1592,6 +1599,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 diff --git a/local/recipes/qt/qtbase/source/src/corelib/global/qtypes.h b/local/recipes/qt/qtbase/source/src/corelib/global/qtypes.h index 303dec0095..2859301e01 100644 --- a/local/recipes/qt/qtbase/source/src/corelib/global/qtypes.h +++ b/local/recipes/qt/qtbase/source/src/corelib/global/qtypes.h @@ -203,6 +203,7 @@ static_assert(std::is_signed_v, #include #include #include +#include #ifndef static_assert #define static_assert _Static_assert #endif diff --git a/local/recipes/qt/qtbase/source/src/network/socket/qnativesocketengine_unix.cpp b/local/recipes/qt/qtbase/source/src/network/socket/qnativesocketengine_unix.cpp index 4c020a3dcc..5c209da30e 100644 --- a/local/recipes/qt/qtbase/source/src/network/socket/qnativesocketengine_unix.cpp +++ b/local/recipes/qt/qtbase/source/src/network/socket/qnativesocketengine_unix.cpp @@ -1147,6 +1147,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)); @@ -1181,6 +1182,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(CMSG_DATA(cmsgptr)); diff --git a/local/recipes/qt/qtbase/source/src/network/socket/qnet_unix_p.h b/local/recipes/qt/qtbase/source/src/network/socket/qnet_unix_p.h index 808f981005..57dc614d31 100644 --- a/local/recipes/qt/qtbase/source/src/network/socket/qnet_unix_p.h +++ b/local/recipes/qt/qtbase/source/src/network/socket/qnet_unix_p.h @@ -47,6 +47,7 @@ #include #include #include +#include #include #if defined(Q_OS_VXWORKS) diff --git a/local/recipes/qt/qtbase/source/src/plugins/platforms/wayland/hardwareintegration/qwaylandclientbufferintegration_p.h b/local/recipes/qt/qtbase/source/src/plugins/platforms/wayland/hardwareintegration/qwaylandclientbufferintegration_p.h index 3b32598b30..4974406a9f 100644 --- a/local/recipes/qt/qtbase/source/src/plugins/platforms/wayland/hardwareintegration/qwaylandclientbufferintegration_p.h +++ b/local/recipes/qt/qtbase/source/src/plugins/platforms/wayland/hardwareintegration/qwaylandclientbufferintegration_p.h @@ -77,6 +77,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) */ @@ -104,6 +105,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) @@ -142,6 +144,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) */ @@ -170,6 +173,7 @@ public: #endif /* QT_CONFIG(opengl) */ #endif /* QT_CONFIG(opengl) */ #endif /* QT_CONFIG(opengl) */ +#endif /* QT_CONFIG(opengl) */ }; } diff --git a/local/recipes/system/redbear-greeter/source/redbear-greeter-compositor b/local/recipes/system/redbear-greeter/source/redbear-greeter-compositor index d1812a8a41..867c0930c7 100755 --- a/local/recipes/system/redbear-greeter/source/redbear-greeter-compositor +++ b/local/recipes/system/redbear-greeter/source/redbear-greeter-compositor @@ -90,7 +90,8 @@ if wait_for_drm_scheme; then echo "redbear-greeter-compositor: env DBUS_SESSION_BUS_ADDRESS=${DBUS_SESSION_BUS_ADDRESS:-unset} DBUS_SYSTEM_BUS_ADDRESS=${DBUS_SYSTEM_BUS_ADDRESS:-unset}" >&2 echo "redbear-greeter-compositor: launching $COMPOSITOR" >&2 - QT_QPA_PLATFORM=offscreen "$COMPOSITOR" + unset QT_QPA_PLATFORM + "$COMPOSITOR" EXIT_CODE=$? echo "redbear-greeter-compositor: compositor exited with code $EXIT_CODE" >&2 exit $EXIT_CODE diff --git a/recipes/core/base/recipe.toml b/recipes/core/base/recipe.toml index 30f5664570..49beb3bf17 100644 --- a/recipes/core/base/recipe.toml +++ b/recipes/core/base/recipe.toml @@ -3,6 +3,7 @@ git = "https://gitlab.redox-os.org/redox-os/base.git" rev = "463f76b9608a896e6f6c9f63457f57f6409873c7" patches = [ "redox.patch", + "P10-rootfs-uuid-search-no-block.patch", ] [package] diff --git a/recipes/core/base/source b/recipes/core/base/source index cb0cd1f850..463f76b960 160000 --- a/recipes/core/base/source +++ b/recipes/core/base/source @@ -1 +1 @@ -Subproject commit cb0cd1f850394741459bde99b351e5dd6a73a041 +Subproject commit 463f76b9608a896e6f6c9f63457f57f6409873c7 diff --git a/recipes/core/redoxfs/recipe.toml b/recipes/core/redoxfs/recipe.toml index 8c5a7ea32d..5d7ddb1159 100644 --- a/recipes/core/redoxfs/recipe.toml +++ b/recipes/core/redoxfs/recipe.toml @@ -1,6 +1,6 @@ [source] git = "https://gitlab.redox-os.org/redox-os/redoxfs.git" -patches = ["P2-readonly-live-media-open.patch"] +patches = ["P2-readonly-live-media-open.patch", "P3-uuid-retry.patch"] [build] template = "custom" diff --git a/recipes/core/redoxfs/source b/recipes/core/redoxfs/source index b59677627c..af493b9f4e 160000 --- a/recipes/core/redoxfs/source +++ b/recipes/core/redoxfs/source @@ -1 +1 @@ -Subproject commit b59677627c93b808969853a2059937ce867258df +Subproject commit af493b9f4e1ee7086bc6e44a43f096d981936cfe