Factory Maintainer 2014-01-30 06:19:31 +00:00 committed by Git OBS Bridge
parent 05c75e143e
commit 6b0ead7dbc
16 changed files with 713 additions and 61 deletions

View File

@ -2,7 +2,7 @@ Index: auto/cc/gcc
=================================================================== ===================================================================
--- auto/cc/gcc.orig --- auto/cc/gcc.orig
+++ auto/cc/gcc +++ auto/cc/gcc
@@ -171,7 +171,7 @@ @@ -168,7 +168,7 @@ esac
# stop on warning # stop on warning

View File

@ -1,6 +1,8 @@
--- auto/install Index: auto/install
===================================================================
--- auto/install.orig
+++ auto/install +++ auto/install
@@ -146,8 +146,7 @@ @@ -147,8 +147,7 @@ install: $NGX_OBJS${ngx_dirsep}nginx${ng
test -d '\$(DESTDIR)`dirname "$NGX_HTTP_LOG_PATH"`' || \ test -d '\$(DESTDIR)`dirname "$NGX_HTTP_LOG_PATH"`' || \
mkdir -p '\$(DESTDIR)`dirname "$NGX_HTTP_LOG_PATH"`' mkdir -p '\$(DESTDIR)`dirname "$NGX_HTTP_LOG_PATH"`'

View File

@ -9,14 +9,3 @@
END END
--- auto/install.orig
+++ auto/install.orig
@@ -147,7 +147,7 @@
test -d '\$(DESTDIR)`dirname "$NGX_HTTP_LOG_PATH"`' || \
mkdir -p '\$(DESTDIR)`dirname "$NGX_HTTP_LOG_PATH"`'
- test -d '\$(DESTDIR)/srv/www/htdocs' || install -d '\$(DESTDIR)/srv/www/' && cp -r docs/html '\$(DESTDIR)/srv/www/htdocs'
+ test -d '\$(DESTDIR)/srv/www/htdocs' || install -d '\$(DESTDIR)/srv/www/' && cp -r html '\$(DESTDIR)/srv/www/htdocs'
END

View File

@ -2,7 +2,7 @@ Index: auto/install
=================================================================== ===================================================================
--- auto/install.orig --- auto/install.orig
+++ auto/install +++ auto/install
@@ -7,7 +7,7 @@ @@ -8,7 +8,7 @@ if [ $USE_PERL = YES ]; then
cat << END >> $NGX_MAKEFILE cat << END >> $NGX_MAKEFILE
install_perl_modules: install_perl_modules:

View File

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

View File

@ -0,0 +1,58 @@
--- passenger/build/common_library.rb
+++ passenger/build/common_library.rb
@@ -34,7 +34,7 @@
# Defines tasks for compiling a static library containing Boost and OXT.
def define_libboost_oxt_task(namespace, output_dir, extra_compiler_flags = nil)
output_file = "#{output_dir}.a"
- flags = "-Iext #{extra_compiler_flags} #{PlatformInfo.portability_cflags} #{EXTRA_CXXFLAGS}"
+ flags = "-Iext #{extra_compiler_flags} #{PlatformInfo.portability_cflags} #{EXTRA_CXXFLAGS} -fPIC #{ENV['RPM_OPT_FLAGS']} "
if false && boolean_option('RELEASE')
# Disable RELEASE support. Passenger Standalone wants to link to the
@@ -126,7 +126,7 @@
]
file LIBEV_OUTPUT_DIR + "Makefile" => dependencies do
# Disable all warnings: http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#COMPILER_WARNINGS
- cflags = "#{EXTRA_CXXFLAGS} -w"
+ cflags = "#{EXTRA_CXXFLAGS} #{ENV['RPM_OPT_FLAGS']} -w"
sh "mkdir -p #{LIBEV_OUTPUT_DIR}" if !File.directory?(LIBEV_OUTPUT_DIR)
sh "cd #{LIBEV_OUTPUT_DIR} && sh #{LIBEV_SOURCE_DIR}configure " +
"--disable-shared --enable-static CFLAGS='#{cflags}' orig_CFLAGS=1"
@@ -174,7 +174,7 @@
file LIBEIO_OUTPUT_DIR + "Makefile" => dependencies do
# Disable all warnings. The author has a clear standpoint on that:
# http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#COMPILER_WARNINGS
- cflags = "#{EXTRA_CXXFLAGS} -w"
+ cflags = "#{EXTRA_CXXFLAGS} #{ENV['RPM_OPT_FLAGS']} -w"
sh "mkdir -p #{LIBEIO_OUTPUT_DIR}" if !File.directory?(LIBEIO_OUTPUT_DIR)
sh "cd #{LIBEIO_OUTPUT_DIR} && sh #{LIBEIO_SOURCE_DIR}configure " +
"--disable-shared --enable-static CFLAGS='#{cflags}'"
@@ -183,6 +183,7 @@
libeio_sources = Dir["ext/libeio/{*.c,*.h}"]
file LIBEIO_OUTPUT_DIR + ".libs/libeio.a" => [LIBEIO_OUTPUT_DIR + "Makefile"] + libeio_sources do
sh "rm -f #{LIBEIO_OUTPUT_DIR}/libeio.la"
+ sh "cd #{LIBEIO_OUTPUT_DIR} && make eio.o"
sh "cd #{LIBEIO_OUTPUT_DIR} && make libeio.la"
end
--- passenger/ext/boost/libs/thread/src/pthread/thread.cpp
+++ passenger/ext/boost/libs/thread/src/pthread/thread.cpp
@@ -376,6 +376,7 @@
boost::throw_exception(thread_resource_error(system::errc::invalid_argument, "boost thread: thread not joinable"));
#endif
}
+ return false;
}
bool thread::joinable() const BOOST_NOEXCEPT
--- passenger/lib/phusion_passenger/common_library.rb
+++ passenger/lib/phusion_passenger/common_library.rb
@@ -101,7 +101,7 @@
end
def define_tasks(extra_compiler_flags = nil)
- flags = "-Iext -Iext/common #{LIBEV_CFLAGS} #{extra_compiler_flags} "
+ flags = "-Iext -Iext/common #{LIBEV_CFLAGS} #{extra_compiler_flags} -fPIC #{ENV['RPM_OPT_FLAGS']} "
flags << "#{PlatformInfo.portability_cflags} #{EXTRA_CXXFLAGS}"
flags.strip!

