summaryrefslogtreecommitdiffstats
path: root/scripts/crossbuild/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/crossbuild/README.md')
-rw-r--r--scripts/crossbuild/README.md64
1 files changed, 39 insertions, 25 deletions
diff --git a/scripts/crossbuild/README.md b/scripts/crossbuild/README.md
index 0bcc2c4..a5dc205 100644
--- a/scripts/crossbuild/README.md
+++ b/scripts/crossbuild/README.md
@@ -8,6 +8,9 @@ different operating systems, using Docker.
The primary purpose is for developers to easily test FreeRADIUS on
different systems.
+**Do not use this for running FreeRADIUS in production - see
+`scripts/docker` instead.**
+
## Common Usage
@@ -24,7 +27,7 @@ least on the first run):
make crossbuild
-or for the most common systems (Debian, Ubuntu, CentOS):
+or for the most common systems (Debian, Ubuntu, CentOS, Rocky):
make crossbuild.common
@@ -41,7 +44,9 @@ The Docker containers are left running, and may be stopped with
make crossbuild.down
The system tries to be as efficient as possible, so will not
-rebuild from scratch every time.
+rebuild the Docker images from scratch every time, but use an
+existing image and copy just the latest git commits in for
+testing.
## Global make targets
@@ -49,47 +54,47 @@ rebuild from scratch every time.
The following targets will operate on the crossbuild system
globally, or on all images (unless otherwise stated):
+ - `make crossbuild`
-### `make crossbuild`
-
-Create all docker images (if required), start them, build and test
-FreeRADIUS.
+ Create all docker images (if required), start them, build and
+ test FreeRADIUS.
-### `make crossbuild.common`
+ - `make crossbuild.common`
-As `make crossbuild`, but only build and test the most common
-systems.
+ As `make crossbuild`, but only build and test the most common
+ systems.
-### `make crossbuild.info`
+ - `make crossbuild.info`
-List all systems, together with the expected state. See
-`crossbuild.reset`.
+ List all systems, together with the expected state. See
+ `crossbuild.reset`.
-### `make crossbuild.down`
+ - `make crossbuild.down`
-Stop all containers.
+ Stop all containers.
-### `make crossbuild.reset`
+ - `make crossbuild.reset`
-If containers are stopped or started outside Docker, crossbuild
-may get confused. This will clear the internal state which should
-try and start everything from be beginning again.
+ If containers are stopped or started outside Docker,
+ crossbuild may get confused. This will clear the internal
+ state which should try and start everything from be beginning
+ again.
-### `make crossbuild.clean`
+ - `make crossbuild.clean`
-Bring down all containers, clear state. This is a general "tidy
-up".
+ Bring down all containers, clear state. This is a general
+ "tidy up".
-### `make crossbuild.wipe`
+ - `make crossbuild.wipe`
-Don't just stop, but destroy all crossbuild docker images. This
-will mean they need to be recreated again upon next use.
+ Don't just stop, but destroy all crossbuild docker images.
+ This will mean they need to be recreated again upon next use.
## Per-image make targets
@@ -116,7 +121,16 @@ Docker images will be created with names in the form:
freeradius-build/debian10
-whil containers will have names like:
+while containers will have names like:
fr-crossbuild-debian10
+
+## Re-generating Dockerfiles
+
+The Dockerfiles used for crossbuild are generated from m4
+templates. To regenerate one use `make crossbuild.IMAGE.regen`, or
+`make crossbuild.regen` to generate them all. The m4 templates are
+stored in `scripts/crossbuild/m4/`. This will usually only need to
+be used to add a new operating system, not during standard build
+testing.