Skip to contentSkip to conversation

ustream-ssl: new package

PATCH New Rahul Jain 3 participants 9 messages Oct 17, 2016 – Dec 4, 2016

lore
Share & tools
lore

Rahul Jain

author
#0 lore raw

PATCH v4 1/3 ustream-ssl: new package

ustream-ssl has support for polarssl and cyassl
but since polarssl is made obsolete by mbedtls and cyassl is not present in buildroot, we have not added support for it.

---
Changes v3 -> v4:
- add USTREAM_SSL_LICENSE_FILES variable
Changes v2 -> v3:
- Remove entry from DEVELOPERS file
Changes v1 -> v2:
- No changes

 package/Config.in                  |  1 +
 package/ustream-ssl/Config.in      | 12 ++++++++++++
 package/ustream-ssl/ustream-ssl.mk | 21 +++++++++++++++++++++
 3 files changed, 34 insertions(+)
 create mode 100644 package/ustream-ssl/Config.in
 create mode 100644 package/ustream-ssl/ustream-ssl.mk
package/Config.in +1 -0
index 9399f63..89de7af 100644
@@ -911,6 +911,7 @@ menu "Crypto"
 	source "package/polarssl/Config.in"
 	source "package/tinydtls/Config.in"
 	source "package/trousers/Config.in"
+	source "package/ustream-ssl/Config.in"
 endmenu
 
 menu "Database"
package/ustream-ssl/Config.in new file +12 -0
new file mode 100644
index 0000000..540e436
@@ -0,0 +1,12 @@
+config BR2_PACKAGE_USTREAM_SSL
+	bool "ustream-ssl"
+	depends on !BR2_STATIC_LIBS #libubox
+	select BR2_PACKAGE_LIBUBOX
+	select BR2_PACKAGE_OPENSSL if !BR2_PACKAGE_MBEDTLS
+	help
+	  ustream SSL wrapper
+
+	  https://git.openwrt.org/?p=project/ustream-ssl.git;a=summary
+
+comment "ustream-ssl needs a toolchain w/ dynamic library"
+	depends on BR2_STATIC_LIBS
package/ustream-ssl/ustream-ssl.mk new file +21 -0
new file mode 100644
index 0000000..b83d129
@@ -0,0 +1,21 @@
+################################################################################
+#
+# ustream-ssl
+#
+################################################################################
+
+USTREAM_SSL_VERSION = ec80adaa1b47f28d426fa19c692011ce60b992d6
+USTREAM_SSL_SITE = git://git.openwrt.org/project/ustream-ssl.git
+USTREAM_SSL_LICENSE = ISC
+USTREAM_SSL_LICENSE_FILES = ustream-ssl.h
+USTREAM_SSL_INSTALL_STAGING = YES
+USTREAM_SSL_DEPENDENCIES = libubox
+
+ifeq ($(BR2_PACKAGE_MBEDTLS),y)
+USTREAM_SSL_DEPENDENCIES += mbedtls
+USTREAM_SSL_CONF_OPTS += -DMBEDTLS=ON
+else
+USTREAM_SSL_DEPENDENCIES += openssl
+endif
+
+$(eval $(cmake-package))
Signature · 1 line
2.6.2
author
#1 lore raw

PATCH v4 2/3 uhttpd: new package

---
Changes v3 -> v4:
- add UHTTPD_LICENSE_FILES variable
Changes v2 -> v3:
- Remove entry from DEVELOPERS file
Changes v1 -> v2:
- Updated the url in help (Suggested by Arnout)
- Use http url (Suggested by Arnout)
- Add hash file (Suggested by Arnout)
- Improve handling of optional dependency on lua (Suggested by Arnout)
- Remove unrequired config options (Suggested by Arnout)
- Explicitly specify the config option when enabling lua, ssl and ubus support (Suggested by Arnout)

 package/Config.in          |  1 +
 package/uhttpd/Config.in   | 18 ++++++++++++++++++
 package/uhttpd/uhttpd.hash |  2 ++
 package/uhttpd/uhttpd.mk   | 39 +++++++++++++++++++++++++++++++++++++++
 4 files changed, 60 insertions(+)
 create mode 100644 package/uhttpd/Config.in
 create mode 100644 package/uhttpd/uhttpd.hash
 create mode 100644 package/uhttpd/uhttpd.mk
package/Config.in +1 -0
index 89de7af..84a75c2 100644
@@ -1613,6 +1613,7 @@ endif
 	source "package/tunctl/Config.in"
 	source "package/tvheadend/Config.in"
 	source "package/udpcast/Config.in"
+	source "package/uhttpd/Config.in"
 	source "package/ulogd/Config.in"
 	source "package/ushare/Config.in"
 	source "package/ussp-push/Config.in"
package/uhttpd/Config.in new file +18 -0
new file mode 100644
index 0000000..e463b93
@@ -0,0 +1,18 @@
+config BR2_PACKAGE_UHTTPD
+	bool "uhttpd"
+	depends on !BR2_STATIC_LIBS # dlopen()
+	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # json-c
+	depends on BR2_USE_MMU # fork()
+	select BR2_PACKAGE_LIBUBOX
+	select BR2_PACKAGE_JSON_C
+	help
+	  uHTTPd is a tiny single threaded HTTP server with TLS, CGI and Lua
+	  support. It is intended as a drop-in replacement for the Busybox
+	  HTTP daemon.
+
+	  https://wiki.openwrt.org/doc/howto/http.uhttpd
+
+comment "uhttpd needs a toolchain w/ dynamic library"
+	depends on BR2_TOOLCHAIN_HAS_SYNC_4
+	depends on BR2_USE_MMU
+	depends on BR2_STATIC_LIBS
package/uhttpd/uhttpd.hash new file +2 -0
new file mode 100644
index 0000000..59e54ad
@@ -0,0 +1,2 @@
+# No hash for this git snapshot
+none	xxx	uhttpd-59e0c739634f46a164d939e54416287b91ff8a9b.tar.gz
package/uhttpd/uhttpd.mk new file +39 -0
new file mode 100644
index 0000000..328b621
@@ -0,0 +1,39 @@
+################################################################################
+#
+# uhttpd
+#
+################################################################################
+
+UHTTPD_VERSION = 59e0c739634f46a164d939e54416287b91ff8a9b
+UHTTPD_SITE = http://git.openwrt.org/project/uhttpd.git
+UHTTPD_SITE_METHOD = git
+UHTTPD_LICENSE = ISC
+UHTTPD_LICENSE_FILES = uhttpd.h
+UHTTPD_DEPENDENCIES = libubox json-c
+
+ifeq ($(BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION),"5.1")
+ifeq ($(BR2_PACKAGE_LUA),y)
+UHTTPD_DEPENDENCIES += lua
+else ifeq ($(BR2_PACKAGE_LUAJIT),y)
+UHTTPD_DEPENDENCIES += luajit
+endif
+UHTTPD_CONF_OPTS += -DLUA_SUPPORT=ON
+else
+UHTTPD_CONF_OPTS += -DLUA_SUPPORT=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_USTREAM_SSL),y)
+UHTTPD_DEPENDENCIES += ustream-ssl
+UHTTPD_CONF_OPTS += -DTLS_SUPPORT=ON
+else
+UHTTPD_CONF_OPTS += -DTLS_SUPPORT=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_UBUS),y)
+UHTTPD_DEPENDENCIES += ubus
+UHTTPD_CONF_OPTS += -DUBUS_SUPPORT=ON
+else
+UHTTPD_CONF_OPTS += -DUBUS_SUPPORT=OFF
+endif
+
+$(eval $(cmake-package))
Signature · 1 line
2.6.2
#2 lore raw

