network/nginx: Updated for version 1.10.2

Signed-off-by: Larry Hajali <larryhaja[at]gmail[dot]com>
This commit is contained in:
Larry Hajali 2017-01-21 07:46:09 -08:00 committed by Willy Sudiarto Raharjo
parent 3ae8d27d60
commit 133f25becb
No known key found for this signature in database
GPG Key ID: 887B8374D7333381
4 changed files with 84 additions and 53 deletions

View File

@ -1,30 +1,27 @@
nginx (http/imap/pop3 server and proxy)
nginx [engine x] is a high-performance HTTP server and reverse proxy
as well as an IMAP/POP3 proxy server.
nginx [engine x] is a high-performance HTTP server and reverse proxy as
well as an IMAP/POP3 proxy server.
By default, nginx will use the "nobody" user and group accounts. You
may specify alternate values on the command line if desired; for example:
By default, nginx will use the "nobody" user and group accounts. You may
specify alternate values on the command line if desired; for example:
NGINXUSER=backup NGINXGROUP=backup ./nginx.SlackBuild
Regardless of which user and group you decide to use, you will need to
make sure they exist on both the build system and the target system.
Regardless of which user and group you decide to use, you will need to make
sure they exist on both the build system and the target system.
Geoip support is now available as an option using the GeopIP package. If
you wish to enable GeoIP the pass GEOIP variable to the slackbuild:
Geoip support is now available as an option using the GeopIP package. If you wish
to enable GeoIP the pass GEOIP variable to the slackbuild:
GEOIP=yes ./nginx.SlackBuild
libatomic support is now available as an option using the libatomic_ops
package. If you wish to enable libatomic then pass LIBATOMIC variable
to the slackbuild:
LIBATOMIC=yes ./nginx.SlackBuild
Extra modules not included with stock nginx can be added by passing
them as a variable to the slackbuild as a space separated list of
full paths to modules. List of extra 3rd party modules available at
http://wiki.nginx.org/3rdPartyModules.
Extra modules not included with stock nginx can be added by passing them as a
variable to the slackbuild as a space separated list of full paths to modules.
List of extra 3rd party modules available at http://wiki.nginx.org/3rdPartyModules.
ADDMODULE="/tmp/passenger-release-5.0.13/ext/nginx" ./nginx.SlackBuild
Using the optional dynamic loadable module support in nginx >= 1.10.0. Understand
that dynamic modules are a new feature in nginx and issues may arise until further
testing is done.
DYNAMIC=yes ./nginx.SlackBuild

View File

@ -5,7 +5,7 @@
# Copyright 2008 Cherife Li <cherife-#-dotimes.com>
# Copyright 2011 Diogo Leal <diogo@diogoleal.com>
# Copyright 2012-13 Francisco Ambrozio <sbo@franciscoambrozio.com>
# Copyright 2014-2015 Larry Hajali <larryhaja[at]gmail[dot]com>
# Copyright 2014-2017 Larry Hajali <larryhaja[at]gmail[dot]com>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@ -28,13 +28,13 @@
# Special thanks to Thomas Morper for some configuration adjustments tips
PRGNAM=nginx
VERSION=${VERSION:-1.8.0}
VERSION=${VERSION:-1.10.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
@ -45,8 +45,8 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
@ -79,22 +79,29 @@ sed -i \
-e '/root[ ]*html/s|html;|/var/www/&|' \
-e '$s|.*| include /etc/nginx/conf.d/\*.conf;\n&|' conf/$PRGNAM.conf
# Add if dynamic modules are used.
if [ "${DYNAMIC:-no}" == "yes" ]; then
DYNAMIC_MODULE=${DYNAMIC_MODULE:-=dynamic}
sed -i 's|^events.*|include /etc/nginx/modules/\*.conf;\n\n&|' conf/$PRGNAM.conf
else
DYNAMIC_MODULE=""
fi
# Enable GeoIP support.
if [ "${GEOIP:-no}" == "yes" ]; then
GEOIP_MOD="--with-http_geoip_module"
GEOIP_MOD="--with-http_geoip_module${DYNAMIC_MODULE}"
else
GEOIP_MOD=""
fi
# Endable libatomic_ops support.
if [ "${LIBATOMIC:-no}" == "yes" ]; then
LIBATOMIC_MOD="--with-libatomic"
else
LIBATOMIC_MOD=""
fi
# Add extra modules not included in nginx.
ADDMODULE=${ADDMODULE:-}
if [ "$DYNAMIC" == "yes" ]; then
ADD_MODULE="--add-dynamic-module=$ADDMODULE
--modules-path=/usr/lib${LIBDIRSUFFIX}/$PRGNAM/modules"
else
ADD_MODULE="--add-module=$ADDMODULE"
fi
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
@ -115,14 +122,14 @@ CXXFLAGS="$SLKCFLAGS" \
--http-scgi-temp-path=/var/lib/nginx/scgi \
--with-file-aio \
--with-ipv6 \
--with-rtsig_module \
--with-select_module \
--with-poll_module \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_xslt_module \
--with-http_image_filter_module \
--with-http_xslt_module${DYNAMIC_MODULE} \
--with-http_image_filter_module${DYNAMIC_MODULE} \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
@ -132,15 +139,19 @@ CXXFLAGS="$SLKCFLAGS" \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_degradation_module \
--with-http_slice_module \
--with-http_stub_status_module \
--with-http_perl_module \
--with-http_perl_module${DYNAMIC_MODULE} \
--with-http_auth_request_module \
--with-mail \
--with-mail${DYNAMIC_MODULE} \
--with-mail_ssl_module \
--with-http_spdy_module \
--with-stream${DYNAMIC_MODULE} \
--with-stream_ssl_module \
--with-pcre \
--with-pcre-jit \
--with-libatomic \
$GEOIP_MOD \
$LIBATOMIC_MOD \
--add-module="$ADDMODULE"
$ADD_MODULE
make
make install \
@ -148,20 +159,25 @@ make install \
INSTALLDIRS=vendor \
INSTALLVENDORMAN3DIR=/usr/man/man3
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | \
grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
mkdir -p $PKG/usr/man/man8
install -m 0644 objs/$PRGNAM.8 $PKG/usr/man/man8
find $PKG/usr/man -type f -exec gzip -9 {} \;
find $PKG -name perllocal.pod -o -name ".packlist" -o -name "*.bs" | xargs rm -f || true
find $PKG -name perllocal.pod \
-o -name ".packlist" \
-o -name "*.bs" \
| xargs rm -f
find $PKG -perm 444 -exec chmod 0644 {} \;
find $PKG -perm 555 -exec chmod 0755 {} \;
# Make the temp path.
mkdir -p $PKG/var/lib/$PRGNAM
chmod 0700 $PKG/var/lib/$PRGNAM
chown $NGINXUSER $PKG/var/lib/$PRGNAM
# Move html directory
mkdir -p $PKG/var/www
@ -175,11 +191,6 @@ mkdir -p $PKG/etc/logrotate.d
sed -e "s,@USER@,$NGINXUSER," -e "s,@GROUP@,$NGINXGROUP," $CWD/nginx.logrotate \
> $PKG/etc/logrotate.d/nginx.new
# Don't clobber config files
for i in $(find $PKG/etc/$PRGNAM -type f ! -name "*\.default"); do
mv "$i" "$i".new
done
# Set the permissions for the log directory.
chown $NGINXUSER $PKG/var/log/$PRGNAM
chmod 750 $PKG/var/log/$PRGNAM
@ -195,5 +206,28 @@ mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
# Create modules directory and config files.
# Unfortunately, we have to use full paths rather then relative paths
# for nginx dynamic modules, or else we get the following error:
# $ sudo /usr/sbin/nginx -t
# nginx: [emerg] dlopen() "/usr/modules/ngx_stream_module.so" failed (/usr/modules/ngx_stream_module.so: cannot open shared object file: No such file or directory) in /etc/nginx/modules/mod-stream.conf:1
# nginx: configuration file /etc/nginx/nginx.conf test failed
# Source: https://trac.nginx.org/nginx/ticket/961
if [ "$DYNAMIC" == "yes" ]; then
mkdir $PKG/etc/$PRGNAM/modules
for module in $PKG/usr/lib${LIBDIRSUFFIX}/$PRGNAM/modules/*; do
MODULE_NAME=$(basename $module | sed 's|\.so||' | tr _ -)
MODULE_DIR=$(dirname $module | sed "s|$PKG||")
echo "load_module \"${MODULE_DIR}/$(basename $module)\";" > \
$PKG/etc/$PRGNAM/modules/${MODULE_NAME}.conf
echo "config etc/$PRGNAM/modules/${MODULE_NAME}.conf.new" >> $PKG/install/doinst.sh
done
fi
# Don't clobber config files
for i in $(find $PKG/etc/$PRGNAM -type f ! -name "*\.default"); do
mv "$i" "$i".new
done
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

View File

@ -1,8 +1,8 @@
PRGNAM="nginx"
VERSION="1.8.0"
VERSION="1.10.2"
HOMEPAGE="http://nginx.org/"
DOWNLOAD="http://nginx.org/download/nginx-1.8.0.tar.gz"
MD5SUM="3ca4a37931e9fa301964b8ce889da8cb"
DOWNLOAD="http://nginx.org/download/nginx-1.10.2.tar.gz"
MD5SUM="e8f5f4beed041e63eb97f9f4f55f3085"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""

View File

@ -6,7 +6,7 @@
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
nginx: nginx (http/imap/pop3 server and proxy)
nginx: nginx (http/imap/pop3 proxy)
nginx:
nginx: Nginx [engine x] is a high-performance HTTP server and reverse proxy,
nginx: as well as an IMAP/POP3 proxy server.