[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gentoo-dev
Subject:    [gentoo-dev] A better FTP client with Gentoo enhancements
From:       Don Davies <djdavies () nospam ! homedotcom>
Date:       2001-03-22 7:34:02
[Download RAW message or body]

I've been using Gentoo for a few months now, and Im a BIG fan.
Thank you for the excellent work Achim and Daniel and others.

The other distros in my toolbox are basically being removed, as this
one is superior IMHO. I really like the meta-distro schema, and the
portage system is really, really cool. Way more fun than any of the
other distros.

This is my net-ftp/lukemftp package. It has lots of advanced features,
and is the default FTP client in FreeBSD and NetBSD I believe. If you
havn't tried this FTP client, please do try it. I propose it be Gentoo's
default /bin/ftp. Try it for yourself and see.

This also installs itself as FETCHCOMMAND in /etc/make.defaults.
Now portage has an attractive BSD feel to ebuilding. GNU Wget
makes portage look ugly IMHO because of it's messy output. Im sure
you'll prefer this over it! ;-) Besides, Wget is mostly lots and lots of
code to handle buggy webservers/ftp servers.. I've been using this
package for a couple of months and havn't seen any problems of
causes for concern with compatibility. Comments are welcome.

The small hack/patch is my addition, which I intended to be used with
portage auto-fetching. It produces a simple, concise progress display
while downloading. Enjoy ;-)



>>> lukemftp-1.5.ebuild

# Copyright 1999-2000 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License, v2 or later
# Author Don Davies <djdaviesathomedotcom>

A=${P}.tar.gz
S=${WORKDIR}/${P}
DESCRIPTION="The enhanced FTP client from NetBSD, ported to other systems."
SRC_URI="ftp://ftp.netbsd.org/pub/NetBSD/misc/lukemftp/${A}"
HOMEPAGE="http://www.netbsd.org"

DEPEND="virtual/glibc"

src_unpack() {

    unpack ${A}
    cd ${S}

    # Adds a command line option: -s, which produces clean, informative output.
    # Shows progess status, ETA, transfer speed, no server responses or login messages.
    cp src/main.c src/main.orig
    sed -e "s/Aadefgino:pP:r:RtT:u:vV/Aadefgino:pP:r:RstT:u:vV/" \
        -e "s/case 't'/case 's':\n\t\t\tverbose = 0;\n\t\t\tprogress = 1;\n\t\t\tbreak;\n\n\t\t&/" \
        src/main.orig > src/main.c
}

src_compile() {

    local myconf
    if [ -z "`use ipv6`" ]
    then
      myconf="disable-ipv6"
    fi

    try ./configure --prefix=/usr --enable-editcomplete ${myconf}
    try make
}

src_install() {

    into /usr
    dobin src/ftp
    doman src/ftp.1
    dodoc README THANKS NEWS COPYING INSTALL
    dodoc ChangeLog todo
}

pkg_postinst() {

    # Setup lukemftp for use in the portage system. Gives a slick BSD feel to ebuilding..
    # Wget is far too messy ;-)
    cp /etc/make.defaults /etc/make.defaults.fetchbak
    sed -e "s/FETCHCOMMAND/#&/" /etc/make.defaults.fetchbak > /etc/make.defaults
    echo "" >> /etc/make.defaults
    echo "#This was added when lukemftp was installed" >> /etc/make.defaults
    echo "FETCHCOMMAND=\"( cd \\\${DISTDIR} ; /usr/bin/ftp -a -i -s \\\${x} )\"" >> /etc/make.defaults
}

>>> lukemftp-1.5.ebuild



Looking forward to making more contributions to Gentoo Linux!
--
Don





[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic