Skip to contentSkip to conversation

qdecoder : new package

PATCH Superseded Sagaert Johan 4 participants 8 messages Apr 22, 2014 – Apr 25, 2014

v2 of 5 Superseded Latest is v5 →

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 qdecoder : new package

qDecoder is a powerful CGI library.
Features:
Supports parsing a request encoded by GET/POST method Supports parsing multipart/form-data encoding.(in-memory and direct disk) Supports COOKIE handling.
Supports Session management.
Supports FastCGI

---
v2: Changed License to BSD-2

 package/Config.in            |  1 +
 package/qdecoder/Config.in   |  7 +++++++
 package/qdecoder/qdecoder.mk | 18 ++++++++++++++++++
 3 files changed, 26 insertions(+)
 create mode 100644 package/qdecoder/Config.in
 create mode 100644 package/qdecoder/qdecoder.mk
package/Config.in +1 -0
index abfc3cc..998f990 100644
@@ -765,6 +765,7 @@ source "package/nss-mdns/Config.in"
 source "package/omniorb/Config.in"
 source "package/openpgm/Config.in"
 source "package/ortp/Config.in"
+source "package/qdecoder/Config.in"
 source "package/rtmpdump/Config.in"
 source "package/slirp/Config.in"
 source "package/snmppp/Config.in"
package/qdecoder/Config.in new file +7 -0
new file mode 100644
index 0000000..2bd2a2f
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_QDECODER
+	bool "qdecoder"
+	help
+	  qDecoder is a simple and powerful CGI library
+	  for the C/C++ programming language.
+
+	  http://www.qdecoder.org/wiki/qdecoder
package/qdecoder/qdecoder.mk new file +18 -0
new file mode 100644
index 0000000..46b986e
@@ -0,0 +1,18 @@
+################################################################################
+#
+# qdecoder
+#
+################################################################################
+
+QDECODER_VERSION = r12.0.5
+QDECODER_SITE = $(call github,wolkykim,qdecoder,$(QDECODER_VERSION))
+QDECODER_LICENSE = BSD-2
+QDECODER_LICENSE_FILES = COPYING
+
+QDECODER_INSTALL_STAGING = YES
+
+QDECODER_CONF_OPT = \
+	--prefix=$(STAGING_DIR)/usr \
+	--libdir=$(STAGING_DIR)/usr/lib
+
+$(eval $(autotools-package))
Signature · 1 line
1.9.2
#1 lore raw

PATCH v2 1/1 qdecoder : new package

Hello,

Sorry for being a bit late with the remark and for possible
webclient-related
formatting of my message.

2014-04-22 11:25 GMT+03:00 Sagaert Johan <[email protected]>:

Quoted 1 line

qDecoder is a powerful CGI library.

...

package/qdecoder/Config.in line 7

Quoted 2 lines
package/qdecoder/Config.in new file +2 -0
+
+         http://www.qdecoder.org/wiki/qdecoder

This page says they have moved to a newer one and it might be out of date.
The new URL is http://wolkykim.github.io/qdecoder/ .

--
Best regards,
Alexander Lukichev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20140422/073383fb/attachment.html>

#2 lore raw

PATCH v2 1/1 qdecoder : new package

Quoted 6 lines · On Tue, 22 Apr 2014 15:35:03 +0300 Alexander Lukichev…

Hello,

Sorry for being a bit late with the remark and for possible
webclient-related
formatting of my message.

Quoted 9 lines

2014-04-22 11:25 GMT+03:00 Sagaert Johan <[email protected]>:

Quoted 1 line

qDecoder is a powerful CGI library.

...

package/qdecoder/Config.in line 7

Quoted 2 lines
package/qdecoder/Config.in new file +2 -0
+
+         http://www.qdecoder.org/wiki/qdecoder

This page says they have moved to a newer one and it might be out
of date. The new URL is http://wolkykim.github.io/qdecoder/ .

I looked at both - It seems that mostly only the repository moved. The documentation, examples, etc. (through r12.0.4) are still only on the original site page.

Perhaps make an exception here, and list both links? (The repo link is to the new location on both sites.)

Mike

Quoted 3 lines

--
Best regards,
Alexander Lukichev

#3 lore raw

PATCH v2 1/1 qdecoder : new package

In reply to Sagaert Johan

Dear Sagaert Johan,

Thanks for this contribution! Some comments below.

package/qdecoder/Config.in line 2

Quoted 8 lines · Sagaert Johan
package/qdecoder/Config.in new file +2 -0
new file mode 100644
index 0000000..2bd2a2f
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_QDECODER
+	bool "qdecoder"

Really no toolchain dependency? From a quick look, qdecoder always tries to build a shared library, so this is going to play nice with BR2_PREFER_STATIC_LIB.

Can you try to build this library with the following toolchain configurations:

http://autobuild.buildroot.org/toolchains/configs/free-electrons/bfin-linux-uclibc.config
http://autobuild.buildroot.org/toolchains/configs/free-electrons/bfin-uclinux.config
http://autobuild.buildroot.org/toolchains/configs/free-electrons/br-arm-basic.config
http://autobuild.buildroot.org/toolchains/configs/free-electrons/br-arm-full-nothread.config

