Index: ports/sysutils/p5-Filesys-DiskSpace/files/patch-lib::Filesys::DiskSpace.pm =================================================================== RCS file: ports/sysutils/p5-Filesys-DiskSpace/files/patch-lib::Filesys::DiskSpace.pm diff -N ports/sysutils/p5-Filesys-DiskSpace/files/patch-lib::Filesys::DiskSpace.pm --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ ports/sysutils/p5-Filesys-DiskSpace/files/patch-lib::Filesys::DiskSpace.pm 15 Feb 2005 16:28:43 -0000 @@ -0,0 +1,27 @@ +--- lib/Filesys/DiskSpace.pm.orig Mon Sep 6 01:41:22 1999 ++++ lib/Filesys/DiskSpace.pm Tue Feb 15 18:28:35 2005 +@@ -91,10 +91,21 @@ + + if ($^O eq 'freebsd') { + # only tested with FreeBSD 3.0. Should also work with 4.0. ++ my ($statver); ++ $statver = unpack "L", $fmt; + my ($f1, $f2); +- ($f1, $bsize, $f2, $blocks, $bfree, $bavail, $files, $ffree) = +- unpack "L8", $fmt; +- $type = 0; # read it from 'f_type' field ? ++ if ($statver < 0x20030518) { ++ ($f1, $bsize, $f2, $blocks, $bfree, $bavail, $files, $ffree) = ++ unpack "L8", $fmt; ++ $type = 0; # read it from 'f_type' field ? ++ } elsif ($statver == 0x20030518) { ++ ($statver, $type, $f1, $bsize, $f2, $blocks, $bfree, $bavail, ++ $files, $ffree) = unpack "L2 Q5 q Q q", $fmt; ++ $type = 0; # I wonder... ++ } else { ++ # Unsupported statfs version! ++ die "Unsupported statfs version $statver\n"; ++ } + } + else { + ($type, $bsize, $blocks, $bfree, $bavail, $files, $ffree) = Index: ports/sysutils/p5-Filesys-DiskSpace/files/patch-t::freebsd-ufs.t =================================================================== RCS file: ports/sysutils/p5-Filesys-DiskSpace/files/patch-t::freebsd-ufs.t diff -N ports/sysutils/p5-Filesys-DiskSpace/files/patch-t::freebsd-ufs.t --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ ports/sysutils/p5-Filesys-DiskSpace/files/patch-t::freebsd-ufs.t 14 Feb 2005 12:34:02 -0000 @@ -0,0 +1,19 @@ +--- t/freebsd-ufs.t.orig Fri Jun 25 01:41:19 1999 ++++ t/freebsd-ufs.t Mon Feb 14 14:22:29 2005 +@@ -20,6 +20,7 @@ + open (MOUNT, $mnttab) || die "Error: $!\n"; + while (defined (my $d = )) { + my @tab = split /\s+/, $d; ++ next unless @tab >= 2; + push @$dirs, $tab[1] if $tab[2] eq 'ufs'; + } + close MOUNT; +@@ -38,7 +39,7 @@ + + for my $part (keys %$data) { + my ($fs_type, $fs_desc, $used, $avail, $iused, $ifree) = df $part; +- my $res = $fs_desc eq '4.2' && ++ my $res = ($fs_desc eq '4.2' || $fs_desc eq 'UFS') && + $$data{$part}{'used'} == $used && + $$data{$part}{'avail'} == $avail && + $$data{$part}{'iused'} == $iused &&