View File

@ -0,0 +1,21 @@
diff -Ppru passenger/build/common_library.rb passenger/build/common_library.rb
--- passenger/build/common_library.rb 2012-07-16 21:23:58.000000000 +0200
+++ passenger/build/common_library.rb 2014-01-17 13:44:58.830352986 +0100
@@ -94,7 +94,7 @@ def define_common_library_task(namespace
static_library = "#{output_dir}.a"
# Define compilation targets for the object files in libpassenger_common.
- flags = "-Iext -Iext/common #{LIBEV_CFLAGS} #{extra_compiler_flags} "
+ flags = "-Iext -Iext/common #{LIBEV_CFLAGS} #{extra_compiler_flags} -fPIC #{ENV['RPM_OPT_FLAGS']} "
flags << "#{PlatformInfo.portability_cflags} #{EXTRA_CXXFLAGS}"
flags.strip!
@@ -162,7 +162,7 @@ end
# Defines tasks for compiling a static library containing Boost and OXT.
def define_libboost_oxt_task(namespace, output_dir, extra_compiler_flags = nil)
output_file = "#{output_dir}.a"
- flags = "-Iext #{extra_compiler_flags} #{PlatformInfo.portability_cflags} #{EXTRA_CXXFLAGS}"
+ flags = "-Iext #{extra_compiler_flags} #{PlatformInfo.portability_cflags} #{EXTRA_CXXFLAGS} -fPIC #{ENV['RPM_OPT_FLAGS']}"
if boolean_option('RELEASE')
sources = Dir['ext/boost/src/pthread/*.cpp'] + Dir['ext/oxt/*.cpp']

View File

@ -0,0 +1,173 @@
--- passenger/build/common_library.rb
+++ passenger/build/common_library.rb
@@ -34,19 +34,19 @@
# Defines tasks for compiling a static library containing Boost and OXT.
def define_libboost_oxt_task(namespace, output_dir, extra_compiler_flags = nil)
output_file = "#{output_dir}.a"
- flags = "-Iext #{extra_compiler_flags} #{EXTRA_CXXFLAGS}"
-
+ flags = "-Iext #{extra_compiler_flags} #{EXTRA_CXXFLAGS} -fPIC #{ENV['RPM_OPT_FLAGS']} "
+
if false && boolean_option('RELEASE')
# Disable RELEASE support. Passenger Standalone wants to link to the
# common library but does not know whether it was compiled with RELEASE
# or not. See http://code.google.com/p/phusion-passenger/issues/detail?id=808
sources = Dir['ext/boost/libs/**/*.cpp'] + Dir['ext/oxt/*.cpp']
sources.sort!
-
+
aggregate_source = "#{output_dir}/aggregate.cpp"
aggregate_object = "#{output_dir}/aggregate.o"
object_files = [aggregate_object]
-
+
file(aggregate_object => sources) do
sh "mkdir -p #{output_dir}" if !File.directory?(output_dir)
aggregate_content = %Q{
@@ -71,13 +71,13 @@
boost_output_dir = "#{output_dir}/boost"
object_file = "#{boost_output_dir}/#{object_name}"
boost_object_files << object_file
-
+
file object_file => source_file do
sh "mkdir -p #{boost_output_dir}" if !File.directory?(boost_output_dir)
compile_cxx(source_file, "#{flags} -o #{object_file}")
end
end
-
+
# Define compilation targets for .cpp files in ext/oxt.
oxt_object_files = []
oxt_dependency_files = Dir["ext/oxt/*.hpp"] + Dir["ext/oxt/detail/*.hpp"]
@@ -92,19 +92,19 @@
compile_cxx(source_file, "#{flags} -o #{object_file}")
end
end
-
+
object_files = boost_object_files + oxt_object_files
end
-
+
file(output_file => object_files) do
sh "mkdir -p #{output_dir}"
create_static_library(output_file, object_files.join(' '))
end
-
+
task "#{namespace}:clean" do
sh "rm -rf #{output_file} #{output_dir}"
end
-
+
return output_file
end
@@ -116,9 +116,9 @@
LIBEV_CFLAGS = "-Iext/libev"
LIBEV_LIBS = LIBEV_OUTPUT_DIR + ".libs/libev.a"
LIBEV_TARGET = LIBEV_LIBS
-
+
task :libev => LIBEV_TARGET
-
+
dependencies = [
"ext/libev/configure",
"ext/libev/config.h.in",
@@ -128,7 +128,7 @@
cc = PlatformInfo.cc
cxx = PlatformInfo.cxx
# Disable all warnings: http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#COMPILER_WARNINGS
- cflags = "#{EXTRA_CFLAGS} -w"
+ cflags = "#{EXTRA_CFLAGS} #{ENV['RPM_OPT_FLAGS']} -w"
sh "mkdir -p #{LIBEV_OUTPUT_DIR}" if !File.directory?(LIBEV_OUTPUT_DIR)
sh "cd #{LIBEV_OUTPUT_DIR} && sh #{LIBEV_SOURCE_DIR}configure " +
"--disable-shared --enable-static " +
@@ -136,7 +136,7 @@
# do, so we force our compiler choice.
"CC='#{cc}' CXX='#{cxx}' CFLAGS='#{cflags}' orig_CFLAGS=1"
end
-
+
libev_sources = Dir["ext/libev/{*.c,*.h}"]
file LIBEV_OUTPUT_DIR + ".libs/libev.a" => [LIBEV_OUTPUT_DIR + "Makefile"] + libev_sources do
sh "rm -f #{LIBEV_OUTPUT_DIR}/libev.la"
@@ -148,7 +148,7 @@
sh "cd #{LIBEV_OUTPUT_DIR} && make maintainer-clean"
end
end
-
+
task :clean => 'libev:clean'
else
LIBEV_CFLAGS = string_option('LIBEV_CFLAGS', '-I/usr/include/libev')
@@ -168,9 +168,9 @@
LIBEIO_CFLAGS = "-Iext/libeio"
LIBEIO_LIBS = LIBEIO_OUTPUT_DIR + ".libs/libeio.a"
LIBEIO_TARGET = LIBEIO_LIBS
-
+
task :libeio => LIBEIO_TARGET
-
+
dependencies = [
"ext/libeio/configure",
"ext/libeio/config.h.in",
@@ -181,7 +181,7 @@
cxx = PlatformInfo.cxx
# Disable all warnings. The author has a clear standpoint on that:
# http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#COMPILER_WARNINGS
- cflags = "#{EXTRA_CFLAGS} -w"
+ cflags = "#{EXTRA_CFLAGS} #{ENV['RPM_OPT_FLAGS']} -w"
sh "mkdir -p #{LIBEIO_OUTPUT_DIR}" if !File.directory?(LIBEIO_OUTPUT_DIR)
sh "cd #{LIBEIO_OUTPUT_DIR} && sh #{LIBEIO_SOURCE_DIR}configure " +
"--disable-shared --enable-static " +
@@ -189,13 +189,14 @@
# do, so we force our compiler choice.
"CC='#{cc}' CXX='#{cxx}' CFLAGS='#{cflags}'"
end
-
+
libeio_sources = Dir["ext/libeio/{*.c,*.h}"]
file LIBEIO_OUTPUT_DIR + ".libs/libeio.a" => [LIBEIO_OUTPUT_DIR + "Makefile"] + libeio_sources do
sh "rm -f #{LIBEIO_OUTPUT_DIR}/libeio.la"
+ sh "cd #{LIBEIO_OUTPUT_DIR} && make eio.o"
sh "cd #{LIBEIO_OUTPUT_DIR} && make libeio.la"
end
-
+
task :clean do
if File.exist?(LIBEIO_OUTPUT_DIR + "Makefile")
sh "cd #{LIBEIO_OUTPUT_DIR} && make maintainer-clean"
--- passenger/ext/boost/libs/thread/src/pthread/thread.cpp
+++ passenger/ext/boost/libs/thread/src/pthread/thread.cpp
@@ -390,6 +390,7 @@
{
return false;
}
+ return false;
}
bool thread::joinable() const BOOST_NOEXCEPT
--- passenger/lib/phusion_passenger/common_library.rb
+++ passenger/lib/phusion_passenger/common_library.rb
@@ -101,7 +101,7 @@
end
def define_tasks(extra_compiler_flags = nil)
- flags = "-Iext -Iext/common #{LIBEV_CFLAGS} #{extra_compiler_flags} "
+ flags = "-Iext -Iext/common #{LIBEV_CFLAGS} #{extra_compiler_flags} -fPIC #{ENV['RPM_OPT_FLAGS']} "
cflags = (flags + EXTRA_CFLAGS).strip
cxxflags = (flags + EXTRA_CXXFLAGS).strip
@@ -171,7 +171,7 @@
# packaging the runtime ('passenger package-runtime') so we
# never generate static libraries.
library = "#{@output_dir}/#{category}.a"
-
+
file(library => object_filenames) do
create_static_library(library, object_filenames.join(' '))
end

View File

@ -0,0 +1,173 @@
--- passenger/build/common_library.rb
+++ passenger/build/common_library.rb
@@ -34,19 +34,19 @@
# Defines tasks for compiling a static library containing Boost and OXT.
def define_libboost_oxt_task(namespace, output_dir, extra_compiler_flags = nil)
output_file = "#{output_dir}.a"
- flags = "-Iext #{extra_compiler_flags} #{EXTRA_CXXFLAGS}"
-
+ flags = "-Iext #{extra_compiler_flags} #{EXTRA_CXXFLAGS} -fPIC #{ENV['RPM_OPT_FLAGS']} "
+
if false && boolean_option('RELEASE')
# Disable RELEASE support. Passenger Standalone wants to link to the
# common library but does not know whether it was compiled with RELEASE
# or not. See http://code.google.com/p/phusion-passenger/issues/detail?id=808
sources = Dir['ext/boost/libs/**/*.cpp'] + Dir['ext/oxt/*.cpp']
sources.sort!
-
+
aggregate_source = "#{output_dir}/aggregate.cpp"
aggregate_object = "#{output_dir}/aggregate.o"
object_files = [aggregate_object]
-
+
file(aggregate_object => sources) do
sh "mkdir -p #{output_dir}" if !File.directory?(output_dir)
aggregate_content = %Q{
@@ -71,13 +71,13 @@
boost_output_dir = "#{output_dir}/boost"
object_file = "#{boost_output_dir}/#{object_name}"
boost_object_files << object_file
-
+
file object_file => source_file do
sh "mkdir -p #{boost_output_dir}" if !File.directory?(boost_output_dir)
compile_cxx(source_file, "#{flags} -o #{object_file}")
end
end
-
+
# Define compilation targets for .cpp files in ext/oxt.
oxt_object_files = []
oxt_dependency_files = Dir["ext/oxt/*.hpp"] + Dir["ext/oxt/detail/*.hpp"]
@@ -92,19 +92,19 @@
compile_cxx(source_file, "#{flags} -o #{object_file}")
end
end
-
+
object_files = boost_object_files + oxt_object_files
end
-
+
file(output_file => object_files) do
sh "mkdir -p #{output_dir}"
create_static_library(output_file, object_files.join(' '))
end
-
+
task "#{namespace}:clean" do
sh "rm -rf #{output_file} #{output_dir}"
end
-
+
return output_file
end
@@ -116,9 +116,9 @@
LIBEV_CFLAGS = "-Iext/libev"
LIBEV_LIBS = LIBEV_OUTPUT_DIR + ".libs/libev.a"
LIBEV_TARGET = LIBEV_LIBS
-
+
task :libev => LIBEV_TARGET
-
+
dependencies = [
"ext/libev/configure",
"ext/libev/config.h.in",
@@ -128,7 +128,7 @@
cc = PlatformInfo.cc
cxx = PlatformInfo.cxx
# Disable all warnings: http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#COMPILER_WARNINGS
- cflags = "#{EXTRA_CFLAGS} -w"
+ cflags = "#{EXTRA_CFLAGS} #{ENV['RPM_OPT_FLAGS']} -w"
sh "mkdir -p #{LIBEV_OUTPUT_DIR}" if !File.directory?(LIBEV_OUTPUT_DIR)
sh "cd #{LIBEV_OUTPUT_DIR} && sh #{LIBEV_SOURCE_DIR}configure " +
"--disable-shared --enable-static " +
@@ -136,7 +136,7 @@
# do, so we force our compiler choice.
"CC='#{cc}' CXX='#{cxx}' CFLAGS='#{cflags}' orig_CFLAGS=1"
end
-
+
libev_sources = Dir["ext/libev/{*.c,*.h}"]
file LIBEV_OUTPUT_DIR + ".libs/libev.a" => [LIBEV_OUTPUT_DIR + "Makefile"] + libev_sources do
sh "rm -f #{LIBEV_OUTPUT_DIR}/libev.la"
@@ -148,7 +148,7 @@
sh "cd #{LIBEV_OUTPUT_DIR} && make maintainer-clean"
end
end
-
+
task :clean => 'libev:clean'
else
LIBEV_CFLAGS = string_option('LIBEV_CFLAGS', '-I/usr/include/libev')
@@ -168,9 +168,9 @@
LIBEIO_CFLAGS = "-Iext/libeio"
LIBEIO_LIBS = LIBEIO_OUTPUT_DIR + ".libs/libeio.a"
LIBEIO_TARGET = LIBEIO_LIBS
-
+
task :libeio => LIBEIO_TARGET
-
+
dependencies = [
"ext/libeio/configure",
"ext/libeio/config.h.in",
@@ -181,7 +181,7 @@
cxx = PlatformInfo.cxx
# Disable all warnings. The author has a clear standpoint on that:
# http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#COMPILER_WARNINGS
- cflags = "#{EXTRA_CFLAGS} -w"
+ cflags = "#{EXTRA_CFLAGS} #{ENV['RPM_OPT_FLAGS']} -w"
sh "mkdir -p #{LIBEIO_OUTPUT_DIR}" if !File.directory?(LIBEIO_OUTPUT_DIR)
sh "cd #{LIBEIO_OUTPUT_DIR} && sh #{LIBEIO_SOURCE_DIR}configure " +
"--disable-shared --enable-static " +
@@ -189,13 +189,14 @@
# do, so we force our compiler choice.
"CC='#{cc}' CXX='#{cxx}' CFLAGS='#{cflags}'"
end
-
+
libeio_sources = Dir["ext/libeio/{*.c,*.h}"]
file LIBEIO_OUTPUT_DIR + ".libs/libeio.a" => [LIBEIO_OUTPUT_DIR + "Makefile"] + libeio_sources do
sh "rm -f #{LIBEIO_OUTPUT_DIR}/libeio.la"
+ sh "cd #{LIBEIO_OUTPUT_DIR} && make eio.o"
sh "cd #{LIBEIO_OUTPUT_DIR} && make libeio.la"
end
-
+
task :clean do
if File.exist?(LIBEIO_OUTPUT_DIR + "Makefile")
sh "cd #{LIBEIO_OUTPUT_DIR} && make maintainer-clean"
--- passenger/ext/boost/libs/thread/src/pthread/thread.cpp
+++ passenger/ext/boost/libs/thread/src/pthread/thread.cpp
@@ -390,6 +390,7 @@
{
return false;
}
+ return false;
}
bool thread::joinable() const BOOST_NOEXCEPT
--- passenger/lib/phusion_passenger/common_library.rb
+++ passenger/lib/phusion_passenger/common_library.rb
@@ -101,7 +101,7 @@
end
def define_tasks(extra_compiler_flags = nil)
- flags = "-Iext -Iext/common #{LIBEV_CFLAGS} #{extra_compiler_flags} "
+ flags = "-Iext -Iext/common #{LIBEV_CFLAGS} #{extra_compiler_flags} -fPIC #{ENV['RPM_OPT_FLAGS']} "
flags << EXTRA_CXXFLAGS
flags.strip!
@@ -171,7 +171,7 @@
# packaging the runtime ('passenger package-runtime') so we
# never generate static libraries.
library = "#{@output_dir}/#{category}.a"
-
+
file(library => object_filenames) do
create_static_library(library, object_filenames.join(' '))
end

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

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

45
nginx-aio.patch Normal file
View File

@ -0,0 +1,45 @@
Index: nginx-1.2.9/auto/unix
===================================================================
--- nginx-1.2.9.orig/auto/unix
+++ nginx-1.2.9/auto/unix
@@ -396,7 +396,11 @@ if [ $NGX_FILE_AIO = YES ]; then
#include <sys/syscall.h>"
ngx_feature_path=
ngx_feature_libs=
- ngx_feature_test="int n = SYS_eventfd;
+ 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;
Index: nginx-1.2.9/src/event/modules/ngx_epoll_module.c
===================================================================
--- nginx-1.2.9.orig/src/event/modules/ngx_epoll_module.c
+++ nginx-1.2.9/src/event/modules/ngx_epoll_module.c
@@ -70,10 +70,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
-#define SYS_eventfd 323
+#include <sys/syscall.h>
typedef u_int aio_context_t;
@@ -225,7 +222,11 @@ ngx_epoll_aio_init(ngx_cycle_t *cycle, n
int n;
struct epoll_event ee;
+#ifdef SYS_eventfd
ngx_eventfd = syscall(SYS_eventfd, 0);
+#else
+ ngx_eventfd = syscall(SYS_eventfd2, 0, 0);
+#endif
if (ngx_eventfd == -1) {
ngx_log_error(NGX_LOG_EMERG, cycle->log, ngx_errno,

View File

@ -1,3 +1,167 @@
-------------------------------------------------------------------
Fri Jan 17 11:03:29 UTC 2014 - aj@ajaissle.de
- Rebased passenger_fix.patch
+ nginx-1.4.4-passenger-3.0.12_fix.patch for openSUSE 12.2 and 12.3
+ nginx-1.4.2-passenger_fix.patch for openSUSE 13.1 and Tumbleweed
+ nginx-1.4.4-passenger-4.0.33_fix.patch for openSUSE Factory
- Always rebuild libpassenger_common on openSUSE < 1310 with -fPIC
-------------------------------------------------------------------
Fri Jan 3 10:36:06 UTC 2014 - dmueller@suse.com
- update to 1.4.4:
*) Security: a character following an unescaped space in a request line
was handled incorrectly (CVE-2013-4547); the bug had appeared in
0.8.41.
*) Bugfix: a segmentation fault might occur in a worker process if the
ngx_http_spdy_module was used with the "client_body_in_file_only"
directive.
*) Bugfix: a segmentation fault might occur on start or during
reconfiguration if the "try_files" directive was used with an empty
parameter.
*) Bugfix: the $request_time variable did not work in nginx/Windows.
*) Bugfix: in the ngx_http_auth_basic_module when using "$apr1$"
*) Bugfix: in the ngx_http_autoindex_module.
*) Bugfix: in the mail proxy server.
-------------------------------------------------------------------
Tue Dec 17 17:45:54 UTC 2013 - alarrosa@suse.com
- Updated passenger patch to apply correctly, also added rubygem-passenger
as BuildRequires
- modified patches:
* nginx-1.4.2-passenger_fix.patch
-------------------------------------------------------------------
Mon Oct 7 10:20:49 UTC 2013 - lslezak@suse.cz
- updated passenger patch to apply (Utils/MD5.h patch is not needed
anymore, fixed upstream)
-------------------------------------------------------------------
Wed Aug 14 08:09:51 UTC 2013 - lslezak@suse.cz
- enable back passenger support (needed by WebYast)
-------------------------------------------------------------------
Mon Jul 22 20:27:56 UTC 2013 - crrodriguez@opensuse.org
- Fix PIE build and linkage, must use --with-ld-opt
-------------------------------------------------------------------
Mon Jul 22 19:56:44 UTC 2013 - crrodriguez@opensuse.org
- Update to version 1.4.2 stable
* The list of changes is massive and it wont fit here see
http://nginx.org/en/CHANGES-1.4. packaging changes follow.
- Enable the SPDY module on distributions that ship openssl >= 1.0.1
- Build with full RELRO and PIE.
- systemd unit:
* remove syslog.target that no longer exists
* set PrivateTmp to true
* Make it a non-forking service.
-------------------------------------------------------------------
Mon Jul 1 13:46:16 UTC 2013 - schwab@suse.de
- nginx-aio.patch: fix AIO support for asm-generic platforms
- Fix quilt setup
-------------------------------------------------------------------
Wed Jun 26 12:37:22 UTC 2013 - coolo@suse.com
- since passenger 4.0 the nginx extensions does not build, so disable
it
-------------------------------------------------------------------
Fri May 24 12:24:35 UTC 2013 - suse@ammler.ch
- update to 1.2.9
*) Security: contents of worker process memory might be sent to a client
if HTTP backend returned specially crafted response (CVE-2013-2070);
the bug had appeared in 1.1.4. (bnc#821184)
-------------------------------------------------------------------
Tue Apr 16 12:04:35 UTC 2013 - suse@ammler.ch
- update to 1.2.8
*) Bugfix: new sessions were not always stored if the "ssl_session_cache
shared" directive was used and there was no free space in shared
memory.
*) Bugfix: responses might hang if subrequests were used and a DNS error
happened during subrequest processing.
*) Bugfix: in the ngx_http_mp4_module.
*) Bugfix: in backend usage accounting.
-------------------------------------------------------------------
Tue Apr 9 08:45:55 UTC 2013 - coolo@suse.com
- remove workaround breaking things
-------------------------------------------------------------------
Thu Mar 21 06:50:21 UTC 2013 - e.istomin@edss.ee
- updated to 1.2.7
*) Bugfix: a segmentation fault might occur in a worker process if the
"if" directive was used.
Thanks to Piotr Sikora.
*) Bugfix: a "100 Continue" response was issued with "413 Request Entity
Too Large" responses.
*) Bugfix: the "[crit] SSL_write() failed (SSL:)" error.
- added mp4 module (--with-http_mp4_module)
-------------------------------------------------------------------
Mon Jan 7 20:24:52 UTC 2013 - jengelh@inai.de
- Parallel building with %_smp_mflags; remove redundant %clean section
-------------------------------------------------------------------
Mon Dec 17 10:32:12 UTC 2012 - suse@ammler.ch
- update to 1.2.6
*) Feature: the $request_time and $msec variables can now be used not
only in the "log_format" directive.
*) Bugfix: cache manager and cache loader processes might not be able to
start if more than 512 listen sockets were used.
*) Bugfix: in the ngx_http_dav_module.
-------------------------------------------------------------------
Wed Dec 5 12:09:58 UTC 2012 - opensuse@dschung.de
- add Provides: httpd and http_daemon, so a "Requires: httpd"
or "Suggests: httpd" doesn't only resolve to apache2
-------------------------------------------------------------------
Wed Nov 21 18:07:33 UTC 2012 - suse@ammler.ch
- revert permission for /var/log/nginx so reopen is possible (bnc#790726)
-------------------------------------------------------------------
Wed Nov 14 14:47:52 UTC 2012 - suse@ammler.ch
- update to 1.2.5
*) Feature: the "optional_no_ca" parameter of the "ssl_verify_client"
directive.
*) Feature: the $bytes_sent, $connection, and $connection_requests
variables can now be used not only in the "log_format" directive.
*) Feature: resolver now randomly rotates addresses returned from cache.
*) Feature: the "auto" parameter of the "worker_processes" directive.
*) Bugfix: "cache file ... has md5 collision" alert.
*) Bugfix: OpenSSL 0.9.7 compatibility.
-------------------------------------------------------------------
Wed Oct 24 08:14:06 UTC 2012 - suse@ammler.ch
- reenable passenger (required by webyast, was silently disabled)
- /var/log/nginx/ should belong to root (rpmlint issue)
- Recommends: logrotate (rpmlint issue)
- no need to keep default configs
- change FSF from postal to url address (rpmlint issue)
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Oct 11 14:53:37 UTC 2012 - suse@ammler.ch Thu Oct 11 14:53:37 UTC 2012 - suse@ammler.ch

