Message ID | 1432916111-1122-2-git-send-email-thomas.claveirole@green-communications.fr |
---|---|
State | Accepted |
Headers | show |
Dear Thomas Claveirole, On Fri, 29 May 2015 18:15:11 +0200, Thomas Claveirole wrote: > Add package fcgiwrap from https://nginx.localdomain.pl/wiki/FcgiWrap > > fcgiwrap is a simple server for running CGI applications over > FastCGI. It hopes to provide clean CGI support to Nginx (and other web > servers that may need it). > > Signed-off-by: Thomas Claveirole <thomas.claveirole@green-communications.fr> > --- > package/Config.in | 1 + > .../fcgiwrap/0001-use-LIBS-from-configure.patch | 22 +++++++++++++++ > package/fcgiwrap/Config.in | 10 +++++++ > package/fcgiwrap/fcgiwrap.mk | 32 ++++++++++++++++++++++ > 4 files changed, 65 insertions(+) > create mode 100644 package/fcgiwrap/0001-use-LIBS-from-configure.patch > create mode 100644 package/fcgiwrap/Config.in > create mode 100644 package/fcgiwrap/fcgiwrap.mk Applied, thanks. Thomas
Thomas C, All, On 2015-05-29 18:15 +0200, Thomas Claveirole spake thusly: > Add package fcgiwrap from https://nginx.localdomain.pl/wiki/FcgiWrap > > fcgiwrap is a simple server for running CGI applications over > FastCGI. It hopes to provide clean CGI support to Nginx (and other web > servers that may need it). fcgiwrap fails to build because it does not find the systemd libraries: http://autobuild.buildroot.org/results/9b5/9b5e70e42e53e7752245f7c43bd01f208fcf76d0/build-end.log http://autobuild.buildroot.org/results/065/0656fde5005c7472e9e8ae8da32a6955ed5093cc/build-end.log That's because it is looking for the legacy systemd compat libraries, which have been removed in systemd 230: PKG_CHECK_MODULES(systemd, [libsystemd-daemon], Also, it seems the homepage referenced in the Config.in is no longer available. The git tree has not changed since April 2015. Care to have a look, please? Regards, Yann E. MORIN. > Signed-off-by: Thomas Claveirole <thomas.claveirole@green-communications.fr> > --- > package/Config.in | 1 + > .../fcgiwrap/0001-use-LIBS-from-configure.patch | 22 +++++++++++++++ > package/fcgiwrap/Config.in | 10 +++++++ > package/fcgiwrap/fcgiwrap.mk | 32 ++++++++++++++++++++++ > 4 files changed, 65 insertions(+) > create mode 100644 package/fcgiwrap/0001-use-LIBS-from-configure.patch > create mode 100644 package/fcgiwrap/Config.in > create mode 100644 package/fcgiwrap/fcgiwrap.mk > > diff --git a/package/Config.in b/package/Config.in > index e0c2e2a..188ff0d 100644 > --- a/package/Config.in > +++ b/package/Config.in > @@ -1168,6 +1168,7 @@ endif > source "package/ejabberd/Config.in" > source "package/ethtool/Config.in" > source "package/faifa/Config.in" > + source "package/fcgiwrap/Config.in" > source "package/fmc/Config.in" > source "package/foomatic-filters/Config.in" > source "package/fping/Config.in" > diff --git a/package/fcgiwrap/0001-use-LIBS-from-configure.patch b/package/fcgiwrap/0001-use-LIBS-from-configure.patch > new file mode 100644 > index 0000000..12563c4 > --- /dev/null > +++ b/package/fcgiwrap/0001-use-LIBS-from-configure.patch > @@ -0,0 +1,22 @@ > +Makefile.in: Use LIBS from configure rather than specifying -lfcgi manually. > + > +libfcgi needs libm and fcgiwrap does not use libtool or pkgconf to > +detect libfcgi, so we need to add -lm explicitely when using static > +libs. Buildroot does this by providing LIBS=-lm to configure when > +needed. However fcgiwrap does not use Automake and its Makefile.in > +ignores LIBS from configure. Fix it with this patch. > + > +Signed-off-by: Thomas Claveirole <thomas.claveirole@green-communications.fr> > + > +diff -ur a/Makefile.in b/Makefile.in > +--- a/Makefile.in 2013-02-03 14:25:17.000000000 +0100 > ++++ b/Makefile.in 2015-05-29 16:33:23.895280138 +0200 > +@@ -16,7 +16,7 @@ > + install -m 644 systemd/fcgiwrap.service $(DESTDIR)@systemdsystemunitdir@ > + endif > + > +-LDLIBS = -lfcgi @systemd_LIBS@ > ++LDLIBS = @LIBS@ @systemd_LIBS@ > + CFLAGS = @AM_CFLAGS@ > + > + fcgiwrap: fcgiwrap.c > diff --git a/package/fcgiwrap/Config.in b/package/fcgiwrap/Config.in > new file mode 100644 > index 0000000..c3a31fc > --- /dev/null > +++ b/package/fcgiwrap/Config.in > @@ -0,0 +1,10 @@ > +config BR2_PACKAGE_FCGIWRAP > + bool "fcgiwrap" > + depends on BR2_USE_MMU # libfcgi > + select BR2_PACKAGE_LIBFCGI > + help > + fcgiwrap is a simple server for running CGI applications > + over FastCGI. It hopes to provide clean CGI support to Nginx > + (and other web servers that may need it). > + > + https://nginx.localdomain.pl/wiki/FcgiWrap > diff --git a/package/fcgiwrap/fcgiwrap.mk b/package/fcgiwrap/fcgiwrap.mk > new file mode 100644 > index 0000000..698a130 > --- /dev/null > +++ b/package/fcgiwrap/fcgiwrap.mk > @@ -0,0 +1,32 @@ > +################################################################################ > +# > +# fcgiwrap > +# > +################################################################################ > + > +FCGIWRAP_VERSION = 1.1.0 > +FCGIWRAP_SITE = $(call github,gnosek,fcgiwrap,$(FCGIWRAP_VERSION)) > +FCGIWRAP_DEPENDENCIES = host-pkgconf libfcgi > +FCGIWRAP_LICENSE = MIT > +FCGIWRAP_LICENSE_FILES = fcgiwrap.c > +FCGIWRAP_AUTORECONF = YES > + > +ifeq ($(BR2_PACKAGE_SYSTEMD),y) > +FCGIWRAP_DEPENDENCIES += systemd > +FCGIWRAP_CONF_OPTS += --with-systemd > +else > +FCGIWRAP_CONF_OPTS += --without-systemd > +endif > + > +# libfcgi needs libm and fcgiwrap does not use libtool or pkgconf to > +# detect libfcgi, so we need to add -lm explicitely when using static > +# libs. > +ifeq ($(BR2_STATIC_LIBS),y) > +FCGIWRAP_CONF_OPTS += LIBS=-lm > +endif > + > +# fcgiwrap uses Autoconf, but not Automake, so we need to provide > +# these to make. > +FCGIWRAP_MAKE_ENV = $(TARGET_CONFIGURE_OPTS) > + > +$(eval $(autotools-package)) > -- > 2.1.4 > > _______________________________________________ > buildroot mailing list > buildroot@busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot
Hi all, > fcgiwrap fails to build because it does not find the systemd > libraries: > > http://autobuild.buildroot.org/results/9b5/9b5e70e42e53e7752245f7c43bd01f208fcf76d0/build-end.log > http://autobuild.buildroot.org/results/065/0656fde5005c7472e9e8ae8da32a6955ed5093cc/build-end.log > > That's because it is looking for the legacy systemd compat > libraries, which have been removed in systemd 230: > > PKG_CHECK_MODULES(systemd, [libsystemd-daemon], I am not familiar with systemd and the documentation on freedesktop.org appears very messy. As far as I understand, linking with libsystemd instead of libsystemd-daemon is a proper fix, right? At least it does fix compilation and seems to produce a proper fcgiwrap binary. > Also, it seems the homepage referenced in the Config.in is no longer > available. The git tree has not changed since April 2015. I bumped the fcgiwrap package to the latest commit (which is not a GitHub release, but the latest release is from February 2013) and changed the homepage to the GitHub page. > Care to have a look, please? See the following patches. Thomas Claveirole (2): fcgiwrap: Bump to 99c942c90063c73734e56bacaa65f947772d9186. fcgiwrap: Add a patch to link with libsystemd, not libsystemd-daemon. ...ith-libsystemd-instead-of-libsystemd-daemon.patch | 20 ++++++++++++++++++++ package/fcgiwrap/Config.in | 2 +- package/fcgiwrap/fcgiwrap.hash | 2 +- package/fcgiwrap/fcgiwrap.mk | 4 ++-- 4 files changed, 24 insertions(+), 4 deletions(-) create mode 100644 package/fcgiwrap/0002-link-with-libsystemd-instead-of-libsystemd-daemon.patch -- 2.8.1
diff --git a/package/Config.in b/package/Config.in index e0c2e2a..188ff0d 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1168,6 +1168,7 @@ endif source "package/ejabberd/Config.in" source "package/ethtool/Config.in" source "package/faifa/Config.in" + source "package/fcgiwrap/Config.in" source "package/fmc/Config.in" source "package/foomatic-filters/Config.in" source "package/fping/Config.in" diff --git a/package/fcgiwrap/0001-use-LIBS-from-configure.patch b/package/fcgiwrap/0001-use-LIBS-from-configure.patch new file mode 100644 index 0000000..12563c4 --- /dev/null +++ b/package/fcgiwrap/0001-use-LIBS-from-configure.patch @@ -0,0 +1,22 @@ +Makefile.in: Use LIBS from configure rather than specifying -lfcgi manually. + +libfcgi needs libm and fcgiwrap does not use libtool or pkgconf to +detect libfcgi, so we need to add -lm explicitely when using static +libs. Buildroot does this by providing LIBS=-lm to configure when +needed. However fcgiwrap does not use Automake and its Makefile.in +ignores LIBS from configure. Fix it with this patch. + +Signed-off-by: Thomas Claveirole <thomas.claveirole@green-communications.fr> + +diff -ur a/Makefile.in b/Makefile.in +--- a/Makefile.in 2013-02-03 14:25:17.000000000 +0100 ++++ b/Makefile.in 2015-05-29 16:33:23.895280138 +0200 +@@ -16,7 +16,7 @@ + install -m 644 systemd/fcgiwrap.service $(DESTDIR)@systemdsystemunitdir@ + endif + +-LDLIBS = -lfcgi @systemd_LIBS@ ++LDLIBS = @LIBS@ @systemd_LIBS@ + CFLAGS = @AM_CFLAGS@ + + fcgiwrap: fcgiwrap.c diff --git a/package/fcgiwrap/Config.in b/package/fcgiwrap/Config.in new file mode 100644 index 0000000..c3a31fc --- /dev/null +++ b/package/fcgiwrap/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_FCGIWRAP + bool "fcgiwrap" + depends on BR2_USE_MMU # libfcgi + select BR2_PACKAGE_LIBFCGI + help + fcgiwrap is a simple server for running CGI applications + over FastCGI. It hopes to provide clean CGI support to Nginx + (and other web servers that may need it). + + https://nginx.localdomain.pl/wiki/FcgiWrap diff --git a/package/fcgiwrap/fcgiwrap.mk b/package/fcgiwrap/fcgiwrap.mk new file mode 100644 index 0000000..698a130 --- /dev/null +++ b/package/fcgiwrap/fcgiwrap.mk @@ -0,0 +1,32 @@ +################################################################################ +# +# fcgiwrap +# +################################################################################ + +FCGIWRAP_VERSION = 1.1.0 +FCGIWRAP_SITE = $(call github,gnosek,fcgiwrap,$(FCGIWRAP_VERSION)) +FCGIWRAP_DEPENDENCIES = host-pkgconf libfcgi +FCGIWRAP_LICENSE = MIT +FCGIWRAP_LICENSE_FILES = fcgiwrap.c +FCGIWRAP_AUTORECONF = YES + +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +FCGIWRAP_DEPENDENCIES += systemd +FCGIWRAP_CONF_OPTS += --with-systemd +else +FCGIWRAP_CONF_OPTS += --without-systemd +endif + +# libfcgi needs libm and fcgiwrap does not use libtool or pkgconf to +# detect libfcgi, so we need to add -lm explicitely when using static +# libs. +ifeq ($(BR2_STATIC_LIBS),y) +FCGIWRAP_CONF_OPTS += LIBS=-lm +endif + +# fcgiwrap uses Autoconf, but not Automake, so we need to provide +# these to make. +FCGIWRAP_MAKE_ENV = $(TARGET_CONFIGURE_OPTS) + +$(eval $(autotools-package))
Add package fcgiwrap from https://nginx.localdomain.pl/wiki/FcgiWrap fcgiwrap is a simple server for running CGI applications over FastCGI. It hopes to provide clean CGI support to Nginx (and other web servers that may need it). Signed-off-by: Thomas Claveirole <thomas.claveirole@green-communications.fr> --- package/Config.in | 1 + .../fcgiwrap/0001-use-LIBS-from-configure.patch | 22 +++++++++++++++ package/fcgiwrap/Config.in | 10 +++++++ package/fcgiwrap/fcgiwrap.mk | 32 ++++++++++++++++++++++ 4 files changed, 65 insertions(+) create mode 100644 package/fcgiwrap/0001-use-LIBS-from-configure.patch create mode 100644 package/fcgiwrap/Config.in create mode 100644 package/fcgiwrap/fcgiwrap.mk