#!/bin/sh # # Building nginx in the Slackware way. # # Notes: # + Don't forget to check the VERSION number. # + You may want to customize the configure options. # # Written by Cherife Li . # PRGNAM=nginx VERSION=0.6.28 ARCH=${ARCH:-i486} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} CWD=$(pwd) TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} NGINXUSER=${NGINXUSER:-nobody} NGINXGROUP=${NGINXGROUP:-nobody} if [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" fi set -e rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP rm -rf $PRGNAM-$VERSION tar xvf $CWD/$PRGNAM-$VERSION.tar.gz cd $PRGNAM-$VERSION chown -R root:root . chmod -R u+w,go+r-w,a-s . CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ --prefix=/usr \ --sbin-path=/usr/sbin/nginx \ --conf-path=/etc/nginx/nginx.conf \ --error-log-path=/var/log/nginx_error.log \ --pid-path=/var/run/nginx.pid \ --lock-path=/var/lock/nginx \ --user=$NGINXUSER \ --group=$NGINXGROUP \ --with-http_ssl_module \ --with-http_realip_module \ --with-http_addition_module \ --with-http_sub_module \ --with-http_stub_status_module \ --without-http_proxy_module \ --http-log-path=/var/log/nginx_access.log \ --http-client-body-temp-path=/var/spool/nginx_client_body_temp \ --http-proxy-temp-path=/var/spool/nginx_proxy_temp \ --http-fastcgi-temp-path=/dev/shm \ --without-mail_pop3_module \ --without-mail_imap_module \ --without-mail_smtp_module \ --with-debug make make install DESTDIR=$PKG mkdir -p $PKG/etc/{nginx,rc.d} $PKG/usr/sbin \ $PKG/var/spool/{nginx_client_body_temp,nginx_proxy_temp} cp $CWD/rc.nginx $PKG/etc/rc.d/rc.nginx.new cp -a conf/* $PKG/etc/nginx cp -a objs/nginx $PKG/usr/sbin/nginx mkdir -p $PKG/usr/doc/nginx-$VERSION cp -a CHANGES CHANGES.ru LICENSE README $PKG/usr/doc/nginx-$VERSION cat $CWD/nginx.SlackBuild > $PKG/usr/doc/nginx-$VERSION/nginx.SlackBuild ( cd $PKG find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null ) mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/doinst.sh > $PKG/install/doinst.sh # Let's not clobber config files on upgrade cd $PKG/etc/nginx for i in fastcgi_params koi-utf koi-win mime.types nginx.conf win-utf ; do mv $i $i.new ; echo "config etc/nginx/$i.new" >> $PKG/install/doinst.sh ; done cd - cd $PKG makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz