f31522130f
Build system (5 gaps hardened): - COOKBOOK_OFFLINE defaults to true (fork-mode) - normalize_patch handles diff -ruN format - New 'repo validate-patches' command (25/25 relibc patches) - 14 patched Qt/Wayland/display recipes added to protected list - relibc archive regenerated with current patch chain Boot fixes (fixable): - Full ISO EFI partition: 16 MiB → 1 MiB (matches mini, BIOS hardcoded 2 MiB offset) - D-Bus system bus: absolute /usr/bin/dbus-daemon path (was skipped) - redbear-sessiond: absolute /usr/bin/redbear-sessiond path (was skipped) - daemon framework: silenced spurious INIT_NOTIFY warnings for oneshot_async services (P0-daemon-silence-init-notify.patch) - udev-shim: demoted INIT_NOTIFY warning to INFO (expected for oneshot_async) - relibc: comprehensive named semaphores (sem_open/close/unlink) replacing upstream todo!() stubs - greeterd: Wayland socket timeout 15s → 30s (compositor DRM wait) - greeter-ui: built and linked (header guard unification, sem_compat stubs removed) - mc: un-ignored in both configs, fixed glib/libiconv/pcre2 transitive deps - greeter config: removed stale keymapd dependency from display/greeter services - prefix toolchain: relibc headers synced, _RELIBC_STDLIB_H guard unified Unfixable (diagnosed, upstream): - i2c-hidd: abort on no-I2C-hardware (QEMU) — process::exit → relibc abort - kded6/greeter-ui: page fault 0x8 — Qt library null deref - Thread panics fd != -1 — Rust std library on Redox - DHCP timeout / eth0 MAC — QEMU user-mode networking - hwrngd/thermald — no hardware RNG/thermal in VM - live preload allocation — BIOS memory fragmentation, continues on demand
78 lines
1.7 KiB
Plaintext
78 lines
1.7 KiB
Plaintext
#
|
|
# W A R N I N G
|
|
# -------------
|
|
#
|
|
# This file is not part of the Qt API. It exists purely as an
|
|
# implementation detail. It may change from version to version
|
|
# without notice, or even be removed.
|
|
#
|
|
# We mean it.
|
|
#
|
|
|
|
defineReplace(cmakeModuleName) {
|
|
_module = $$1
|
|
_name = $$eval(QT.$${_module}.name)
|
|
cmake_module_name = $$replace(_name, ^Qt, )
|
|
return ($$cmake_module_name)
|
|
}
|
|
|
|
defineReplace(cmakeModuleList) {
|
|
variable = $$1
|
|
out =
|
|
for(v, variable) {
|
|
out += $$cmakeModuleName($$v)
|
|
}
|
|
return ($$join(out, ";"))
|
|
}
|
|
|
|
defineReplace(cmakeTargetPath) {
|
|
SYSR = $$[QT_SYSROOT]
|
|
!isEmpty(SYSR): path = /$$relative_path($$1, $$[QT_SYSROOT])
|
|
else: path = $$1
|
|
return($$clean_path($$path))
|
|
}
|
|
|
|
defineReplace(cmakeTargetPaths) {
|
|
variable = $$1
|
|
out =
|
|
for(v, variable) {
|
|
out += \"$$cmakeTargetPath($$v)\"
|
|
}
|
|
return ($$join(out, " "))
|
|
}
|
|
|
|
defineReplace(cmakePortablePaths) {
|
|
SYSR = $$[QT_SYSROOT]
|
|
!isEmpty(SYSR): SYSR = ${CMAKE_SYSROOT}
|
|
variable = $$1
|
|
out =
|
|
for(v, variable) {
|
|
path = $$cmakeTargetPath($$v)
|
|
contains(path, /.*): \
|
|
sysroot_prefix = $$SYSR
|
|
else: \
|
|
sysroot_prefix = $$SYSR/
|
|
out += $${sysroot_prefix}$${path}
|
|
}
|
|
return ($$join(out, ";"))
|
|
}
|
|
|
|
defineReplace(cmakeProcessLibs) {
|
|
variable = $$1
|
|
out =
|
|
for(v, variable) {
|
|
if(!equals(v, -framework):!contains(v, -L.*)) {
|
|
v ~= s,^-l,,
|
|
v ~= s,^-lib,,
|
|
v ~= s,.lib$,,
|
|
out += $$v
|
|
}
|
|
}
|
|
return ($$join(out, ";"))
|
|
}
|
|
|
|
defineReplace(cmakeRelativePath) {
|
|
path = $$relative_path($$1, $$2)
|
|
return($$replace(path, ([^/])$, \\1/))
|
|
}
|