Add explanation comments on the build system files
This commit is contained in:
		
							parent
							
								
									06f038eced
								
							
						
					
					
						commit
						49102f6332
					
				
					 70 changed files with 109 additions and 47 deletions
				
			
		|  | @ -1,3 +1,4 @@ | |||
| # The GitLab Continuous Integration configuration | ||||
| image: "ubuntu:22.04" | ||||
| 
 | ||||
| variables: | ||||
|  |  | |||
							
								
								
									
										5
									
								
								Makefile
									
										
									
									
									
								
							
							
						
						
									
										5
									
								
								Makefile
									
										
									
									
									
								
							|  | @ -1,7 +1,8 @@ | |||
| # Configuration and variables
 | ||||
| # This file contains the build system commands configuration
 | ||||
| # and environment variables
 | ||||
| include mk/config.mk | ||||
| 
 | ||||
| # Dependencies
 | ||||
| # Build system dependencies
 | ||||
| include mk/depends.mk | ||||
| 
 | ||||
| all: $(BUILD)/harddrive.img | ||||
|  |  | |||
|  | @ -1,3 +1,7 @@ | |||
| # This script setup the Redox build system | ||||
| # It install Rustup, the recipe dependencies for cross-compilation | ||||
| # and download the build system configuration files | ||||
| 
 | ||||
| #!/usr/bin/env bash | ||||
| 
 | ||||
| set -e | ||||
|  |  | |||
							
								
								
									
										2
									
								
								build.sh
									
										
									
									
									
								
							
							
						
						
									
										2
									
								
								build.sh
									
										
									
									
									
								
							|  | @ -1,3 +1,5 @@ | |||
| # Alternative script for the build system Makefiles | ||||
| 
 | ||||
| #!/usr/bin/env bash | ||||
| 
 | ||||
| ########################################################################### | ||||
|  |  | |||
|  | @ -1,3 +1,3 @@ | |||
| # Configuration for using acid | ||||
| # Configuration to run the "acid" tests | ||||
| 
 | ||||
| include = ["../acid.toml"] | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| # This is the CI configuration file | ||||
| # The Redox build server configuration | ||||
| 
 | ||||
| # General settings | ||||
| [general] | ||||
|  |  | |||
|  | @ -1 +1,3 @@ | |||
| # Configuration for demonstration | ||||
| 
 | ||||
| include = ["desktop.toml"] | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| # Default desktop configuration | ||||
| # Minimal desktop configuration | ||||
| 
 | ||||
| include = ["../desktop-minimal.toml"] | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| # Default desktop configuration | ||||
| # Default build system configuration | ||||
| 
 | ||||
| include = ["../minimal.toml"] | ||||
| 
 | ||||
|  |  | |||
|  | @ -1 +1,3 @@ | |||
| # Configuration for Jeremy Soller | ||||
| 
 | ||||
| include = ["desktop.toml"] | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| # Minimal configuration | ||||
| # Minimal network configuration | ||||
| 
 | ||||
| include = ["../minimal-net.toml"] | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,3 +1,3 @@ | |||
| # Configuration for using resist | ||||
| # Configuration to run the "resist" tests | ||||
| 
 | ||||
| include = ["../resist.toml"] | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| # Default server configuration | ||||
| # Server configuration | ||||
| 
 | ||||
| include = ["../server.toml"] | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| # Configuration for using acid | ||||
| # Configuration to run the "acid" tests | ||||
| 
 | ||||
| include = ["base.toml"] | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| # Default desktop configuration | ||||
| # Minimal desktop configuration | ||||
| 
 | ||||
| include = ["minimal-net.toml"] | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| # Default desktop configuration | ||||
| # Default build system configuration | ||||
| 
 | ||||
| include = ["server.toml"] | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| # Configuration for development, includes cargo and rustc | ||||
| # Configuration for development | ||||
| 
 | ||||
| include = ["desktop.toml"] | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,3 +1,3 @@ | |||
| # Configuration for using acid | ||||
| # Configuration to run the "acid" tests | ||||
| 
 | ||||
| include = ["../acid.toml"] | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| # This is the CI configuration file | ||||
| # The Redox build server configuration | ||||
| 
 | ||||
