--- tf5-5.0beta8.orig/configure.in +++ tf5-5.0beta8/configure.in @@ -591,13 +591,13 @@ dnl The "right" way of using program_transform_name, program_prefix, and dnl program_suffix expects you to use AC_ARG_PROGRAM here and do transformation dnl in the Makefile, but we want the values now, so we do it ourselves. -EXENAME="tf" +EXENAME="tf" PROGNAME="tf" test "${program_prefix}" != "NONE" && EXENAME="${program_prefix}${EXENAME}" test "${program_suffix}" != "NONE" && EXENAME="${EXENAME}${program_suffix}" if test "${program_transform_name}" != "NONE"; then EXENAME=`echo "${EXENAME}" | sed "${program_transform_name}"` fi -LIBNAME="${EXENAME}-lib" +LIBNAME="${PROGNAME}-lib" if test "$enable_symlink" = "no"; then SYMLINK="" @@ -608,6 +608,7 @@ fi AC_SUBST(EXENAME) +AC_SUBST(PROGNAME) AC_SUBST(LIBNAME) AC_SUBST(SYMLINK) --- tf5-5.0beta8.orig/configure +++ tf5-5.0beta8/configure @@ -8724,13 +8724,13 @@ program_suffix="-${TFVER}" fi -EXENAME="tf" +EXENAME="tf" PROGNAME="tf" test "${program_prefix}" != "NONE" && EXENAME="${program_prefix}${EXENAME}" test "${program_suffix}" != "NONE" && EXENAME="${EXENAME}${program_suffix}" if test "${program_transform_name}" != "NONE"; then EXENAME=`echo "${EXENAME}" | sed "${program_transform_name}"` fi -LIBNAME="${EXENAME}-lib" +LIBNAME="${PROGNAME}-lib" if test "$enable_symlink" = "no"; then SYMLINK="" @@ -9427,6 +9427,7 @@ s,@RANLIB@,$RANLIB,;t t s,@PCRE@,$PCRE,;t t s,@EXENAME@,$EXENAME,;t t +s,@PROGNAME@,$PROGNAME,;t t s,@LIBNAME@,$LIBNAME,;t t s,@SYMLINK@,$SYMLINK,;t t s,@MODE@,$MODE,;t t --- tf5-5.0beta8.orig/src/tf.1.nroffman +++ tf5-5.0beta8/src/tf.1.nroffman @@ -1,11 +1,11 @@ .\" $Id: tf.1.nroffman,v 34000.8 2007/01/13 23:12:39 kkeys Exp $ -.TH TF 1 LOCAL +.TH TF 1 "2007-01-13" "TinyFugue 5.0" "TinyFugue" .SH NAME tf \- TinyFugue, a MUD client .SH SYNOPSIS -.B "tf [-f\fIfile\fB] [-lnq] [\fIworld\fB]" +.B "tf [\-f\fIfile\fB] [\-lnq] [\fIworld\fB]" .br -.B "tf [-f\fIfile\fB] \fIhost\fB \fIport\fB" +.B "tf [\-f\fIfile\fB] \fIhost\fB \fIport\fB" .SH DESCRIPTION \fITinyFugue\fR (also known as "Fugue" or "TF") is a line-based client designed for connecting to MUD servers (note: LP, DIKU, and other servers @@ -48,15 +48,15 @@ The \fBhost\fR may be an IP number or regular name format. .PP OPTIONS -.IP "-f\fIfile\fR" +.IP "\-f\fIfile\fR" Load \fIfile\fR instead of $HOME/.tfrc at startup. -.IP "-f" +.IP "\-f" Do not load any personal configuration file. The library will still be loaded. -.IP "-l" +.IP "\-l" Disable automatic login. -.IP "-n" +.IP "\-n" Do not connect to any world at startup. -.IP "-q" +.IP "\-q" Quiet login (overrides %{quiet} flag). .SH FEATURES @@ -109,7 +109,7 @@ .sp Separate LP and Diku style prompts from normal output. .sp -Page output using a --More-- prompt. +Page output using a \-\-More\-\- prompt. .sp Recall previously received text. @@ -120,7 +120,7 @@ TFLIBDIR is defined when \fITF\fR is installed, and is often /usr/local/lib/tf.lib, or under the home directory of the installer. This library contains many macros -and definitions essential to the correct operation of \fITF.\fR +and definitions essential to the correct operation of \fITF\fR. Next, \fITF\fR will attempt to read your personal configuration file, $HOME/.tfrc, in which you can put any \fITF\fR commands you @@ -140,19 +140,19 @@ hiliting and suppression of text, simple triggers, and separating input and output on the screen. Leo Plotkin (Grod) made rather extensive modifications to \fITinytalk\fR -to produce \fITinywar,\fR which was plagued with some +to produce \fITinywar\fR, which was plagued with some serious bugs and was never officially released (the phrase "Tinywar doesn't exist" is often quoted), and is now an unsupported client. \fITF\fR began when Greg Hudson (Explorer_Bob) merged many of the new -features of \fITinywar\fR back into \fITinyTalk,\fR +features of \fITinywar\fR back into \fITinyTalk\fR, and added many new features of his own, most notably the split screen. Some of the code in Greg's releases was contributed by Leo Plotkin. -After Greg moved on to \fIVaporTalk,\fR Ken Keys (Hawkeye) took over design +After Greg moved on to \fIVaporTalk\fR, Ken Keys (Hawkeye) took over design and maintenance of \fITF\fR in July 1991, and continues to make improvements in features and performance. .PP The code size of \fITF\fR has surpassed 300K (unstripped), -and is signifigantly larger than \fITinytalk.\fR +and is signifigantly larger than \fITinytalk\fR. It is, in fact, more than three times the size of a number of existing servers. As of version 3.0, it has 66 builtin commands and 57 library commands, each documented in the helpfile. @@ -225,8 +225,8 @@ .PP The .tinytalk file may not be supported in the future; use .tfrc instead. .PP -The '-' command line option in versions prior to 2.0 is no longer supported, -and has been replaced with '-l'. +The '\-' command line option in versions prior to 2.0 is no longer supported, +and has been replaced with '\-l'. .SH BUGS .PP --- tf5-5.0beta8.orig/src/tfio.c +++ tf5-5.0beta8/src/tfio.c @@ -497,6 +497,7 @@ const conString *Sval; int len, min, max, leftjust, stars; attr_t attrs = buf->attrs; + va_list ap_copy; if (!(flags & SP_APPEND) && buf->data) Stringtrunc(buf, 0); while (*fmt) { @@ -522,7 +523,9 @@ case 'x': case 'X': case 'u': case 'o': case 'f': case 'e': case 'E': case 'g': case 'G': case 'p': - vsprintf(tempbuf, spec, ap); + va_copy(ap_copy, ap); + vsprintf(tempbuf, spec, ap_copy); + va_end(ap_copy); Stringcat(buf, tempbuf); /* eat the arguments used by vsprintf() */ while (stars--) (void)va_arg(ap, int); --- tf5-5.0beta8.orig/unix/unix.mak +++ tf5-5.0beta8/unix/unix.mak @@ -87,15 +87,15 @@ -test -z "$(STRIP)" || $(STRIP) tf$(X) || true PREFIXDIRS: - test -d "$(bindir)" || mkdir $(bindir) - test -d "$(datadir)" || mkdir $(datadir) + test -d "$(DESTDIR)$(bindir)" || mkdir $(DESTDIR)$(bindir) + test -d "$(DESTDIR)$(datadir)" || mkdir $(DESTDIR)$(datadir) install_TF $(TF): tf$(X) $(BUILDERS) - -@rm -f $(TF) - cp tf$(X) $(TF) - chmod $(MODE) $(TF) + -@rm -f $(DESTDIR)$(TF) + cp tf$(X) $(DESTDIR)$(TF) + chmod $(MODE) $(DESTDIR)$(TF) -SYMLINK $(SYMLINK): $(TF) +SYMLINK $(SYMLINK): $(DESTDIR)$(TF) test -z "$(SYMLINK)" || { rm -f $(SYMLINK) && ln -s $(TF) $(SYMLINK); } LIBRARY $(TF_LIBDIR): ../tf-lib/tf-help ../tf-lib/tf-help.idx @@ -103,30 +103,30 @@ # @# Overly simplified shell commands, to avoid problems on ultrix -@test -n "$(TF_LIBDIR)" || echo "TF_LIBDIR is undefined." test -n "$(TF_LIBDIR)" - test -d "$(TF_LIBDIR)" || mkdir $(TF_LIBDIR) - -@test -d "$(TF_LIBDIR)" || echo "Can't make $(TF_LIBDIR) directory. See if" - -@test -d "$(TF_LIBDIR)" || echo "there is already a file with that name." - test -d "$(TF_LIBDIR)" + test -d "$(DESTDIR)$(TF_LIBDIR)" || mkdir $(DESTDIR)$(TF_LIBDIR) + -@test -d "$(DESTDIR)$(TF_LIBDIR)" || echo "Can't make $(TF_LIBDIR) directory. See if there is already a file with that name." + test -d "$(DESTDIR)$(TF_LIBDIR)" # # @#rm -f $(TF_LIBDIR)/*; # wrong: this would remove local.tf, etc. @echo '## Copying library files...' cd ../tf-lib; \ for f in *; do test -f $$f && files="$$files $$f"; done; \ - ( cd $(TF_LIBDIR); rm -f $$files tf.help tf.help.index; ); \ - cp $$files $(TF_LIBDIR); \ - cd $(TF_LIBDIR); \ + ( cd $(DESTDIR)$(TF_LIBDIR); rm -f $$files tf.help tf.help.index; ); \ + cp $$files $(DESTDIR)$(TF_LIBDIR); \ + cd $(DESTDIR)$(TF_LIBDIR); \ chmod $(MODE) $$files; chmod ugo-wx $$files - -rm -f $(TF_LIBDIR)/CHANGES - cp ../CHANGES $(TF_LIBDIR) - chmod $(MODE) $(TF_LIBDIR)/CHANGES; chmod ugo-wx $(TF_LIBDIR)/CHANGES - chmod $(MODE) $(TF_LIBDIR) - -@cd $(TF_LIBDIR); old=`ls replace.tf 2>/dev/null`; \ + -rm -f $(DESTDIR)$(TF_LIBDIR)/CHANGES + cp ../CHANGES $(DESTDIR)$(TF_LIBDIR) + chmod $(MODE) $(DESTDIR)$(TF_LIBDIR)/CHANGES; + chmod ugo-wx $(DESTDIR)$(TF_LIBDIR)/CHANGES + chmod $(MODE) $(DESTDIR)$(TF_LIBDIR) + -@cd $(DESTDIR)$(TF_LIBDIR); old=`ls replace.tf 2>/dev/null`; \ if [ -n "$$old" ]; then \ echo "## WARNING: Obsolete files found in $(TF_LIBDIR): $$old"; \ fi @echo '## Creating links so old library names still work...' # @# note: ln -sf isn't portable. - @cd $(TF_LIBDIR); \ + @cd $(DESTDIR)$(TF_LIBDIR); \ rm -f bind-bash.tf; ln -s kb-bash.tf bind-bash.tf; \ rm -f bind-emacs.tf; ln -s kb-emacs.tf bind-emacs.tf; \ rm -f completion.tf; ln -s complete.tf completion.tf; \ --- tf5-5.0beta8.orig/debian/TODO +++ tf5-5.0beta8/debian/TODO @@ -0,0 +1,10 @@ +* It would be very nice indeed if SSL support could be included. + Unfortunately, this requires the author (Ken Keys) to either include a + license statement allowing the linking of his code to both GPL and + OpenSSL code at the same time, or some form of support for the GNU TLS + library. The OpenSSL emulation layer in GNU TLS might now be sufficient + to handle what TF uses. This should be tested. + +* Undo the nasty configure hack to keep the tf-lib library directory name + the same while still changing the binary name to tf5 and find a cleaner + way to do this that can be submitted upstream. --- tf5-5.0beta8.orig/debian/changelog +++ tf5-5.0beta8/debian/changelog @@ -0,0 +1,99 @@ +tf5 (5.0beta8-2) unstable; urgency=low + + * Correct the patch for format handling on 64-bit platforms. Patch + from JP Sugarbroad. (Closes: #478602) + + -- Russ Allbery Tue, 29 Apr 2008 17:44:10 -0700 + +tf5 (5.0beta8-1) unstable; urgency=low + + * New maintainer. (Closes: #465935) + * New upstream release. (Closes: #457011) + - Incorporated all Debian bug fix patches except DESTDIR support. + * Apply bug fix from upstream tracker for format handling that mostly + affects 64-bit platforms. + * Revert several groff-specific modifications to the man page to keep it + closer to the upstream version. + * Overhaul the build system. + - Stop using CDBS and its patch system. (Closes: #424205) + - Stop including detached debugging symbols. Most packages don't do + this and I don't think it's worth the disk space. + - Pass configure the right options for cross builds. + * Change package section to net, matching the installation path, and + mention chatservers in the package description. + * Add a menu file. + * Add a watch file. + * Add Homepage and Vcs-Git control fields. + * Remove extraneous comments in postinst and prerm and run both in more + situations, not only configure and remove. + * Clean up build dependencies. + * Rewrite debian/copyright using my standard format and include + additional upstream credits and the PCRE license (included upstream + but not used for Debian builds). + * Update standards version to 3.7.3 (no changes required). + * Update debhelper compatibility level to V5 (no changes required). + + -- Russ Allbery Mon, 18 Feb 2008 10:16:32 -0800 + +tf5 (5.0beta7-2) unstable; urgency=low + + * Tell dh_strip to preserve debugging symbols stripped from the + executable image so that they can be used via GDB's readlink + mechanism (and, of course, ship them). + * Added patch 002_strstr_needle_in_haystack, which fixes the 'calling + replace with an empty match pattern causes an infinite loop' + problem. + * Cleaned up manpage to comply with modern (Unicode-aware) groff + guidelines. + + -- Joel Aelwyn Mon, 17 Oct 2005 14:04:56 -0600 + +tf5 (5.0beta7-1) unstable; urgency=low + + * New upstream version. + - Build with the system PCRE library now that doing so is supported. + - Updated patches (several no longer needed, the rest all required + significant modifications). + - Update description to mention (the new) 256-color terminal support. + - Upstream removed the manpage; import a copy of the last known state + from version 5.0b6, rather than have Yet Another Manpage-less Program + in Debian. + * Updated to Standards-Version 3.6.2.0 (no changes) + * Incorporate a fix for the /fg command on 64-bit systems by Zephaniah + E. Hull (Closes: #327448) + + -- Joel Aelwyn Tue, 20 Sep 2005 02:34:31 -0600 + +tf5 (5.0beta6-4) experimental; urgency=low + + * Added a Suggests on the 'spell' package, which provides a binary + compatible with the spell.tf module. + + -- Joel Aelwyn Mon, 31 Jan 2005 15:49:13 -0700 + +tf5 (5.0beta6-3) experimental; urgency=low + + * Disable OpenSSL support until Ken Keys either includes a license + exception for linking GPL and OpenSSL code, or support for GNU TLS + is available. Unfortunately, the OpenSSL emulation layer in GNU TLS + isn't sufficient to handle what TF uses. (No bug) + * Fixed alternatives handling to include manpage as a slave link, and + moved manpage to tf5.1.gz natively. (No bug) + * Added patch to fix SEGV fault in strip_attr() function. (No bug yet; + filed request with upstream for proper fix) + * Updated to Standards-Version 3.6.1.0 (no changes) + + -- Joel Aelwyn Tue, 25 Jan 2005 13:52:49 -0700 + +tf5 (5.0beta6-2) experimental; urgency=low + + * Added alternatives management for /usr/bin/tf, priority 15 (below + 'tf', which is the current stable release). (No bug) + + -- Joel Aelwyn Tue, 4 Jan 2005 14:28:37 -0700 + +tf5 (5.0beta6-1) experimental; urgency=low + + * Initial packaging (Closes: #265974) + + -- Joel Aelwyn Fri, 20 Aug 2004 14:05:11 -0600 --- tf5-5.0beta8.orig/debian/compat +++ tf5-5.0beta8/debian/compat @@ -0,0 +1 @@ +5 --- tf5-5.0beta8.orig/debian/control +++ tf5-5.0beta8/debian/control @@ -0,0 +1,25 @@ +Source: tf5 +Section: net +Priority: optional +Maintainer: Russ Allbery +Standards-Version: 3.7.3 +Build-Depends: debhelper (>= 5), libncurses5-dev, libpcre3-dev, zlib1g-dev +Build-Conflicts: libssl-dev +Homepage: http://tinyfugue.sourceforge.net/ +Vcs-Git: http://archives.eyrie.org/software/git/tf5.git + +Package: tf5 +Architecture: any +Depends: ${shlibs:Depends} +Conflicts: tf (<< 4.0s1-16) +Suggests: spell +Description: text-based MU* and chatserver client + TinyFugue is a text-based, line-based client designed for connecting to + most flavors of MU* servers (TinyMUSH, TinyMUX, LP, Diku, etc.) or any + telnet-based chatserver. It includes support for 256-color terminals, + MCCP versions 1 and 2, a powerful trigger and scripting language, and + many other features. + . + This package is the current development version of TinyFugue (major + version 5). For the current stable version (major version 4), install + the "tf" package instead. --- tf5-5.0beta8.orig/debian/copyright +++ tf5-5.0beta8/debian/copyright @@ -0,0 +1,81 @@ +Debianized by Joel Aelwyn 2004-08-20 +Adopted by Russ Allbery 2008-02-17 + +It was downloaded from: + + + +Upstream author: + + Ken Keys ("Hawkeye") + +Additional upstream credits: + + Support for OS/2 was contributed by Andreas Sahlbach (asa@stardiv.de). + + TinyFugue versions 1.5.3 and earlier were written by Greg Hudson + ("Explorer_Bob"), without whom I would have never gotten into this + mess. + + TinyFugue was intially derived from tinytalk, a unix client written by + Anton Rang ("Tarrant") and modified by Leo Plotkin ("Grod"). + + Additional thanks to Jeff Prothero ("Cynbe"), Bruce Sterling Woodcock + ("Bruce"), David Moore ("OliverJones"), Ben Jackson ("Ben"), the + mudders of glia.biostr.washington.edu, and everyone else who tested, + found bugs, or came up with suggestions, and to Jim Lick ("Jingoro") + for providing tcp.com services. + +Debian packaging copyright: + + Original Debian packaging Copyright ©2004 by Joel Baker. Work by Joel + Baker had no explicit license. Presumably that work may be + redistributed under the same terms as TinyFugue itself. + + Changes by Russ Allbery are copyright 2008 Russ Allbery and may be + redistributed and/or modified under the terms of the GNU General + Public License as published by the Free Software foundation; either + version 2 of the License, or (at your option) any later version. + +Copyright and license: + + TinyFugue is Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, + 2002, 2003, 2004, 2005, 2006-2007 Ken Keys. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or (at + your option) any later version. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + +The full text of the GNU General Public License version 2 is avialable on +Debian systems in /usr/share/common-licenses/GPL-2. + +The upstream source also contains a copy of PCRE 2.08, which is covered by +the following copyright and license: + + Copyright (c) 1997-1999 University of Cambridge + + Permission is granted to anyone to use this software for any purpose + on any computer system, and to redistribute it freely, subject to the + following restrictions: + + 1. This software is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + 2. The origin of this software must not be misrepresented, either by + explicit claim or by omission. + + 3. Altered versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 4. If PCRE is embedded in any software that is released under the GNU + General Purpose Licence (GPL), then the terms of that licence shall + supersede any condition above with which it is incompatible. + +This copy of PCRE is not used when building the Debian package. --- tf5-5.0beta8.orig/debian/rules +++ tf5-5.0beta8/debian/rules @@ -0,0 +1,83 @@ +#!/usr/bin/make -f + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +# Tell Autoconf the correct system types. +DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) +ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) + SYSTEM = --build $(DEB_HOST_GNU_TYPE) +else + SYSTEM = --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE) +endif + +CFLAGS = -Wall -g +ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) + CFLAGS += -O0 +else + CFLAGS += -O2 +endif + +# We'd like to use --enable-version to install as tf5, but unfortunately that +# installs as things like tf50b8. Use --progra-suffix instead, which requires +# some hacking on configure so that it doesn't also change the library path. +# +# We can't build with SSL support because TinyFugue is under the straight GPL +# without any OpenSSL license exception. +configure: configure-stamp +configure-stamp: + dh_testdir + CFLAGS="$(CFLAGS)" ./configure --prefix=/usr \ + --disable-version --disable-version-symlink --program-suffix=5 \ + --datadir=\$${prefix}/share/tf5 --enable-mailcheck=/var/mail \ + --enable-256colors --disable-ssl $(SYSTEM) + touch $@ + +build: build-arch build-indep +build-arch: build-stamp +build-indep: +build-stamp: configure-stamp + dh_testdir + $(MAKE) STRIP=: + touch $@ + +clean: + dh_testdir + dh_testroot + rm -f configure-stamp build-stamp install-stamp + make -f unix/Makefile distclean + dh_clean + +install: install-stamp +install-stamp: build-stamp + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + $(MAKE) install DESTDIR=$(CURDIR)/debian/tf5 STRIP=: + install -d $(CURDIR)/debian/tf5/usr/share/man/man1 + install -m 644 src/tf.1.nroffman \ + $(CURDIR)/debian/tf5/usr/share/man/man1/tf5.1 + touch $@ + +binary: binary-arch binary-indep +binary-indep: +binary-arch: install-stamp + dh_testdir + dh_testroot + dh_installchangelogs CHANGES + dh_installdocs README + dh_installmenu + dh_link + dh_fixperms + dh_strip + dh_compress + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +.PHONY: build build-arch build-indep clean binary binary-arch binary-indep +.PHONY: install --- tf5-5.0beta8.orig/debian/tf5.dirs +++ tf5-5.0beta8/debian/tf5.dirs @@ -0,0 +1,4 @@ +usr/bin +usr/share/doc/tf5 +usr/share/man/man1 +usr/share/tf5/tf-lib --- tf5-5.0beta8.orig/debian/tf5.menu +++ tf5-5.0beta8/debian/tf5.menu @@ -0,0 +1,6 @@ +?package(tf5):\ + needs="text"\ + section="Applications/Network/Communication"\ + title="TinyFugue 5"\ + hints="MUD,MUSH,MU*"\ + command="/usr/bin/tf5" --- tf5-5.0beta8.orig/debian/tf5.postinst +++ tf5-5.0beta8/debian/tf5.postinst @@ -0,0 +1,11 @@ +#! /bin/sh + +set -e + +# Share nicely with TinyFugue 4.x. +update-alternatives --install /usr/bin/tf tf /usr/bin/tf5 15 \ + --slave /usr/share/man/man1/tf.1.gz tf.1.gz /usr/share/man/man1/tf5.1.gz + +#DEBHELPER# + +exit 0 --- tf5-5.0beta8.orig/debian/tf5.prerm +++ tf5-5.0beta8/debian/tf5.prerm @@ -0,0 +1,12 @@ +#! /bin/sh + +set -e + +# Share nicely with TinyFugue 4.x. +if [ "$1" = "remove" ] || [ "$1" = "deconfigure" ] ; then + update-alternatives --remove tf /usr/bin/tf5 +fi + +#DEBHELPER# + +exit 0 --- tf5-5.0beta8.orig/debian/watch +++ tf5-5.0beta8/debian/watch @@ -0,0 +1,3 @@ +version=3 +opts="uversionmangle=s/^(\d)(\d)/$1.$2/;s/b(\d)/beta$1/" \ + http://sf.net/tinyfugue/tf-(\w+)\.tar\.gz