It will exercise a bit the needed toolchain dependencies.

package/qdecoder/Config.in line 5

Quoted 3 lines
package/qdecoder/Config.in new file +3 -0
+QDECODER_CONF_OPT = \
+	--prefix=$(STAGING_DIR)/usr \
+	--libdir=$(STAGING_DIR)/usr/lib

This looks strange, and normally not needed for autotools packages. Why is it needed here? At least, if it's really needed, a comment above it to explain why would be necessary (and I believe it's needed because the package uses autoconf, but not automake: there is a Makefile.in and not a Makefile.am).

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#4 lore raw

PATCH v2 1/1 qdecoder : new package

Dear Thomas

Without these :

package/qdecoder/qdecoder.mk line 16

Quoted 3 lines
package/qdecoder/qdecoder.mk new file +3 -0
+QDECODER_CONF_OPT = \
+	--prefix=$(STAGING_DIR)/usr \
+	--libdir=$(STAGING_DIR)/usr/lib

I found the qdecoder.h and the qdecoder.so.* in my hosts /usr/include and /usr/lib instead of in the buildroot staging directories.

I did a quick check on :
http://autobuild.buildroot.org/toolchains/configs/free-electrons/br-arm-full-nothread.config

But this seem to fail on my build machine:
.....snip
make[2]: Leaving directory `/home/brcpy/support/kconfig'
BR2_DEFCONFIG='' KCONFIG_AUTOCONFIG=/home/brcpy/output/build/buildroot-config/auto.conf KCONFIG_AUTOHEADER=/home/brcpy/output/build/buildroot-config/autoconf.h KCONFIG_TRISTATE=/home/brcpy/output/build/buildroot-config/tristate.config BR2_CONFIG=/home/brcpy/.config BR2_EXTERNAL=support/dummy-external /home/brcpy/output/build/buildroot-config/conf --silentoldconfig Config.in make[1]: Leaving directory `/home/brcpy'

Quoted 1 line
Quoted 1 line
Quoted 1 line

toolchain-external undefined Extracting

mkdir -p /home/brcpy/output/host/opt/ext-toolchain
bzcat /home/johan/dl/br-arm11-full-nothread-2014.02-rc1.tar.bz2 | tar --strip-components=1 --exclude='usr/lib/locale/*' -C /home/brcpy/output/host/opt/ext-toolchain -xf -

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

toolchain-external undefined Patching
toolchain-external undefined Configuring

Cannot execute cross-compiler '/home/brcpy/output/host/opt/ext-toolchain/bin/arm-linux-gcc'

Is the x64 code ? I am on a 32 bit VM (debian 6).

Regards, Johan

-----Oorspronkelijk bericht-----
Van: buildroot-bounces at busybox.net [mailto:buildroot-bounces at busybox.net] Namens Thomas Petazzoni
Verzonden: dinsdag 22 april 2014 16:27
Aan: Sagaert Johan
CC: buildroot at busybox.net
Onderwerp: Re: [Buildroot] [PATCH 1/1 v2] qdecoder : new package

Dear Sagaert Johan,

Thanks for this contribution! Some comments below.

package/qdecoder/Config.in line 2

Quoted 7 lines · Sagaert Johan
package/qdecoder/Config.in new file +2 -0
new file mode 100644 index 0000000..2bd2a2f
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_QDECODER
+	bool "qdecoder"

Really no toolchain dependency? From a quick look, qdecoder always tries to build a shared library, so this is going to play nice with BR2_PREFER_STATIC_LIB.

Can you try to build this library with the following toolchain configurations:

http://autobuild.buildroot.org/toolchains/configs/free-electrons/bfin-linux-uclibc.config
http://autobuild.buildroot.org/toolchains/configs/free-electrons/bfin-uclinux.config
http://autobuild.buildroot.org/toolchains/configs/free-electrons/br-arm-basic.config
http://autobuild.buildroot.org/toolchains/configs/free-electrons/br-arm-full-nothread.config

It will exercise a bit the needed toolchain dependencies.

package/qdecoder/Config.in line 5

Quoted 3 lines
package/qdecoder/Config.in new file +3 -0
+QDECODER_CONF_OPT = \
+	--prefix=$(STAGING_DIR)/usr \
+	--libdir=$(STAGING_DIR)/usr/lib

This looks strange, and normally not needed for autotools packages. Why is it needed here? At least, if it's really needed, a comment above it to explain why would be necessary (and I believe it's needed because the package uses autoconf, but not automake:
there is a Makefile.in and not a Makefile.am).

Thanks,

Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering http://free-electrons.com _______________________________________________ buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

#5 lore raw

PATCH v2 1/1 qdecoder : new package

Dear Sagaert Johan,

Quoted 12 lines · Sagaert Johan

I did a quick check on :
http://autobuild.buildroot.org/toolchains/configs/free-electrons/br-arm-full-nothread.config

