Add option handling, bump version number to 0.1.5, add man-page
This commit is contained in:
parent
b094a9ad16
commit
adaf8af1ff
@ -22,7 +22,7 @@ MACRO(ADD_TARGET_PROPERTIES _target _name _properties)
|
|||||||
ENDMACRO(ADD_TARGET_PROPERTIES)
|
ENDMACRO(ADD_TARGET_PROPERTIES)
|
||||||
|
|
||||||
PROJECT(fcgi-cgi)
|
PROJECT(fcgi-cgi)
|
||||||
SET(PACKAGE_VERSION 0.1.0)
|
SET(PACKAGE_VERSION 0.1.5)
|
||||||
IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
||||||
SET(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel." FORCE)
|
SET(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel." FORCE)
|
||||||
ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
|
||||||
@ -71,3 +71,11 @@ ADD_TARGET_PROPERTIES(fcgi-cgi LINK_FLAGS "${GLIB2_LDFLAGS}")
|
|||||||
ADD_TARGET_PROPERTIES(fcgi-cgi COMPILE_FLAGS "${GLIB2_CFLAGS_OTHER}")
|
ADD_TARGET_PROPERTIES(fcgi-cgi COMPILE_FLAGS "${GLIB2_CFLAGS_OTHER}")
|
||||||
|
|
||||||
INSTALL(TARGETS fcgi-cgi DESTINATION bin)
|
INSTALL(TARGETS fcgi-cgi DESTINATION bin)
|
||||||
|
|
||||||
|
# man page
|
||||||
|
|
||||||
|
SET(CMAKE_MAN_DIR "share/man" CACHE STRING
|
||||||
|
"Install location for man pages (relative to prefix).")
|
||||||
|
MARK_AS_ADVANCED(CMAKE_MAN_DIR)
|
||||||
|
|
||||||
|
INSTALL(FILES fcgi-cgi.1 DESTINATION ${CMAKE_MAN_DIR}/man1)
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
# fcgi-cgi.1
|
EXTRA_DIST=autogen.sh CMakeLists.txt config.h.cmake fcgi-cgi.1
|
||||||
EXTRA_DIST=autogen.sh CMakeLists.txt config.h.cmake
|
man1_MANS=fcgi-cgi.1
|
||||||
#man1_MANS=fcgi-cgi.1
|
|
||||||
|
|
||||||
AM_CFLAGS=$(GLIB_CFLAGS)
|
AM_CFLAGS=$(GLIB_CFLAGS)
|
||||||
fcgi_cgi_LDADD=$(GLIB_LIBS)
|
fcgi_cgi_LDADD=$(GLIB_LIBS)
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
# Process this file with autoconf to produce a configure script.
|
# Process this file with autoconf to produce a configure script.
|
||||||
|
|
||||||
AC_PREREQ([2.63])
|
AC_PREREQ([2.63])
|
||||||
AC_INIT([fcgi-cgi], [0.1.0], [lighttpd@stbuehler.de])
|
AC_INIT([fcgi-cgi], [0.1.5], [lighttpd@stbuehler.de])
|
||||||
AC_CONFIG_SRCDIR([fcgi-cgi.c])
|
AC_CONFIG_SRCDIR([fcgi-cgi.c])
|
||||||
AC_CONFIG_HEADERS([config.h])
|
AC_CONFIG_HEADERS([config.h])
|
||||||
|
|
||||||
|
33
fcgi-cgi.1
Normal file
33
fcgi-cgi.1
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
.TH fcgi-cgi 1 "May 7, 2010"
|
||||||
|
.
|
||||||
|
.SH NAME
|
||||||
|
.
|
||||||
|
fcgi-cgi \- a FastCGI application to run cgi applications
|
||||||
|
.
|
||||||
|
.SH OPTIONS
|
||||||
|
.
|
||||||
|
.TP 8
|
||||||
|
.B \-c <number>
|
||||||
|
Maximum number of connections (default 16)
|
||||||
|
.TP 8
|
||||||
|
.B \-v
|
||||||
|
Shows version information and exits
|
||||||
|
.
|
||||||
|
.SH DESCRIPTION
|
||||||
|
fcgi-cgi is a FastCGI application to run normal cgi applications. It doesn't
|
||||||
|
make CGI applications faster, but it allows you to run them on a different
|
||||||
|
host and with different user permissions (without the need for suexec).
|
||||||
|
.P
|
||||||
|
lighttpd2 won't have a mod_cgi, so you need this FastCGI wrapper to be
|
||||||
|
able to execute standard cgi applications like mailman and cgit.
|
||||||
|
.P
|
||||||
|
nginx recommends something similar, they implemented the wrapper in Perl:
|
||||||
|
http://wiki.nginx.org/NginxSimpleCGI
|
||||||
|
.P
|
||||||
|
For running you probably want spawn-fcgi (http://redmine.lighttpd.net/projects/spawn-fcgi)
|
||||||
|
.SH EXAMPLE
|
||||||
|
Example usage:
|
||||||
|
|
||||||
|
spawn-fcgi -n -s /tmp/fastcgi-cgi.sock -u www-default -U www-data -- /usr/bin/fcgi-cgi
|
||||||
|
.SH AUTHOR
|
||||||
|
fcgi-cgi was written by Stefan Bühler.
|
21
fcgi-cgi.c
21
fcgi-cgi.c
@ -23,6 +23,8 @@
|
|||||||
#define __STR(x) #x
|
#define __STR(x) #x
|
||||||
#define ERROR(...) g_printerr("fcgi-cgi.c:" G_STRINGIFY(__LINE__) ": " __VA_ARGS__)
|
#define ERROR(...) g_printerr("fcgi-cgi.c:" G_STRINGIFY(__LINE__) ": " __VA_ARGS__)
|
||||||
|
|
||||||
|
#define PACKAGE_DESC (PACKAGE_NAME " v" PACKAGE_VERSION " - forks and watches multiple instances of a program in the same environment")
|
||||||
|
|
||||||
struct fcgi_cgi_server;
|
struct fcgi_cgi_server;
|
||||||
typedef struct fcgi_cgi_server fcgi_cgi_server;
|
typedef struct fcgi_cgi_server fcgi_cgi_server;
|
||||||
|
|
||||||
@ -557,10 +559,25 @@ static const GOptionEntry entries[] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
int main(int argc, char **argv) {
|
int main(int argc, char **argv) {
|
||||||
|
GOptionContext *context;
|
||||||
|
GError *error = NULL;
|
||||||
struct ev_loop *loop;
|
struct ev_loop *loop;
|
||||||
fcgi_cgi_server* srv;
|
fcgi_cgi_server* srv;
|
||||||
UNUSED(argc);
|
|
||||||
UNUSED(argv);
|
context = g_option_context_new("<application> [app arguments]");
|
||||||
|
g_option_context_add_main_entries(context, entries, NULL);
|
||||||
|
g_option_context_set_summary(context, PACKAGE_DESC);
|
||||||
|
|
||||||
|
if (!g_option_context_parse (context, &argc, &argv, &error)) {
|
||||||
|
g_printerr("Option parsing failed: %s\n", error->message);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (opts.show_version) {
|
||||||
|
g_printerr(PACKAGE_DESC);
|
||||||
|
g_printerr("\nBuild-Date: " __DATE__ " " __TIME__ "\n");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
loop = ev_default_loop(0);
|
loop = ev_default_loop(0);
|
||||||
srv = fcgi_cgi_server_create(loop, 0, opts.maxconns);
|
srv = fcgi_cgi_server_create(loop, 0, opts.maxconns);
|
||||||
|
Loading…
Reference in New Issue
Block a user