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
@@ -171,7 +171,7 @@
@@ -168,7 +168,7 @@ esac
# stop on warning

View File

@ -1,6 +1,8 @@
--- auto/install
Index: auto/install
===================================================================
--- auto/install.orig
+++ 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"`' || \
mkdir -p '\$(DESTDIR)`dirname "$NGX_HTTP_LOG_PATH"`'

View File

@ -9,14 +9,3 @@
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
@@ -7,7 +7,7 @@
@@ -8,7 +8,7 @@ if [ $USE_PERL = YES ]; then
cat << END >> $NGX_MAKEFILE
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

View File

@ -13,9 +13,7 @@
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307,
# USA.
# License along with this library; if not, see <http://www.gnu.org/licenses/>.
#
# /etc/init.d/nginx
# 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]
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]
Type=forking
PIDFile=/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecStart=/usr/sbin/nginx -g "daemon off;"
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
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
# remain the property of their copyright owners, unless otherwise agreed
@ -15,14 +15,15 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: nginx
Version: 1.2.4
Version: 1.4.4
Release: 0
#
%define pkg_name nginx
#
%define ngx_prefix %{_prefix}
%define ngx_sbindir %{_sbindir}/nginx
%define ngx_sbin_path %{_sbindir}/nginx
%define ngx_conf_dir %{_sysconfdir}/nginx
%define ngx_conf_path %{ngx_conf_dir}/nginx.conf
%define ngx_log_dir /var/log/nginx
@ -37,22 +38,21 @@ Release: 0
%define ngx_tmp_scgi %{ngx_home}/scgi/
%define ngx_tmp_uwsgi %{ngx_home}/uwsgi/
%define ngx_user_group nginx
%define with_cpp_test 0
%define with_cpp_test 0
%define with_google_perftools 0
%if 0%{?suse_version} >= 1110
%define with_passenger 0
%define with_libatomic 1
%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
%if 0%{?with_cpp_test}
BuildRequires: gcc-c++
%endif
BuildRequires: gd-devel
BuildRequires: GeoIP-devel
BuildRequires: gcc-c++
BuildRequires: gd-devel
%if 0%{?with_google_perftools}
BuildRequires: google-perftools-devel
%endif
@ -65,23 +65,23 @@ BuildRequires: pcre-devel
BuildRequires: pkgconfig
BuildRequires: zlib-devel
%if 0%{?with_passenger}
BuildRequires: ruby
BuildRequires: curl-devel
BuildRequires: ruby-devel
BuildRequires: rubygem-passenger
BuildRequires: rubygem-passenger-devel-static
# workaround for obs scheduler:
BuildRequires: rubygem-rack-1_1
Recommends: packageand(rubygem-passenger:rubygem-passenger-nginx)
%endif
%if 0%{?suse_version} >= 1210
BuildRequires: systemd
BuildRequires: systemd
%{?systemd_requires}
%define has_systemd 1
%endif
Recommends: logrotate
PreReq: %fillup_prereq
PreReq: %insserv_prereq
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
#
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
# PATCH for fixing docs/html path
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
License: BSD-2-Clause
Group: Productivity/Networking/Web/Proxy
Provides: http_daemon
Provides: httpd
%description
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.
@ -115,16 +131,25 @@ Author:
%patch3
%patch4
%patch5
%patch6 -p1
perl -pi -e 's|\r\n|\n|g' contrib/geo2nginx.pl
%build
%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
%patch7
%endif
%build
./configure \
--prefix=%{ngx_prefix}/ \
--sbin-path=%{ngx_sbindir} \
--sbin-path=%{ngx_sbin_path} \
--conf-path=%{ngx_conf_path} \
--error-log-path=%{ngx_error_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-scgi-temp-path=%{ngx_tmp_scgi} \
--user=nginx --group=nginx \
--without-select_module \
--without-poll_module \
--without-select_module \
--without-poll_module \
--with-ipv6 \
%if 0%{?suse_version} > 1110
--with-file-aio \
%endif
--with-http_ssl_module \
%if 0%{suse_version} > 1220
--with-http_spdy_module \
%endif
--with-http_realip_module \
--with-http_addition_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_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gzip_static_module \
--with-http_random_index_module \
--with-http_secure_link_module \
@ -176,14 +205,15 @@ ln -s %{_libdir}/ruby/gems/%{rb_ver}/gems/passenger-* passenger
--with-md5=/usr \
--with-sha1=/usr \
%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
--with-cc-opt="%{optflags}"
%endif
%{__make}
make %{?_smp_mflags}
%install
%makeinstall
make install DESTDIR="%buildroot"
%perl_process_packlist
#
%{__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
%endif
%clean
%{__rm} -rf %{buildroot}
%pre
/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 ||:
@ -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-win
%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.default
%config %{ngx_conf_dir}/mime.types.default
%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.default
%config %{ngx_conf_dir}/fastcgi.conf.default
%config(noreplace) %{ngx_conf_dir}/win-utf
%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.default
%config %{ngx_conf_dir}/uwsgi_params.default
%{perl_vendorarch}/auto/nginx/
%{perl_vendorarch}/nginx.pm
%{ngx_sbindir}
%{ngx_sbin_path}
%{_mandir}/man3/nginx.3pm*
/srv/www/htdocs/50x.html
%if 0%{?suse_version} && 0%{?suse_version} < 1140