But this seem to fail on my build machine:
.....snip
make[2]: Leaving directory `/home/brcpy/support/kconfig'
BR2_DEFCONFIG='' KCONFIG_AUTOCONFIG=/home/brcpy/output/build/buildroot-config/auto.conf KCONFIG_AUTOHEADER=/home/brcpy/output/build/buildroot-config/autoconf.h KCONFIG_TRISTATE=/home/brcpy/output/build/buildroot-config/tristate.config BR2_CONFIG=/home/brcpy/.config BR2_EXTERNAL=support/dummy-external /home/brcpy/output/build/buildroot-config/conf --silentoldconfig Config.in make[1]: Leaving directory `/home/brcpy'

Quoted 1 line
Quoted 1 line
Quoted 1 line

toolchain-external undefined Extracting

Quoted 8 lines

mkdir -p /home/brcpy/output/host/opt/ext-toolchain
bzcat /home/johan/dl/br-arm11-full-nothread-2014.02-rc1.tar.bz2 | tar --strip-components=1 --exclude='usr/lib/locale/*' -C /home/brcpy/output/host/opt/ext-toolchain -xf -

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

toolchain-external undefined Patching
toolchain-external undefined Configuring

Cannot execute cross-compiler '/home/brcpy/output/host/opt/ext-toolchain/bin/arm-linux-gcc'

Is the x64 code ? I am on a 32 bit VM (debian 6).

Hum, correct, the toolchain is 64 bits. Weird, I was pretty sure to build them in a 32 bits chroot, maybe that's no longer the case.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#6 lore raw

PATCH v2 1/1 qdecoder : new package

Dear Thomas ;

What should I do with the BR2_PREFER_STATIC_LIB ?
Is this a something I should add as depenency ?
(I am not very familiar with libraries, I assume that qdecoder.a is a static library and the others (*.so.*) are shared)

What should I add to finalize this patch ?
I added a comment line to the QDECODER_CONF_OPT line for my next version of the patch.

Kind regards, Sagaert Johan

-----Oorspronkelijk bericht-----
Van: Thomas Petazzoni [mailto:thomas.petazzoni at free-electrons.com]
Verzonden: dinsdag 22 april 2014 23:41
Aan: Sagaert Johan
CC: buildroot at busybox.net
Onderwerp: Re: [Buildroot] [PATCH 1/1 v2] qdecoder : new package

Dear Sagaert Johan,

Quoted 22 lines · Sagaert Johan

I did a quick check on :
http://autobuild.buildroot.org/toolchains/configs/free-electrons/br-ar
m-full-nothread.config

But this seem to fail on my build machine:
.....snip
make[2]: Leaving directory `/home/brcpy/support/kconfig' BR2_DEFCONFIG='' KCONFIG_AUTOCONFIG=/home/brcpy/output/build/buildroot-config/auto.conf KCONFIG_AUTOHEADER=/home/brcpy/output/build/buildroot-config/autoconf. h KCONFIG_TRISTATE=/home/brcpy/output/build/buildroot-config/tristate.co nfig BR2_CONFIG=/home/brcpy/.config BR2_EXTERNAL=support/dummy-external /home/brcpy/output/build/buildroot-config/conf --silentoldconfig Config.in
make[1]: Leaving directory `/home/brcpy'

Quoted 1 line
Quoted 1 line
Quoted 1 line

toolchain-external undefined Extracting

mkdir -p /home/brcpy/output/host/opt/ext-toolchain
bzcat /home/johan/dl/br-arm11-full-nothread-2014.02-rc1.tar.bz2 | tar --strip-components=1 --exclude='usr/lib/locale/*' -C /home/brcpy/output/host/opt/ext-toolchain -xf -

Quoted 5 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

toolchain-external undefined Patching toolchain-external undefined Configuring

Cannot execute cross-compiler '/home/brcpy/output/host/opt/ext-toolchain/bin/arm-linux-gcc'

Is the x64 code ? I am on a 32 bit VM (debian 6).

Hum, correct, the toolchain is 64 bits. Weird, I was pretty sure to build them in a 32 bits chroot, maybe that's no longer the case.

Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering http://free-electrons.com

#7 lore raw

PATCH v2 1/1 qdecoder : new package

Dear Sagaert Johan,

Quoted 2 lines · Sagaert Johan

What should I do with the BR2_PREFER_STATIC_LIB ?
Is this a something I should add as depenency ?

Yes. You should add !BR2_PREFER_STATIC_LIB to the dependencies, and add the corresponding comment (see the Buildroot manual for details).

Quoted 4 lines

(I am not very familiar with libraries, I assume that qdecoder.a is a static library and the others (*.so.*) are shared)

What should I add to finalize this patch ?
I added a comment line to the QDECODER_CONF_OPT line for my next version of the patch.

You should get rid of the --prefix and --libdir options, by patching the Makefile.in to add ${DESTDIR} in front of the installation paths in the 'install' target. Then you can send this patch upstream :-)

Thanks a lot,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com