[OpenWrt-Devel] [PATCH] [packages] erlang - allow compiling NIFs, allow rebar for libraries for Erlang + version bump
(Sorry for triple-posting) This fixes the Erlang package so that libraries for Erlang can easily be packaged for OpenWRT. This means: - static libraries and include files for compiling NIFs are copied in the build environment to usr/{lib,include} - crypto is enabled in host Erlang build so that rebar can be used without further patching Version is bumped and 101-emulator_includes.patch is modified so that R16B02 compiles correctly. Note that erlang-crypto is still broken as per https://dev.openwrt.org/ticket/12959; use patch in comments to this ticket. Signed-off-by: Barnabás Králik krali...@msn.com mailto:krali...@msn.com erlang-r16b02.patch Description: Binary data ___ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
[OpenWrt-Devel] [PATCH] [packages] erlang - allow compiling NIFs, allow rebar for libraries for Erlang + version bump
This fixes the Erlang package so that libraries for Erlang can easily be packaged for OpenWRT. This means: - static libraries and include files for compiling NIFs are copied in the build environment to usr/{lib,include} - crypto is enabled in host Erlang build so that rebar can be used without further patching Version is bumped and 101-emulator_includes.patch is modified so that R16B02 compiles correctly. Note that erlang-crypto is still broken as per https://dev.openwrt.org/ticket/12959; use patch in comments to this ticket. Signed-off-by: Barnabás Králik krali...@msn.com Index: feeds/packages/lang/erlang/patches/101-emulator_includes.patch === --- feeds/packages/lang/erlang/patches/101-emulator_includes.patch (revision 38392) +++ feeds/packages/lang/erlang/patches/101-emulator_includes.patch (working copy) @@ -4,8 +4,8 @@ $(OBJDIR)/%.o: beam/%.c -- $(CC) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) $(INCLUDES) -c $ -o $@ -+ $(CC) $(INCLUDES) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) -c $ -o $@ +- $(V_CC) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) $(INCLUDES) -c $ -o $@ ++ $(V_CC) $(INCLUDES) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) -c $ -o $@ else Index: feeds/packages/lang/erlang/Makefile === --- feeds/packages/lang/erlang/Makefile (revision 38392) +++ feeds/packages/lang/erlang/Makefile (working copy) @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=erlang -PKG_VERSION:=R15B01 -PKG_RELEASE:=4 +PKG_VERSION:=R16B02 +PKG_RELEASE:=1 PKG_SOURCE:=otp_src_$(PKG_VERSION).tar.gz PKG_SOURCE_URL:= http://www.erlang.org/download/ \ http://erlang.mirror.su.se/ -PKG_MD5SUM:=f12d00f6e62b36ad027d6c0c08905fad +PKG_MD5SUM:= ca63bcde0e5ae0f2df9457f97b3115a4 PKG_BUILD_DEPENDS:=erlang/host openssl @@ -38,11 +38,10 @@ and fault tolerance. endef - define Package/erlang $(call Package/erlang/Default) DEPENDS+= +libncurses +librt +zlib - PROVIDES:= erlang-erts=5.9 erlang-kernel=2.15 erlang-sasl=2.2 erlang-stdlib=1.18 + PROVIDES:= erlang-erts=5.10.3 erlang-kernel=2.16.3 erlang-sasl=2.3.3 erlang-stdlib=1.19.3 endef define Package/erlang/description @@ -56,7 +55,7 @@ define Package/erlang-asn1 $(call Package/erlang/Default) TITLE:=Abstract Syntax Notation One (ASN.1) support - VERSION:=1.6.19 + VERSION:=2.0.3 DEPENDS+= +erlang +erlang-syntax-tools endef @@ -71,7 +70,7 @@ define Package/erlang-compiler $(call Package/erlang/Default) TITLE:=Byte code compiler - VERSION:=4.8 + VERSION:=4.9.3 DEPENDS+= +erlang +erlang-hipe endef @@ -86,7 +85,7 @@ define Package/erlang-crypto $(call Package/erlang/Default) TITLE:=Cryptography support - VERSION:=2.1 + VERSION:=3.1 DEPENDS+= +erlang +libopenssl endef @@ -101,7 +100,7 @@ define Package/erlang-hipe $(call Package/erlang/Default) TITLE:=High Performance Erlang - VERSION:=3.9 + VERSION:=3.10.2.1 DEPENDS+= +erlang endef @@ -116,7 +115,7 @@ define Package/erlang-inets $(call Package/erlang/Default) TITLE:=Internet clients and servers - VERSION:=5.8 + VERSION:=5.9.6 DEPENDS+= +erlang endef @@ -132,7 +131,7 @@ define Package/erlang-mnesia $(call Package/erlang/Default) TITLE:=Distributed database - VERSION:=4.6 + VERSION:=4.10 DEPENDS+= +erlang endef @@ -149,7 +148,7 @@ define Package/erlang-runtime-tools $(call Package/erlang/Default) TITLE:=Low-profile debugging/tracing tools - VERSION:=1.8.7 + VERSION:=1.8.12 DEPENDS+= +erlang endef @@ -164,7 +163,7 @@ define Package/erlang-snmp $(call Package/erlang/Default) TITLE:=Simple Network Management Protocol (SNMP) support - VERSION:=4.21.4 + VERSION:=4.24.2 DEPENDS+= +erlang +erlang-asn1 endef @@ -180,7 +179,7 @@ define Package/erlang-ssh $(call Package/erlang/Default) TITLE:=Secure Shell (SSH) support - VERSION:=2.0.9 + VERSION:=2.1.8 DEPENDS+= +erlang +erlang-crypto endef @@ -195,7 +194,7 @@ define Package/erlang-ssl $(call Package/erlang/Default) TITLE:=Secure Sockets Layer (SSL) support - VERSION:=5.0 + VERSION:=5.3.1 DEPENDS+= +erlang +erlang-crypto endef @@ -210,7 +209,7 @@ define Package/erlang-syntax-tools $(call Package/erlang/Default) TITLE:=Abstract Erlang syntax trees handling support - VERSION:=1.6.7.2 + VERSION:=1.6.11 DEPENDS+= +erlang endef @@ -227,8 +226,7 @@ HOST_CONFIGURE_ARGS += \ --disable-hipe \ --disable-smp-support \ - --without-javac \ - --without-ssl + --without-javac define Host/Compile $(MAKE) -C $(HOST_BUILD_DIR) all @@ -296,6 +294,12 @@ done endef +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_BUILD_DIR)/lib/erl_interface/obj/*/*.a $(1)/usr/lib + $(INSTALL_DIR) $(1)/usr/include + $(CP) $(PKG_BUILD_DIR)/lib/erl_interface/include/*.h $(1)/usr/include +endef define
Re: [OpenWrt-Devel] [PATCH] [packages] erlang - allow compiling NIFs, allow rebar for libraries for Erlang + version bump
Hi, Thanks for the notice. I have re-sent it but patchwork still seems to have some problems with the formatting. I am puzzled; I have already used this e-mail-client to submit a patch and then it went through. What am I doing wrong? Regards, Barnabás -Original Message- From: Peter Wagner [mailto:tripo...@gmx.at] Sent: Sunday, November 3, 2013 9:45 PM To: Králik Barnabás Cc: openwrt-devel@lists.openwrt.org Subject: Re: [OpenWrt-Devel] [PATCH] [packages] erlang - allow compiling NIFs, allow rebar for libraries for Erlang + version bump Hi, your patch is malformed. Please resend it and add the patch as attachment. Regards, Peter On Sun, 3 Nov 2013 19:41:01 +0100 Králik Barnabás krali...@msn.com wrote: This fixes the Erlang package so that libraries for Erlang can easily be packaged for OpenWRT. This means: - static libraries and include files for compiling NIFs are copied in the build environment to usr/{lib,include} - crypto is enabled in host Erlang build so that rebar can be used without further patching Version is bumped and 101-emulator_includes.patch is modified so that R16B02 compiles correctly. Note that erlang-crypto is still broken as per https://dev.openwrt.org/ticket/12959; use patch in comments to this ticket. Signed-off-by: Barnabás Králik krali...@msn.com Index: feeds/packages/lang/erlang/patches/101-emulator_includes.patch === --- feeds/packages/lang/erlang/patches/101-emulator_includes.patch (revision 38392) +++ feeds/packages/lang/erlang/patches/101-emulator_includes.patch (working copy) @@ -4,8 +4,8 @@ $(OBJDIR)/%.o: beam/%.c --$(CC) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) $(INCLUDES) -c $ -o $@ -+ $(CC) $(INCLUDES) $(subst -O2, $(GEN_OPT_FLGS), -+ $(CFLAGS)) -c $ -o $@ +- $(V_CC) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) $(INCLUDES) -c $ -o $@ ++ $(V_CC) $(INCLUDES) $(subst -O2, $(GEN_OPT_FLGS), ++ $(CFLAGS)) -c $ -o $@ else Index: feeds/packages/lang/erlang/Makefile === --- feeds/packages/lang/erlang/Makefile (revision 38392) +++ feeds/packages/lang/erlang/Makefile(working copy) @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=erlang -PKG_VERSION:=R15B01 -PKG_RELEASE:=4 +PKG_VERSION:=R16B02 +PKG_RELEASE:=1 PKG_SOURCE:=otp_src_$(PKG_VERSION).tar.gz PKG_SOURCE_URL:= http://www.erlang.org/download/ \ http://erlang.mirror.su.se/ -PKG_MD5SUM:=f12d00f6e62b36ad027d6c0c08905fad +PKG_MD5SUM:= ca63bcde0e5ae0f2df9457f97b3115a4 PKG_BUILD_DEPENDS:=erlang/host openssl @@ -38,11 +38,10 @@ and fault tolerance. endef - define Package/erlang $(call Package/erlang/Default) DEPENDS+= +libncurses +librt +zlib - PROVIDES:= erlang-erts=5.9 erlang-kernel=2.15 erlang-sasl=2.2 erlang-stdlib=1.18 + PROVIDES:= erlang-erts=5.10.3 erlang-kernel=2.16.3 + erlang-sasl=2.3.3 erlang-stdlib=1.19.3 endef define Package/erlang/description @@ -56,7 +55,7 @@ define Package/erlang-asn1 $(call Package/erlang/Default) TITLE:=Abstract Syntax Notation One (ASN.1) support - VERSION:=1.6.19 + VERSION:=2.0.3 DEPENDS+= +erlang +erlang-syntax-tools endef @@ -71,7 +70,7 @@ define Package/erlang-compiler $(call Package/erlang/Default) TITLE:=Byte code compiler - VERSION:=4.8 + VERSION:=4.9.3 DEPENDS+= +erlang +erlang-hipe endef @@ -86,7 +85,7 @@ define Package/erlang-crypto $(call Package/erlang/Default) TITLE:=Cryptography support - VERSION:=2.1 + VERSION:=3.1 DEPENDS+= +erlang +libopenssl endef @@ -101,7 +100,7 @@ define Package/erlang-hipe $(call Package/erlang/Default) TITLE:=High Performance Erlang - VERSION:=3.9 + VERSION:=3.10.2.1 DEPENDS+= +erlang endef @@ -116,7 +115,7 @@ define Package/erlang-inets $(call Package/erlang/Default) TITLE:=Internet clients and servers - VERSION:=5.8 + VERSION:=5.9.6 DEPENDS+= +erlang endef @@ -132,7 +131,7 @@ define Package/erlang-mnesia $(call Package/erlang/Default) TITLE:=Distributed database - VERSION:=4.6 + VERSION:=4.10 DEPENDS+= +erlang endef @@ -149,7 +148,7 @@ define Package/erlang-runtime-tools $(call Package/erlang/Default) TITLE:=Low-profile debugging/tracing tools - VERSION:=1.8.7 + VERSION:=1.8.12 DEPENDS+= +erlang endef @@ -164,7 +163,7 @@ define Package/erlang-snmp $(call Package/erlang/Default) TITLE:=Simple Network Management Protocol (SNMP) support - VERSION:=4.21.4 + VERSION:=4.24.2 DEPENDS+= +erlang +erlang-asn1 endef @@ -180,7 +179,7 @@ define Package/erlang-ssh $(call
[OpenWrt-Devel] [PATCH] [packages] erlang - allow compiling NIFs, allow rebar for libraries for Erlang + version bump
This fixes the Erlang package so that libraries for Erlang can easily be packaged for OpenWRT. This means: - static libraries and include files for compiling NIFs are copied in the build environment to usr/{lib,include} - crypto is enabled in host Erlang build so that rebar can be used without further patching Version is bumped and 101-emulator_includes.patch is modified so that R16B02 compiles correctly. Note that erlang-crypto is still broken as per https://dev.openwrt.org/ticket/12959; use patch in comments to this ticket. Signed-off-by: Barnabás Králik krali...@msn.com Index: feeds/packages/lang/erlang/patches/101-emulator_includes.patch === --- feeds/packages/lang/erlang/patches/101-emulator_includes.patch (revision 38392) +++ feeds/packages/lang/erlang/patches/101-emulator_includes.patch (working copy) @@ -4,8 +4,8 @@ $(OBJDIR)/%.o: beam/%.c --$(CC) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) $(INCLUDES) -c $ -o $@ -+ $(CC) $(INCLUDES) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) -c $ -o $@ +- $(V_CC) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) $(INCLUDES) -c $ -o $@ ++ $(V_CC) $(INCLUDES) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) -c $ -o $@ else Index: feeds/packages/lang/erlang/Makefile === --- feeds/packages/lang/erlang/Makefile (revision 38392) +++ feeds/packages/lang/erlang/Makefile(working copy) @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=erlang -PKG_VERSION:=R15B01 -PKG_RELEASE:=4 +PKG_VERSION:=R16B02 +PKG_RELEASE:=1 PKG_SOURCE:=otp_src_$(PKG_VERSION).tar.gz PKG_SOURCE_URL:= http://www.erlang.org/download/ \ http://erlang.mirror.su.se/ -PKG_MD5SUM:=f12d00f6e62b36ad027d6c0c08905fad +PKG_MD5SUM:= ca63bcde0e5ae0f2df9457f97b3115a4 PKG_BUILD_DEPENDS:=erlang/host openssl @@ -38,11 +38,10 @@ and fault tolerance. endef - define Package/erlang $(call Package/erlang/Default) DEPENDS+= +libncurses +librt +zlib - PROVIDES:= erlang-erts=5.9 erlang-kernel=2.15 erlang-sasl=2.2 erlang-stdlib=1.18 + PROVIDES:= erlang-erts=5.10.3 erlang-kernel=2.16.3 erlang-sasl=2.3.3 erlang-stdlib=1.19.3 endef define Package/erlang/description @@ -56,7 +55,7 @@ define Package/erlang-asn1 $(call Package/erlang/Default) TITLE:=Abstract Syntax Notation One (ASN.1) support - VERSION:=1.6.19 + VERSION:=2.0.3 DEPENDS+= +erlang +erlang-syntax-tools endef @@ -71,7 +70,7 @@ define Package/erlang-compiler $(call Package/erlang/Default) TITLE:=Byte code compiler - VERSION:=4.8 + VERSION:=4.9.3 DEPENDS+= +erlang +erlang-hipe endef @@ -86,7 +85,7 @@ define Package/erlang-crypto $(call Package/erlang/Default) TITLE:=Cryptography support - VERSION:=2.1 + VERSION:=3.1 DEPENDS+= +erlang +libopenssl endef @@ -101,7 +100,7 @@ define Package/erlang-hipe $(call Package/erlang/Default) TITLE:=High Performance Erlang - VERSION:=3.9 + VERSION:=3.10.2.1 DEPENDS+= +erlang endef @@ -116,7 +115,7 @@ define Package/erlang-inets $(call Package/erlang/Default) TITLE:=Internet clients and servers - VERSION:=5.8 + VERSION:=5.9.6 DEPENDS+= +erlang endef @@ -132,7 +131,7 @@ define Package/erlang-mnesia $(call Package/erlang/Default) TITLE:=Distributed database - VERSION:=4.6 + VERSION:=4.10 DEPENDS+= +erlang endef @@ -149,7 +148,7 @@ define Package/erlang-runtime-tools $(call Package/erlang/Default) TITLE:=Low-profile debugging/tracing tools - VERSION:=1.8.7 + VERSION:=1.8.12 DEPENDS+= +erlang endef @@ -164,7 +163,7 @@ define Package/erlang-snmp $(call Package/erlang/Default) TITLE:=Simple Network Management Protocol (SNMP) support - VERSION:=4.21.4 + VERSION:=4.24.2 DEPENDS+= +erlang +erlang-asn1 endef @@ -180,7 +179,7 @@ define Package/erlang-ssh $(call Package/erlang/Default) TITLE:=Secure Shell (SSH) support - VERSION:=2.0.9 + VERSION:=2.1.8 DEPENDS+= +erlang +erlang-crypto endef @@ -195,7 +194,7 @@ define Package/erlang-ssl $(call Package/erlang/Default) TITLE:=Secure Sockets Layer (SSL) support - VERSION:=5.0 + VERSION:=5.3.1 DEPENDS+= +erlang +erlang-crypto endef @@ -210,7 +209,7 @@ define Package/erlang-syntax-tools $(call Package/erlang/Default) TITLE:=Abstract Erlang syntax trees handling support - VERSION:=1.6.7.2 + VERSION:=1.6.11 DEPENDS+= +erlang endef @@ -227,8 +226,7 @@ HOST_CONFIGURE_ARGS += \ --disable-hipe \ --disable-smp-support \ - --without-javac \ - --without-ssl + --without-javac define Host/Compile $(MAKE) -C $(HOST_BUILD_DIR) all @@ -296,6 +294,12 @@ done endef +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/lib + $(CP)
[OpenWrt-Devel] RE(5); Ivette67
gift voucher No:5787276 http://viavremya.com/aurenl.php?t=698832es=kralikba87 Sent: 29.06.2013 3:08:12 * From: Králik Barnabás 2013 ugn)ameritech- Terms and Privacy ___ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel
[OpenWrt-Devel] [PATCH 2/2] [packages] pound: a lightweight reverse proxy and
This patch adds pound 2.6 (www.apsis.ch/pound/) as a package. It has full UCI support. Pound needs a threaded OpenSSL library, thus the previous patch in the series. Signed-off-by: Barnabás Králik krali...@msn.com --- Index: feeds/packages/net/pound/Makefile === --- feeds/packages/net/pound/Makefile (revision 0) +++ feeds/packages/net/pound/Makefile (working copy) @@ -0,0 +1,56 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=Pound +PKG_VERSION:=2.6 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tgz +PKG_SOURCE_URL:=http://www.apsis.ch/pound/ +PKG_MD5SUM:=8c913b527332694943c4c67c8f152071 + +PKG_BUILD_PARALLEL:=0 + +include $(INCLUDE_DIR)/package.mk + +define Package/pound + SECTION:=net + CATEGORY:=Network + SUBMENU:=Web Servers/Proxies + DEPENDS:=+libopenssl +libpthread +libpcre + TITLE:=Pound load balancer and reverse proxy + URL:=http://www.apsis.ch/pound/ +endef + +define Package/pound/description + The Pound program is a reverse proxy, load balancer and HTTPS front-end for Web server(s). + Pound was developed to enable distributing the load among several Web-servers and to allow + for a convenient SSL wrapper for those Web servers that do not offer it natively. +endef + +define Package/pound/config + select OPENSSL_THREADS +endef + +define Package/pound/conffiles +/etc/config/pound +endef + +CONFIGURE_ARGS+= \ + --with-ssl=$(STAGING_DIR)/usr \ + --prefix=/usr/sbin + +define Build/Compile + mkdir -p $(PKG_INSTALL_DIR)/etc/pound + $(call Build/Compile/Default) +endef + +define Package/pound/install + $(INSTALL_DIR) $(1)/usr/sbin + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_BIN) $(PKG_BUILD_DIR)/pound $(1)/usr/sbin/ + $(INSTALL_BIN) $(PKG_BUILD_DIR)/poundctl $(1)/usr/sbin/ + $(INSTALL_BIN) ./files/pound.init $(1)/etc/init.d/pound + $(INSTALL_DATA) ./files/pound.conf $(1)/etc/config/pound +endef + +$(eval $(call BuildPackage,pound)) Index: feeds/packages/net/pound/files/pound.init === --- feeds/packages/net/pound/files/pound.init (revision 0) +++ feeds/packages/net/pound/files/pound.init (working copy) @@ -0,0 +1,258 @@ +#!/bin/sh /etc/rc.common +START=99 + +DAEMON=/usr/sbin/pound +CFGFILE=/var/run/pound.cfg +PIDFILE=/var/run/pound.pid +TMPCFGFILE=/tmp/pound.cfg.new +EXTRA_COMMANDS=generate_config +PREFIX=0 + +start() { + echo 'Pound is starting...' + generate_config || (echo 'Config file is bad, aborting.' 2;return 1) + start-stop-daemon -S -x $DAEMON -p $PIDFILE -- -f $CFGFILE +} + +stop() { + echo 'Pound is stopping...' + start-stop-daemon -K -q -x $DAEMON -p $PIDFILE +} + +restart() { + generate_config ( + stop; + start + ) +} + +append_field() { + local cfg=$1 + local field=$2 + local _label=$3 + local default=$4 + config_get val $cfg $field $default + if [ -n $val ] + then + append_prefix + echo $_label $val $TMPCFGFILE + fi +} + +append_quotes() { + local cfg=$1 + local field=$2 + local _label=$3 + local default=$4 + config_get val $cfg $field $default + if [ -n $val ] + then + append_prefix + echo $_label \$val\ $TMPCFGFILE + fi +} + +append_str() { + append_prefix + echo $1 $TMPCFGFILE +} + +begin_block() { + echo $TMPCFGFILE + append_str $1 + PREFIX=`expr $PREFIX + 1` +} + +end_block() { + PREFIX=`expr $PREFIX - 1` + append_str End +} + +append_prefix() { + for i in `seq 1 $PREFIX` + do echo -n $TMPCFGFILE + done +} + +config_has() { + local cfg=$1 + local field=$2 + config_get val $cfg $field + [ -n $val ] +} + +globals() { + local cfg=$1 + append_quotes $cfg user User + append_quotes $cfg group Group + append_quotes $cfg jail Jail + append_field $cfg daemon Daemon + append_field $cfg log_facility LogFacility + append_field $cfg log_level LogLevel + append_field $cfg ignore_case IgnoreCase + append_field $cfg dyn_scale DynScale + append_field $cfg alive Alive + append_field $cfg client Client + append_field $cfg timeout TimeOut + append_field $cfg connect_timeout ConnTO + append_field $cfg grace Grace + append_quotes $cfg ssl_engine SSLEngine + append_quotes $cfg control Control + + config_get rawfile $cfg raw + [ -n $rawfile ] ( cat $rawfile $TMPCFGFILE ) +} + +CURRENT_LISTENER= + +listener() { + local cfg=$1 + CURRENT_LISTENER=$cfg + + config_get proto $cfg proto + if [ $proto = http ] + then begin_block ListenHTTP + elif [ $proto = https ] + then begin_block ListenHTTPS + else + echo invalid proto $proto 2 + exit 1 + fi + + append_field $cfg address Address + append_field $cfg port Port + append_field $cfg xhttp xHTTP + append_field $cfg client Client + append_quotes $cfg check_url CheckURL + append_quotes $cfg
[OpenWrt-Devel] [PATCH 1/2] [packages] openssl: enable threading support
This patch adds an option to OpenSSL's configuration to enable threading support. This is to enable compiling software dependent on this feature of OpenSSL, e.g. pound, for which the patch has originally been created some time ago (see https://dev.openwrt.org/ticket/8855). (When first checking around why the --no-threads option has been enabled in OpenSSL's Makefile, chats suggested that the decision has been made because of stability issues. I have run pound with a threaded libopenssl on my WNDR3700 for the last ~2 years under low to moderate stress with no segfaults/out-of-memory errors/etc. of pound.) Signed-off-by: Barnabás Králik krali...@msn.com --- Index: package/libs/openssl/Config.in === --- package/libs/openssl/Config.in (revision 35763) +++ package/libs/openssl/Config.in (working copy) @@ -5,6 +5,12 @@ bool prompt Crypto acceleration support +config OPENSSL_THREADS + bool + prompt Threading support + default n + select PACKAGE_libpthread + config OPENSSL_ENGINE_DIGEST bool depends OPENSSL_ENGINE_CRYPTO Index: package/libs/openssl/Makefile === --- package/libs/openssl/Makefile (revision 35763) +++ package/libs/openssl/Makefile (working copy) @@ -20,7 +20,7 @@ PKG_LICENSE:=SSLEAY OPENSSL PKG_LICENSE_FILES:=LICENSE PKG_BUILD_DEPENDS:=ocf-crypto-headers -PKG_CONFIG_DEPENDS:=CONFIG_OPENSSL_ENGINE_CRYPTO CONFIG_OPENSSL_ENGINE_DIGEST +PKG_CONFIG_DEPENDS:=CONFIG_OPENSSL_ENGINE_CRYPTO CONFIG_OPENSSL_ENGINE_DIGEST CONFIG_OPENSSL_THREADS include $(INCLUDE_DIR)/package.mk @@ -45,7 +45,7 @@ SECTION:=libs SUBMENU:=SSL CATEGORY:=Libraries - DEPENDS:=+zlib + DEPENDS:=+zlib TITLE+= (libraries) MENU:=1 endef @@ -75,8 +75,14 @@ OPENSSL_NO_CIPHERS:= no-idea no-md2 no-mdc2 no-rc5 no-sha0 no-smime \ no-rmd160 no-aes192 no-ripemd no-camellia no-ans1 no-krb5 -OPENSSL_OPTIONS:= shared no-ec no-err no-hw no-threads zlib-dynamic no-sse2 +OPENSSL_OPTIONS:= shared no-ec no-err no-hw zlib-dynamic no-sse2 +ifdef CONFIG_OPENSSL_THREADS + OPENSSL_OPTIONS += threads +else + OPENSSL_OPTIONS += no-threads +endif + ifdef CONFIG_OPENSSL_ENGINE_CRYPTO OPENSSL_OPTIONS += -DHAVE_CRYPTODEV ifdef CONFIG_OPENSSL_ENGINE_DIGEST ___ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel