summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pcr/nginx-passenger/PKGBUILD214
-rw-r--r--pcr/nginx-passenger/logrotate3
-rw-r--r--pcr/nginx-passenger/nginx.install17
-rw-r--r--pcr/nginx-passenger/packaging.patch37
-rw-r--r--pcr/nginx-passenger/service13
5 files changed, 159 insertions, 125 deletions
diff --git a/pcr/nginx-passenger/PKGBUILD b/pcr/nginx-passenger/PKGBUILD
index bbc8ecb04..7b7d7bc2f 100644
--- a/pcr/nginx-passenger/PKGBUILD
+++ b/pcr/nginx-passenger/PKGBUILD
@@ -1,30 +1,30 @@
-# $Id$
-# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
-
# Maintainer (AUR): Tom Richards <tom@tomrichards.net>
-
# Maintainer (Arch:nginx): Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Maintainer (Arch:nginx): Sébastien Luttringer
# Contributor (Arch:nginx): Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor (Arch:nginx): Miroslaw Szot <mss@czlug.icis.pcz.pl>
# Contributor (Arch:nginx): Daniel Micay <danielmicay@gmail.com>
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+
+_nginxver=1.12.1
+_passengerver=5.1.6
pkgname=nginx-passenger
-_nginxver=1.10.2
-_passengerver=5.0.30
pkgver=$_nginxver.passenger.$_passengerver
pkgrel=1
pkgdesc='Lightweight HTTP server and IMAP/POP3 proxy server'
pkgdesc+=" (with Passenger module)"
-conflicts=('nginx')
-provides=("nginx=$_nginxver")
-arch=('i686' 'x86_64')
+arch=('x86_64')
+arch+=('i686')
url='https://nginx.org'
license=('custom')
-depends=('pcre' 'zlib' 'openssl' 'geoip')
-depends+=("passenger=$_passengerver")
-depends+=('ruby' 'ruby-rack' 'curl')
-makedepends=('hardening-wrapper')
+depends=('pcre' 'zlib' 'openssl' 'geoip' 'curl' 'gd' 'ruby' 'ruby-rake' 'mailcap')
+optdepends=('python: Support for python web apps'
+ 'nodejs: Support for node.js web apps'
+ 'geoip-database: For country geolocation'
+ 'geoip-database-extra: For city/ASN geolocation')
+makedepends=('apache')
+conflicts=('nginx' 'passenger')
backup=('etc/nginx/fastcgi.conf'
'etc/nginx/fastcgi_params'
'etc/nginx/koi-win'
@@ -35,110 +35,128 @@ backup=('etc/nginx/fastcgi.conf'
'etc/nginx/uwsgi_params'
'etc/nginx/win-utf'
'etc/logrotate.d/nginx')
-install=nginx.install
source=($url/download/nginx-$_nginxver.tar.gz{,.asc}
- https://s3.amazonaws.com/phusion-passenger/releases/passenger-$_passengerver.tar.gz{,.asc}
+ https://phusion-passenger.s3.amazonaws.com/releases/passenger-$_passengerver.tar.gz{,.asc}
service
- logrotate)
-validpgpkeys=('B0F4253373F8F6F510D42178520A9993A1C052F8') # Maxim Dounin <mdounin@mdounin.ru>
-validpgpkeys+=('D5F0851426939232F437AB722AC745A50A212A8C')
-md5sums=('e8f5f4beed041e63eb97f9f4f55f3085'
- 'SKIP'
- '7ed9ebc8996368176789d92c1805fd1e'
- 'SKIP'
- '5dd4d09914a4403b9df778ec1d66167c'
- '83ffd315fed235b8fff40a7cfa23a16d')
-
-_common_flags=(
- --with-ipv6
- --with-pcre-jit
- --with-file-aio
- --with-http_addition_module
- --with-http_auth_request_module
- --with-http_dav_module
- --with-http_degradation_module
- --with-http_flv_module
- --with-http_geoip_module
- --with-http_gunzip_module
- --with-http_gzip_static_module
- --with-http_mp4_module
- --with-http_realip_module
- --with-http_secure_link_module
- --with-http_slice_module
- --with-http_ssl_module
- --with-http_stub_status_module
- --with-http_sub_module
- --with-http_v2_module
- --with-mail
- --with-mail_ssl_module
- --with-stream
- --with-stream_ssl_module
- --with-threads
+ logrotate
+ fix-build-with-curl-7.62.0.patch::https://github.com/phusion/passenger/commit/e290bdd0d9e51dc8f2f331058494f5672c9dcd6a.patch
+ packaging.patch)
+validpgpkeys=('B0F4253373F8F6F510D42178520A9993A1C052F8' # Maxim Dounin <mdounin@mdounin.ru>
+ 'D5F0851426939232F437AB722AC745A50A212A8C' # Phusion Software Signing <software-signing@phusion.nl>
+ '16378A33A6EF16762922526E561F9B9CAC40B2F7') # Phusion Automated Software Signing (Used by automated tools to sign software packages) <auto-software-signing@phusion.nl>
+sha256sums=('8793bf426485a30f91021b6b945a9fd8a84d87d17b566562c3797aba8fac76fb'
+ 'SKIP'
+ 'e897cc5f0ec6446bfdc226404dca4bd29f7418ae92010c389661b9f024a3cf24'
+ 'SKIP'
+ '8489da1745910be89d19b695f5a4d066b477f704f9beddc17d33d855aac3f3df'
+ 'b9af19a75bbeb1434bba66dd1a11295057b387a2cbff4ddf46253133909c311e'
+ '35292243a0303fbc727fd4368196727daeb67fa3b5ec154fd29b171fd9d5eb45'
+ '2da1ede016ca328f254bfb10e95ff0a5ef2790382a9a87ffde77524956a31749')
+
+_flags=(
+ --with-ipv6
+ --with-pcre-jit
+ --with-file-aio
+ --with-http_addition_module
+ --with-http_auth_request_module
+ --with-http_dav_module
+ --with-http_degradation_module
+ --with-http_flv_module
+ --with-http_geoip_module
+ --with-http_gunzip_module
+ --with-http_gzip_static_module
+ --with-http_image_filter_module
+ --with-http_mp4_module
+ --with-http_random_index_module
+ --with-http_realip_module
+ --with-http_secure_link_module
+ --with-http_slice_module
+ --with-http_ssl_module
+ --with-http_stub_status_module
+ --with-http_sub_module
+ --with-http_v2_module
+ --with-mail
+ --with-mail_ssl_module
+ --with-stream
+ --with-stream_ssl_module
+ --with-threads
)
-_stable_flags=(
-)
+prepare() {
+ cd "$srcdir/passenger-$_passengerver"
+ patch -p1 -i "$srcdir"/packaging.patch
+ patch -Np1 -i "$srcdir"/fix-build-with-curl-7.62.0.patch
+}
build() {
- cd "$srcdir/passenger-$_passengerver"
- _nginx_addon_dir=$(bin/passenger-config --nginx-addon-dir)
-
- cd "$srcdir/nginx-$_nginxver"
- ./configure \
- --prefix=/etc/nginx \
- --conf-path=/etc/nginx/nginx.conf \
- --sbin-path=/usr/bin/nginx \
- --pid-path=/run/nginx.pid \
- --lock-path=/run/lock/nginx.lock \
- --user=http \
- --group=http \
- --http-log-path=/var/log/nginx/access.log \
- --error-log-path=stderr \
- --http-client-body-temp-path=/var/lib/nginx/client-body \
- --http-proxy-temp-path=/var/lib/nginx/proxy \
- --http-fastcgi-temp-path=/var/lib/nginx/fastcgi \
- --http-scgi-temp-path=/var/lib/nginx/scgi \
- --http-uwsgi-temp-path=/var/lib/nginx/uwsgi \
- ${_common_flags[@]} \
- ${_stable_flags[@]} \
- --add-module="$_nginx_addon_dir"
-
- make
+ # Passenger
+ export EXTRA_CFLAGS=$CFLAGS
+ export EXTRA_CXXFLAGS=$CXXFLAGS
+ export FS_PREFIX="/usr"
+ export FS_SBINDIR="/usr/bin"
+ export NATIVE_PACKAGING_METHOD="arch"
+ cd "$srcdir/passenger-$_passengerver"
+ _nginx_addon_dir=`bin/passenger-config --nginx-addon-dir`
+ rake fakeroot
+
+ # Nginx
+ cd "$srcdir/nginx-$_nginxver"
+ ./configure \
+ --prefix=/etc/nginx \
+ --conf-path=/etc/nginx/nginx.conf \
+ --sbin-path=/usr/bin/nginx \
+ --pid-path=/run/nginx.pid \
+ --lock-path=/run/lock/nginx.lock \
+ --user=http \
+ --group=http \
+ --http-log-path=/var/log/nginx/access.log \
+ --error-log-path=stderr \
+ --http-client-body-temp-path=/var/lib/nginx/client-body \
+ --http-proxy-temp-path=/var/lib/nginx/proxy \
+ --http-fastcgi-temp-path=/var/lib/nginx/fastcgi \
+ --http-scgi-temp-path=/var/lib/nginx/scgi \
+ --http-uwsgi-temp-path=/var/lib/nginx/uwsgi \
+ ${_flags[@]} \
+ --add-module="$_nginx_addon_dir"
+ make
}
package() {
- cd "$srcdir/nginx-$_nginxver"
- make DESTDIR="$pkgdir" install
+ # Nginx
+ cd "$srcdir/nginx-${_nginxver}"
+ make DESTDIR="$pkgdir" install
- sed -e 's|\<user\s\+\w\+;|user html;|g' \
+ sed -e 's|\<user\s\+\w\+;|user html;|g' \
-e '44s|html|/usr/share/nginx/html|' \
-e '54s|html|/usr/share/nginx/html|' \
-i "$pkgdir"/etc/nginx/nginx.conf
- rm "$pkgdir"/etc/nginx/*.default
+ rm "$pkgdir"/etc/nginx/*.default
+ rm "$pkgdir"/etc/nginx/mime.types # in mailcap
- install -d "$pkgdir"/var/lib/nginx
- install -dm700 "$pkgdir"/var/lib/nginx/proxy
+ install -d "$pkgdir"/var/lib/nginx
+ install -dm700 "$pkgdir"/var/lib/nginx/proxy
- chmod 750 "$pkgdir"/var/log/nginx
- chown http:log "$pkgdir"/var/log/nginx
+ chmod 750 "$pkgdir"/var/log/nginx
+ chown http:log "$pkgdir"/var/log/nginx
- install -d "$pkgdir"/usr/share/nginx
- mv "$pkgdir"/etc/nginx/html/ "$pkgdir"/usr/share/nginx
+ install -d "$pkgdir"/usr/share/nginx
+ mv "$pkgdir"/etc/nginx/html/ "$pkgdir"/usr/share/nginx
- install -Dm644 ../logrotate "$pkgdir"/etc/logrotate.d/nginx
- install -Dm644 ../service "$pkgdir"/usr/lib/systemd/system/nginx.service
- install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+ install -Dm644 ../logrotate "$pkgdir"/etc/logrotate.d/nginx
+ install -Dm644 ../service "$pkgdir"/usr/lib/systemd/system/nginx.service
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
- rmdir "$pkgdir"/run
+ rmdir "$pkgdir"/run
- install -d "$pkgdir"/usr/share/man/man8/
- gzip -9c man/nginx.8 > "$pkgdir"/usr/share/man/man8/nginx.8.gz
+ install -d "$pkgdir"/usr/share/man/man8/
+ gzip -9c man/nginx.8 > "$pkgdir"/usr/share/man/man8/nginx.8.gz
- for i in ftdetect indent syntax; do
- install -Dm644 contrib/vim/${i}/nginx.vim \
- "${pkgdir}/usr/share/vim/vimfiles/${i}/nginx.vim"
- done
-}
+ for i in ftdetect indent syntax; do
+ install -Dm644 contrib/vim/${i}/nginx.vim \
+ "${pkgdir}/usr/share/vim/vimfiles/${i}/nginx.vim"
+ done
-# vim:set ts=2 sw=2 et:
+ # Passenger
+ cp -R "${srcdir}/passenger-${_passengerver}"/pkg/fakeroot/usr "${pkgdir}"/
+}
diff --git a/pcr/nginx-passenger/logrotate b/pcr/nginx-passenger/logrotate
index 03812b688..6fcf5581a 100644
--- a/pcr/nginx-passenger/logrotate
+++ b/pcr/nginx-passenger/logrotate
@@ -2,10 +2,9 @@
missingok
notifempty
create 640 http log
- su http log
sharedscripts
compress
postrotate
- test ! -r /run/nginx.pid || kill -USR1 `cat /run/nginx.pid`
+ test ! -r /var/run/nginx.pid || kill -USR1 `cat /var/run/nginx.pid`
endscript
}
diff --git a/pcr/nginx-passenger/nginx.install b/pcr/nginx-passenger/nginx.install
deleted file mode 100644
index dfad9a034..000000000
--- a/pcr/nginx-passenger/nginx.install
+++ /dev/null
@@ -1,17 +0,0 @@
-post_upgrade() {
- if (( $(vercmp $2 1.2.7-4) <= 0 )); then
- chmod 750 var/log/nginx
- chown http:log var/log/nginx
- fi
- if (( $(vercmp $2 1.2.1-2) <= 0 )); then
- echo ' >>> Since 1.2.1-2 several changes has been made in package:'
- echo ' - *.conf files have been moved to /etc/nginx'
- echo ' - /etc/conf.d/nginx has been removed'
- echo ' Main configuration file is set to /etc/nginx/nginx.conf'
- echo ' - access.log and error.log can be found in /var/log/nginx by default'
- echo ' - bundled *.html files have been moved to /usr/share/nginx/html'
- echo ' - /etc/nginx/{html,logs} symbolic links and *.default files have been removed'
- fi
-}
-
-# vim:set ts=4 sw=4 et:
diff --git a/pcr/nginx-passenger/packaging.patch b/pcr/nginx-passenger/packaging.patch
new file mode 100644
index 000000000..890f1a0e3
--- /dev/null
+++ b/pcr/nginx-passenger/packaging.patch
@@ -0,0 +1,37 @@
+diff --git a/Rakefile b/Rakefile
+index 5ea5570..f534307 100644
+--- a/Rakefile
++++ b/Rakefile
+@@ -48,7 +48,6 @@
+ require 'build/agent'
+ require 'build/apache2'
+ require 'build/nginx'
+- require 'build/documentation'
+ require 'build/packaging'
+ require 'build/test_basics'
+ require 'build/oxt_tests'
+diff --git a/build/packaging.rb b/build/packaging.rb
+index fae74f0..3de03aa 100644
+--- a/build/packaging.rb
++++ b/build/packaging.rb
+@@ -541,7 +541,7 @@ def change_shebang(filename, value)
+ end
+
+ desc "Create a fakeroot, useful for building native packages"
+-task :fakeroot => [:apache2, :nginx, 'nginx:as_dynamic_module', :doc] do
++task :fakeroot => [:apache2, :nginx, 'nginx:as_dynamic_module'] do
+ require 'rbconfig'
+ require 'fileutils'
+ include RbConfig
+@@ -660,11 +660,6 @@ def change_shebang(filename, value)
+ sh "mkdir -p #{fake_nginx_module_source_dir}"
+ sh "cp src/nginx_module/* #{fake_nginx_module_source_dir}/"
+
+- # Documentation
+- sh "mkdir -p #{fake_docdir}"
+- sh "cp doc/*.html #{fake_docdir}/"
+- sh "cp -R doc/images #{fake_docdir}/"
+-
+ # User binaries
+ sh "mkdir -p #{fake_bindir}"
+ Packaging::USER_EXECUTABLES.each do |exe|
diff --git a/pcr/nginx-passenger/service b/pcr/nginx-passenger/service
index adfe6c0ab..84e3136ea 100644
--- a/pcr/nginx-passenger/service
+++ b/pcr/nginx-passenger/service
@@ -1,17 +1,14 @@
[Unit]
Description=A high performance web server and a reverse proxy server
-After=network.target
+After=network.target network-online.target nss-lookup.target
[Service]
Type=forking
PIDFile=/run/nginx.pid
-PrivateDevices=yes
-SyslogLevel=err
-
-ExecStart=/usr/bin/nginx -g 'pid /run/nginx.pid; error_log stderr;'
-ExecReload=/usr/bin/kill -HUP $MAINPID
-KillSignal=SIGQUIT
-KillMode=mixed
+ExecStartPre=/usr/bin/nginx -t -q -g 'pid /run/nginx.pid; daemon on; master_process on;'
+ExecStart=/usr/bin/nginx -g 'pid /run/nginx.pid; daemon on; master_process on;'
+ExecReload=/usr/bin/nginx -g 'pid /run/nginx.pid; daemon on; master_process on;' -s reload
+ExecStop=/usr/bin/nginx -g 'pid /run/nginx.pid;' -s quit
[Install]
WantedBy=multi-user.target