the Fink project is an effort to port
popular Unix programs to Mac OS X
Package: yafc
Version: 1.1.1
Revision: 1
Description: Enhanced ftp client, supporting ssh2 (sftp)
License: GPL
Maintainer: None
Depends: <<
libncurses5-shlibs,
ncurses,
readline5-shlibs
<<
BuildDepends: <<
fink-package-precedence,
libncurses5,
readline5,
texi2html
<<
Source: mirror:sourceforge:%n/%n-%v.tar.bz2
Source-MD5: 832d074183a36ee15b47553ed5962fce
PatchFile: %n.patch
PatchFile-MD5: 99827f13f2b5920eb93d5a597bee3ead
PatchScript: <<
sed 's|@PREFIX@|%p|g' <%{PatchFile} | patch -p1
perl -pi -e 's|#include
perl -pi -e 's/install-info --version/false/' doc/Makefile.in
<<
CompileScript: <<
./configure %c
make
cd doc; texi2html -split_chapter yafc.texi
fink-package-precedence .
<<
InstallScript: <<
make install prefix=%i mandir=%i/share/man infodir=%i/share/info
install -d -m 755 %i/etc
cp -p yafcrc.sample yafcrc
install -c -p -m 644 yafcrc %i/etc/
install -d -m 755 %i/share/doc/%n/examples
install -c -p -m 644 inputrc.sample %i/share/doc/%n/examples/
install -c -p -m 644 yafc-import_ncftp.pl %i/share/doc/%n/examples/
mkdir -p %i/share/doc/%n/html
install -m 644 doc/*.html %i/share/doc/%n/html
<<
ConfFiles: %p/etc/yafcrc
DocFiles: BUGS COPYING COPYRIGHT KNOWN_ISSUES NEWS README TODO THANKS
InfoDocs: yafc.info
DescDetail: <<
Yafc is yet another ftp client, similar to ftp(1).
It is an interactive interface to the FTP protocol.
Features
* SSH2 support (sftp)
* cached directory listings
* extensive tab completion
* aliases
* colored ls (ie, ls --color, uses $LS_COLORS like GNU ls)
* automatic reconnect on timed out connections
* recursive get/put/fxp/ls/rm
* nohup mode transfers
* multiple connections open simultaneously
* tagging (queueing)
* very configurable
* autologin and bookmarks
* automagically enters nohup-mode when SIGHUP received (in get and put)
* redirection to local command or file
* proxy support
* Kerberos support (version 4 and 5, heimdal, kth-krb or MIT)
* it's free!
The fink version is currently lacking:
* proxy support (socks)
Features included but not tested:
* kerberos authentication (please send feedback if this works)
<<
DescPackaging: <<
Previously maintained by Christian Swinehart
Patched doc references to /etc to point to %p/etc.
<<
DescPort: <<
Disabling detection of gssapi.h because this package has
always done that.
Disabling new password-reading code (go back to getpass()
legacy code) because uses apparently linux-specific ioctl()
calls.
<<
Homepage: http://yafc.sourceforge.net
diff -Nurd -x'*~' yafc-1.1.1.orig/NEWS yafc-1.1.1/NEWS
--- yafc-1.1.1.orig/NEWS 2005-10-05 16:16:21.000000000 -0400
+++ yafc-1.1.1/NEWS 2012-01-11 22:04:35.000000000 -0500
@@ -292,7 +292,7 @@
* added --help option for untag
* added *.md5 to ascii_transfer_mask
-* now parses system-wide /etc/yafcrc on startup
+* now parses system-wide @PREFIX@/etc/yafcrc on startup
+ doesn't create default ~/.yafc/yafcrc on first run
* rglob.c: didn't update directory cache properly
* segfault in get/put if connection timed out
diff -Nurd -x'*~' yafc-1.1.1.orig/doc/yafc.info yafc-1.1.1/doc/yafc.info
--- yafc-1.1.1.orig/doc/yafc.info 2004-05-20 07:10:51.000000000 -0400
+++ yafc-1.1.1/doc/yafc.info 2012-01-11 22:04:45.000000000 -0500
@@ -1527,7 +1527,7 @@
Configuration
*************
-Yafc will parse a system-wide configuration file, `/etc/yafcrc' (or
+Yafc will parse a system-wide configuration file, `@PREFIX@/etc/yafcrc' (or
whatever you set with the `--sysconfdir' option to the configure
script), first. Then, personal settings are read from `~/.yafc/yafcrc'
(overriding the global ones). If none of those files exists, internal
diff -Nurd -x'*~' yafc-1.1.1.orig/doc/yafc_config.texi yafc-1.1.1/doc/yafc_config.texi
--- yafc-1.1.1.orig/doc/yafc_config.texi 2003-07-12 06:24:31.000000000 -0400
+++ yafc-1.1.1/doc/yafc_config.texi 2012-01-11 22:04:55.000000000 -0500
@@ -1,7 +1,7 @@
@node Configuration, Bookmarks, The shell, top
@chapter Configuration
-Yafc will parse a system-wide configuration file, @file{/etc/yafcrc}
+Yafc will parse a system-wide configuration file, @file{@PREFIX@/etc/yafcrc}
(or whatever you set with the @samp{--sysconfdir} option to the
configure script), first. Then, personal settings are read from
@file{~/.yafc/yafcrc} (overriding the global ones). If none of those
diff -Nurd -x'*~' yafc-1.1.1.orig/lib/gssapi.c yafc-1.1.1/lib/gssapi.c
--- yafc-1.1.1.orig/lib/gssapi.c 2002-12-05 17:12:36.000000000 -0500
+++ yafc-1.1.1/lib/gssapi.c 2012-01-11 22:17:26.000000000 -0500
@@ -72,7 +72,7 @@
static gss_OID_desc gss_c_nt_hostbased_service_oid_desc =
{10, (void *)"\x2a\x86\x48\x86\xf7\x12" "\x01\x02\x01\x04"};
-static gss_OID GSS_C_NT_HOSTBASED_SERVICE = &gss_c_nt_hostbased_service_oid_desc;
+gss_OID GSS_C_NT_HOSTBASED_SERVICE = &gss_c_nt_hostbased_service_oid_desc;
diff -Nurd -x'*~' yafc-1.1.1.orig/src/input.c yafc-1.1.1/src/input.c
--- yafc-1.1.1.orig/src/input.c 2005-10-05 15:31:25.000000000 -0400
+++ yafc-1.1.1/src/input.c 2012-01-11 23:08:08.000000000 -0500
@@ -53,7 +53,7 @@
#endif
}
-#if 0
+#if 1
char *getpass_hook(const char *prompt)
{
#ifdef KERBEROS
diff -Nurd -x'*~' yafc-1.1.1.orig/yafc-import_ncftp.pl yafc-1.1.1/yafc-import_ncftp.pl
--- yafc-1.1.1.orig/yafc-import_ncftp.pl 1969-12-31 19:00:00.000000000 -0500
+++ yafc-1.1.1/yafc-import_ncftp.pl 2012-01-11 22:09:23.000000000 -0500
@@ -0,0 +1,68 @@
+#!/usr/bin/perl -w
+#
+# A simple ncftp -> yafc bookmark converter by Mike Wayne (arc@cts.com)
+# Sorry if my code sucks!
+#
+# Example usage:
+# yafc-import_ncftp.pl ~/.ncftp/bookmarks >> ~/.yafc/bookmarks
+#
+# If a filename argument is not given, ~/.ncftp/bookmarks will be read.
+
+use strict;
+my $mime;
+
+# set these to their appropriate settings.
+my $anonpass = 'user@host.com'; # anonymous password
+my $ncftpbm = "$ENV{HOME}/.ncftp/bookmarks"; # ncftp bookmarks
+
+eval 'use MIME::Base64';
+if ($@ eq '') { $mime = 1 }
+
+chomp($anonpass = encode_base64($anonpass)) if $mime;
+$ncftpbm = $ARGV[0] if $ARGV[0];
+
+open(BOOKMARKS, $ncftpbm) or die "Unable to open ncftp bookmarks file $ncftpbm: $!\n";
+
+print <
+# so don't bother placing comments here, they will be overwritten
+# make sure this file isn't world readable if passwords are stored here
+
+NOTICE
+
+while (
+{
+ if ($_ =~ /,/)
+ {
+ my @bookmark = split(/,/, $_);
+
+ $bookmark[2] ||= 'anonymous';
+ $bookmark[7] ||= 21;
+
+ print "machine $bookmark[1]:$bookmark[7] alias '$bookmark[0]'\n login ";
+
+ if ($bookmark[2] eq 'anonymous')
+ {
+ print 'anonymous password ';
+ print "[base64]" if $mime;
+ print $anonpass;
+ }
+
+ else
+ {
+ print $bookmark[2];
+
+ $bookmark[3] =~ s/^\*encoded\*/\[base64\]/ if $bookmark[3];
+ print " password $bookmark[3]" if $bookmark[3];
+ }
+
+ $bookmark[5] = "\"$bookmark[5]\"" if ($bookmark[5] =~ m/ /);
+ print " cwd $bookmark[5]" if ($bookmark[5] && $bookmark[5] ne '/');
+
+ print "\n\n";
+ }
+}
+
+print "# end of bookmark file\n";
+
+close(BOOKMARKS);