Last active
September 28, 2019 02:39
-
-
Save thomsh/d5230c30e2ccbae369c2a490693305a3 to your computer and use it in GitHub Desktop.
Rebuild nginx on Debian Stretch with Kaltura nginx-vod-module
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
set -euxo pipefail | |
# Install latest Nginx from backports on Debian Stretch | |
# with nginx-vod-module from https://github.com/kaltura/nginx-vod-module | |
# This script/doc will rebuild the deb package | |
# Requirement : run on Debian Stretch with backports repository enabled | |
if ! egrep '^deb .+ stretch-backports' -- /etc/apt/sources.list /etc/apt/sources.list.d/*.list ; then | |
echo 'deb http://deb.debian.org/debian/ stretch-backports main contrib non-free' |tee /etc/apt/sources.list.d/bpo.list | |
fi | |
if ! egrep '^deb-src .+ stretch-backports' -- /etc/apt/sources.list /etc/apt/sources.list.d/*.list ; then | |
echo 'deb-src http://deb.debian.org/debian/ stretch-backports main contrib non-free' |tee /etc/apt/sources.list.d/bposrc.list | |
fi | |
NGINX_V=1.14.1 | |
BASEDIR=/tmp/build_nginx | |
SRCDIR="${BASEDIR%/}/nginx-${NGINX_V}" | |
VOD_V="1.24" | |
mkdir -p "${BASEDIR}" | |
cd "${BASEDIR}" | |
apt update | |
apt install build-essential git dpkg-dev -qy | |
apt build-dep -t stretch-backports nginx -qy | |
apt source -t stretch-backports nginx | |
cat > "${BASEDIR%/}/rules.patch.b64" <<EOF | |
LS0tIHJ1bGVzCTIwMTgtMTEtMDkgMDk6MTQ6NTQuMDAwMDAwMDAwICswMDAwCisrKyAvb3B0L29s | |
ZF9idWlsZF9uZ2lueC9uZ2lueC0xLjE0LjEvZGViaWFuL3J1bGVzCTIwMTgtMTItMDkgMTc6MDE6 | |
NDIuODkwMDAyNzkxICswMDAwCkBAIC0xMDIsNyArMTAyLDkgQEAKIAkJCS0tYWRkLWR5bmFtaWMt | |
bW9kdWxlPSQoTU9EVUxFU0RJUikvaHR0cC1kYXYtZXh0IFwKIAkJCS0tYWRkLWR5bmFtaWMtbW9k | |
dWxlPSQoTU9EVUxFU0RJUikvaHR0cC1lY2hvIFwKIAkJCS0tYWRkLWR5bmFtaWMtbW9kdWxlPSQo | |
TU9EVUxFU0RJUikvaHR0cC11cHN0cmVhbS1mYWlyIFwKLQkJCS0tYWRkLWR5bmFtaWMtbW9kdWxl | |
PSQoTU9EVUxFU0RJUikvaHR0cC1zdWJzLWZpbHRlcgorCQkJLS1hZGQtZHluYW1pYy1tb2R1bGU9 | |
JChNT0RVTEVTRElSKS9odHRwLXN1YnMtZmlsdGVyIFwKKwkJCS0tYWRkLW1vZHVsZT0kKE1PRFVM | |
RVNESVIpL25naW54LXZvZC1tb2R1bGUgXAorCQkJLS13aXRoLWZpbGUtYWlvCiAKIGV4dHJhc19j | |
b25maWd1cmVfZmxhZ3MgOj0gXAogCQkJJChjb21tb25fY29uZmlndXJlX2ZsYWdzKSBcCkBAIC0x | |
MzUsNyArMTM3LDkgQEAKIAkJCS0tYWRkLWR5bmFtaWMtbW9kdWxlPSQoTU9EVUxFU0RJUikvcnRt | |
cCBcCiAJCQktLWFkZC1keW5hbWljLW1vZHVsZT0kKE1PRFVMRVNESVIpL2h0dHAtdXBsb2FkcHJv | |
Z3Jlc3MgXAogCQkJLS1hZGQtZHluYW1pYy1tb2R1bGU9JChNT0RVTEVTRElSKS9odHRwLXVwc3Ry | |
ZWFtLWZhaXIgXAotCQkJLS1hZGQtZHluYW1pYy1tb2R1bGU9JChNT0RVTEVTRElSKS9odHRwLXN1 | |
YnMtZmlsdGVyCisJCQktLWFkZC1keW5hbWljLW1vZHVsZT0kKE1PRFVMRVNESVIpL2h0dHAtc3Vi | |
cy1maWx0ZXIgXAorCQkJLS1hZGQtbW9kdWxlPSQoTU9EVUxFU0RJUikvbmdpbngtdm9kLW1vZHVs | |
ZSBcCisJCQktLXdpdGgtZmlsZS1haW8KIAogJToKIAlkaCAkQCAtLXdpdGhvdXQgYXV0b3JlY29u | |
Zgo= | |
EOF | |
base64 -d "${BASEDIR%/}/rules.patch.b64" |tee "${BASEDIR%/}/rules.patch" | |
cd "${SRCDIR%/}/debian" | |
patch -i "${BASEDIR%/}/rules.patch" --merge rules | |
cd "${SRCDIR%/}/debian/modules" | |
git clone https://github.com/kaltura/nginx-vod-module.git nginx-vod-module | |
cd "${SRCDIR%/}/debian/modules/nginx-vod-module" | |
git checkout "${VOD_V}" | |
cd "${SRCDIR}" | |
dpkg-buildpackage -uc -b | |
cd "${BASEDIR}" | |
dpkg -i $(ls nginx-common_*.deb nginx-extras_*.deb libnginx-mod*.deb |grep -v 'dbgsym_' |tr '\n' ' ') | |
# Avoid upgrade: (advice: follow carefully debian security mailing list to rebuild when required) | |
ls nginx-common_*.deb nginx-extras_*.deb libnginx-mod*.deb |grep -v 'dbgsym_' |awk -F_ '{print $1}' |xargs apt-mark hold | |
# verify : | |
nginx -V 2>&1 |egrep --color 'nginx-vod-module|file-aio' | |
echo "done" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment