diff options
author | Raúl Porcel <armin76@gentoo.org> | 2008-01-21 20:18:50 +0000 |
---|---|---|
committer | Raúl Porcel <armin76@gentoo.org> | 2008-01-21 20:18:50 +0000 |
commit | 0519cc320e5d68ea466ea3f2d61623277de183a6 (patch) | |
tree | 758de5418cf583653210bd5080437c99100f5df7 /net-ftp/lftp | |
parent | Stable for HPPA (bug #206904). Fixed quoting issues too. (diff) | |
download | gentoo-2-0519cc320e5d68ea466ea3f2d61623277de183a6.tar.gz gentoo-2-0519cc320e5d68ea466ea3f2d61623277de183a6.tar.bz2 gentoo-2-0519cc320e5d68ea466ea3f2d61623277de183a6.zip |
Add patches from upstream to fix #203570, #203729
(Portage version: 2.1.4)
Diffstat (limited to 'net-ftp/lftp')
-rw-r--r-- | net-ftp/lftp/ChangeLog | 11 | ||||
-rw-r--r-- | net-ftp/lftp/files/3.6.1-segfault.patch | 11 | ||||
-rw-r--r-- | net-ftp/lftp/files/3.6.1-specialchars.patch | 67 | ||||
-rw-r--r-- | net-ftp/lftp/files/digest-lftp-3.6.1-r1 | 3 | ||||
-rw-r--r-- | net-ftp/lftp/lftp-3.6.1-r1.ebuild | 66 |
5 files changed, 156 insertions, 2 deletions
diff --git a/net-ftp/lftp/ChangeLog b/net-ftp/lftp/ChangeLog index 7df9e3522e53..06a97f24aacc 100644 --- a/net-ftp/lftp/ChangeLog +++ b/net-ftp/lftp/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for net-ftp/lftp -# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-ftp/lftp/ChangeLog,v 1.145 2007/12/07 16:59:41 dertobi123 Exp $ +# Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/net-ftp/lftp/ChangeLog,v 1.146 2008/01/21 20:18:50 armin76 Exp $ + +*lftp-3.6.1-r1 (21 Jan 2008) + + 21 Jan 2008; Raúl Porcel <armin76@gentoo.org> + +files/3.6.1-segfault.patch, +files/3.6.1-specialchars.patch, + +lftp-3.6.1-r1.ebuild: + Add patches from upstream to fix #203570, #203729 07 Dec 2007; Tobias Scherbaum <dertobi123@gentoo.org> lftp-3.5.14.ebuild: ppc stable, bug #198843 diff --git a/net-ftp/lftp/files/3.6.1-segfault.patch b/net-ftp/lftp/files/3.6.1-segfault.patch new file mode 100644 index 000000000000..52755e351ba0 --- /dev/null +++ b/net-ftp/lftp/files/3.6.1-segfault.patch @@ -0,0 +1,11 @@ +--- src/buffer.cc 10 Sep 2007 11:45:27 -0000 1.66 ++++ src/buffer.cc 3 Jan 2008 09:07:43 -0000 +@@ -155,7 +155,7 @@ void Buffer::vFormat(const char *f, va_l + { + va_list tmp; + VA_COPY(tmp,v); +- int res=vsnprintf(GetSpace(size), size, f, v); ++ int res=vsnprintf(GetSpace(size), size, f, tmp); + va_end(tmp); + if(res>=0 && res<size) + { diff --git a/net-ftp/lftp/files/3.6.1-specialchars.patch b/net-ftp/lftp/files/3.6.1-specialchars.patch new file mode 100644 index 000000000000..5057d2dedbf6 --- /dev/null +++ b/net-ftp/lftp/files/3.6.1-specialchars.patch @@ -0,0 +1,67 @@ +--- src/GetJob.cc 23 Apr 2007 07:11:45 -0000 1.28 ++++ src/GetJob.cc 28 Dec 2007 11:12:35 -0000 +@@ -99,33 +99,44 @@ bool GetJob::IsRemoteNonURL(const Parsed + // store & put || !store & get + return (!url.proto && (mode==FA::STORE ^ !reverse)); + } ++bool GetJob::IsLocalNonURL(const ParsedURL &url,FA::open_mode mode) ++{ ++ // store & get || !store & put ++ return (!url.proto && (mode==FA::STORE ^ reverse)); ++} + bool GetJob::IsLocal(const ParsedURL &url) + { + return !url.proto || !strcasecmp(url.proto,"file"); + } ++// create copy peer from a cloned session + FileCopyPeer *GetJob::CreateCopyPeer(FileAccess *session,const char *path,FA::open_mode mode) + { + ParsedURL url(path,true); + if(IsRemoteNonURL(url,mode)) + return new FileCopyPeerFA(session,path,mode); + Delete(session); // delete cloned session. +- return CreateCopyPeer(url,mode); ++ return CreateCopyPeer(url,path,mode); + } ++// create copy peer using a session reference + FileCopyPeer *GetJob::CreateCopyPeer(const FileAccessRef& session,const char *path,FA::open_mode mode) + { + ParsedURL url(path,true); + if(IsRemoteNonURL(url,mode)) + return new FileCopyPeerFA(session,path,mode); +- return CreateCopyPeer(url,mode); ++ return CreateCopyPeer(url,path,mode); + } +-FileCopyPeer *GetJob::CreateCopyPeer(const ParsedURL &url,FA::open_mode mode) ++FileCopyPeer *GetJob::CreateCopyPeer(const ParsedURL &url,const char *path,FA::open_mode mode) + { ++ if(IsLocalNonURL(url,mode)) ++ return CreateCopyPeer(path,mode); + if(IsLocal(url)) +- return (mode==FA::STORE) +- ? DstLocal(url.path) +- : SrcLocal(url.path); ++ return CreateCopyPeer(url.path,mode); + return new FileCopyPeerFA(&url,mode); + } ++FileCopyPeer *GetJob::CreateCopyPeer(const char *path,FA::open_mode mode) ++{ ++ return mode==FA::STORE ? DstLocal(path) : SrcLocal(path); ++} + + void GetJob::NextFile() + { +--- src/GetJob.h 23 Apr 2007 07:11:46 -0000 1.15 ++++ src/GetJob.h 28 Dec 2007 11:10:07 -0000 +@@ -29,8 +29,10 @@ class GetJob : public CopyJobEnv + { + FileCopyPeer *SrcLocal(const char *src); + FileCopyPeer *DstLocal(const char *dst); +- FileCopyPeer *CreateCopyPeer(const ParsedURL &url,FA::open_mode mode); ++ FileCopyPeer *CreateCopyPeer(const ParsedURL &url,const char *path,FA::open_mode mode); ++ FileCopyPeer *CreateCopyPeer(const char *path,FA::open_mode mode); + bool IsRemoteNonURL(const ParsedURL &url,FA::open_mode mode); ++ bool IsLocalNonURL(const ParsedURL &url,FA::open_mode mode); + static bool IsLocal(const ParsedURL &url); + + protected: diff --git a/net-ftp/lftp/files/digest-lftp-3.6.1-r1 b/net-ftp/lftp/files/digest-lftp-3.6.1-r1 new file mode 100644 index 000000000000..11423e6140f5 --- /dev/null +++ b/net-ftp/lftp/files/digest-lftp-3.6.1-r1 @@ -0,0 +1,3 @@ +MD5 29e9e44474aa381029d6ae0fb79b2f2b lftp-3.6.1.tar.bz2 1332560 +RMD160 9b92c1cf1af6b14295641e2703fe44b39f9a4aa3 lftp-3.6.1.tar.bz2 1332560 +SHA256 8e65e1602c08b44c955eda228876046f3f74519200db0cb54d1102a02a50b032 lftp-3.6.1.tar.bz2 1332560 diff --git a/net-ftp/lftp/lftp-3.6.1-r1.ebuild b/net-ftp/lftp/lftp-3.6.1-r1.ebuild new file mode 100644 index 000000000000..ab82d3c3255f --- /dev/null +++ b/net-ftp/lftp/lftp-3.6.1-r1.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-ftp/lftp/lftp-3.6.1-r1.ebuild,v 1.1 2008/01/21 20:18:50 armin76 Exp $ + +inherit eutils + +DESCRIPTION="A sophisticated ftp/sftp/http/https client and file transfer program" +HOMEPAGE="http://lftp.yar.ru/" +SRC_URI="http://ftp.yars.free.net/pub/source/lftp/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~sparc-fbsd ~x86 ~x86-fbsd" +IUSE="ssl gnutls socks5 nls" + +RDEPEND=">=sys-libs/ncurses-5.1 + socks5? ( + >=net-proxy/dante-1.1.12 + virtual/pam ) + ssl? ( + gnutls? ( >=net-libs/gnutls-1.2.3 ) + !gnutls? ( >=dev-libs/openssl-0.9.6 ) + ) + virtual/libc + >=sys-libs/readline-5.1" + +DEPEND="${RDEPEND} + nls? ( sys-devel/gettext ) + dev-lang/perl" + +src_unpack() { + unpack ${A} + cd "${S}" + + epatch "${FILESDIR}"/${PV}-segfault.patch + epatch "${FILESDIR}"/${PV}-specialchars.patch +} + +src_compile() { + local myconf="$(use_enable nls) --enable-packager-mode" + + if use ssl && use gnutls ; then + myconf="${myconf} --without-openssl" + elif use ssl && ! use gnutls ; then + myconf="${myconf} --without-gnutls --with-openssl=/usr" + else + myconf="${myconf} --without-gnutls --without-openssl" + fi + + use socks5 && myconf="${myconf} --with-socksdante=/usr" \ + || myconf="${myconf} --without-socksdante" + + econf \ + --sysconfdir=/etc/lftp \ + --with-modules \ + ${myconf} || die "econf failed" + + emake || die "compile problem" +} + +src_install() { + emake install DESTDIR="${D}" || die + + dodoc BUGS ChangeLog FAQ FEATURES MIRRORS \ + NEWS README* THANKS TODO +} |