summaryrefslogtreecommitdiff
path: root/app-admin/durep/files
diff options
context:
space:
mode:
Diffstat (limited to 'app-admin/durep/files')
-rw-r--r--app-admin/durep/files/durep-0.9-dirhandle.patch31
-rw-r--r--app-admin/durep/files/durep-0.9-gigabyte.patch17
-rw-r--r--app-admin/durep/files/durep-0.9-r4-color-output.patch98
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