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.tech
/ftp
/ \
15 ftp
://ftp.st.ryukoku.ac.jp
/pub
/network
/ftp
/lftp
/
16 PKG_MD5SUM
:=88c1505f8264429353ea7f249597eeb7
21 PKG_LICENSE_FILES
:=COPYING
23 include $(INCLUDE_DIR
)/uclibc
++.mk
24 include $(INCLUDE_DIR
)/package.mk
27 SUBMENU
:=File Transfer
30 DEPENDS
:=+libncurses
+libopenssl
+libreadline
$(CXX_DEPENDS
) +libexpat
+zlib
31 TITLE
:=a sophisticated file transfer program with command line interface.
32 MAINTAINER
:=Federico Di Marco
<fededim@gmail.com
>
33 URL
:=http
://lftp.yar.ru
/
36 define Package
/lftp
/description
37 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.
38 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.
40 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.
42 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 (&&, ||).
44 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.
46 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.
48 LFTP supports IPv6 for both FTP and HTTP protocols. For FTP protocol it uses method described in RFC2428.
50 Other low level stuff supported
: ftp proxy
, http proxy
, ftp over http
, opie
/skey
, fxp transfers
, socks.
52 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.
56 --without-libiconv-prefix \
57 --without-libintl-prefix \
61 --with-openssl
="$(STAGING_DIR)/usr" \
62 --with-readline
="$(STAGING_DIR)/usr" \
63 --with-zlib
="$(STAGING_DIR)/usr" \
67 # LIBS="-lz -lutil -lcurses -ldl" \
68 # i_cv_posix_fallocate_works=no
73 define Package
/lftp
/install
74 $(INSTALL_DIR
) $(1)/usr
/bin
75 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/src
/lftp
$(1)/usr
/bin
/
78 $(eval
$(call BuildPackage
,lftp
))