| # General settings | ||||
| [general] | ||||
|  |  | |||
|  | @ -1,3 +1,4 @@ | |||
| # Configuration for demonstration | ||||
| ############################################################################## | ||||
| #                          Redox Demo Configuration                          # | ||||
| #                                                                            # | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| # Default desktop configuration | ||||
| # Minimal desktop configuration | ||||
| 
 | ||||
| include = ["../desktop-minimal.toml"] | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| # Default desktop configuration | ||||
| # Default build system configuration | ||||
| 
 | ||||
| include = ["../desktop.toml"] | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| # Configuration for development, includes cargo and rustc | ||||
| # Configuration for development | ||||
| 
 | ||||
| include = ["../dev.toml"] | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| # Jeremy's configuration | ||||
| # Configuration for Jeremy Soller | ||||
| 
 | ||||
| include = ["../desktop.toml"] | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| # Minimal configuration | ||||
| # Minimal network configuration | ||||
| 
 | ||||
| include = ["../minimal-net.toml"] | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,3 +1,3 @@ | |||
| # Configuration for using resist | ||||
| # Configuration to use the "resist" tests | ||||
| 
 | ||||
| include = ["../resist.toml"] | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| # Default server configuration | ||||
| # Server configuration | ||||
| 
 | ||||
| include = ["../server.toml"] | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| # Default desktop configuration | ||||
| # # Configuration to create "llvm-config" script | ||||
| 
 | ||||
| include = ["base.toml"] | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| # Net configuration: includes the base configuration and adds files required | ||||
| # Network configuration: includes the base configuration and adds files required | ||||
| # for networking | ||||
| 
 | ||||
| include = ["base.toml"] | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| # Configuration for redoxer GUI image | ||||
| # Configuration for the Redoxer GUI image | ||||
| 
 | ||||
| include = ["redoxer.toml"] | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| # Configuration for redoxer image | ||||
| # Configuration for the Redoxer image | ||||
| 
 | ||||
| include = ["net.toml"] | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| # Configuration for using resist | ||||
| # Configuration to run the "resist" tests | ||||
| 
 | ||||
| include = ["net.toml"] | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| # Default server configuration | ||||
| # Server configuration | ||||
| 
 | ||||
| include = ["net.toml"] | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,3 +1,3 @@ | |||
| # Configuration for using acid | ||||
| # Configuration to use the "acid" tests | ||||
| 
 | ||||
| include = ["../acid.toml"] | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| # This is the CI configuration file | ||||
| # The Redox build server configuration | ||||
| 
 | ||||
| # General settings | ||||
| [general] | ||||
|  |  | |||
|  | @ -1,3 +1,4 @@ | |||
| # Configuration for demonstration | ||||
| ############################################################################## | ||||
| #                          Redox Demo Configuration                          # | ||||
| #                                                                            # | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| # Default desktop configuration using contain | ||||
| # Desktop configuration using the Contain sandbox | ||||
| 
 | ||||
| include = ["../desktop.toml"] | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| # Default desktop configuration | ||||
| # Minimal desktop configuration | ||||
| 
 | ||||
| include = ["../desktop-minimal.toml"] | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| # Default desktop configuration | ||||
| # Default build system configuration | ||||
| 
 | ||||
| include = ["../desktop.toml"] | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| # Configuration for development, includes cargo and rustc | ||||
| # Configuration for development | ||||
| 
 | ||||
| include = ["../dev.toml"] | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| # Jeremy's configuration | ||||
| # Configuration for Jeremy Soller | ||||
| 
 | ||||
| include = ["../desktop.toml"] | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,3 +1,3 @@ | |||
| # Config for creating llvm-config script | ||||
| # Configuration to create "llvm-config" script | ||||
| 
 | ||||
| include = ["../llvm.toml"] | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| # Minimal configuration | ||||
| # Minimal network configuration | ||||
| 
 | ||||
| include = ["../minimal-net.toml"] | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,3 +1,3 @@ | |||
| # Configuration for using resist | ||||
| # Configuration to run the "resist" tests | ||||
| 
 | ||||
| include = ["../resist.toml"] | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| # Default server configuration | ||||
| # Server configuration | ||||
| 
 | ||||
| include = ["../server.toml"] | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,3 +1,5 @@ | |||
| # Configuration file to setup the Docker container of Redox | ||||
| 
 | ||||
| FROM rustlang/rust:nightly | ||||
| 
 | ||||