View File

@ -13,9 +13,7 @@
# Lesser General Public License for more details. # Lesser General Public License for more details.
# #
# You should have received a copy of the GNU Lesser General Public # You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software # License along with this library; if not, see <http://www.gnu.org/licenses/>.
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307,
# USA.
# #
# /etc/init.d/nginx # /etc/init.d/nginx
# and its symbolic link # and its symbolic link

3
nginx.rpmlintrc Normal file
View File

@ -0,0 +1,3 @@
# 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")

View File

@ -1,14 +1,13 @@
[Unit] [Unit]
Description=The nginx HTTP and reverse proxy server Description=The nginx HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target After=network.target remote-fs.target nss-lookup.target
[Service] [Service]
Type=forking
PIDFile=/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx ExecStart=/usr/sbin/nginx -g "daemon off;"
ExecReload=/bin/kill -s HUP $MAINPID ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install] [Install]
WantedBy=multi-user.target WantedBy=multi-user.target

View File

@ -1,7 +1,7 @@
# #
# spec file for package nginx-1.0 # spec file for package nginx
# #
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. # Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -15,14 +15,15 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/ # Please submit bugfixes or comments via http://bugs.opensuse.org/
# #
Name: nginx Name: nginx
Version: 1.2.4 Version: 1.4.4
Release: 0 Release: 0
# #
%define pkg_name nginx %define pkg_name nginx
# #
%define ngx_prefix %{_prefix} %define ngx_prefix %{_prefix}
%define ngx_sbindir %{_sbindir}/nginx %define ngx_sbin_path %{_sbindir}/nginx
%define ngx_conf_dir %{_sysconfdir}/nginx %define ngx_conf_dir %{_sysconfdir}/nginx
%define ngx_conf_path %{ngx_conf_dir}/nginx.conf %define ngx_conf_path %{ngx_conf_dir}/nginx.conf
%define ngx_log_dir /var/log/nginx %define ngx_log_dir /var/log/nginx
@ -37,22 +38,21 @@ Release: 0
%define ngx_tmp_scgi %{ngx_home}/scgi/ %define ngx_tmp_scgi %{ngx_home}/scgi/
%define ngx_tmp_uwsgi %{ngx_home}/uwsgi/ %define ngx_tmp_uwsgi %{ngx_home}/uwsgi/
%define ngx_user_group nginx %define ngx_user_group nginx
%define with_cpp_test 0 %define with_cpp_test 0
%define with_google_perftools 0 %define with_google_perftools 0
%if 0%{?suse_version} >= 1110 %if 0%{?suse_version} >= 1110
%define with_passenger 0
%define with_libatomic 1 %define with_libatomic 1
%endif %endif
%if 0%{?suse_version} >= 1220
# passenger is required by webyast
%define with_passenger 1
%endif
# #
Group: Productivity/Networking/Web/Proxy
License: BSD-2-Clause
# #
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{?with_cpp_test}
BuildRequires: gcc-c++
%endif
BuildRequires: gd-devel
BuildRequires: GeoIP-devel BuildRequires: GeoIP-devel
BuildRequires: gcc-c++
BuildRequires: gd-devel
%if 0%{?with_google_perftools} %if 0%{?with_google_perftools}
BuildRequires: google-perftools-devel BuildRequires: google-perftools-devel
%endif %endif
@ -65,23 +65,23 @@ BuildRequires: pcre-devel
BuildRequires: pkgconfig BuildRequires: pkgconfig
BuildRequires: zlib-devel BuildRequires: zlib-devel
%if 0%{?with_passenger} %if 0%{?with_passenger}
BuildRequires: ruby BuildRequires: curl-devel
BuildRequires: ruby-devel
BuildRequires: rubygem-passenger
BuildRequires: rubygem-passenger-devel-static BuildRequires: rubygem-passenger-devel-static
# workaround for obs scheduler:
BuildRequires: rubygem-rack-1_1
Recommends: packageand(rubygem-passenger:rubygem-passenger-nginx) Recommends: packageand(rubygem-passenger:rubygem-passenger-nginx)
%endif %endif
%if 0%{?suse_version} >= 1210 %if 0%{?suse_version} >= 1210
BuildRequires: systemd BuildRequires: systemd
%{?systemd_requires} %{?systemd_requires}
%define has_systemd 1 %define has_systemd 1
%endif %endif
Recommends: logrotate
PreReq: %fillup_prereq PreReq: %fillup_prereq
PreReq: %insserv_prereq PreReq: %insserv_prereq
PreReq: pwdutils PreReq: pwdutils
Provides: nginx = %{version}
# #
Conflicts: nginx-0.5 nginx-0.6 nginx-0.7 nginx-0.8 nginx-0.9 nginx-1.0 nginx-1.2 nginx-1.3 nginx-dev Conflicts: nginx-0.5 nginx-0.6 nginx-0.7 nginx-0.8 nginx-0.9 nginx-1.0 nginx-1.2 nginx-1.3
%requires_eq perl %requires_eq perl
# #
Url: http://nginx.net/ Url: http://nginx.net/
@ -99,7 +99,23 @@ Patch3: nginx-1.2.4-perl_vendor_install.patch
Patch4: nginx-1.0.4_default_config.patch Patch4: nginx-1.0.4_default_config.patch
# PATCH for fixing docs/html path # PATCH for fixing docs/html path
Patch5: nginx-1.0.15_docs.patch Patch5: nginx-1.0.15_docs.patch
# PATCH-FIX-UPSTREAM nginx-aio.patch fix support for Linux AIO
Patch6: nginx-aio.patch
%if 0%{?suse_version} > 1310
Patch7: nginx-1.4.4-passenger-4.0.33_fix.patch
%else
%if 0%{?suse_version} == 1310
Patch7: nginx-1.4.2-passenger_fix.patch
%else
Patch7: nginx-1.4.4-passenger-3.0.12_fix.patch
%endif
%endif
Summary: A HTTP server and IMAP/POP3 proxy server Summary: A HTTP server and IMAP/POP3 proxy server
License: BSD-2-Clause
Group: Productivity/Networking/Web/Proxy
Provides: http_daemon
Provides: httpd
%description %description
nginx [engine x] is a HTTP server and IMAP/POP3 proxy server written by Igor Sysoev. nginx [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. It has been running on many heavily loaded Russian sites for more than two years.
@ -115,16 +131,25 @@ Author:
%patch3 %patch3
%patch4 %patch4
%patch5 %patch5
%patch6 -p1
perl -pi -e 's|\r\n|\n|g' contrib/geo2nginx.pl perl -pi -e 's|\r\n|\n|g' contrib/geo2nginx.pl
%build
%if 0%{?with_passenger} %if 0%{?with_passenger}
ln -s %{_libdir}/ruby/gems/%{rb_ver}/gems/passenger-* passenger cp -a %{_libdir}/ruby/gems/%{rb_ver}/gems/passenger-* passenger
%if 0%{suse_version} < 1310
if [[ -f "passenger/ext/common/libpassenger_common.a" ]] || \
[[ -f "passenger/ext/common/libboost_oxt.a" ]]; then
rm -r passenger/ext/common/libboost_oxt* passenger/ext/common/libpassenger_common*
fi
%endif %endif
%patch7
%endif
%build
./configure \ ./configure \
--prefix=%{ngx_prefix}/ \ --prefix=%{ngx_prefix}/ \
--sbin-path=%{ngx_sbindir} \ --sbin-path=%{ngx_sbin_path} \
--conf-path=%{ngx_conf_path} \ --conf-path=%{ngx_conf_path} \
--error-log-path=%{ngx_error_log} \ --error-log-path=%{ngx_error_log} \
--http-log-path=%{ngx_access_log} \ --http-log-path=%{ngx_access_log} \
@ -136,13 +161,16 @@ ln -s %{_libdir}/ruby/gems/%{rb_ver}/gems/passenger-* passenger
--http-uwsgi-temp-path=%{ngx_tmp_uwsgi} \ --http-uwsgi-temp-path=%{ngx_tmp_uwsgi} \
--http-scgi-temp-path=%{ngx_tmp_scgi} \ --http-scgi-temp-path=%{ngx_tmp_scgi} \
--user=nginx --group=nginx \ --user=nginx --group=nginx \
--without-select_module \ --without-select_module \
--without-poll_module \ --without-poll_module \
--with-ipv6 \ --with-ipv6 \
%if 0%{?suse_version} > 1110 %if 0%{?suse_version} > 1110
--with-file-aio \ --with-file-aio \
%endif %endif
--with-http_ssl_module \ --with-http_ssl_module \
%if 0%{suse_version} > 1220
--with-http_spdy_module \
%endif
--with-http_realip_module \ --with-http_realip_module \
--with-http_addition_module \ --with-http_addition_module \
--with-http_xslt_module \ --with-http_xslt_module \
@ -151,6 +179,7 @@ ln -s %{_libdir}/ruby/gems/%{rb_ver}/gems/passenger-* passenger
--with-http_sub_module \ --with-http_sub_module \
--with-http_dav_module \ --with-http_dav_module \
--with-http_flv_module \ --with-http_flv_module \
--with-http_mp4_module \
--with-http_gzip_static_module \ --with-http_gzip_static_module \
--with-http_random_index_module \ --with-http_random_index_module \
--with-http_secure_link_module \ --with-http_secure_link_module \
@ -176,14 +205,15 @@ ln -s %{_libdir}/ruby/gems/%{rb_ver}/gems/passenger-* passenger
--with-md5=/usr \ --with-md5=/usr \
--with-sha1=/usr \ --with-sha1=/usr \
%if 0%{?suse_version} > 1000 || 0%{?fedora_version} > 4 || 0%{?mandriva_version} > 2006 %if 0%{?suse_version} > 1000 || 0%{?fedora_version} > 4 || 0%{?mandriva_version} > 2006
--with-cc-opt="%{optflags} -D_GNU_SOURCE -std=gnu99 -fstack-protector" --with-cc-opt="%{optflags} -fPIE -D_GNU_SOURCE -std=gnu99 -fstack-protector" \
--with-ld-opt="-Wl,-z,relro,-z,now -pie"
%else %else
--with-cc-opt="%{optflags}" --with-cc-opt="%{optflags}"
%endif %endif
%{__make} make %{?_smp_mflags}
%install %install
%makeinstall make install DESTDIR="%buildroot"
%perl_process_packlist %perl_process_packlist
# #
%{__install} -d -m 0750 %{buildroot}%{ngx_home}/{,tmp,proxy,fastcgi,scgi,uwsgi} %{__install} -d -m 0750 %{buildroot}%{ngx_home}/{,tmp,proxy,fastcgi,scgi,uwsgi}
@ -221,9 +251,6 @@ ln -s %{_libdir}/ruby/gems/%{rb_ver}/gems/passenger-* passenger
%service_del_postun nginx.service %service_del_postun nginx.service
%endif %endif
%clean
%{__rm} -rf %{buildroot}
%pre %pre
/usr/sbin/groupadd -r %{ngx_user_group} &>/dev/null ||: /usr/sbin/groupadd -r %{ngx_user_group} &>/dev/null ||:
/usr/sbin/useradd -g %{ngx_user_group} -s /bin/false -r -c "user for %{ngx_user_group}" -d %{ngx_home} %{ngx_user_group} &>/dev/null ||: /usr/sbin/useradd -g %{ngx_user_group} -s /bin/false -r -c "user for %{ngx_user_group}" -d %{ngx_home} %{ngx_user_group} &>/dev/null ||:
@ -238,21 +265,21 @@ ln -s %{_libdir}/ruby/gems/%{rb_ver}/gems/passenger-* passenger
%config(noreplace) %{ngx_conf_dir}/koi-utf %config(noreplace) %{ngx_conf_dir}/koi-utf
%config(noreplace) %{ngx_conf_dir}/koi-win %config(noreplace) %{ngx_conf_dir}/koi-win
%config(noreplace) %{ngx_conf_dir}/fastcgi_params %config(noreplace) %{ngx_conf_dir}/fastcgi_params
%config(noreplace) %{ngx_conf_dir}/fastcgi_params.default %config %{ngx_conf_dir}/fastcgi_params.default
%config(noreplace) %{ngx_conf_dir}/mime.types %config(noreplace) %{ngx_conf_dir}/mime.types
%config(noreplace) %{ngx_conf_dir}/mime.types.default %config %{ngx_conf_dir}/mime.types.default
%config(noreplace) %{ngx_conf_dir}/nginx.conf %config(noreplace) %{ngx_conf_dir}/nginx.conf
%config(noreplace) %{ngx_conf_dir}/nginx.conf.default %config %{ngx_conf_dir}/nginx.conf.default
%config(noreplace) %{ngx_conf_dir}/fastcgi.conf %config(noreplace) %{ngx_conf_dir}/fastcgi.conf
%config(noreplace) %{ngx_conf_dir}/fastcgi.conf.default %config %{ngx_conf_dir}/fastcgi.conf.default
%config(noreplace) %{ngx_conf_dir}/win-utf %config(noreplace) %{ngx_conf_dir}/win-utf
%config(noreplace) %{ngx_conf_dir}/scgi_params %config(noreplace) %{ngx_conf_dir}/scgi_params
%config(noreplace) %{ngx_conf_dir}/scgi_params.default %config %{ngx_conf_dir}/scgi_params.default
%config(noreplace) %{ngx_conf_dir}/uwsgi_params %config(noreplace) %{ngx_conf_dir}/uwsgi_params
%config(noreplace) %{ngx_conf_dir}/uwsgi_params.default %config %{ngx_conf_dir}/uwsgi_params.default
%{perl_vendorarch}/auto/nginx/ %{perl_vendorarch}/auto/nginx/
%{perl_vendorarch}/nginx.pm %{perl_vendorarch}/nginx.pm
%{ngx_sbindir} %{ngx_sbin_path}
%{_mandir}/man3/nginx.3pm* %{_mandir}/man3/nginx.3pm*
/srv/www/htdocs/50x.html /srv/www/htdocs/50x.html
%if 0%{?suse_version} && 0%{?suse_version} < 1140 %if 0%{?suse_version} && 0%{?suse_version} < 1140