PATCH v4 2/3 uhttpd: new package

Hello,

package/uhttpd/uhttpd.mk line 18

Quoted 5 lines · Rahul Jain
package/uhttpd/uhttpd.mk new file +5 -0
+ifeq ($(BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION),"5.1")
+ifeq ($(BR2_PACKAGE_LUA),y)
+UHTTPD_DEPENDENCIES += lua
+else ifeq ($(BR2_PACKAGE_LUAJIT),y)
+UHTTPD_DEPENDENCIES += luajit

It doesn't build with LuaJIT:

[ 35%] Linking C shared module uhttpd_lua.so /home/thomas/projets/buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/4.8.5/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: cannot find -llua
collect2: error: ld returned 1 exit status

So I've modified your patch to only use Lua. If you want to re-enable LuaJIT support, could you fix the issue and send a follow-up patch?

Applied to next with this issue fixed.

Thanks!

Thomas

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

PATCH v4 3/3 DEVELOPERS: add entry for uhttpd and ustream-ssl

In reply to Rahul Jain

---
Changes v1 -> v2:
- No changes

 DEVELOPERS | 4 ++++
 1 file changed, 4 insertions(+)
DEVELOPERS +4 -0
index ed89b09..30fe6fd 100644
@@ -1212,6 +1212,10 @@ F:	package/gssdp/
 F:	package/gupnp/
 F:	package/gupnp-av/
 
+N:	Rahul Jain <[email protected]>
+F:	package/uhttpd
+F:	package/ustream-ssl
+
 N:	Renaud Aubin <[email protected]>
 F:	package/libhttpparser/
 
Signature · 1 line
2.6.2
#4 lore raw

PATCH v4 3/3 DEVELOPERS: add entry for uhttpd and ustream-ssl

Hello,

DEVELOPERS F: package/gssdp/ · line 1217

Quoted 3 lines · Rahul Jain
DEVELOPERS +3 -0
+N:	Rahul Jain <[email protected]>
+F:	package/uhttpd
+F:	package/ustream-ssl

We want those to have the final slash, so I've added them and applied to next. Thanks!

Thomas

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

PATCH v4 1/3 ustream-ssl: new package

In reply to Rahul Jain

Hi,

Quoted 64 lines · Rahul Jain

ustream-ssl has support for polarssl and cyassl
but since polarssl is made obsolete by mbedtls and cyassl is not present in buildroot, we have not added support for it.

---
Changes v3 -> v4:
- add USTREAM_SSL_LICENSE_FILES variable
Changes v2 -> v3:
- Remove entry from DEVELOPERS file
Changes v1 -> v2:
- No changes

 package/Config.in                  |  1 +
 package/ustream-ssl/Config.in      | 12 ++++++++++++
 package/ustream-ssl/ustream-ssl.mk | 21 +++++++++++++++++++++
 3 files changed, 34 insertions(+)
 create mode 100644 package/ustream-ssl/Config.in
 create mode 100644 package/ustream-ssl/ustream-ssl.mk
package/Config.in +1 -0
index 9399f63..89de7af 100644
@@ -911,6 +911,7 @@ menu "Crypto"
        source "package/polarssl/Config.in"
        source "package/tinydtls/Config.in"
        source "package/trousers/Config.in"
+       source "package/ustream-ssl/Config.in"
 endmenu
 
 menu "Database"
package/ustream-ssl/Config.in new file +12 -0
new file mode 100644
index 0000000..540e436
@@ -0,0 +1,12 @@
+config BR2_PACKAGE_USTREAM_SSL
+       bool "ustream-ssl"
+       depends on !BR2_STATIC_LIBS #libubox
+       select BR2_PACKAGE_LIBUBOX
+       select BR2_PACKAGE_OPENSSL if !BR2_PACKAGE_MBEDTLS
+       help
+         ustream SSL wrapper
+
+         https://git.openwrt.org/?p=project/ustream-ssl.git;a=summary
+
+comment "ustream-ssl needs a toolchain w/ dynamic library"
+       depends on BR2_STATIC_LIBS
package/ustream-ssl/ustream-ssl.mk new file +7 -0
new file mode 100644
index 0000000..b83d129
@@ -0,0 +1,21 @@
+################################################################################
+#
+# ustream-ssl
+#
+################################################################################
+
+USTREAM_SSL_VERSION = ec80adaa1b47f28d426fa19c692011ce60b992d6

