Ravenports package building in Linux Docker containers
Eventually this repository will support two sets of Docker definitions. The first set supports glibc-based linux (Based on Linux 6.1) package building. In the future, musl-based linux package building will be supported in a second set of Docker definition files.
- Clone this repository or extract an equivalent archive onto a platform with a working Docker system
- Create localhost directories used by the ravenports container
- ravenadm profile (default /srv/rvnprofile)
- full ports tree (default /srv/specs)
- ccache files (default /srv/ccache-raven)
- rvn cache files (default /srv/cache-rvn)
- distribution files case (default /srv/distfiles)
- ravensource tree (default /srv/ravensource)
- Edit the rdocker/ravenports/compose.yaml file as necessary.
- The webserver listens to port 4040.
- ravenadm profile localchost volume
- ports tree localhost volume
- ccache files localhost volume
- rvn cache files localhost volume
- Edit the rdocker/ravenports/ravenports/ravenadm.ini configuration as necessary
- define max_jobs_per_builder (default 4)
- define number_of_builders (default 6)
- There are many other parameters, but only experts should change them
Container construction takes a little time depending on network connection and server specifications.
> cd rdocker/ravenports
> docker-compose build
The containers must be detached after start-up.
> docker-compose up -d
The environment should be ready to immediately build packages at the prompt.
> docker exec -it ravenports bash --login
The 12-character hash of the prompt is the first part of the container ID. Before the first build, the ports tree needs to be installed.
root@f17ca472f938:/# rvn install ravenports
THe following command will build the m4 package set along with any unbuilt dependencies.
root@f17ca472f938:/# ravenadm build m4
You can check the build logs at http://localhost:4040/ or the external equivalent.
root@f17ca472f938:/# exit
It is not necessary to deactivate the containers. However, the command is:
> docker-compose down