Today I had to install coturn on Ubuntu 22.04 (Jammy Jellyfish). It doesn’t have package available because of a bug. But there’s a solution on the bugtracker, so I decided to build my own package. It has been a while since I last did it, so here are the steps for reference:
- Install Ubuntu Jammy (I had it installed anyway)
- Make sure you have
deb-src
sources for bothjammy
andimpish
insources.list
- Install tools:
apt-get build-dep dpkg-dev quilt build-essential
- Install build dependencies:
apt-get build-dep coturn
- Get sources:
apt-get source coturn
- Patches for the package are managed using quilt
quilt push -a
quilt new jammy.patch
quilt add src/client/ns_turn_msg.c
$EDITOR src/client/ns_turn_msg.c
and change the one linequilt refresh
quilt pop -a
dpkg-buildpackage -us -uc
dpkg -i coturn*.deb
apt-get -f install
This produced the quilt patch below:
Index: coturn-4.5.2/src/client/ns_turn_msg.c
===================================================================
--- coturn-4.5.2.orig/src/client/ns_turn_msg.c
+++ coturn-4.5.2/src/client/ns_turn_msg.c
@@ -256,7 +256,7 @@ int stun_produce_integrity_key_str(const
#else
unsigned int keylen = 0;
EVP_MD_CTX *ctx = EVP_MD_CTX_new();
-#if defined EVP_MD_CTX_FLAG_NON_FIPS_ALLOW && ! defined(LIBRESSL_VERSION_NUMBER)
+#if defined FIPS_MODE
if (FIPS_mode()) {
EVP_MD_CTX_set_flags(ctx, EVP_MD_CTX_FLAG_NON_FIPS_ALLOW);
}