diff options
Diffstat (limited to 'app-admin/durep/files')
-rw-r--r-- | app-admin/durep/files/durep-0.9-dirhandle.patch | 31 | ||||
-rw-r--r-- | app-admin/durep/files/durep-0.9-gigabyte.patch | 17 | ||||
-rw-r--r-- | app-admin/durep/files/durep-0.9-r4-color-output.patch | 98 |
3 files changed, 146 insertions, 0 deletions
diff --git a/app-admin/durep/files/durep-0.9-dirhandle.patch b/app-admin/durep/files/durep-0.9-dirhandle.patch new file mode 100644 index 000000000000..ee2930622370 --- /dev/null +++ b/app-admin/durep/files/durep-0.9-dirhandle.patch @@ -0,0 +1,31 @@ +--- durep 2007-09-08 11:44:05.000000000 -0500 ++++ durep.new 2008-12-15 10:04:14.907825184 -0600 +@@ -175,6 +175,7 @@ + my $coalesced_size = 0; + my $node = {}; + my $temp; ++ my $dirhandle; + + $node->{ID} = $next_id++; + if(defined $parent) { +@@ -196,9 +197,9 @@ + + $node->{TYPE} &= $TYPE_COLLAPSED unless $store; + +- opendir(DIR, $dir) or warn "Unable to open dir '$dir': $!\n" and return $node; ++ opendir($dirhandle, $dir) or warn "Unable to open dir '$dir': $!\n" and return $node; + +- foreach(readdir(DIR)) { ++ foreach(readdir($dirhandle)) { + @stats = lstat "$dir/$_" or warn "Unable to lstat '$dir/$_': $!\n" and next; + + $node->{MTIME} = $stats[9] if($_ eq "."); +@@ -247,7 +248,7 @@ + $file_count++; + $node->{FCOUNT}++; + } +- closedir(DIR); ++ closedir($dirhandle); + + if($coalesced_count) { + if($store) { diff --git a/app-admin/durep/files/durep-0.9-gigabyte.patch b/app-admin/durep/files/durep-0.9-gigabyte.patch new file mode 100644 index 000000000000..315cb1c7c813 --- /dev/null +++ b/app-admin/durep/files/durep-0.9-gigabyte.patch @@ -0,0 +1,17 @@ +fix `durep -hs 1g` output + +Patch by Stephen Tallowitz + +http://bugs.gentoo.org/108942 + +--- durep ++++ durep +@@ -468,7 +468,7 @@ + elsif ($temp =~ m/^[mM]/) { + return $size * 1048576; + } +- elsif ($temp =~ m/^[mM]/) { ++ elsif ($temp =~ m/^[gG]/) { + return $size * 1048576 * 1024; + } + return $size; diff --git a/app-admin/durep/files/durep-0.9-r4-color-output.patch b/app-admin/durep/files/durep-0.9-r4-color-output.patch new file mode 100644 index 000000000000..6b8956199406 --- /dev/null +++ b/app-admin/durep/files/durep-0.9-r4-color-output.patch @@ -0,0 +1,98 @@ +--- durep ++++ durep +@@ -14,6 +14,8 @@ + ############################################################################# + + use Getopt::Long; ++use feature 'switch'; ++use Term::ANSIColor qw(:constants); + use File::Basename; + use MLDBM qw(DB_File Storable); + use Fcntl; +@@ -27,6 +29,7 @@ + our ($root_node, $filesystem_id, @stats); + our ($opt_help, $opt_version, $opt_textdepth, $opt_hidesize, $opt_showdate, $opt_nosort, $opt_quiet); + our ($opt_savefile, $opt_loadfile, $opt_desc, $opt_collate); ++our ($opt_nocolor); + our ($opt_files, $opt_onefilesystem, $opt_collapsepath, $opt_excludepath, $opt_coalescefiles); + our ($root_dir, $file_count, $dir_count, $next_id); + our ($TYPE_FILE, $TYPE_DIR, $TYPE_EMPTY, $TYPE_COALESCED, $TYPE_COLLAPSED); +@@ -56,6 +59,8 @@ + "d|desc=s" => \$opt_desc, + "c|collate=s" => \$opt_collate, + ++ "nc|nocolor" => \$opt_nocolor, ++ + "f|files" => \$opt_files, + "x|one-file-system" => \$opt_onefilesystem, + "cp|collapse-path=s" => \$opt_collapsepath, +@@ -332,13 +337,58 @@ + printf(" [%s%s] ", "#" x $numofchars, " " x (30-$numofchars)); + printf("%6.2f%% ", $percent); + printf("%s ", shortDate($entry->{MTIME})) if $opt_showdate; +- printf("%s%s\n", $entry->{NAME}, $entry->{TYPE} & $TYPE_DIR ? "/" : ""); ++ ++ printColor( $entry ) unless ( $opt_nocolor ); ++ printNoColor( $entry ) if ( $opt_nocolor ); + if($entry->{TYPE} & $TYPE_DIR) { + printDir($entry, $indent+1) if(!defined $opt_textdepth || ($opt_textdepth > $indent+1)); + } + } + } + ++sub printColor { ++ my $entry = shift; ++ ++ my @tmp = split /\./, $entry->{NAME}; ++ ++ if ( $entry->{TYPE} & $TYPE_DIR ) { ++ print BLUE, BOLD, $entry->{NAME}."/\n", RESET ++ } ++ else { ++ given ($tmp[$#tmp]) { ++ #executable (bright green) ++ when([ qw(cmd exe com btm bat sh csh) ]) { ++ print BOLD, GREEN, $entry->{NAME}."\n", RESET ++ } ++ #archives / compressed (bright red) ++ when([ qw(tar tgz arj taz lzh zip z Z gz bz2 tbz2 tz deb rpm rar ace zoo cpio 7z rz) ]) { ++ print BOLD, RED, $entry->{NAME}."\n", RESET ++ } ++ #image formats ++ when([ qw(jpg jpeg gif bmp ppm tga xbm xpm tif tiff png mng xcf pcx mpg mpeg m2v avi mkv ++ ogm mp4 mp4v mov qt wmv asf rm rmvb flc fli gl dl) ]) { ++ print BOLD, MAGENTA, $entry->{NAME}."\n", RESET ++ } ++ #misc. ++ when([ qw(pdf ps txt patch diff log tex doc) ]) { ++ print GREEN, $entry->{NAME}."\n", RESET ++ } ++ when([ qw(mp3 wav mid midi au ogg flac aac) ]) { ++ print CYAN, $entry->{NAME}."\n", RESET ++ } ++ default { ++ print $entry->{NAME}."\n", RESET ++ } ++ } ++ } ++} ++ ++sub printNoColor { ++ my $entry = shift; ++ ++ printf("%s%s\n", $entry->{NAME}, $entry->{TYPE} & $TYPE_DIR ? "/" : ""); ++} ++ + sub processSizeOption { + my ($size, $temp); + +@@ -438,6 +488,9 @@ + -d, --desc=<description> give description of save file + -c, --collate=<dir> collate save files in dir for web report + ++Color Option: ++ -nc, --nocolor no color output ++ By default durep color outpu + Inclusion Options: + -f, --files do not descend into subdirs, only report files + -x, --one-file-system do not traverse file systems |