-
-
Save ocxo/8b7952d638f187447c2e to your computer and use it in GitHub Desktop.
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 | |
##### | |
# Builds a custom nginx | |
# | |
RELEASE_TAGS="nginx+custom" | |
RELEASE_MAINTAINER="Adam Ochonicki" | |
RELEASE_MAINTAINER_EMAIL="[email protected]" | |
RELEASE_MESSAGE="Testing" | |
##### | |
echo "[CMD] make a source directory and cd into it" | |
mkdir src | |
cd src | |
echo "[CMD] get the source from debian/ubuntu" | |
apt-get source nginx | |
sudo apt-get install -y debhelper | |
echo "[CMD] get the nginx version" | |
nginx_version=`ls -lahF .|grep nginx|grep '^d[rwx-]\{9\} '| grep '\/$'|rev|cut -d' ' -f1 | rev|sed 's/nginx-//'|sed 's/\///'` | |
echo "[CMD] retrieve all the nginx modules you want" | |
cd "nginx-${nginx_version}/debian/modules" | |
echo "[CMD] clone all the nginx modules from github" | |
git clone -q git://github.com/zebrafishlabs/nginx-statsd.git | |
git clone -q git://github.com/FRiCKLE/ngx_coolkit.git | |
cd .. | |
echo "[CMD] ensure the proper dependencies are in place" | |
cat control | sed 's/libgd2-noxpm-dev/libgd2-xpm-dev/' >> tmp ; rm control ; mv tmp control | |
echo "[CMD] remove unneeded and broken modules" | |
cat rules |sed '/with-http_image_filter_module/ d' >> tmp ; rm rules ; mv tmp rules | |
echo "[CMD] split up the rules file so we can rewrite it" | |
awk '/\$\(CONFIGURE_OPTS\)/{n++}{filename = "rule-" n ; print > filename }' rules | |
echo "[CMD] adding modules to the nginx-full package" | |
echo -e "\t --add-module=\$(MODULESDIR)/headers-more-nginx-module \\" >> rule- | |
echo -e "\t --add-module=\$(MODULESDIR)/nginx-development-kit \\" >> rule- | |
echo -e "\t --add-module=\$(MODULESDIR)/nginx-lua \\" >> rule- | |
echo -e "\t --add-module=\$(MODULESDIR)/nginx-statsd \\" >> rule- | |
echo -e "\t --add-module=\$(MODULESDIR)/ngx_coolkit \\" >> rule- | |
echo "[CMD] combine all the rule files" | |
ls |grep rule-|while read file; do cat $file >> tmp; done; rm rules ; mv tmp rules | |
echo "[CMD] get the current nginx minor nginx_version" | |
minor_version=$(head -n 1 changelog | sed 's/ *ubuntu.*//' | sed 's/-e nginx (//'|cut -d '-' -f 2 | sed 's/) precise//'); | |
minor_version=$(($minor_version + 1)); | |
echo "[CMD] get the current ubuntu release" | |
ubuntu_release=$(head -n 1 changelog| sed 's/ *\;.*//'|cut -d ' ' -f 3) | |
echo "[CMD] get the current time for this release" | |
release_time=$(date +"%a, %d %b %Y %I:%M:%S %z") | |
echo "[CMD] update the changelog" | |
echo -e "nginx (${nginx_version}-${minor_version}${RELEASE_TAGS}) ${ubuntu_release}; urgency=low | |
* New release: ${RELEASE_MESSAGE} | |
-- ${RELEASE_MAINTAINER} <${RELEASE_MAINTAINER_EMAIL}> ${release_time} | |
"|cat - changelog > tmp && mv tmp changelog | |
echo "[CMD] Create a build" | |
cd .. | |
dpkg-buildpackage | |
echo "[CMD] DONE!" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment