update buildroot to 2017.02.11

This commit is contained in:
jbnadal
2018-05-22 15:35:47 +02:00
parent 4bf1f5e091
commit a3c10bd762
9257 changed files with 433426 additions and 1701 deletions

View File

@@ -0,0 +1,40 @@
fix static link with readline
When readline is static library, we need to link against ncurses
because readline needs ncurses. It is because, dependent library's
symbols are not resolved when static library is built. Those symbols
are resolved program tries to link with static library.
We can't pass linker flags for ncurses by setting LIBS environment
variable via <PKG>_CONF_ENV because it looks like build system is not
taking that into account and even though it would have been, order of
linking is important.
We can't also pass linker flags for ncurses via --with-readline-libs
conf options because it causes lftp_LIB_READLINE macro to take readline
headers from host machine if available. To use --with-readline-libs
we need to set --with-readline=yes and --with-readline-inc to include
dir. But when --with-readline=yes, readline_prefix is computed based
on if headers can be found in /usr/local or /usr. If readline is
installed on host machine, then configure fails since we are using
headers for host machine. If headers are not found in /usr/local or /usr
then only path specified --with-readline-inc is taken into account.
So specifying linker flags for ncurses via --with-readline-libs will
not work in all cases.
So it looks like, updating linker flags directly is only option to fix
static link issue against readline.
Signed-off-by: Rahul Bedarkar <rahul.bedarkar@imgtec.com>
--- lftp-4.7.3/m4/lftp_lib_readline.m4.old 2016-08-08 19:49:12.217596470 +0530
+++ lftp-4.7.3/m4/lftp_lib_readline.m4 2016-08-08 19:49:46.265596398 +0530
@@ -108,7 +108,7 @@ AC_DEFUN([lftp_LIB_READLINE],
readline_include_dir="$readline_include_dir/readline"
fi
readline_ld_flags="-L$readline_prefix/lib"
- readline_lib_flags="-lreadline"
+ readline_lib_flags="-lreadline -lncurses"
run_readline_test="yes"
elif test "$readline_requested" = "yes"; then
if test -n "$readline_include_dir" -a -n "$readline_lib_flags"; then

View File

@@ -0,0 +1,57 @@
Use <cmath> instead of <math.h> to fix gcc 6.x build
This patch fixes the following build issue:
../lib/math.h:2577:1: error: int signbit(float) conflicts with a previous declaration
that occurs with gcc 6.x.
Patch taken from
https://raw.githubusercontent.com/openembedded/meta-openembedded/master/meta-networking/recipes-connectivity/lftp/files/fix-gcc-6-conflicts-signbit.patch
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
--- lftp-4.6.3a/src/NetAccess.cc.orig 2016-06-18 10:25:51.063358981 -0400
+++ lftp-4.6.3a/src/NetAccess.cc 2016-06-18 10:26:04.143359209 -0400
@@ -21,7 +21,7 @@
#include <errno.h>
#include <assert.h>
-#include <math.h>
+#include <cmath>
#include <sys/types.h>
#include "NetAccess.h"
--- lftp-4.6.3a/src/Speedometer.cc.orig 2016-06-18 10:24:58.895358073 -0400
+++ lftp-4.6.3a/src/Speedometer.cc 2016-06-18 10:25:10.879358281 -0400
@@ -18,7 +18,7 @@
*/
#include <config.h>
-#include <math.h>
+#include <cmath>
#include <stdlib.h>
#include "Speedometer.h"
#include "misc.h"
--- lftp-4.6.3a/src/FileCopy.cc.orig 2016-06-18 10:24:15.939357325 -0400
+++ lftp-4.6.3a/src/FileCopy.cc 2016-06-18 10:24:24.583357475 -0400
@@ -36,7 +36,7 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
-#include <math.h>
+#include <cmath>
#include <stddef.h>
#include "FileCopy.h"
#include "url.h"
--- lftp-4.6.3a/src/ResMgr.cc.orig 2016-06-18 10:23:31.387356549 -0400
+++ lftp-4.6.3a/src/ResMgr.cc 2016-06-18 10:23:41.771356729 -0400
@@ -23,7 +23,7 @@
#include <ctype.h>
#include <unistd.h>
#include <stdlib.h>
-#include <math.h>
+#include <cmath>
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>

View File

@@ -0,0 +1,66 @@
config BR2_PACKAGE_LFTP
bool "lftp"
depends on BR2_USE_WCHAR
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_USE_MMU # fork()
select BR2_PACKAGE_READLINE
select BR2_PACKAGE_ZLIB
select BR2_PACKAGE_OPENSSL if !BR2_PACKAGE_GNUTLS
help
LFTP is a sophisticated ftp/http client, and a file transfer program
supporting a number of network protocols. Like BASH, it has job
control and uses the readline library for input. It has bookmarks,
a built-in mirror command, and can transfer several files in parallel.
It was designed with reliability in mind.
http://lftp.yar.ru/
if BR2_PACKAGE_LFTP
comment "Commands"
config BR2_PACKAGE_LFTP_CMD_MIRROR
bool "Mirror command"
default y
help
Enable mirror command
config BR2_PACKAGE_LFTP_CMD_SLEEP
bool "Sleep command"
default y
help
Enable sleep command
config BR2_PACKAGE_LFTP_CMD_TORRENT
bool "Torrent command"
help
Enable torrent command
comment "Protocols"
config BR2_PACKAGE_LFTP_PROTO_FISH
bool "FISH protocol"
help
Enable FISH protocol
config BR2_PACKAGE_LFTP_PROTO_FTP
bool "FTP protocol"
default y
help
Enable FTP protocol
config BR2_PACKAGE_LFTP_PROTO_HTTP
bool "HTTP protocol"
help
Enable HTTP protocol
config BR2_PACKAGE_LFTP_PROTO_SFTP
bool "SFTP protocol"
help
Enable SFTP protocol
endif # BR2_PACKAGE_LFTP
comment "lftp requires a toolchain w/ C++, wchar"
depends on BR2_USE_MMU
depends on !(BR2_USE_WCHAR && BR2_INSTALL_LIBSTDCPP)

View File

@@ -0,0 +1,2 @@
# Locally calculated after checking gpg signature
sha256 bf67c4d128b6f769a4082947376a9679c5ee3463a24ab761a0757f75d70bd92c lftp-4.7.4.tar.xz

View File

@@ -0,0 +1,68 @@
################################################################################
#
# lftp
#
################################################################################
LFTP_VERSION = 4.7.4
LFTP_SOURCE = lftp-$(LFTP_VERSION).tar.xz
LFTP_SITE = http://lftp.yar.ru/ftp
LFTP_LICENSE = GPLv3+
LFTP_LICENSE_FILES = COPYING
# Needed so that our libtool patch applies properly, and for patch
# 0001-fix-static-link-with-readline.patch.
LFTP_AUTORECONF = YES
LFTP_DEPENDENCIES = readline zlib host-pkgconf
# Help lftp finding readline and zlib
LFTP_CONF_OPTS = \
--with-readline=$(STAGING_DIR)/usr \
--with-zlib=$(STAGING_DIR)/usr
ifneq ($(BR2_STATIC_LIBS),y)
LFTP_CONF_OPTS += --with-modules
endif
ifeq ($(BR2_PACKAGE_EXPAT)$(BR2_PACKAGE_LFTP_PROTO_HTTP),yy)
LFTP_DEPENDENCIES += expat
endif
ifeq ($(BR2_PACKAGE_GNUTLS),y)
LFTP_DEPENDENCIES += gnutls
LFTP_CONF_OPTS += --with-gnutls
else
LFTP_CONF_OPTS += --without-gnutls
endif
ifeq ($(BR2_PACKAGE_OPENSSL),y)
LFTP_DEPENDENCIES += openssl
LFTP_CONF_OPTS += --with-openssl
else
LFTP_CONF_OPTS += --without-openssl
endif
# Remove /usr/share/lftp
define LFTP_REMOVE_DATA
$(RM) -fr $(TARGET_DIR)/usr/share/lftp
endef
LFTP_POST_INSTALL_TARGET_HOOKS += LFTP_REMOVE_DATA
# Optional commands and protocols
LFTP_MODULES_TO_REMOVE-$(BR2_PACKAGE_LFTP_CMD_MIRROR) += cmd-mirror.so
LFTP_MODULES_TO_REMOVE-$(BR2_PACKAGE_LFTP_CMD_SLEEP) += cmd-sleep.so
LFTP_MODULES_TO_REMOVE-$(BR2_PACKAGE_LFTP_CMD_TORRENT) += cmd-torrent.so
LFTP_MODULES_TO_REMOVE-$(BR2_PACKAGE_LFTP_PROTO_FISH) += proto-fish.so
LFTP_MODULES_TO_REMOVE-$(BR2_PACKAGE_LFTP_PROTO_FTP) += proto-ftp.so
LFTP_MODULES_TO_REMOVE-$(BR2_PACKAGE_LFTP_PROTO_HTTP) += proto-http.so
LFTP_MODULES_TO_REMOVE-$(BR2_PACKAGE_LFTP_PROTO_SFTP) += proto-sftp.so
define LFTP_REMOVE_MODULES
for f in $(LFTP_MODULES_TO_REMOVE-) ; do \
$(RM) -f $(TARGET_DIR)/usr/lib/lftp/$(LFTP_VERSION)/$$f ; \
done
endef
LFTP_POST_INSTALL_TARGET_HOOKS += LFTP_REMOVE_MODULES
$(eval $(autotools-package))