package/ustream-ssl/ustream-ssl.mk line 17

Quoted 10 lines
package/ustream-ssl/ustream-ssl.mk new file +10 -0
+USTREAM_SSL_SITE = git://git.openwrt.org/project/ustream-ssl.git
+USTREAM_SSL_LICENSE = ISC
+USTREAM_SSL_LICENSE_FILES = ustream-ssl.h
+USTREAM_SSL_INSTALL_STAGING = YES
+USTREAM_SSL_DEPENDENCIES = libubox
+
+ifeq ($(BR2_PACKAGE_MBEDTLS),y)
+USTREAM_SSL_DEPENDENCIES += mbedtls
+USTREAM_SSL_CONF_OPTS += -DMBEDTLS=ON
+else

We usually prefer having the disable option sets here as well, i.e.:
ifeq (...)
USTREAM_SSL_CONF_OPTS += -DMBEDTLS=ON
...
else
USTREAM_SSL_CONF_OPTS += -DMBEDTLS=ON
...
endif

Quoted 11 lines
package/ustream-ssl/ustream-ssl.mk new file +4 -1
+USTREAM_SSL_DEPENDENCIES += openssl
+endif
+
+$(eval $(cmake-package))
--

2.6.2

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

Regards,

Signature · 1 line
Samuel
author
#6 lore raw

PATCH v4 1/3 ustream-ssl: new package

Hi Samuel,

Please find my comment inline.

Quoted 78 lines · Samuel Martin

Hi,

Quoted 64 lines · Rahul Jain

ustream-ssl has support for polarssl and cyassl
but since polarssl is made obsolete by mbedtls and cyassl is not present in buildroot, we have not added support for it.

---
Changes v3 -> v4:
- add USTREAM_SSL_LICENSE_FILES variable
Changes v2 -> v3:
- Remove entry from DEVELOPERS file
Changes v1 -> v2:
- No changes

  package/Config.in                  |  1 +
  package/ustream-ssl/Config.in      | 12 ++++++++++++
  package/ustream-ssl/ustream-ssl.mk | 21 +++++++++++++++++++++
  3 files changed, 34 insertions(+)

create mode 100644 package/ustream-ssl/Config.in create mode 100644 package/ustream-ssl/ustream-ssl.mk

package/Config.in +1 -0
index 9399f63..89de7af 100644
@@ -911,6 +911,7 @@ menu "Crypto"
         source "package/polarssl/Config.in"
         source "package/tinydtls/Config.in"
         source "package/trousers/Config.in"
+       source "package/ustream-ssl/Config.in"
  endmenu
 
  menu "Database"
package/ustream-ssl/Config.in new file +12 -0
new file mode 100644
index 0000000..540e436
@@ -0,0 +1,12 @@
+config BR2_PACKAGE_USTREAM_SSL
+       bool "ustream-ssl"
+       depends on !BR2_STATIC_LIBS #libubox
+       select BR2_PACKAGE_LIBUBOX
+       select BR2_PACKAGE_OPENSSL if !BR2_PACKAGE_MBEDTLS
+       help
+         ustream SSL wrapper
+
+         https://git.openwrt.org/?p=project/ustream-ssl.git;a=summary
+
+comment "ustream-ssl needs a toolchain w/ dynamic library"
+       depends on BR2_STATIC_LIBS
package/ustream-ssl/ustream-ssl.mk new file +7 -0
new file mode 100644
index 0000000..b83d129
@@ -0,0 +1,21 @@
+################################################################################
+#
+# ustream-ssl
+#
+################################################################################
+
+USTREAM_SSL_VERSION = ec80adaa1b47f28d426fa19c692011ce60b992d6

