- Updated to 1.27.3

* https://github.com/nginx/nginx/releases/tag/release-1.27.3
  * Added the "server" directive in the "upstream" block supports the "resolve" parameter.
  * Added the "resolver" and "resolver_timeout" directives in the "upstream" block.
  * Added SmarterMail specific mode support for IMAP LOGIN with
    untagged CAPABILITY response in the mail proxy module.
  * Changed TLSv1 and TLSv1.1 protocols are disabled by default.
  * Changed IPv6 address in square brackets and no port can be specified in the
    "proxy_bind", "fastcgi_bind", "grpc_bind", "memcached_bind", "scgi_bind",
    and "uwsgi_bind" directives, and as client address in ngx_http_realip_module.
  * Fixed ngx_http_mp4_module and "proxy_store" directive.

OBS-URL: https://build.opensuse.org/package/show/server:http/nginx?expand=0&rev=276
This commit is contained in:
Илья Индиго 2024-11-27 04:28:59 +00:00 committed by Git OBS Bridge
commit 5111159ef7
20 changed files with 3476 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

14
nginx-1.11.2-html.patch Normal file
View File

@ -0,0 +1,14 @@
Index: nginx-1.11.2/auto/install
===================================================================
--- nginx-1.11.2.orig/auto/install
+++ nginx-1.11.2/auto/install
@@ -154,8 +154,7 @@ install: build $NGX_INSTALL_PERL_MODULES
test -d '\$(DESTDIR)`dirname "$NGX_HTTP_LOG_PATH"`' \\
|| mkdir -p '\$(DESTDIR)`dirname "$NGX_HTTP_LOG_PATH"`'
- test -d '\$(DESTDIR)$NGX_PREFIX/html' \\
- || cp -R $NGX_HTML '\$(DESTDIR)$NGX_PREFIX'
+ test -d '\$(DESTDIR)/srv/www/htdocs' || install -d '\$(DESTDIR)/srv/www/' && cp -r html '\$(DESTDIR)/srv/www/htdocs'
END

View File

@ -0,0 +1,26 @@
Index: nginx-1.11.2/auto/cc/gcc
===================================================================
--- nginx-1.11.2.orig/auto/cc/gcc
+++ nginx-1.11.2/auto/cc/gcc
@@ -166,7 +166,7 @@ esac
# stop on warning
-CFLAGS="$CFLAGS -Werror"
+#CFLAGS="$CFLAGS -Werror"
# debug
CFLAGS="$CFLAGS -g"
Index: nginx-1.11.2/auto/cc/icc
===================================================================
--- nginx-1.11.2.orig/auto/cc/icc
+++ nginx-1.11.2/auto/cc/icc
@@ -111,7 +111,7 @@ case "$NGX_ICC_VER" in
esac
# stop on warning
-CFLAGS="$CFLAGS -Werror"
+#CFLAGS="$CFLAGS -Werror"
# debug
CFLAGS="$CFLAGS -g"

3
nginx-1.27.0.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b7230e3cf87eaa2d4b0bc56aadc920a960c7873b9991a1b66ffcc08fc650129c
size 1244887

17
nginx-1.27.0.tar.gz.asc Normal file
View File

@ -0,0 +1,17 @@
-----BEGIN PGP SIGNATURE-----
iQJHBAABCAAxFiEE1nhs4wPZqQIpmNxsyEZNVJr3XAoFAmZXPGwTHHMua2FuZGF1
cm92QGY1LmNvbQAKCRDIRk1UmvdcCuP2EACiocOUQaVfOWCfm01ZA47KcW02UUNk
U8gIZD4iu6ENVKw6ZwO3CpKpwnhixfmNnvKfsYdV+clgLtSk2F5ism82uXSDR4Bs
K8q8SSFnCRltUf9AAddF7fEW3PyWlSW94cICAQLaVBOiRlSmg4ats/pdMR/9za0C
0cg8nCnR3xiFr2LAqZgKXUkC1J3XNIg3r8v2YD1mAURi3h//w4UfNOvJ8/dhIDFy
+SJuaA8uRjS2T1tEhXd91qqmxyfXliR+aYo4PGtpWp+rlFoOZK8jJK3ux0KmlgSr
FpqCIV9uwOt9Ha29bdn8/R0LYnmozoVMkfWjAg6U4pUNXHq8x1TURGahy/TtxqLl
F3H3lz39ioNvLqpSr83B+LKsKXgyjfIe+3JJf6GNPQDjdZyEdK78TLl2fDNZA4Pw
Q3miCdUnGk/FwcJUVsC8pPCTFDGvnesR5+oXRQe1WhSY7mvv86QMbD6H6MteXq87
dY96qleMIw2VS3VYNqmMaGJoRL/DJyYQF1ChdiNN5bqJBJMrrtNjDFDzJrMOcIrD
w/L40pgZy7HOPX6Tbd5aV8yc32y7AM59Mttibarc+N8qYyQeUOOAt+3sw4aL0/WC
zZznDF4Gj6Pbi9rn4L4RD6Bt5pLal6y4Y4M2m34/x4mfhbFQUnmwzu+F4kD83a9p
cfoao+a5Gr4Plw==
=SMAJ
-----END PGP SIGNATURE-----

