diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-08-26 10:41:52 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-08-26 10:41:52 +0000 |
commit | de8bf9112695763664912e340b265fa898188460 (patch) | |
tree | 9bcd5f8d45fc3b81174d3de8abfd573b68e9d7f6 /scripts/crossbuild/README.md | |
parent | Adding debian version 3.2.3+dfsg-2. (diff) | |
download | freeradius-de8bf9112695763664912e340b265fa898188460.tar.xz freeradius-de8bf9112695763664912e340b265fa898188460.zip |
Merging upstream version 3.2.5+dfsg.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'scripts/crossbuild/README.md')
-rw-r--r-- | scripts/crossbuild/README.md | 64 |
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. |