Subject: pkg/34360: [update] devel/p5-PathTools
To: None <,,>
From: Martin Wilke <>
List: pkgsrc-bugs
Date: 08/29/2006 16:20:00
>Number:         34360
>Category:       pkg
>Synopsis:       [update] devel/p5-PathTools
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Tue Aug 29 16:20:00 +0000 2006
>Originator:     Martin Wilke
>Release:        NetBSD 4.0_BETA i386

System: NetBSD 4.0_BETA (MIWIBOX) #0: Tue Aug 29 10:29:38 CEST 2006


- Update to 3.19  

- Changelog

 - When abs2rel() is called with two relative paths
   (e.g. abs2rel('foo/bar/baz', 'foo/bar')) the resolution algorithm
   needlessly called cwd() (twice!) to turn both arguments into
   absolute paths.  Now it avoids the cwd() calls with a workaround,
   making a big efficiency win when abs2rel() is called
   repeatedly. [Brendan O'Dea]

 - Added a build-time dependency on ExtUtils::Install version 1.39
   when on Windows.  This is necessary because version 1.39 knows how
   to replace an in-use Cwd shared library, but previous versions
   don't. [Suggested by Adam Kennedy]

 - Fixed File::Spec::Win32->canonpath('foo/../bar'), which was
   returning \bar, and now properly returns just bar. [Spotted by
   Heinrich Tegethoff]


 - Fixed some problems on VMS in which a directory called "0" would be
   treated as a second-class citizen. [Peter (Stig) Edwards]

 - Added a couple of regression tests to make sure abs2rel('/foo/bar',
   '/') works as expected.  [Chia-liang Kao]

 - Added a couple of regression tests to make sure catdir('/',
   'foo/bar') works as expected.  [Mark Grimes]


 - The Cygwin version of Cwd::cwd() will croak if given any arguments
   (which can happen if, for example, it's called as Cwd->cwd).  Since
   that croaking is bad, we now wrap the original cwd() in a
   subroutine that ignores its arguments.  We could skip this wrapping
   if a future version of perl changes cygwin.c's cwd() to not barf
   when fed an argument. [Jerry D. Hedden]


 - Updated to version 3.06 of ppport.h, which provides backward
   compatibility XS layers for older perl versions.

 - Clarify in the docs for File::Spec's abs2rel() and rel2abs()
   methods that the cwd() function it discusses is
   Cwd::cwd(). [Spotted by Steven Lembark]

 - Apparently the version of File::Path that ships with perl 5.8.5
   (and perhaps others) calls Cwd::getcwd() with an argument (perhaps
   as a method?), which causes it to die with a prototyping error.
   We've eliminated the prototype by using the "(...)" arglist, since
   "PROTOTYPE: DISABLE" for the function didn't seem to work. [Spotted
   by Eamon Daly and others]


 - The Cwd::getcwd() function on *nix is now a direct pass-through to
   the underlying getcwd() C library function when possible.  This is
   safer and faster than the previous implementation, which just did
   abs_path('.').  The pure-perl version has been kept for cases in
   which the XS version can't load, such as when running under
   miniperl. [Suggested by Nick Ing-Simmons]

 - When Cwd searches for a 'pwd' executable in the $PATH, we now stop
   after we find the first one rather than continuing the search.  We
   also avoid the $PATH search altogether when a 'pwd' was already
   found in a well-known and well-trusted location like /bin or
   /usr/bin. [Suggested by Nick Ing-Simmons]

 - On Win32 abs2rel($path, $base) was failing whenever $base is the
   root of a volume (such as C:\ or \\share\dir).  This has been
   fixed. [Reported by Bryan Daimler]

 - In abs2rel() on VMS, we've fixed handling of directory trees so
   that the test $file = File::Spec::VMS->abs2rel('[t1.t2.t3]file',
   '[t1.t2.t3]') returns 'file' instead of an empty string. [John
   E. Malmberg]

 - In canonpath() on VMS, '[]' was totally optimized away instead of
   just returning '[]'.  Now it's fixed. [John E. Malmberg]


 - canonpath() has some logic in it that avoids collapsing a
   //double/slash at the beginning of a pathname on platforms where
   that means something special.  It used to check the value of $^O
   rather than the classname it was called as, which meant that
   calling File::Spec::Cygwin->canonpath() didn't act like cygwin
   unless you were actually *on* cygwin.  Now it does.

 - Fixed a major bug on Cygwin in which catdir() could sometimes
   create things that look like //network/paths in cases when it
   shouldn't (e.g. catdir("/", "foo", "bar")).


 - Calling tmpdir() on Win32 had the unintended side-effect of storing
   some undef values in %INC for the TMPDIR, TEMP, and TMP entries if
   they didn't exist already.  This is probably a bug in perl itself
   (submitted as #37441 on, which we're now working
   around. [Thomas L. Shinnick]

 - Integrated a change from bleadperl - a certain #ifdef in Cwd.xs
   needs to apply to WIN32 but not WinCE. [Vadim Konovalov]

 - abs2rel() used to return the empty string when its two arguments
   were identical, which made no sense.  Now it returns
   curdir(). [Spotted by David Golden]

 - The Unix and Win32 implementations of abs2rel() have been unified.



--- p5-PathTools.diff begins here ---
Index: Makefile
RCS file: /home/pcvs/pkgsrc/devel/p5-PathTools/Makefile,v
retrieving revision
diff -u -r1.1.1.1 Makefile
--- Makefile	25 Feb 2006 00:23:56 -0000
+++ Makefile	29 Aug 2006 14:41:49 -0000
@@ -1,6 +1,6 @@
 # $NetBSD: Makefile,v 2006/02/25 00:23:56 minskim Exp $
-DISTNAME=	PathTools-3.12
+DISTNAME=	PathTools-3.19
 CATEGORIES=	devel perl5
Index: distinfo
RCS file: /home/pcvs/pkgsrc/devel/p5-PathTools/distinfo,v
retrieving revision
diff -u -r1.1.1.1 distinfo
--- distinfo	25 Feb 2006 00:23:56 -0000
+++ distinfo	29 Aug 2006 14:42:09 -0000
@@ -1,5 +1,5 @@
 $NetBSD: distinfo,v 2006/02/25 00:23:56 minskim Exp $
-SHA1 (PathTools-3.12.tar.gz) = 0b894ac7896f1dc3e0b169919346e79ddedefcbf
-RMD160 (PathTools-3.12.tar.gz) = 2436eb07db515f1431f5d70bd1cbd25a352d2449
-Size (PathTools-3.12.tar.gz) = 111353 bytes
+SHA1 (PathTools-3.19.tar.gz) = 13bc0ee15c5c3e2cc3361867befcfdafd9d12b98
+RMD160 (PathTools-3.19.tar.gz) = 19c68ca2254ae1b9092d72f83175a0a5a8c21e1e
+Size (PathTools-3.19.tar.gz) = 115204 bytes
--- p5-PathTools.diff ends here ---