diff options
-rw-r--r-- | pcr/nginx-passenger/PKGBUILD | 214 | ||||
-rw-r--r-- | pcr/nginx-passenger/logrotate | 3 | ||||
-rw-r--r-- | pcr/nginx-passenger/nginx.install | 17 | ||||
-rw-r--r-- | pcr/nginx-passenger/packaging.patch | 37 | ||||
-rw-r--r-- | pcr/nginx-passenger/service | 13 |
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 |