Building Drizzle from Source¶
Obtaining the Source¶
The latest source code can always be found on OpenDev.
git clone https://opendev.org/drizzle/drizzle
Building the Image¶
Drizzle focuses its attention on containerized deployments. This is not only the sane way to run a service like Drizzle, but also allows us to keep our focus on a single userspace and compiler version.
podman build .
or
docker build -f Containerfile .
Compiling the Source¶
If you really must, and you’re on the most recent Ubuntu or Debian, things should work. But seriously, just build the container image.
bindep¶
The OS dependencies are expressed in bindep.txt. It’s human readable, but you should grab bindep and use it.
You can either install the python version with pip (recommend using pipx for utilities like this):
pipx install bindep
or you can copy the rust version out of a container image:
podman unshare sh -c '
mount_path=$(podman image mount quay.io/inaugust/bindep-rs)
cp "$mount_path/usr/local/bin/bindep" ./bindep
chmod +x bindep
podman image unmount quay.io/inaugust/bindep-rs'
You can do the same thing with docker, but you have to launch a container first then copy the file out of the running container.
Dependencies¶
To get the list of packages you need to build, run:
bindep -b compile
or, you know:
apt install $(bindep -b compile)
Compiling¶
Compiling is done by performing the standard automake commands from the top level directory inside the source:
autoreconf -i
./configure
make