package/ustream-ssl/ustream-ssl.mk line 17

Quoted 10 lines
package/ustream-ssl/ustream-ssl.mk new file +10 -0
+USTREAM_SSL_SITE = git://git.openwrt.org/project/ustream-ssl.git
+USTREAM_SSL_LICENSE = ISC
+USTREAM_SSL_LICENSE_FILES = ustream-ssl.h
+USTREAM_SSL_INSTALL_STAGING = YES
+USTREAM_SSL_DEPENDENCIES = libubox
+
+ifeq ($(BR2_PACKAGE_MBEDTLS),y)
+USTREAM_SSL_DEPENDENCIES += mbedtls
+USTREAM_SSL_CONF_OPTS += -DMBEDTLS=ON
+else
Quoted 9 lines

We usually prefer having the disable option sets here as well, i.e.:
ifeq (...)
USTREAM_SSL_CONF_OPTS += -DMBEDTLS=ON
...
else
USTREAM_SSL_CONF_OPTS += -DMBEDTLS=ON
...
endif

It is about choice of cryptographic library and not adding optional support for it. I have referred libcurl.mk, which do not seem to be doing what you suggested.

Quoted 14 lines
Quoted 11 lines
package/ustream-ssl/ustream-ssl.mk new file +4 -1
+USTREAM_SSL_DEPENDENCIES += openssl
+endif
+
+$(eval $(cmake-package))
--

2.6.2

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

Regards,

#7 lore raw

PATCH v4 1/3 ustream-ssl: new package

In reply to Rahul Jain

Hello,

Quoted 6 lines · Rahul Jain

ustream-ssl has support for polarssl and cyassl
but since polarssl is made obsolete by mbedtls and cyassl is not present in buildroot, we have not added support for it.

Quoted 7 lines

---
Changes v3 -> v4:
- add USTREAM_SSL_LICENSE_FILES variable
Changes v2 -> v3:
- Remove entry from DEVELOPERS file
Changes v1 -> v2:
- No changes

Applied to next, thanks.

Thomas

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

PATCH v4 1/3 ustream-ssl: new package

In reply to Rahul Jain

Hello,

Quoted 6 lines · Rahul Jain

ustream-ssl has support for polarssl and cyassl
but since polarssl is made obsolete by mbedtls and cyassl is not present in buildroot, we have not added support for it.

This new package is causing a bunch of build failures:

http://autobuild.buildroot.net/?reason=ustream-ssl-ec80adaa1b47f28d426fa19c692011ce60b992d6

They all look like this:

In file included from /home/test/autobuild/run/instance-0/output/host/usr/mips64el-buildroot-linux-gnu/sysroot/usr/include/mbedtls/net.h:32:0,

                 from /home/test/autobuild/run/instance-0/output/build/ustream-ssl-ec80adaa1b47f28d426fa19c692011ce60b992d6/ustream-mbedtls.h:22,
                 from /home/test/autobuild/run/instance-0/output/build/ustream-ssl-ec80adaa1b47f28d426fa19c692011ce60b992d6/ustream-internal.h:25,
                 from /home/test/autobuild/run/instance-0/output/build/ustream-ssl-ec80adaa1b47f28d426fa19c692011ce60b992d6/ustream-ssl.c:25:

/home/test/autobuild/run/instance-0/output/host/usr/mips64el-buildroot-linux-gnu/sysroot/usr/include/mbedtls/ssl.h:545:5: error: unknown type name 'mbedtls_time_t'
mbedtls_time_t start; /*!< starting time */

Could you have a look and submit a patch to fix this issue?

Thanks!

Thomas

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