[arch-commits] Commit in fcgi/trunk (6 files)

Pierre Schmitz pierre at archlinux.org
Sat May 16 11:40:18 UTC 2015


    Date: Saturday, May 16, 2015 @ 13:40:17
  Author: pierre
Revision: 239444

Fix build and FS#44562

Added:
  fcgi/trunk/fcgi-2.4.0-Makefile.am-CPPFLAGS.patch
  fcgi/trunk/fcgi-2.4.0-configure.in.patch
  fcgi/trunk/fcgi-2.4.0-gcc44_fixes.patch
  fcgi/trunk/fcgi-2.4.0-poll.patch
Modified:
  fcgi/trunk/PKGBUILD
Deleted:
  fcgi/trunk/gcc44-fix-include.patch

---------------------------------------+
 PKGBUILD                              |   23 ++++++--
 fcgi-2.4.0-Makefile.am-CPPFLAGS.patch |   36 +++++++++++++
 fcgi-2.4.0-configure.in.patch         |   19 +++++++
 fcgi-2.4.0-gcc44_fixes.patch          |   11 ++++
 fcgi-2.4.0-poll.patch                 |   86 ++++++++++++++++++++++++++++++++
 gcc44-fix-include.patch               |   17 ------
 6 files changed, 169 insertions(+), 23 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2015-05-16 11:39:34 UTC (rev 239443)
+++ PKGBUILD	2015-05-16 11:40:17 UTC (rev 239444)
@@ -5,7 +5,7 @@
 
 pkgname=fcgi
 pkgver=2.4.0
-pkgrel=9
+pkgrel=10
 depends=('gcc-libs')
 pkgdesc="FASTCgi (fcgi) is a language independent, high performant extension to CGI"
 arch=('i686' 'x86_64')
