a23012cee0
BREAKING CHANGE: The patch-based build system is removed. All Red Bear source now lives in local/sources/<component>/ as git repos. Changes: - src/recipe.rs: remove patches field from SourceRecipe::Git/Tar, add Local variant - src/cook/fetch.rs: delete fetch_apply_patches, validate_patches, normalize_patch, fetch_compute_patches_hash, fetch_write_patches_state, fetch_patches_state_stale, fetch_validate_patch_symlinks, fetch_is_patches_newer. Simplify fetch and fetch_offline. Remove recipe_has_patches. Add Local source handler. - src/bin/repo.rs: remove validate-patches command and handle_validate_patches - 70 recipe.toml files: remove patches arrays, convert core recipes to Local source - 272 .patch symlinks deleted from recipe directories - integrate-redbear.sh: replace patch symlink logic with source fork validation - Makefile: replace validate-patches with validate-sources target - AGENTS.md: remove 369 lines of patch documentation, add source ownership model - local/docs/PATCH-GOVERNANCE.md: deleted (replaced by SOURCE-OWNERSHIP-MODEL.md) - local/docs/SOURCE-OWNERSHIP-MODEL.md: new canonical reference - local/sources/: Red Bear fork repos created (kernel, relibc, base, bootloader, installer) from frozen 0.1.0 pre-patched archives - .gitignore: exclude local/sources/ (separate git repos) - create-forks.sh: new script for initializing fork repos Build: cargo check passes (5 warnings, 0 errors). Developer workflow is now: edit local/sources/ → repo cook → test. No patches.
63 lines
1.7 KiB
TOML
63 lines
1.7 KiB
TOML
#TODO FastCGI not working
|
|
[source]
|
|
tar = "https://nginx.org/download/nginx-1.28.0.tar.gz"
|
|
|
|
[build]
|
|
template = "custom"
|
|
dependencies = [
|
|
"pcre",
|
|
"openssl3",
|
|
"zlib",
|
|
]
|
|
script = """
|
|
DYNAMIC_INIT
|
|
rsync -av --delete "${COOKBOOK_SOURCE}"/* ./
|
|
ARCH="${TARGET%%-*}"
|
|
COOKBOOK_CONFIGURE_FLAGS=(
|
|
--crossbuild=Redox:$ARCH
|
|
--with-cc="$CC"
|
|
--with-cc-opt="$CFLAGS $CPPFLAGS"
|
|
--with-ld-opt="$LDFLAGS"
|
|
--sbin-path=/usr/bin/nginx
|
|
--modules-path=/usr/lib/nginx/modules
|
|
--conf-path=/etc/nginx/nginx.conf
|
|
--error-log-path=/var/log/nginx/error.log
|
|
--http-log-path=/var/log/nginx/access.log
|
|
--http-client-body-temp-path=/var/lib/nginx/body
|
|
--http-proxy-temp-path=/var/lib/nginx/proxy
|
|
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi
|
|
--http-uwsgi-temp-path=/var/lib/nginx/uwsgi
|
|
--http-scgi-temp-path=/var/lib/nginx/scgi
|
|
--pid-path=/var/run/nginx.pid
|
|
--lock-path=/var/lock/nginx.lock
|
|
--user=nginx
|
|
--group=nginx
|
|
--with-compat
|
|
--with-debug
|
|
--with-pcre
|
|
--with-pcre-jit
|
|
--with-stream
|
|
--with-stream_realip_module
|
|
--with-stream_ssl_module
|
|
--with-stream_ssl_preread_module
|
|
--with-threads
|
|
--with-http_ssl_module
|
|
--with-http_v2_module
|
|
--with-http_v3_module
|
|
--with-http_realip_module
|
|
--with-http_gzip_static_module
|
|
--with-http_stub_status_module
|
|
--with-http_addition_module
|
|
)
|
|
|
|
unset AR AS CC CXX LD LDFLAGS NM OBJCOPY OBJDUMP RANLIB READELF RUSTFLAGS STRIP
|
|
|
|
cookbook_configure
|
|
|
|
mkdir -p "$COOKBOOK_STAGE"/var/lib/nginx/{body,proxy,fastcgi,uwsgi,scgi} \
|
|
"$COOKBOOK_STAGE"/var/log/nginx/
|
|
#TODO: pkgar don't track empty directories
|
|
touch "$COOKBOOK_STAGE"/var/lib/nginx/{body,proxy,fastcgi,uwsgi,scgi}/.tmp \
|
|
"$COOKBOOK_STAGE"/var/log/nginx/.tmp
|
|
"""
|