packages: apache-mod_rails/apache-mod_rails.spec, apache-mod_rails/apache-m...

baggins baggins at pld-linux.org
Sat Dec 4 20:56:57 CET 2010


Author: baggins                      Date: Sat Dec  4 19:56:57 2010 GMT
Module: packages                      Tag: HEAD
---- Log message:
- fix problems with apache graceful restarts, see
  http://code.google.com/p/phusion-passenger/issues/detail?id=569

---- Files affected:
packages/apache-mod_rails:
   apache-mod_rails.spec (1.13 -> 1.14) , apache-mod_rails-graceful.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/apache-mod_rails/apache-mod_rails.spec
diff -u packages/apache-mod_rails/apache-mod_rails.spec:1.13 packages/apache-mod_rails/apache-mod_rails.spec:1.14
--- packages/apache-mod_rails/apache-mod_rails.spec:1.13	Thu Dec  2 20:00:58 2010
+++ packages/apache-mod_rails/apache-mod_rails.spec	Sat Dec  4 20:56:52 2010
@@ -15,13 +15,14 @@
 Summary:	A module to bridge Ruby on Rails to Apache
 Name:		apache-mod_rails
 Version:	3.0.0
-Release:	1
+Release:	1.1
 License:	Apache
 Group:		Networking/Daemons/HTTP
 Source0:	http://rubygems.org/downloads/passenger-%{version}.gem
 # Source0-md5:	1135431e5e655fb1e1173757827b0d9d
 Source1:	%{name}.conf
-Patch1:		%{name}-nogems.patch
+Patch0:		%{name}-nogems.patch
+Patch1:		%{name}-graceful.patch
 URL:		http://www.modrails.com
 BuildRequires:	apache-base >= 2.0.55-1
 BuildRequires:	apache-devel >= 2.0.55-1
@@ -72,6 +73,7 @@
 %setup -q -c
 %{__tar} xf %{SOURCE0} -O data.tar.gz | %{__tar} xz
 find -newer README -o -print | xargs touch --reference %{SOURCE0}
+%patch0 -p1
 %patch1 -p1
 
 # TODO : ugly method - but works
@@ -171,6 +173,10 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.14  2010/12/04 19:56:52  baggins
+- fix problems with apache graceful restarts, see
+  http://code.google.com/p/phusion-passenger/issues/detail?id=569
+
 Revision 1.13  2010/12/02 19:00:58  baggins
 - fix BR
 - no need to separately build docs

================================================================
Index: packages/apache-mod_rails/apache-mod_rails-graceful.patch
diff -u /dev/null packages/apache-mod_rails/apache-mod_rails-graceful.patch:1.1
--- /dev/null	Sat Dec  4 20:56:58 2010
+++ packages/apache-mod_rails/apache-mod_rails-graceful.patch	Sat Dec  4 20:56:52 2010
@@ -0,0 +1,36 @@
+commit b83292413d860dec09ff14bf329e47a67ba30466
+Author: Hongli Lai <hongli at phusion.nl>
+Date:   Fri Nov 12 11:39:44 2010 +0100
+
+    Apparently we can't always rely on 'struct dirent'->d_type for checking whether a directory entry is a directory, so fallback to normal stat() check in case it fails.
+
+diff --git a/ext/common/ServerInstanceDir.h b/ext/common/ServerInstanceDir.h
+index b21f68c..64a17a8 100644
+--- a/ext/common/ServerInstanceDir.h
++++ b/ext/common/ServerInstanceDir.h
+@@ -221,14 +221,18 @@ private:
+ 	}
+ 	
+ 	bool isDirectory(const string &dir, struct dirent *entry) const {
+-		#ifdef __sun__
+-			string path = dir;
+-			path.append("/");
+-			path.append(entry->d_name);
+-			return getFileType(path) == FT_DIRECTORY;
+-		#else
+-			return entry->d_type == DT_DIR;
++		#ifdef DT_DIR
++			if (entry->d_type == DT_DIR) {
++				return true;
++			} else if (entry->d_type != DT_UNKNOWN) {
++				return false;
++			}
++			// If DT_UNKNOWN, use normal check.
+ 		#endif
++		string path = dir;
++		path.append("/");
++		path.append(entry->d_name);
++		return getFileType(path) == FT_DIRECTORY;
+ 	}
+ 	
+ public:
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/apache-mod_rails/apache-mod_rails.spec?r1=1.13&r2=1.14&f=u



More information about the pld-cvs-commit mailing list