@@ -13,17 +13,28 @@
 options=('!makeflags')
 url="http://www.fastcgi.com"
 source=("http://www.fastcgi.com/dist/${pkgname}-${pkgver}.tar.gz"
-        'gcc44-fix-include.patch')
+        'fcgi-2.4.0-configure.in.patch' 'fcgi-2.4.0-Makefile.am-CPPFLAGS.patch'
+        'fcgi-2.4.0-gcc44_fixes.patch' 'fcgi-2.4.0-poll.patch')
 md5sums=('d15060a813b91383a9f3c66faf84867e'
-         'a8028462163755f3ce457a5c641f237b')
+         '7e901968aa90168b6cdfc8323ca59868'
+         '8c07165aed574b853326ae25fe9af291'
+         '2e72c834db21da6af3f77dd2b36727a2'
+         '02900e5f2400ed2982db1e02c4a17aa8')
 
 prepare() {
   cd "${srcdir}/${pkgname}-${pkgver}"
-  patch -p1 -i "${srcdir}/gcc44-fix-include.patch"
-  libtoolize --force
+  # Patches by Fedora:
+  # http://pkgs.fedoraproject.org/cgit/fcgi.git/tree/
+  patch -p1 -i "${srcdir}/fcgi-2.4.0-configure.in.patch"
+  patch -p1 -i "${srcdir}/fcgi-2.4.0-Makefile.am-CPPFLAGS.patch"
+  patch -p1 -i "${srcdir}/fcgi-2.4.0-gcc44_fixes.patch"
+  patch -p1 -i "${srcdir}/fcgi-2.4.0-poll.patch"
+
+  libtoolize --automake --copy --force
   aclocal
+  autoheader
+  automake --add-missing --force-missing --copy
   autoconf
-  automake --foreign
 }
 
 build() {

Added: fcgi-2.4.0-Makefile.am-CPPFLAGS.patch
===================================================================
--- fcgi-2.4.0-Makefile.am-CPPFLAGS.patch	                        (rev 0)
+++ fcgi-2.4.0-Makefile.am-CPPFLAGS.patch	2015-05-16 11:40:17 UTC (rev 239444)
@@ -0,0 +1,36 @@
+diff -ru fcgi-2.4.0-orig/cgi-fcgi/Makefile.am fcgi-2.4.0/cgi-fcgi/Makefile.am
+--- fcgi-2.4.0-orig/cgi-fcgi/Makefile.am	2007-03-05 18:09:31.000000000 +0100
++++ fcgi-2.4.0/cgi-fcgi/Makefile.am	2007-03-05 19:38:14.000000000 +0100
+@@ -2,7 +2,7 @@
+ bin_PROGRAMS     = cgi-fcgi
+ 
+ INCLUDEDIR  = ../include
+-CPPFLAGS    = @CPPFLAGS@ -I$(top_srcdir)/include
++AM_CPPFLAGS    = @CPPFLAGS@ -I$(top_srcdir)/include
+ 
+ INCLUDE_FILES   = $(INCLUDEDIR)/fastcgi.h  \
+ 		  $(INCLUDEDIR)/fcgiapp.h  \
+diff -ru fcgi-2.4.0-orig/examples/Makefile.am fcgi-2.4.0/examples/Makefile.am
+--- fcgi-2.4.0-orig/examples/Makefile.am	2007-03-05 18:09:31.000000000 +0100
++++ fcgi-2.4.0/examples/Makefile.am	2007-03-05 19:38:34.000000000 +0100
+@@ -11,7 +11,7 @@
+ EXTRA_PROGRAMS = threaded echo-cpp
+ 
+ INCLUDEDIR  = ../include
+-CPPFLAGS    = @CPPFLAGS@ -I$(top_srcdir)/include
++AM_CPPFLAGS    = @CPPFLAGS@ -I$(top_srcdir)/include
+ 
+ INCLUDE_FILES   = $(INCLUDEDIR)/fastcgi.h    \
+                   $(INCLUDEDIR)/fcgiapp.h    \
+diff -ru fcgi-2.4.0-orig/libfcgi/Makefile.am fcgi-2.4.0/libfcgi/Makefile.am
+--- fcgi-2.4.0-orig/libfcgi/Makefile.am	2007-03-05 18:09:31.000000000 +0100
++++ fcgi-2.4.0/libfcgi/Makefile.am	2007-03-05 19:38:03.000000000 +0100
+@@ -1,7 +1,7 @@
+ # $Id: fcgi-2.4.0-Makefile.am-CPPFLAGS.patch,v 1.1 2007/06/28 23:15:26 till Exp $
+ 
+ INCLUDEDIR  = ../include
+-CPPFLAGS    = @CPPFLAGS@ -I$(top_srcdir)/include
++AM_CPPFLAGS    = @CPPFLAGS@ -I$(top_srcdir)/include
+ 
+ INCLUDE_FILES = $(INCLUDEDIR)/fastcgi.h     \
+                 $(INCLUDEDIR)/fcgiapp.h     \

Added: fcgi-2.4.0-configure.in.patch
===================================================================
--- fcgi-2.4.0-configure.in.patch	                        (rev 0)
+++ fcgi-2.4.0-configure.in.patch	2015-05-16 11:40:17 UTC (rev 239444)
@@ -0,0 +1,19 @@
+diff -ru fcgi-2.4.0-orig/configure.in fcgi-2.4.0/configure.in
+--- fcgi-2.4.0-orig/configure.in	2003-01-19 18:19:41.000000000 +0100
++++ fcgi-2.4.0/configure.in	2007-03-05 20:48:14.000000000 +0100
+@@ -4,11 +4,13 @@
+ dnl     generate the file "configure", which is run during the build
+ dnl     to configure the system for the local environment.
+ 
+-AC_INIT
+-AM_INIT_AUTOMAKE(fcgi, 2.4.0)
++AC_INIT(fcgi, 2.4.0)
++AM_INIT_AUTOMAKE(1.9 foreign)
+ 
+ AM_CONFIG_HEADER(fcgi_config.h)
+ 
++AM_MAINTAINER_MODE
++
+ AC_PROG_CC
+ AC_PROG_CPP 
+ AC_PROG_INSTALL 

Added: fcgi-2.4.0-gcc44_fixes.patch
===================================================================
--- fcgi-2.4.0-gcc44_fixes.patch	                        (rev 0)
+++ fcgi-2.4.0-gcc44_fixes.patch	2015-05-16 11:40:17 UTC (rev 239444)
@@ -0,0 +1,11 @@
+diff -up fcgi-2.4.0/libfcgi/fcgio.cpp.gcc44_fixes fcgi-2.4.0/libfcgi/fcgio.cpp
+--- fcgi-2.4.0/libfcgi/fcgio.cpp.gcc44_fixes	2002-02-24 21:12:22.000000000 +0100
++++ fcgi-2.4.0/libfcgi/fcgio.cpp	2009-02-15 11:35:18.000000000 +0100
+@@ -23,6 +23,7 @@
+ #endif
+ 
+ #include <limits.h>
++#include <cstdio>
+ #include "fcgio.h"
+ 
+ using std::streambuf;

Added: fcgi-2.4.0-poll.patch
===================================================================
--- fcgi-2.4.0-poll.patch	                        (rev 0)
+++ fcgi-2.4.0-poll.patch	2015-05-16 11:40:17 UTC (rev 239444)
@@ -0,0 +1,86 @@
+Author: Anton Kortunov <toshic.toshic at gmail.com>
+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/libfcgi/+bug/933417
+Description: use poll in os_unix.c instead of select to avoid problem with > 1024 connections
+Forwarded: yes, fastcgi-developers at mailman.fastcgi.com
+
+diff --git a/libfcgi/os_unix.c b/libfcgi/os_unix.c
+index 73e6a7f..af35aee 100755
+--- a/libfcgi/os_unix.c
++++ b/libfcgi/os_unix.c
+@@ -42,6 +42,7 @@ static const char rcsid[] = "$Id: os_unix.c,v 1.37 2002/03/05 19:14:49 robs Exp
+ #include <sys/time.h>
+ #include <sys/un.h>
+ #include <signal.h>
++#include <poll.h>
+ 
+ #ifdef HAVE_NETDB_H
+ #include <netdb.h>
+@@ -103,6 +104,9 @@ static int volatile maxFd = -1;
+ static int shutdownPending = FALSE;
+ static int shutdownNow = FALSE;
+ 
++static int libfcgiOsClosePollTimeout = 2000;
++static int libfcgiIsAfUnixKeeperPollTimeout = 2000;
++
+ void OS_ShutdownPending()
+ {
+     shutdownPending = TRUE;
+@@ -168,6 +172,16 @@ int OS_LibInit(int stdioFds[3])
+     if(libInitialized)
+         return 0;
+ 
++    char *libfcgiOsClosePollTimeoutStr = getenv( "LIBFCGI_OS_CLOSE_POLL_TIMEOUT" );
++    if(libfcgiOsClosePollTimeoutStr) {
++        libfcgiOsClosePollTimeout = atoi(libfcgiOsClosePollTimeoutStr);
++    }
++
++    char *libfcgiIsAfUnixKeeperPollTimeoutStr = getenv( "LIBFCGI_IS_AF_UNIX_KEEPER_POLL_TIMEOUT" );
++    if(libfcgiIsAfUnixKeeperPollTimeoutStr) {
++        libfcgiIsAfUnixKeeperPollTimeout = atoi(libfcgiIsAfUnixKeeperPollTimeoutStr);
++    }
++
+     asyncIoTable = (AioInfo *)malloc(asyncIoTableSize * sizeof(AioInfo));
+     if(asyncIoTable == NULL) {
+         errno = ENOMEM;
+@@ -755,19 +769,16 @@ int OS_Close(int fd)
+ 
+     if (shutdown(fd, 1) == 0)
+     {
+-        struct timeval tv;
+-        fd_set rfds;
++        struct pollfd pfd;
+         int rv;
+         char trash[1024];
+ 
+-        FD_ZERO(&rfds);
++        pfd.fd = fd;
++        pfd.events = POLLIN;
+ 
+         do 
+         {
+-            FD_SET(fd, &rfds);
+-            tv.tv_sec = 2;
+-            tv.tv_usec = 0;
+-            rv = select(fd + 1, &rfds, NULL, NULL, &tv);
++            rv = poll(&pfd, 1, libfcgiOsClosePollTimeout);
+         }
+         while (rv > 0 && read(fd, trash, sizeof(trash)) > 0);
+     }
+@@ -1116,13 +1127,11 @@ static int is_reasonable_accept_errno (const int error)
+  */
+ static int is_af_unix_keeper(const int fd)
+ {
+-    struct timeval tval = { READABLE_UNIX_FD_DROP_DEAD_TIMEVAL };
+-    fd_set read_fds;
+-
+-    FD_ZERO(&read_fds);
+-    FD_SET(fd, &read_fds);
++    struct pollfd pfd;
++    pfd.fd = fd;
++    pfd.events = POLLIN;
+ 
+-    return select(fd + 1, &read_fds, NULL, NULL, &tval) >= 0 && FD_ISSET(fd, &read_fds);
++    return poll(&pfd, 1, libfcgiIsAfUnixKeeperPollTimeout) >= 0 && (pfd.revents & POLLIN);
+ }
+ 
+ /*

Deleted: gcc44-fix-include.patch
===================================================================
--- gcc44-fix-include.patch	2015-05-16 11:39:34 UTC (rev 239443)
+++ gcc44-fix-include.patch	2015-05-16 11:40:17 UTC (rev 239444)
@@ -1,17 +0,0 @@
-Author: Tatsuki Sugiura <sugi at nemui.org>
-Origin: vendor, http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=504963
-Bug-Debian: http://bugs.debian.org/504963
-Forwarded: no
-Last-Update: 2010-02-08
-
-Index: libfcgi/libfcgi/fcgio.cpp
-===================================================================
---- libfcgi.orig/libfcgi/fcgio.cpp  2010-01-23 19:13:53.000000000 +0900
-+++ libfcgi/libfcgi/fcgio.cpp 2010-01-23 19:13:55.000000000 +0900
-@@ -22,6 +22,7 @@
- #define DLLAPI  __declspec(dllexport)
- #endif
- 
-+#include <cstdio>
- #include <limits.h>
- #include "fcgio.h"



More information about the arch-commits mailing list