| ENV IMAGE_NAME=redox-os-docker | ||||
|  |  | |||
|  | @ -1,3 +1,5 @@ | |||
| # This script run the Docker image of Redox | ||||
| 
 | ||||
| docker run --privileged --cap-add MKNOD --cap-add SYS_ADMIN --device /dev/fuse \ | ||||
|     -e LOCAL_UID="$(id -u)" -e LOCAL_GID="$(id -g)" \ | ||||
|     -v redox-"$(id -u)-$(id -g)"-cargo:/usr/local/cargo \ | ||||
|  |  | |||
							
								
								
									
										2
									
								
								mk/ci.mk
									
										
									
									
									
								
							
							
						
						
									
										2
									
								
								mk/ci.mk
									
										
									
									
									
								
							|  | @ -1,3 +1,5 @@ | |||
| # Configuration file of the build system commands for the build server
 | ||||
| 
 | ||||
| IMG_TAG?=$(shell git describe --tags) | ||||
| IMG_SEPARATOR?=_ | ||||
| IMG_DIR?=build/img/$(ARCH) | ||||
|  |  | |||
|  | @ -1,3 +1,5 @@ | |||
| # Configuration file of the build system environment variables
 | ||||
| 
 | ||||
| -include .config | ||||
| 
 | ||||
| HOST_ARCH?=$(shell uname -m) | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| # Dependencies
 | ||||
| # Configuration file for the build system dependencies
 | ||||
| 
 | ||||
| # Don't check for Rust/Cargo if you will be using Podman
 | ||||
| ifneq ($(PODMAN_BUILD),1) | ||||
|  |  | |||
|  | @ -1,3 +1,5 @@ | |||
| # Configuration file with the commands configuration of the Redox image
 | ||||
| 
 | ||||
| $(BUILD)/harddrive.img: $(FSTOOLS_TAG) $(REPO_TAG) | ||||
| 	mkdir -p $(BUILD) | ||||
| 	rm -rf $@  $@.partial | ||||
|  |  | |||
|  | @ -1,3 +1,5 @@ | |||
| # Configuration file for redox-installer, Cookbook and RedoxFS FUSE
 | ||||
| 
 | ||||
| fstools: $(FSTOOLS_TAG) | ||||
| 
 | ||||
| $(FSTOOLS_TAG): cookbook installer redoxfs $(CONTAINER_TAG) | ||||
|  |  | |||
|  | @ -1,6 +1,4 @@ | |||
| ##############################################
 | ||||
| # podman.mk - Use Podman to build components #
 | ||||
| ##############################################
 | ||||
| # Configuration file of the Podman commands
 | ||||
| 
 | ||||
| # Configuration variables for running make in Podman
 | ||||
| ## Tag the podman image $IMAGE_TAG
 | ||||
|  |  | |||
|  | @ -1,3 +1,5 @@ | |||
| # Configuration file for the Rust/GCC cross-compilers and relibc
 | ||||
| 
 | ||||
| PREFIX=prefix/$(TARGET) | ||||
| 
 | ||||
| PREFIX_INSTALL=$(PREFIX)/relibc-install | ||||
|  |  | |||
|  | @ -1,3 +1,5 @@ | |||
| # Configuration file for QEMU
 | ||||
| 
 | ||||
| QEMU=SDL_VIDEO_X11_DGAMOUSE=0 qemu-system-$(QEMU_ARCH) | ||||
| QEMUFLAGS=-d guest_errors -name "Redox OS $(ARCH)" | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,3 +1,5 @@ | |||
| # Configuration file for recipe commands
 | ||||
| 
 | ||||
| $(BUILD)/fetch.tag: prefix $(FSTOOLS_TAG) $(FILESYSTEM_CONFIG) $(CONTAINER_TAG) | ||||
| ifeq ($(PODMAN_BUILD),1) | ||||
| 	$(PODMAN_RUN) $(MAKE) $@ | ||||
|  |  | |||
|  | @ -1,3 +1,5 @@ | |||
| # Configuration file for VirtualBox, it creates a VirtualBox virtual machine
 | ||||
| 
 | ||||
| virtualbox: $(BUILD)/harddrive.img | ||||
| 	echo "Delete VM" | ||||
| 	-$(VBM) unregistervm Redox --delete; \
 | ||||
