civetweb: new package
PATCH 1/1 civetweb: new package
Submission attempt #2 with recommended changes.
1. Change make file ifdef's to ifeq.
2. Copyright lines removed to prevent confusion.
3. Put end of line in make file.
4. Submitted with git mail if it works, otherwise in plain text
5. Rebased, rebuilt and retested with buildroot.
The explaination of BR2_TOOLCHAIN_BUILDROOT_UCLIBC check in Config.in was answered in a previous post. If that will always be included, I can remove the check.
BTW: git --send-mail is not working for me. But I made sure this mail is in plain-text mode.
Thanks,
Thomas
--- package/Config.in | 1 + package/civetweb/Config.in | 34 +++++++++++++++++++++++++++++++ package/civetweb/civetweb.mk | 45 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 80 insertions(+), 0 deletions(-) create mode 100644 package/civetweb/Config.in create mode 100644 package/civetweb/civetweb.mk
package/Config.in +1 -0
@@ -719,6 +719,7 @@ source "package/bridge-utils/Config.in" source "package/bwm-ng/Config.in" source "package/can-utils/Config.in" source "package/chrony/Config.in" +source "package/civetweb/Config.in" source "package/connman/Config.in" source "package/crda/Config.in" source "package/ctorrent/Config.in"
package/civetweb/Config.in new file +34 -0
@@ -0,0 +1,34 @@ +config BR2_PACKAGE_CIVETWEB + bool "civetweb" + depends on BR2_TOOLCHAIN_BUILDROOT_UCLIBC && !BR2_PTHREADS_NONE + help + Full featured embedded web server with LUA support. + + https://sourceforge.net/projects/civetweb + +if BR2_PACKAGE_CIVETWEB + + config BR2_CIVETWEB_WITH_IPV6 + bool "enable IPV6 support" + depends on BR2_INET_IPV6 + + config BR2_CIVETWEB_WITH_LUA + bool "enable LUA support" + depends on BR2_LARGEFILE # util-linux + + config BR2_CIVETWEB_WITH_SSL + bool "enable SSL support" + depends on BR2_PACKAGE_OPENSSL + + comment "civetweb IPV6 support requires IPV6" + depends on !BR2_INET_IPV6 + + comment "civetweb LUA support requires large file support" + depends on !BR2_LARGEFILE + + comment "civetweb SSL support requires OpenSSL" + depends on !BR2_PACKAGE_OPENSSL +endif + +comment "civetweb requires a toolchain with PTHREAD support" + depends on !BR2_TOOLCHAIN_BUILDROOT_UCLIBC || BR2_PTHREADS_NONE
package/civetweb/civetweb.mk new file +9 -0
@@ -0,0 +1,45 @@ +################################################################################ +# +# civetweb +# +################################################################################ + +CIVETWEB_VERSION = 1.2 +CIVETWEB_SOURCE = civetweb-$(CIVETWEB_VERSION).tar.gz +CIVETWEB_SITE =
http://github.com/sunsetbrew/civetweb/tarball/v$(CIVETWEB_VERSION)
+CIVETWEB_LICENSE = MIT
+CIVETWEB_LICENSE_FILES = LICENSE.md
+
+CIVETWEB_COPT = $(TARGET_CFLAGS)
+CIVETWEB_MOPT = TARGET_OS=LINUX
+CIVETWEB_LDFLAGS = $(TARGET_LDFLAGS)
+
+ifeq (BR2_PACKAGE_UTIL_LINUX_FALLOCATE,y)
+ CIVETWEB_COPT += -DHAVE_POSIX_FALLOCATE=0
+endif
+
+ifeq (BR2_CIVETWEB_WITH_IPV6,y)
+ CIVETWEB_MOPT += WITH_IPV6=1
+endif
+
+ifeq (BR2_CIVETWEB_WITH_LUA,y)
+ CIVETWEB_MOPT += WITH_LUA=1
+endif
+
+ifeq (BR2_CIVETWEB_WITH_SSL,y)
+ CIVETWEB_COPT += -DNO_SSL_DL -lcrypt -lssl
+ CIVETWEB_DEPENDENCIES += openssl
+else
+ CIVETWEB_COPT += -DNO_SSL
+endif
+
+define CIVETWEB_BUILD_CMDS
+ $(MAKE) CC="$(TARGET_CC)" -C $(@D) all $(CIVETWEB_MOPT)
COPT="$(CIVETWEB_COPT)"
+endef
+
+define CIVETWEB_INSTALL_TARGET_CMDS
+ $(MAKE) CC="$(TARGET_CC)" -C $(@D) install
DOCUMENT_ROOT=/usr/local/share/doc/civetweb
PREFIX="$(TARGET_DIR)/usr/local" $(CIVETWEB_MOPT)
COPT='$(CIVETWEB_COPT)'
+endef
+
+$(eval $(generic-package))
+
--
1.7.8.3
PATCH 1/1 civetweb: new package
Dear Thomas Davis,
Thanks, this patch looks much better. Some comments below.
Quoted 8 lines · Thomas Davis
Submission attempt #2 with recommended changes.
1. Change make file ifdef's to ifeq.
2. Copyright lines removed to prevent confusion.
3. Put end of line in make file.
4. Submitted with git mail if it works, otherwise in plain text
5. Rebased, rebuilt and retested with buildroot.
Quoted 6 lines
The explaination of
BR2_TOOLCHAIN_BUILDROOT_UCLIBCcheck in Config.in was answered in a previous post. If that will always be included, I can remove the check.BTW: git --send-mail is not working for me. But I made sure this mail is in plain-text mode.
See
http://buildroot.org/downloads/manual/manual.html#_patch_revision_changelog
for details on how the commit log should be formatted. Essentially, what you're missing is that the details of what changed between the previous version should go below the "---" sign (or be part of a separate cover letter). Everything that is before the "---" will be part of the commit log for the eternity, and we don't want that. See the documentation for details.
Also, you should use --subject-prefix="PATCHv2" when generating your patches, so that the title of your patch makes it clear which version we're looking at.
package/civetweb/Config.in line 3
Quoted 9 lines
package/civetweb/Config.in new file +3
-0@@ -0,0 +1,34 @@ +config BR2_PACKAGE_CIVETWEB + bool "civetweb" + depends on BR2_TOOLCHAIN_BUILDROOT_UCLIBC && !BR2_PTHREADS_NONE
As Thomas said, this is not correct, as we don't want to prevent this package from being built with an external toolchain, or a glibc toolchain.
If what you want to express is that your package needs thread support, then you should add a:
depends on BR2_TOOLCHAIN_HAS_THREADS
and that's it.
package/civetweb/Config.in line 13
Quoted 10 lines
package/civetweb/Config.in new file +10
-0+ help + Full featured embedded web server with LUA support. + + https://sourceforge.net/projects/civetweb + +if BR2_PACKAGE_CIVETWEB + + config BR2_CIVETWEB_WITH_IPV6 + bool "enable IPV6 support" + depends on BR2_INET_IPV6
We generally do not indent sub-configuration options.
I think this IPv6 option is not needed, the package should automatically enable IPv6 support when BR2_INET_IPV6 is y.
package/civetweb/Config.in line 17
Quoted 3 lines
package/civetweb/Config.in new file +3
-0+ config BR2_CIVETWEB_WITH_LUA + bool "enable LUA support" + depends on BR2_LARGEFILE # util-linux
Why are you adding this largefile dependency here? From where does the reference to util-linux comes?
If this option needs the "lua" package to be built, then you need to "select BR2_PACKAGE_LUA" in the Config.in file, and add "lua" to CIVETWEB_DEPENDENCIES in your .mk file.
package/civetweb/Config.in line 21
Quoted 3 lines
package/civetweb/Config.in new file +3
-0+ config BR2_CIVETWEB_WITH_SSL + bool "enable SSL support" + depends on BR2_PACKAGE_OPENSSL
We generally enable SSL support automatically when BR2_PACKAGE_OPENSSL is enabled, so this option would not be necessary.
package/civetweb/Config.in line 24
Quoted 3 lines
package/civetweb/Config.in new file +3
-0+ + comment "civetweb IPV6 support requires IPV6" + depends on !BR2_INET_IPV6
Not needed, as per the above.
package/civetweb/Config.in line 27
Quoted 2 lines
package/civetweb/Config.in new file +2
-0+ comment "civetweb LUA support requires large file support" + depends on !BR2_LARGEFILE
Please answer the question above to decide what to do about this.
package/civetweb/Config.in line 30
Quoted 2 lines
package/civetweb/Config.in new file +2
-0+ comment "civetweb SSL support requires OpenSSL" + depends on !BR2_PACKAGE_OPENSSL
Not needed, as per the above.
package/civetweb/Config.in line 34
Quoted 2 lines
package/civetweb/Config.in new file +2
-0+comment "civetweb requires a toolchain with PTHREAD support" + depends on !BR2_TOOLCHAIN_BUILDROOT_UCLIBC || BR2_PTHREADS_NONE
This should be:
comment "civetweb requires a toolchain with threads support"
depends on !BR2_TOOLCHAIN_HAS_THREADS
Quoted 6 lines
package/civetweb/civetweb.mk new file +0
-0
package/civetweb/civetweb.mk line 8
Quoted 8 lines
package/civetweb/civetweb.mk new file +8
-0@@ -0,0 +1,45 @@ +################################################################################ +# +# civetweb +# +################################################################################ + +CIVETWEB_VERSION = 1.2 +CIVETWEB_SOURCE = civetweb-$(CIVETWEB_VERSION).tar.gz
This line is not needed since this is the default.
Quoted 2 lines
package/civetweb/civetweb.mk new file +1
-0+CIVETWEB_SITE =http://github.com/sunsetbrew/civetweb/tarball/v$(CIVETWEB_VERSION)
You're not using git send-email: your patch has been line-wrapped by your e-mail client, so it still cannot be applied as is.
package/civetweb/civetweb.mk
Quoted 5 lines
package/civetweb/civetweb.mk new file +5
-0+CIVETWEB_LICENSE = MIT +CIVETWEB_LICENSE_FILES = LICENSE.md + +CIVETWEB_COPT = $(TARGET_CFLAGS) +CIVETWEB_MOPT = TARGET_OS=LINUX
We generally use something like CIVETWEB_CONF_OPT for the configuration options.
package/civetweb/civetweb.mk
Quoted 3 lines
package/civetweb/civetweb.mk new file +3
-0+CIVETWEB_LDFLAGS = $(TARGET_LDFLAGS) + +ifeq (BR2_PACKAGE_UTIL_LINUX_FALLOCATE,y)
Did you really test your package? This test is testing if the string "BR2_PACKAGE_UTIL_LINUX_FALLOCATE" is equal to the string "y", so it will always be false. Your tests should look like:
ifeq ($(BR2_....),y)
endif
see the thousands of examples available throughout the Buildroot source code.
package/civetweb/civetweb.mk
Quoted 2 lines
package/civetweb/civetweb.mk new file +2
-0+ CIVETWEB_COPT += -DHAVE_POSIX_FALLOCATE=0 +endif
However, this test is generally wrong. You're confusing the availability of the 'fallocate' command line tool from the util-linux package with the availability of the fallocate() system call.
I think you can pass -DHAVE_POSIX_FALLOCATE=1 in all cases: it's always available in glibc/eglibc toolchain, and our default configuration for uClibc enables fallocate() as well.
package/civetweb/civetweb.mk
Quoted 4 lines
package/civetweb/civetweb.mk new file +4
-0+ +ifeq (BR2_CIVETWEB_WITH_IPV6,y) + CIVETWEB_MOPT += WITH_IPV6=1 +endif
This should be:
ifeq ($(BR2_INET_IPV6),y)CIVETWEB_CONF_OPT += WITH_IPV6=1
endif
package/civetweb/civetweb.mk
Quoted 4 lines
package/civetweb/civetweb.mk new file +4
-0+ +ifeq (BR2_CIVETWEB_WITH_LUA,y) + CIVETWEB_MOPT += WITH_LUA=1 +endif
Ditto. And it doesn't need the 'lua' package as a dependency?
package/civetweb/civetweb.mk
Quoted 6 lines
package/civetweb/civetweb.mk new file +6
-0+ifeq (BR2_CIVETWEB_WITH_SSL,y) + CIVETWEB_COPT += -DNO_SSL_DL -lcrypt -lssl + CIVETWEB_DEPENDENCIES += openssl +else + CIVETWEB_COPT += -DNO_SSL +endif
Make this use BR2_PACKAGE_OPENSSL instead, as explained above.
Quoted 5 lines
package/civetweb/civetweb.mk new file +3
-0+ +define CIVETWEB_BUILD_CMDS + $(MAKE) CC="$(TARGET_CC)" -C $(@D) all $(CIVETWEB_MOPT)COPT="$(CIVETWEB_COPT)"
+endef
This is badly line-wrapped.
Quoted 7 lines
package/civetweb/civetweb.mk new file +3
-0+ +define CIVETWEB_INSTALL_TARGET_CMDS + $(MAKE) CC="$(TARGET_CC)" -C $(@D) installDOCUMENT_ROOT=/usr/local/share/doc/civetweb
PREFIX="$(TARGET_DIR)/usr/local" $(CIVETWEB_MOPT)
COPT='$(CIVETWEB_COPT)'
+endef
This is also badly line-wrapped. You should use $(TARGET_DIR)/usr as the prefix, ditto for the documentation (and shouldn't DOCUMENT_ROOT refer to $(TARGET_DIR) as well ?). Also, this line should be split:
define CIVETWEB_INSTALL_TARGET_CMDS
$(MAKE) CC="$(TARGET_CC)" -C $(@D) install \ DOCUMENT_ROOT=$(TARGET_DIR)/usr/share/doc/civetweb \ PREFIX=$(TARGET_DIR)/usr \ $(CIVETWEB_CONF_OPT) \ COPT="$(CIVETWEB_COPT)"
endef
package/civetweb/civetweb.mk
Quoted 3 lines
package/civetweb/civetweb.mk new file +3
-0+ +$(eval $(generic-package)) +
Thanks,
Thomas
Signature · 4 lines
Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com
PATCH 1/1 civetweb: new package
I will make the suggested changes and retest and re-submit. To answer outstanding questions.
1. BR2_LARGEFILE is required by SQLITE3 which is a dependency in the LUA support.
2. DOCUMENT_ROOT is the path from with-in the chroot to the documents folder. This is a value written into a configuration file, not an actual directory something gets placed in. Normally it would have been automatically determined by PREFIX, but in the fake root situation it has to overridden so it works correctly inside the chroot. It is not an install path itself.
Thank you very much for the help!
Thomas
Quoted 237 lines · Thomas Petazzoni
Dear Thomas Davis,
Thanks, this patch looks much better. Some comments below.
Quoted 8 lines · Thomas Davis
Submission attempt #2 with recommended changes.
1. Change make file ifdef's to ifeq.
2. Copyright lines removed to prevent confusion.
3. Put end of line in make file.
4. Submitted with git mail if it works, otherwise in plain text
5. Rebased, rebuilt and retested with buildroot.Quoted 6 lines
The explaination of
BR2_TOOLCHAIN_BUILDROOT_UCLIBCcheck in Config.in was answered in a previous post. If that will always be included, I can remove the check.BTW: git --send-mail is not working for me. But I made sure this mail is in plain-text mode.
See
http://buildroot.org/downloads/manual/manual.html#_patch_revision_changelog
for details on how the commit log should be formatted. Essentially, what you're missing is that the details of what changed between the previous version should go below the "---" sign (or be part of a separate cover letter). Everything that is before the "---" will be part of the commit log for the eternity, and we don't want that. See the documentation for details.Also, you should use --subject-prefix="PATCHv2" when generating your patches, so that the title of your patch makes it clear which version we're looking at.
package/civetweb/Config.in line 3
Quoted 9 lines
package/civetweb/Config.in new file +3
-0@@ -0,0 +1,34 @@ +config BR2_PACKAGE_CIVETWEB + bool "civetweb" + depends on BR2_TOOLCHAIN_BUILDROOT_UCLIBC && !BR2_PTHREADS_NONEAs Thomas said, this is not correct, as we don't want to prevent this package from being built with an external toolchain, or a glibc toolchain.
If what you want to express is that your package needs thread support, then you should add a:
depends on
BR2_TOOLCHAIN_HAS_THREADSand that's it.
package/civetweb/Config.in line 13
Quoted 10 lines
package/civetweb/Config.in new file +10
-0+ help + Full featured embedded web server with LUA support. + + https://sourceforge.net/projects/civetweb + +if BR2_PACKAGE_CIVETWEB + + config BR2_CIVETWEB_WITH_IPV6 + bool "enable IPV6 support" + depends on BR2_INET_IPV6We generally do not indent sub-configuration options.
I think this IPv6 option is not needed, the package should automatically enable IPv6 support when
BR2_INET_IPV6is y.package/civetweb/Config.in line 17
Quoted 3 lines
package/civetweb/Config.in new file +3
-0+ config BR2_CIVETWEB_WITH_LUA + bool "enable LUA support" + depends on BR2_LARGEFILE # util-linuxWhy are you adding this largefile dependency here? From where does the reference to util-linux comes?
If this option needs the "lua" package to be built, then you need to "select
BR2_PACKAGE_LUA" in the Config.in file, and add "lua" toCIVETWEB_DEPENDENCIESin your .mk file.package/civetweb/Config.in line 21
Quoted 3 lines
package/civetweb/Config.in new file +3
-0+ config BR2_CIVETWEB_WITH_SSL + bool "enable SSL support" + depends on BR2_PACKAGE_OPENSSLWe generally enable SSL support automatically when
BR2_PACKAGE_OPENSSLis enabled, so this option would not be necessary.package/civetweb/Config.in line 24
Quoted 3 lines
package/civetweb/Config.in new file +3
-0+ + comment "civetweb IPV6 support requires IPV6" + depends on !BR2_INET_IPV6Not needed, as per the above.
package/civetweb/Config.in line 27
Quoted 2 lines
package/civetweb/Config.in new file +2
-0+ comment "civetweb LUA support requires large file support" + depends on !BR2_LARGEFILEPlease answer the question above to decide what to do about this.
package/civetweb/Config.in line 30
Quoted 2 lines
package/civetweb/Config.in new file +2
-0+ comment "civetweb SSL support requires OpenSSL" + depends on !BR2_PACKAGE_OPENSSLNot needed, as per the above.
package/civetweb/Config.in line 34
Quoted 2 lines
package/civetweb/Config.in new file +2
-0+comment "civetweb requires a toolchain with PTHREAD support" + depends on !BR2_TOOLCHAIN_BUILDROOT_UCLIBC || BR2_PTHREADS_NONEThis should be:
comment "civetweb requires a toolchain with threads support"
depends on !BR2_TOOLCHAIN_HAS_THREADSQuoted 6 lines
package/civetweb/civetweb.mk new file +0
-0package/civetweb/civetweb.mk line 8
Quoted 8 lines
package/civetweb/civetweb.mk new file +8
-0@@ -0,0 +1,45 @@ +################################################################################ +# +# civetweb +# +################################################################################ + +CIVETWEB_VERSION = 1.2 +CIVETWEB_SOURCE = civetweb-$(CIVETWEB_VERSION).tar.gzThis line is not needed since this is the default.
Quoted 2 lines
package/civetweb/civetweb.mk new file +1
-0+CIVETWEB_SITE =http://github.com/sunsetbrew/civetweb/tarball/v$(CIVETWEB_VERSION)
You're not using git send-email: your patch has been line-wrapped by your e-mail client, so it still cannot be applied as is.
package/civetweb/civetweb.mk
Quoted 5 lines
package/civetweb/civetweb.mk new file +5
-0+CIVETWEB_LICENSE = MIT +CIVETWEB_LICENSE_FILES = LICENSE.md + +CIVETWEB_COPT = $(TARGET_CFLAGS) +CIVETWEB_MOPT = TARGET_OS=LINUXWe generally use something like
CIVETWEB_CONF_OPTfor the configuration options.package/civetweb/civetweb.mk
Quoted 3 lines
package/civetweb/civetweb.mk new file +3
-0+CIVETWEB_LDFLAGS = $(TARGET_LDFLAGS) + +ifeq (BR2_PACKAGE_UTIL_LINUX_FALLOCATE,y)Did you really test your package? This test is testing if the string "
BR2_PACKAGE_UTIL_LINUX_FALLOCATE" is equal to the string "y", so it will always be false. Your tests should look like:ifeq ($(BR2_....),y)
endif
see the thousands of examples available throughout the Buildroot source code.
package/civetweb/civetweb.mk
Quoted 2 lines
package/civetweb/civetweb.mk new file +2
-0+ CIVETWEB_COPT += -DHAVE_POSIX_FALLOCATE=0 +endifHowever, this test is generally wrong. You're confusing the availability of the 'fallocate' command line tool from the util-linux package with the availability of the
fallocate()system call.I think you can pass -DHAVE_POSIX_FALLOCATE=1 in all cases: it's always available in glibc/eglibc toolchain, and our default configuration for uClibc enables
fallocate()as well.package/civetweb/civetweb.mk
Quoted 4 lines
package/civetweb/civetweb.mk new file +4
-0+ +ifeq (BR2_CIVETWEB_WITH_IPV6,y) + CIVETWEB_MOPT += WITH_IPV6=1 +endifThis should be:
ifeq ($(BR2_INET_IPV6),y)
CIVETWEB_CONF_OPT+= WITH_IPV6=1
endifpackage/civetweb/civetweb.mk
Quoted 4 lines
package/civetweb/civetweb.mk new file +4
-0+ +ifeq (BR2_CIVETWEB_WITH_LUA,y) + CIVETWEB_MOPT += WITH_LUA=1 +endifDitto. And it doesn't need the 'lua' package as a dependency?
package/civetweb/civetweb.mk
Quoted 6 lines
package/civetweb/civetweb.mk new file +6
-0+ifeq (BR2_CIVETWEB_WITH_SSL,y) + CIVETWEB_COPT += -DNO_SSL_DL -lcrypt -lssl + CIVETWEB_DEPENDENCIES += openssl +else + CIVETWEB_COPT += -DNO_SSL +endifMake this use
BR2_PACKAGE_OPENSSLinstead, as explained above.Quoted 5 lines
package/civetweb/civetweb.mk new file +3
-0+ +define CIVETWEB_BUILD_CMDS + $(MAKE) CC="$(TARGET_CC)" -C $(@D) all $(CIVETWEB_MOPT)COPT="$(CIVETWEB_COPT)"
+endefThis is badly line-wrapped.
Quoted 7 lines
package/civetweb/civetweb.mk new file +3
-0+ +define CIVETWEB_INSTALL_TARGET_CMDS + $(MAKE) CC="$(TARGET_CC)" -C $(@D) installDOCUMENT_ROOT=/usr/local/share/doc/civetweb
PREFIX="$(TARGET_DIR)/usr/local" $(CIVETWEB_MOPT)
COPT='$(CIVETWEB_COPT)'
+endefThis is also badly line-wrapped. You should use $(TARGET_DIR)/usr as the prefix, ditto for the documentation (and shouldn't
DOCUMENT_ROOTrefer to $(TARGET_DIR) as well ?). Also, this line should be split:define
CIVETWEB_INSTALL_TARGET_CMDS$(MAKE) CC="$(TARGET_CC)" -C $(@D) install \ DOCUMENT_ROOT=$(TARGET_DIR)/usr/share/doc/civetweb \ PREFIX=$(TARGET_DIR)/usr \ $(CIVETWEB_CONF_OPT) \ COPT="$(CIVETWEB_COPT)"endef
package/civetweb/civetweb.mk
Quoted 3 lines
package/civetweb/civetweb.mk new file +3
-0+ +$(eval $(generic-package)) +Thanks,
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
PATCH 1/1 civetweb: new package
Dear Thomas Davis,
Quoted 5 lines · Thomas Davis
I will make the suggested changes and retest and re-submit. To answer outstanding questions.
1.
BR2_LARGEFILEis required by SQLITE3 which is a dependency in the LUA support.
Ok. This is something you could potentially address by passing -DSQLITE_DISABLE_LFS to the Sqlite build when !BR2_LARGEFILE. See package/sqlite/sqlite.mk in Buildroot. But ok, it's not mandatory to support this use case for civetweb.
So, what I'd like to see is something like:
config BR2_PACKAGE_CIVETWEB_LUA_SUPPORT
bool "lua support"
# required by the bundled sqlite code
depends on BR2_LARGEFILE
comment
Enable Lua support in Civetweb. Note that this will use a version of Lua and Sqlite bundled within the Civetweb sources, and not the packages from Buildroot.
comment "lua support requires largefile support in toolchain"
depends on !BR2_LARGEFILE
Quoted 6 lines
2.
DOCUMENT_ROOTis the path from with-in the chroot to the documents folder. This is a value written into a configuration file, not an actual directory something gets placed in. Normally it would have been automatically determined by PREFIX, but in the fake root situation it has to overridden so it works correctly inside the chroot. It is not an install path itself.
Right, discovered this after having a deeper look at civetweb. Then please set it to /var/www, which is what we do for other web servers in Buildroot.
Thanks!
Thomas
Signature · 4 lines
Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com
PATCH 1/1 civetweb: new package
Thanks once again for the reply and the detailed examination. I will see about having a non large file option in the civetweb build and
test that separately before continuing. I will also add the comment
about LUA and sqlite3 not coming from buildroot and move the document directory as well.
Thanks,
Thomas Davis
Quoted 47 lines · Thomas Petazzoni
Dear Thomas Davis,
Quoted 5 lines · Thomas Davis
I will make the suggested changes and retest and re-submit. To answer outstanding questions.
1.
BR2_LARGEFILEis required by SQLITE3 which is a dependency in the LUA support.Ok. This is something you could potentially address by passing -DSQLITE_DISABLE_LFS to the Sqlite build when !BR2_LARGEFILE. See
package/sqlite/sqlite.mkin Buildroot. But ok, it's not mandatory to support this use case for civetweb.So, what I'd like to see is something like:
config
BR2_PACKAGE_CIVETWEB_LUA_SUPPORT
bool "lua support"
# required by the bundled sqlite code
depends onBR2_LARGEFILE
comment
Enable Lua support in Civetweb. Note that this will use a version of Lua and Sqlite bundled within the Civetweb sources, and not the packages from Buildroot.comment "lua support requires largefile support in toolchain"
depends on !BR2_LARGEFILEQuoted 6 lines
2.
DOCUMENT_ROOTis the path from with-in the chroot to the documents folder. This is a value written into a configuration file, not an actual directory something gets placed in. Normally it would have been automatically determined by PREFIX, but in the fake root situation it has to overridden so it works correctly inside the chroot. It is not an install path itself.Right, discovered this after having a deeper look at civetweb. Then please set it to
/var/www, which is what we do for other web servers in Buildroot.Thanks!
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
PATCH 1/1 civetweb: new package
Dear Thomas Davis,
Quoted 5 lines · Thomas Davis
Thanks once again for the reply and the detailed examination. I will see about having a non large file option in the civetweb build and
test that separately before continuing. I will also add the comment
about LUA and sqlite3 not coming from buildroot and move the document directory as well.
As I said, support non-large file builds is really not mandatory. You can submit your package without supporting non-large file builds for the moment, and if you're interested, you can send later a followup patch to make this possible. But we have plenty of packages that don't support non-large file builds in Buildroot, so it's not really a problem to have another one.
Thanks,
Thomas
Signature · 4 lines
Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com