BIN
nginx-1.27.2.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

17
nginx-1.27.2.tar.gz.asc Normal file
View File

@ -0,0 +1,17 @@
-----BEGIN PGP SIGNATURE-----
iQJHBAABCAAxFiEE1nhs4wPZqQIpmNxsyEZNVJr3XAoFAmb9Z0ATHHMua2FuZGF1
cm92QGY1LmNvbQAKCRDIRk1UmvdcCg6nD/9JY+oE21aFArOQQ3xjFQh1sIZVVzE0
JrRqYtzj6Rd834+bHW2Q2dXIgkxRoau//9+bP3sjGfDzqtjUOTwc0Eu85GK+8PV9
eqdLJDjBTMFd1L1Zha07N1Eimcb/M4+ttPtKszC/u6L6zHKvGzMWPq6xt/jqN2Bo
697Z26fTGV8k1oFmZj8Y7dZodIhykMjjea98R/uOKXsSqZGPw2u5xTWpab6ITB7i
vAnkV5d51roGmYfFXdBbxq3BvnpBWAVLL4FEWDWcNyMVAoW+GP68aaSyn4K4Enaq
fxyc6zcVeqhQsWdumE7EbT7cQIGBh+MbSYuApZQmr59sFOwHo+i/BBOHpzlv4LWH
Jo1tEOJWZNjliXGVKdf2v4nwfQOacsa36MMU0INO200c4PC6UZvGdJ8jPzARNSHK
EZy7VYTZ1l3UDnL3v+IqmIOWQNjyPNOjWvLgq9aZOp24GvzXMPGXiIL1JvTeM/po
u3vJR57w3Ioxfddmr4aqQQRVQDfNg9F/AnZXFk6Dss6h3C0L8cyi+NO+jpgf1h5a
Mv6nAaPyuzvgI5leKLnA5pMrfWxCJ2ZLgqPy0wz9Ckmd/ALAvT7FHv73XEEz5CJb
TQP1jloxJHsNmjMfkFX6rKuOwEYaSgQU8i7GCt0qYiv7y+C5GeHQSdAZk9apO0Q4
063qFKVdOSNphQ==
=PkLy
-----END PGP SIGNATURE-----

3
nginx-1.27.3.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ba23a9568f442036b61cd0e29bd66a47b90634efa91e0b2cf2d719057a9b7903
size 1271526

17
nginx-1.27.3.tar.gz.asc Normal file
View File