|  |  | |||
|  | @ -1,3 +1,5 @@ | |||
| # Configuration file to install the recipe dependencies inside the Podman container | ||||
| 
 | ||||
| FROM debian:bookworm-20240513-slim | ||||
| 
 | ||||
| # _UID_ must be replaced with the user's uid on host | ||||
|  |  | |||
|  | @ -1,6 +1,7 @@ | |||
| #/usr/bin/env bash | ||||
| # This script install the Rust toolchain and the build system dependencies | ||||
| # in Podman after the image has been built | ||||
| 
 | ||||
| # Install Rust in Podman, after the image has been built | ||||
| #/usr/bin/env bash | ||||
| 
 | ||||
| curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain stable | ||||
| cargo +stable install --force --version 0.1.1 cargo-config | ||||
|  |  | |||
|  | @ -1,3 +1,7 @@ | |||
| # This script setup the Redox build system with Podman | ||||
| # It install the Podman dependencies, Rustup, recipes dependencies for cross-compilation | ||||
| # and download the build system configuration files | ||||
| 
 | ||||
| #!/usr/bin/env bash | ||||
| 
 | ||||
| set -e | ||||
|  |  | |||
|  | @ -1,3 +1,6 @@ | |||
| # This script allow the user to copy a Rust backtrace from Redox | ||||
| # and retrieve the symbols | ||||
| 
 | ||||
| #!/usr/bin/env bash | ||||
| 
 | ||||
| usage() | ||||
|  |  | |||
|  | @ -1,3 +1,5 @@ | |||
| # This script run the recipe command options on some Cookbook category | ||||
| 
 | ||||
| #!/usr/bin/env bash | ||||
| 
 | ||||
| if [ -z "$1" ] || [ -z "$2" ] | ||||
|  |  | |||
|  | @ -1,3 +1,5 @@ | |||
| # This script show the changelog of all Redox components | ||||
| 
 | ||||
| #!/usr/bin/env bash | ||||
| 
 | ||||
| set -e | ||||
|  |  | |||
|  | @ -1,3 +1,5 @@ | |||
| # This script show the current Git branch and commit of the recipe source | ||||
| 
 | ||||
| #!/usr/bin/env bash | ||||
| 
 | ||||
| if [ $# -ne 1 ] | ||||
|  |  | |||
|  | @ -1,3 +1,6 @@ | |||
| # This script install Redox in the free space of your storage device | ||||
| # and add a boot entry (if you are using the systemd-boot boot loader) | ||||
| 
 | ||||
| #!/usr/bin/env bash | ||||
| 
 | ||||
| set -e | ||||
|  |  | |||
|  | @ -1,3 +1,5 @@ | |||
| # This script show all files installed by a recipe | ||||
| 
 | ||||
| #!/usr/bin/env bash | ||||
| 
 | ||||
| # Ensure arch and config are set as desired, we use these to find the build dir | ||||
|  |  | |||
|  | @ -1,3 +1,7 @@ | |||
| # This script create a list with: | ||||
| # "recipe-name = {} #TODO" | ||||
| # For quick testing of WIP recipes | ||||
| 
 | ||||
| #!/usr/bin/env bash | ||||
| 
 | ||||
| # Given a string, find recipe.toml files containing that string. | ||||
|  |  | |||
|  | @ -1,3 +1,6 @@ | |||
| # This script show the package size of the recipes ("stage.pkgar" and "stage.tar.gz") | ||||
| # It must be used by package maintainers to enforce the library linking size policy | ||||
| 
 | ||||
| #!/usr/bin/env bash | ||||
| 
 | ||||
| if [ $# = 0 ] | ||||
|  |  | |||
|  | @ -1,6 +1,6 @@ | |||
| #!/usr/bin/env bash | ||||
| # This script show the contents of the "stage" and "sysroot" folders in some recipe | ||||
| 
 | ||||
| # Show the contents of the stage and sysroot folders in some recipe | ||||
| #!/usr/bin/env bash | ||||
| 
 | ||||
| if [ -z "$*" ] | ||||
| then | ||||
|  |  | |||
|  | @ -1,3 +1,5 @@ | |||
| # This script create and copy the Redox bootable image to an Ventoy-formatted device | ||||
| 
 | ||||
| #!/usr/bin/env bash | ||||
| 
 | ||||
| set -e | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Ribbon
						Ribbon