2 # Copyright (C) 2008-2014 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
13 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
).
tar.xz
14 PKG_SOURCE_URL
:=http
://lftp.yar.ru
/ftp \
15 http
://lftp.yar.ru
/ftp
/old \
16 http
://lftp.cybermirror.org \
17 http
://lftp.cybermirror.org
/old
18 PKG_MD5SUM
:=23deda16014412c802f095fbaa0bebee
23 PKG_LICENSE_FILES
:=COPYING
25 include $(INCLUDE_DIR
)/uclibc
++.mk
26 include $(INCLUDE_DIR
)/package.mk
29 SUBMENU
:=File Transfer
32 DEPENDS
:=+libncurses
+libopenssl
+libreadline
$(CXX_DEPENDS
) +libexpat
+zlib
33 TITLE
:=a sophisticated file transfer program with command line interface.
34 MAINTAINER
:=Federico Di Marco
<fededim@gmail.com
>
35 URL
:=http
://lftp.yar.ru
/
38 define Package
/lftp
/description
39 LFTP is a sophisticated file transfer program with command line interface. It supports FTP
, HTTP
, FISH
, SFTP
, HTTPS and FTPS protocols. GNU Readline library is used for input.
40 Every operation in lftp is reliable
, that is any non-fatal error is handled and the operation is retried automatically. So if downloading breaks
, it will be restarted from the point automatically. Even if ftp server does not support REST command
, lftp will try to retrieve the file from the very beginning until the file is transferred completely. This is useful for dynamic-ip machines which change their IP addresses quite often
, and for sites with very bad internet connectivity.
42 If you exit lftp when some jobs are not finished yet
, lftp will move itself to nohup mode in background. The same happens when you have a real modem hangup or when you close an xterm.
44 lftp has shell-like command syntax allowing you to launch several commands in parallel in background
(&). It is also possible to group commands within
() and execute them in background. All background jobs are executed in the same single process. You can bring a foreground job to background with ^Z
(c-z
) and back with command
`wait' (or `fg
' which is alias to `wait'). To list running jobs
, use command
`jobs'. Some commands allow redirecting their output (cat, ls, ...) to file or via pipe to external command. Commands can be executed conditionally based on termination status of previous command (&&, ||).
46 lftp has builtin mirror which can download or update a whole directory tree. There is also reverse mirror (mirror -R) which uploads or updates a directory tree on server.
48 There is command `at
' to launch a job at specified time in current context, command `queue' to queue commands for sequential execution for current server
, and much more.
50 LFTP supports IPv6 for both FTP and HTTP protocols. For FTP protocol it uses method described in RFC2428.
52 Other low level stuff supported
: ftp proxy
, http proxy
, ftp over http
, opie
/skey
, fxp transfers
, socks.
54 LFTP supports secure versions of the protocols FTP and HTTP
: FTPS
(explicit and implicit
) and HTTPS. LFTP needs to be linked with an SSL library to support them. GNU TLS and OpenSSL are both supported
as SSL backend.
58 --without-libiconv-prefix \
59 --without-libintl-prefix \
63 --with-openssl
="$(STAGING_DIR)/usr" \
64 --with-readline
="$(STAGING_DIR)/usr" \
65 --with-zlib
="$(STAGING_DIR)/usr" \
69 # LIBS="-lz -lutil -lcurses -ldl" \
70 # i_cv_posix_fallocate_works=no
75 define Package
/lftp
/install
76 $(INSTALL_DIR
) $(1)/usr
/bin
77 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/src
/lftp
$(1)/usr
/bin
/
80 $(eval
$(call BuildPackage
,lftp
))