@ -0,0 +1,17 @@
-----BEGIN PGP SIGNATURE-----
iQJHBAABCAAxFiEE1nhs4wPZqQIpmNxsyEZNVJr3XAoFAmdF8UkTHHMua2FuZGF1
cm92QGY1LmNvbQAKCRDIRk1UmvdcCps0EAC1sZvkQiJHIVjwRSvjjzEqL6HB9Ci+
rXBXb5uF8ngdnu5EZPnDfvEybhbWVpiE7YSKX7DoJ+g/J8/cuKNWsv0CD/r3pn9c
ik8am1AZgsOKs5QpFuoSCbsHtOF7S4PZZAPHoapJEUXCqh2/UZfwREV8/OfmgChj
suFb6c+RvkHRkUxho5cNloXnAmhwoOc3a4VlUBu6rsAFDxrObMLzrdwUPIVeG2vV
dHfLVjAySsP8Y0n6swUSg0BCvl/ue+Xv4rQjIgDdRSJQrV33KAItbkYf6G0y9Ksc
Scr1Sl6CM+7s0mMYumRnuM8pqc0osuZ4KYkVXJ1DMcVjEfNkIVWcVBVbE6DtsFPL
m/7/l5aiTwXejSJcv6AnZsSquI4trzlC/EqD5B3t3S/z4CCTMm0NtuQV2wIUlKYm
NOQv+VwcVAgc3GqTWl6pPJy4mmvY8sgKqCnWCQnHq0YpNifM5GdPApNgwzvHAQk2
RVr47B91/BYFEp/9f8eSEKP/wEB3ReXYTyJWyiTAIdxHRrOaMwB62UubgBYLDgTZ
nb6U/F0JrBsn+KkwUSyq92VRU/n/2kOiGuUP2iSlj4ld463gGt9sw/7CTu7gKSEF
AveiUsQsB7572Y23q2Af1JhKL2g5HwGzSE6043gE6wp/6FzVb4FftzM9APaPWnPe
M5AuldZ4w/KSzw==
=O+1n
-----END PGP SIGNATURE-----

45
nginx-aio.patch Normal file
View File

@ -0,0 +1,45 @@
Index: nginx-1.19.1/auto/unix
===================================================================
--- nginx-1.19.1.orig/auto/unix
+++ nginx-1.19.1/auto/unix
@@ -559,7 +559,12 @@ if [ $NGX_FILE_AIO = YES ]; then
ngx_feature="Linux AIO support (SYS_eventfd)"
ngx_feature_incs="#include <linux/aio_abi.h>
#include <sys/syscall.h>"
- ngx_feature_test="struct iocb iocb;
+ ngx_feature_test="#ifdef SYS_eventfd
+ int n = SYS_eventfd;
+ #else
+ int n = SYS_eventfd2;
+ #endif
+ struct iocb iocb;
iocb.aio_lio_opcode = IOCB_CMD_PREAD;
iocb.aio_flags = IOCB_FLAG_RESFD;
iocb.aio_resfd = -1;
Index: nginx-1.19.1/src/event/modules/ngx_epoll_module.c
===================================================================
--- nginx-1.19.1.orig/src/event/modules/ngx_epoll_module.c
+++ nginx-1.19.1/src/event/modules/ngx_epoll_module.c
@@ -77,9 +77,7 @@ int epoll_wait(int epfd, struct epoll_ev
#if (NGX_HAVE_FILE_AIO)
-#define SYS_io_setup 245
-#define SYS_io_destroy 246
-#define SYS_io_getevents 247
+#include <sys/syscall.h>
typedef u_int aio_context_t;
@@ -254,7 +252,11 @@ ngx_epoll_aio_init(ngx_cycle_t *cycle, n
#if (NGX_HAVE_SYS_EVENTFD_H)
ngx_eventfd = eventfd(0, 0);
#else
+#ifdef SYS_eventfd
ngx_eventfd = syscall(SYS_eventfd, 0);
+#else
+ ngx_eventfd = syscall(SYS_eventfd2, 0, 0);
+#endif
#endif
if (ngx_eventfd == -1) {

119
nginx-conf.patch Normal file
View File

@ -0,0 +1,119 @@
diff -Pdpru nginx-1.27.1.orig/conf/nginx.conf nginx-1.27.1/conf/nginx.conf
--- nginx-1.27.1.orig/conf/nginx.conf 2024-08-12 17:21:01.000000000 +0300
+++ nginx-1.27.1/conf/nginx.conf 2024-08-16 02:08:46.680107766 +0300
@@ -1,16 +1,28 @@
+#user nginx nginx;
+#worker_processes 1;
+#pcre_jit off;
-#user nobody;
-worker_processes 1;
+# load_module #LIBDIR#/nginx/modules/ngx_http_echo_module.so;
+# load_module #LIBDIR#/nginx/modules/ngx_http_fancyindex_module.so;
+# load_module #LIBDIR#/nginx/modules/ngx_http_geoip2_module.so;
+# load_module #LIBDIR#/nginx/modules/ngx_http_image_filter_module.so;
+# load_module #LIBDIR#/nginx/modules/ngx_http_lua_module.so;
+# load_module #LIBDIR#/nginx/modules/ngx_http_perl_module.so;
+# load_module #LIBDIR#/nginx/modules/ngx_http_xslt_filter_module.so;
+# load_module #LIBDIR#/nginx/modules/ngx_mail_module.so;
+# load_module #LIBDIR#/nginx/modules/ngx_stream_geoip2_module.so;
+# load_module #LIBDIR#/nginx/modules/ngx_stream_module.so;
-#error_log logs/error.log;
-#error_log logs/error.log notice;
-#error_log logs/error.log info;
+#error_log /var/log/nginx/error.log;
+#error_log /var/log/nginx/error.log notice;
+#error_log /var/log/nginx/error.log info;
-#pid logs/nginx.pid;
+#pid /var/run/nginx.pid;
events {
worker_connections 1024;
+ use epoll;
}
@@ -22,7 +34,7 @@ http {
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
- #access_log logs/access.log main;
+ #access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
@@ -32,16 +44,18 @@ http {
#gzip on;
+ include conf.d/*.conf;
+
server {
listen 80;
server_name localhost;
#charset koi8-r;
- #access_log logs/host.access.log main;
+ #access_log /var/log/nginx/host.access.log main;
location / {
- root html;
+ root /srv/www/htdocs/;
index index.html index.htm;
}
@@ -51,7 +65,7 @@ http {
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
- root html;
+ root /srv/www/htdocs/;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
@@ -63,7 +77,7 @@ http {
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
- # root html;
+ # root /srv/www/htdocs/;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
@@ -87,7 +101,7 @@ http {
# server_name somename alias another.alias;
# location / {
- # root html;
+ # root /srv/www/htdocs/;
# index index.html index.htm;
# }
#}
@@ -102,6 +116,10 @@ http {
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
+ # Allow TLS version 1.2 only, which is a recommended default these days
+ # by international information security standards.
+ # ssl_protocols TLSv1.2;
+
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
@@ -109,9 +127,11 @@ http {
# ssl_prefer_server_ciphers on;
# location / {
- # root html;
+ # root /srv/www/htdocs/;
# index index.html index.htm;
# }
#}
+ include vhosts.d/*.conf;
+
}

12
nginx-perl.patch Normal file
View File

@ -0,0 +1,12 @@
diff -Pdpru nginx-1.27.1.orig/auto/install nginx-1.27.1/auto/install
--- nginx-1.27.1.orig/auto/install 2024-08-12 17:21:01.000000000 +0300
+++ nginx-1.27.1/auto/install 2024-08-16 01:34:07.040688796 +0300
@@ -8,7 +8,7 @@ if [ $USE_PERL != NO ]; then
cat << END >> $NGX_MAKEFILE
install_perl_modules:
- cd $NGX_OBJS/src/http/modules/perl && \$(MAKE) install
+ cd $NGX_OBJS/src/http/modules/perl && \$(MAKE) install_vendor
END
NGX_INSTALL_PERL_MODULES=install_perl_modules

2848
nginx.changes Normal file

File diff suppressed because it is too large Load Diff

65
nginx.keyring Normal file
View File

@ -0,0 +1,65 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBGKE4psBEADpHSM/IxFD1nXBmnODYXzcl2A+6b6m9m1m2Y4Dlr0ed+y5Lxne
QidE9I74A2KSm6+eHW2yh4i1ZwZbmwpmQqM+j5BMt7axoXOdKSyN+fYtUakzNbBN
EDRKT79q/zIzkgTJradHkCQkwF1W3go+qPXjR2ZEnLma9dZED9VNI6PmOpeYaASo
IkEfbKbwa/vPrvnDSSYY6Y02RXSRk5U1NvQgVUTJP9WGK7NlPUcTBDELLQv6fFPU
kjBOel6MecsQ+v8iq4RJF2cbVF0hNjbAiNldjLV74Xd7yWVRlCbdb2agyvQjMNrD
jHSvbEMiNB3R8yBHVW2Zldv8q0XjcwoDfdiZYFJe3lRUYmv6I2p+/DptD4r/3ILI
peGZtSeOdQEw+vvODL/Ehq03anTrzcpZ6sDLfLrYJhYcrltj0/LMUnLDAjciwRUq
XI46EfxwqsdLeqoZFQeO3LOFsh0kJKR2xOrUHIVy84NJ4Gmro6WmUkb1NfdjyHzF
z8Lfbo46NKoTcwFsFF0q74jVVIVNUyIS91DusiMqLCsP8jqDOz/kyP4bOJQ+aUXf
BANn4Ll1TFWsJ417moxz+Pi5sTaI0na8z2XB1N9WPsSml3FS75hJPJshN2T3VIea
zB7GFWqk33ynSDt+cAisG5nsK9fFdcH+t5wm59oobyFbFhKxwX6ROuxlZwARAQAB
tCRTZXJnZXkgS2FuZGF1cm92IDxwbHVrbmV0QG5naW54LmNvbT6JAk4EEwEKADgW
IQTWeGzjA9mpAimY3GzIRk1UmvdcCgUCYoTimwIbAwULCQgHAwUVCgkICwUWAwIB
AAIeAQIXgAAKCRDIRk1UmvdcCqbOD/9Htgk3mWvUFmrApkWQTIDNmLACZ1Sw1PXj
Uqte8StYB0bYY+nmAXs7O5eC2h1ViParl7En1joEEMQQmH0qSnw4X1CM/hA8TAYW
mBPITTNWo/R52WoyWeWGFnFNIperQmuIZc+pXm0VEFVPiX/2DXbCIu+jaXySvlCN
LekmOD4VC7dJS8/ohoaXOR2T8ufS+1CsyPXomEb+COhqRZ3EVBa+k7pnElkFft3Y
a1fR0AgatZFQpy+ukePhK7s/M5RGhDJWHgSAZFkf+X2jVV4NRJ+XsY80gU5DD2ZX
QT6Je6Knxqk7FnWNSxkhReH6Ss5flZSoGDCmJ2AsPtGeUhus2fGqeN+waGKTZC35
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
x0VGHDmuaYQ=
=HmVo
-----END PGP PUBLIC KEY BLOCK-----

14
nginx.logrotate Normal file
View File

@ -0,0 +1,14 @@
/var/log/nginx/*.log {
compress
dateext
maxage 365
rotate 99
size=+4096k
missingok
notifempty
delaycompress
lastaction
# "-s reopen" will use the pid file passed in the config file or the compiled in default path
[ -f /run/nginx.pid ] && /usr/sbin/nginx -s reopen
endscript
}

5
nginx.rpmlintrc Normal file
View File

@ -0,0 +1,5 @@
# user nginx needs write permissions to /var/log/nginx so nginx is able to reopen the logs
addFilter("nginx.*: W: suse-logrotate-user-writable-log-dir /var/log/nginx nginx:nginx 0750")
# nginx sources need to be installed in /usr/src/nginx
addFilter("nginx.* W: suse-filelist-forbidden-fhs23 /usr/src/nginx")

31
nginx.service Normal file
View File

@ -0,0 +1,31 @@
[Unit]
Description=The nginx HTTP and reverse proxy server
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
RuntimeDirectory=nginx
PIDFile=/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx -g "daemon off;"
ExecReload=/bin/kill -s HUP $MAINPID
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=mixed
PrivateTmp=true
# added automatically, for details please see
# https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort
ProtectSystem=full
ProtectHome=read-only
PrivateDevices=true
ProtectHostname=true
ProtectClock=true
ProtectKernelTunables=true
ProtectKernelModules=true
ProtectKernelLogs=true
ProtectControlGroups=true
RestrictRealtime=true
# end of automatic additions
[Install]
WantedBy=multi-user.target

211
nginx.spec Normal file
View File

@ -0,0 +1,211 @@
#
# spec file for package nginx
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{!?vim_data_dir:%global vim_data_dir %{_datadir}/vim/%(readlink %{_datadir}/vim/current)}
%define src_install_dir %{_prefix}/src/%{name}
# keep in sync with #ngx_conditionals
%bcond_with ngx_cpp_test
%bcond_with ngx_google_perftools
#
Name: nginx
Version: 1.27.3
Release: 0
Summary: A HTTP server and IMAP/POP3 proxy server
License: BSD-2-Clause
Group: Productivity/Networking/Web/Proxy
URL: https://nginx.org
Source0: https://nginx.org/download/%{name}-%{version}.tar.gz
Source1: https://nginx.org/download/%{name}-%{version}.tar.gz.asc
Source2: https://nginx.org/keys/pluknet.key#/%{name}.keyring
Source3: %{name}.rpmlintrc
Source4: %{name}.logrotate
Source5: %{name}.service
Source6: %{name}.sysusers
# PATCH-FIX-UPSTREAM nginx-1.11.2-no_Werror.patch
Patch0: %{name}-1.11.2-no_Werror.patch
# PATCH-FIX-OPENSUSE nginx-1.11.2-html.patch
Patch1: %{name}-1.11.2-html.patch
# PATCH-FIX-UPSTREAM nginx-1.2.4-perl_vendor_install.patch
Patch2: %{name}-perl.patch
# PATCH-FIX-UPSTREAM fix /etc/nginx/nginx.conf to suit Linux env
Patch3: %{name}-conf.patch
# PATCH-FIX-UPSTREAM nginx-aio.patch fix support for Linux AIO
Patch4: %{name}-aio.patch
BuildRequires: %{name}-macros
BuildRequires: gcc-c++
BuildRequires: gpg2
BuildRequires: libatomic-ops-devel
BuildRequires: pkgconfig
BuildRequires: sysuser-shadow
BuildRequires: sysuser-tools
BuildRequires: vim
BuildRequires: pkgconfig(gdlib)
BuildRequires: pkgconfig(libpcre2-8)
BuildRequires: pkgconfig(libxslt)
BuildRequires: pkgconfig(openssl)
BuildRequires: pkgconfig(systemd)
BuildRequires: pkgconfig(zlib)
%requires_eq perl
Recommends: %{name}-module-echo
Recommends: %{name}-module-lua
Recommends: logrotate
Provides: http_daemon
Provides: httpd
%{?systemd_ordering}
%sysusers_requires
%if %{with ngx_google_perftools}
BuildRequires: google-perftools-devel
%endif
%description
%{name} [engine x] is a HTTP server and IMAP/POP3 proxy server written by Igor Sysoev.
It has been running on many heavily loaded Russian sites for more than two years.
%package source
Summary: The nginx source
Group: Development/Sources
Requires: gcc-c++
Requires: libatomic-ops-devel
Requires: nginx = %{version}
Requires: pkgconfig
Requires: vim
Requires: pkgconfig(gdlib)
Requires: pkgconfig(libpcre2-8)
Requires: pkgconfig(libxslt)
Requires: pkgconfig(openssl)
Requires: pkgconfig(zlib)
%requires_ge %{name}-macros
BuildArch: noarch
%description source
The source of %{name} [engine x] HTTP server and IMAP/POP3 proxy server.
%prep
%autosetup -p1
sed -i 's/\r//g' contrib/geo2nginx.pl
sed -i -e 's|#LIBDIR#|%{_libdir}|g' -e 's|/var/run|/run|' conf/nginx.conf
sed -i 's/^\(#define NGX_LISTEN_BACKLOG \).*/\1-1/' src/os/unix/ngx_linux_config.h
%build
%{ngx_configure}
%make_build
%sysusers_generate_pre %{SOURCE6} %{name} %{name}.conf
%install
%make_install
%perl_process_packlist
install -dpm0750 %{buildroot}%{ngx_home}/{,tmp,proxy,fastcgi,scgi,uwsgi}
install -Dpm0644 %{SOURCE4} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
install -Dpm0644 %{SOURCE5} %{buildroot}%{_unitdir}/%{name}.service
install -Dpm0644 %{SOURCE6} %{buildroot}%{_sysusersdir}/%{name}.conf
rm %{buildroot}/srv/www/htdocs/index.html
mkdir -p %{buildroot}%{ngx_doc_dir}
cp -av CHANGES* LICENSE %{buildroot}%{ngx_doc_dir}
mkdir -p %{buildroot}%{_datadir}/%{name}/
mkdir -p %{buildroot}%{ngx_conf_dir}/vhosts.d/
mkdir -p %{buildroot}%{ngx_conf_dir}/conf.d/
chmod a+rx contrib/geo2nginx.pl
cp -av contrib/geo2nginx.pl contrib/unicode2nginx/ %{buildroot}%{_datadir}/%{name}/
mkdir -p %{buildroot}%{src_install_dir}
tar -xzf %{SOURCE0} --strip-components=1 -C %{buildroot}%{src_install_dir}
copydocs() {
subdir=$1;
shift;
mkdir -p %{buildroot}%{ngx_doc_dir}/$subdir/
pushd $subdir
cp -av $* %{buildroot}%{ngx_doc_dir}/$subdir/
popd
}
%check
GPGTMP=`mktemp -d`
gpg --homedir $GPGTMP -q --no-default-keyring --keyring $GPGTMP/.gpg-keyring --trust-model always --import %{SOURCE2}
gpg --homedir $GPGTMP -q --no-default-keyring --keyring $GPGTMP/.gpg-keyring --trust-model always -q --verify -- %{SOURCE1} %{SOURCE0}
rm -r $GPGTMP
%pre -f %{name}.pre
%service_add_pre %{name}.service
%preun
%service_del_preun %{name}.service
%post
%service_add_post %{name}.service
%postun
%service_del_postun %{name}.service
%files
%dir %{ngx_conf_dir}/
%dir %{ngx_conf_dir}/vhosts.d
%dir %{ngx_conf_dir}/conf.d
%config(noreplace) %{ngx_conf_dir}/koi-utf
%config(noreplace) %{ngx_conf_dir}/koi-win
%config(noreplace) %{ngx_conf_dir}/fastcgi_params
%config %{ngx_conf_dir}/fastcgi_params.default
%config(noreplace) %{ngx_conf_dir}/mime.types
%config %{ngx_conf_dir}/mime.types.default
%config(noreplace) %{ngx_conf_dir}/nginx.conf
%config %{ngx_conf_dir}/%{name}.conf.default
%config(noreplace) %{ngx_conf_dir}/fastcgi.conf
%config %{ngx_conf_dir}/fastcgi.conf.default
%config(noreplace) %{ngx_conf_dir}/win-utf
%config(noreplace) %{ngx_conf_dir}/scgi_params
%config %{ngx_conf_dir}/scgi_params.default
%config(noreplace) %{ngx_conf_dir}/uwsgi_params
%config %{ngx_conf_dir}/uwsgi_params.default
%{perl_vendorarch}/auto/%{name}/
%{perl_vendorarch}/%{name}.pm
%{ngx_sbin_path}
%dir %{_libdir}/%{name}/
%dir %{ngx_module_dir}/
%{ngx_module_dir}/ngx_http_image_filter_module.so
%{ngx_module_dir}/ngx_http_perl_module.so
%{ngx_module_dir}/ngx_http_xslt_filter_module.so
%{ngx_module_dir}/ngx_mail_module.so
%{ngx_module_dir}/ngx_stream_module.so
%{_mandir}/man3/%{name}.3pm*
%dir /srv/www
%dir /srv/www/htdocs
/srv/www/htdocs/50x.html
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
%dir %attr(750,%{ngx_user_group},%{ngx_user_group}) %{_localstatedir}/log/nginx/
%dir %attr(750,%{ngx_user_group},%{ngx_user_group}) %{ngx_home}/
%dir %attr(750,%{ngx_user_group},%{ngx_user_group}) %{ngx_tmp_http}
%dir %attr(750,%{ngx_user_group},%{ngx_user_group}) %{ngx_tmp_proxy}
%dir %attr(750,%{ngx_user_group},%{ngx_user_group}) %{ngx_tmp_fcgi}
%dir %attr(750,%{ngx_user_group},%{ngx_user_group}) %{ngx_tmp_scgi}
%dir %attr(750,%{ngx_user_group},%{ngx_user_group}) %{ngx_tmp_uwsgi}
%doc %{ngx_doc_dir}
%{_unitdir}/%{name}.service
%{_sysusersdir}/%{name}.conf
%{_datadir}/%{name}/
%files source
%{src_install_dir}
%changelog

2
nginx.sysusers Normal file
View File

@ -0,0 +1,2 @@
# Type Name ID GECOS [HOME]
u nginx - "User for nginx" /var/lib/nginx