1
0

Moved 'developing' section into docs/developing.md

Signed-off-by: James P. Ketrenos <james.p.ketrenos@intel.com>
This commit is contained in:
James P. Ketrenos 2019-09-25 16:26:56 -07:00
parent e6751b024d
commit eacc1dc38a
2 changed files with 60 additions and 57 deletions

View File

@ -178,67 +178,10 @@ OUT_FILE=AUD_1N_
-map [o2] -c:v h264_qsv -b:v 4M /media/"${OUT_FILE}-4M60FPS.h264" -map [o2] -c:v h264_qsv -b:v 4M /media/"${OUT_FILE}-4M60FPS.h264"
``` ```
## Developing
The Dockerfile itself is constructed from re-usable snippets,
located in the templates/ directory, and can be regenerated
by running:
```bash
scripts/build-dockerfile
```
The above script uses environment substitution to stamp version
information within the created Dockerfile. The files which declare
the environment variables are in **SOLUTION** and **MANIFEST**.
After joining the template/* pieces together, the file After joining the template/* pieces together, the file
**Dockerfile.solution** is then added to the Dockerfile with **Dockerfile.solution** is then added to the Dockerfile with
environment substitution. environment substitution.
## SOLUTION
Solution specific definitions:
CONTAINER_IMAGE is used as the container tag name
OS_DISTRO is used as the base OS distribution. Possible values: ubuntu
OS_RELEASE is used as the OS version. Possible values: disco, eoan
## MANIFEST
The version of MANIFEST is created by the set of Agama packages from the Agama
repository and name-mangling them to be a VERSION declaration:
For example:
libgl1-mesa-glx_19.0.1-agama-109_amd64.deb
is changed to:
LIBGL1_MESA_GLX_VERSION=19.0.1-agama-109
This allows the Dockerfile templates version pin Agama packages:
```Dockerfile
RUN apt-get install -y libgl1-mesa-glx=$LIBGL1_MESA_GLX_VERSION
```
The `scripts/build-dockerfile` loads MANIFEST, which defines
LIBGL1_MESA_GLX_VERSION. That is then subsituted for the version in
the above Dockerfile snippet when being placed into the main Dockerfile.
# Tagging
If the build succeeds, we want to be able to tag the git project
as well as corresponding Docker images with the appropriate Agama
tag:
```bash
. MANIFEST ; git tag -f agama-${AGAMA_VERSION}
```
# Appendix A: Multicard # Appendix A: Multicard
Most of the filters and drivers for ffmpeg will default to connecting to Most of the filters and drivers for ffmpeg will default to connecting to

60
docs/developing.md Normal file
View File

@ -0,0 +1,60 @@
# Developing
The Dockerfile itself is constructed from re-usable snippets,
located in the templates/ directory, and can be regenerated
by running:
```bash
scripts/build-dockerfile
```
The above script uses environment substitution to stamp version
information within the created Dockerfile. The files which declare
the environment variables are in **SOLUTION** and **MANIFEST**.
After joining the template/* pieces together, the file
**Dockerfile.solution** is then added to the Dockerfile with
environment substitution.
# SOLUTION
Solution specific definitions:
CONTAINER_IMAGE is used as the container tag name
OS_DISTRO is used as the base OS distribution. Possible values: ubuntu
OS_RELEASE is used as the OS version. Possible values: disco, eoan
# MANIFEST
The version of MANIFEST is created by the set of Agama packages from the Agama
repository and name-mangling them to be a VERSION declaration:
For example:
libgl1-mesa-glx_19.0.1-agama-109_amd64.deb
is changed to:
LIBGL1_MESA_GLX_VERSION=19.0.1-agama-109
This allows the Dockerfile templates version pin Agama packages:
```Dockerfile
RUN apt-get install -y libgl1-mesa-glx=$LIBGL1_MESA_GLX_VERSION
```
The `scripts/build-dockerfile` loads MANIFEST, which defines
LIBGL1_MESA_GLX_VERSION. That is then subsituted for the version in
the above Dockerfile snippet when being placed into the main Dockerfile.
# Tagging
If the build succeeds, we want to be able to tag the git project
as well as corresponding Docker images with the appropriate Agama
tag:
```bash
. MANIFEST ; git tag -f agama-${AGAMA_VERSION}
```