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
98 lines
3.4 KiB
Plaintext
98 lines
3.4 KiB
Plaintext
@echo off
|
|
setlocal ENABLEDELAYEDEXPANSION ENABLEEXTENSIONS
|
|
set ARGS=%*
|
|
set script_dir_path=%~dp0
|
|
set script_dir_path=%script_dir_path:~0,-1%
|
|
|
|
if "%1" == "" (
|
|
call :print_usage
|
|
exit /b 1
|
|
)
|
|
|
|
set module_root=%1
|
|
set module_root=%module_root:\=/%
|
|
shift
|
|
if not exist "%module_root%\CMakeLists.txt" (
|
|
echo Error: %module_root% is not a valid Qt module source directory. >&2
|
|
call :print_usage
|
|
exit /b 1
|
|
)
|
|
|
|
set cmake_scripts_dir=%script_dir_path%\@__relative_path_to_cmake_scripts_dir@
|
|
set TOPQTDIR=%CD%
|
|
|
|
call :doargs %ARGS%
|
|
if errorlevel 1 exit /b
|
|
goto doneargs
|
|
|
|
:doargs
|
|
if "%~1" == "" exit /b
|
|
|
|
if /i "%~1" == "-redo" goto redo
|
|
if /i "%~1" == "--redo" goto redo
|
|
|
|
:nextarg
|
|
shift
|
|
goto doargs
|
|
|
|
:redo
|
|
if not exist "%TOPQTDIR%\config.opt" goto redoerr
|
|
echo %ARGS% > %TOPQTDIR%\config.redo.in
|
|
set redoing=""
|
|
goto nextarg
|
|
:redoerr
|
|
echo No config.opt present - cannot redo configuration. >&2
|
|
exit /b 1
|
|
|
|
:doneargs
|
|
|
|
rem Write config.opt if we're not currently -redo'ing
|
|
set OPT_FILE_PATH=%TOPQTDIR%\config.opt
|
|
set OPT_TMP_FILE_PATH=%TOPQTDIR%\config.opt.in
|
|
set REDO_FILE_PATH=%TOPQTDIR%\config.redo.last
|
|
set REDO_TMP_FILE_PATH=%TOPQTDIR%\config.redo.in
|
|
set FRESH_REQUESTED_ARG=
|
|
if not defined redoing (
|
|
copy "%script_dir_path%\@__GlobalConfig_relative_path_from_bin_dir_to_cmake_config_dir@\@side_car_file_name@" "%OPT_TMP_FILE_PATH%"
|
|
|
|
rem "The '.' in 'echo.%*' ensures we don't print "echo is off" when no arguments are passed"
|
|
rem "https://devblogs.microsoft.com/oldnewthing/20170802-00/?p=96735"
|
|
rem "The space before the '>' makes sure that when we have a digit at the end of the args, we"
|
|
rem "don't accidentally concatenate it with the '>' resulting in '0>' or '2>' which redirects"
|
|
rem "into the file from a stream different than stdout, leading to broken or empty content."
|
|
echo.%* >>"%OPT_TMP_FILE_PATH%"
|
|
echo.@__extra_configure_args@ >>"%OPT_TMP_FILE_PATH%"
|
|
|
|
rem "The SKIP_ARGS option makes sure not to write the repo path into the config.opt file"
|
|
call "%script_dir_path%\qt-cmake-private.bat" -DSKIP_ARGS=1 -DIN_FILE="%OPT_TMP_FILE_PATH%" ^
|
|
-DOUT_FILE="%OPT_FILE_PATH%" -P "%cmake_scripts_dir%\QtWriteArgsFile.cmake"
|
|
) else (
|
|
echo. 2> "%OPT_TMP_FILE_PATH%"
|
|
for /F "usebackq tokens=*" %%A in ("%OPT_FILE_PATH%") do echo "%%A" >> "%OPT_TMP_FILE_PATH%"
|
|
|
|
rem "The SKIP_REDO_FILE_ARGS option makes sure to remove the repo path read from the"
|
|
rem "config.redo.in file"
|
|
call "%script_dir_path%\qt-cmake-private.bat" -DSKIP_REDO_FILE_ARGS=1 ^
|
|
-DIN_FILE="%OPT_TMP_FILE_PATH%" -DREDO_FILE="%REDO_TMP_FILE_PATH%" ^
|
|
-DOUT_FILE="%REDO_FILE_PATH%" -DIGNORE_ARGS="-redo;--redo" ^
|
|
-P "%cmake_scripts_dir%\QtWriteArgsFile.cmake"
|
|
|
|
set OPT_FILE_PATH=%REDO_FILE_PATH%
|
|
set FRESH_REQUESTED_ARG=-DFRESH_REQUESTED=TRUE
|
|
)
|
|
|
|
rem Launch CMake-based configure
|
|
|
|
call "%script_dir_path%\qt-cmake-private.bat" -DOPTFILE="%OPT_FILE_PATH%" %FRESH_REQUESTED_ARG% ^
|
|
-DMODULE_ROOT="%module_root%" ^
|
|
-DCMAKE_COMMAND="%script_dir_path%\qt-cmake-private.bat" ^
|
|
-P "%cmake_scripts_dir%\QtProcessConfigureArgs.cmake"
|
|
goto :eof
|
|
|
|
:print_usage
|
|
echo Usage: qt-configure-module ^<module-source-dir^> [options]
|
|
echo.
|
|
echo To display the available options for a Qt module, run
|
|
echo qt-configure-module ^<module-source-dir^> -help
|
|
goto :eof
|