diff options
author | Masahiro Yamada <yamada.m@jp.panasonic.com> | 2013-11-28 16:29:23 +0900 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2013-12-13 09:18:45 -0500 |
commit | dd88ab325cfcc7f803afd40600571b3f9c79319c (patch) | |
tree | a5c326330eec571614f1104badcfc41dcbd83661 /tools/cleanpatch | |
parent | 392ba5256ab9bf017a9b7320ef0cee98862c908d (diff) | |
download | u-boot-imx-dd88ab325cfcc7f803afd40600571b3f9c79319c.zip u-boot-imx-dd88ab325cfcc7f803afd40600571b3f9c79319c.tar.gz u-boot-imx-dd88ab325cfcc7f803afd40600571b3f9c79319c.tar.bz2 |
Makefile: Move some scripts imported from Linux
We have some scripts imported from Linux Kernel:
setlocalversion, checkstack.pl, checkpatch.pl, cleanpatch
They are located under tools/ directory in U-Boot now.
But they were originally located under scripts/ directory
in Linux Kernel.
This commit moves them to the original location.
It is true that binutils-version.sh and dtc-version.sh
do not originate in Linux Kernel, but they should
be moved by analogy to gcc-version.sh.
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Diffstat (limited to 'tools/cleanpatch')
-rwxr-xr-x | tools/cleanpatch | 258 |
1 files changed, 0 insertions, 258 deletions
diff --git a/tools/cleanpatch b/tools/cleanpatch deleted file mode 100755 index 9680d03..0000000 --- a/tools/cleanpatch +++ /dev/null @@ -1,258 +0,0 @@ -#!/usr/bin/perl -w -# -# Clean a patch file -- or directory of patch files -- of stealth whitespace. -# WARNING: this can be a highly destructive operation. Use with caution. -# - -use bytes; -use File::Basename; - -# Default options -$max_width = 79; - -# Clean up space-tab sequences, either by removing spaces or -# replacing them with tabs. -sub clean_space_tabs($) -{ - no bytes; # Tab alignment depends on characters - - my($li) = @_; - my($lo) = ''; - my $pos = 0; - my $nsp = 0; - my($i, $c); - - for ($i = 0; $i < length($li); $i++) { - $c = substr($li, $i, 1); - if ($c eq "\t") { - my $npos = ($pos+$nsp+8) & ~7; - my $ntab = ($npos >> 3) - ($pos >> 3); - $lo .= "\t" x $ntab; - $pos = $npos; - $nsp = 0; - } elsif ($c eq "\n" || $c eq "\r") { - $lo .= " " x $nsp; - $pos += $nsp; - $nsp = 0; - $lo .= $c; - $pos = 0; - } elsif ($c eq " ") { - $nsp++; - } else { - $lo .= " " x $nsp; - $pos += $nsp; - $nsp = 0; - $lo .= $c; - $pos++; - } - } - $lo .= " " x $nsp; - return $lo; -} - -# Compute the visual width of a string -sub strwidth($) { - no bytes; # Tab alignment depends on characters - - my($li) = @_; - my($c, $i); - my $pos = 0; - my $mlen = 0; - - for ($i = 0; $i < length($li); $i++) { - $c = substr($li,$i,1); - if ($c eq "\t") { - $pos = ($pos+8) & ~7; - } elsif ($c eq "\n") { - $mlen = $pos if ($pos > $mlen); - $pos = 0; - } else { - $pos++; - } - } - - $mlen = $pos if ($pos > $mlen); - return $mlen; -} - -$name = basename($0); - -@files = (); - -while (defined($a = shift(@ARGV))) { - if ($a =~ /^-/) { - if ($a eq '-width' || $a eq '-w') { - $max_width = shift(@ARGV)+0; - } else { - print STDERR "Usage: $name [-width #] files...\n"; - exit 1; - } - } else { - push(@files, $a); - } -} - -foreach $f ( @files ) { - print STDERR "$name: $f\n"; - - if (! -f $f) { - print STDERR "$f: not a file\n"; - next; - } - - if (!open(FILE, '+<', $f)) { - print STDERR "$name: Cannot open file: $f: $!\n"; - next; - } - - binmode FILE; - - # First, verify that it is not a binary file; consider any file - # with a zero byte to be a binary file. Is there any better, or - # additional, heuristic that should be applied? - $is_binary = 0; - - while (read(FILE, $data, 65536) > 0) { - if ($data =~ /\0/) { - $is_binary = 1; - last; - } - } - - if ($is_binary) { - print STDERR "$name: $f: binary file\n"; - next; - } - - seek(FILE, 0, 0); - - $in_bytes = 0; - $out_bytes = 0; - $lineno = 0; - - @lines = (); - - $in_hunk = 0; - $err = 0; - - while ( defined($line = <FILE>) ) { - $lineno++; - $in_bytes += length($line); - - if (!$in_hunk) { - if ($line =~ - /^\@\@\s+\-([0-9]+),([0-9]+)\s+\+([0-9]+),([0-9]+)\s\@\@/) { - $minus_lines = $2; - $plus_lines = $4; - if ($minus_lines || $plus_lines) { - $in_hunk = 1; - @hunk_lines = ($line); - } - } else { - push(@lines, $line); - $out_bytes += length($line); - } - } else { - # We're in a hunk - - if ($line =~ /^\+/) { - $plus_lines--; - - $text = substr($line, 1); - $text =~ s/[ \t\r]*$//; # Remove trailing spaces - $text = clean_space_tabs($text); - - $l_width = strwidth($text); - if ($max_width && $l_width > $max_width) { - print STDERR - "$f:$lineno: adds line exceeds $max_width ", - "characters ($l_width)\n"; - } - - push(@hunk_lines, '+'.$text); - } elsif ($line =~ /^\-/) { - $minus_lines--; - push(@hunk_lines, $line); - } elsif ($line =~ /^ /) { - $plus_lines--; - $minus_lines--; - push(@hunk_lines, $line); - } else { - print STDERR "$name: $f: malformed patch\n"; - $err = 1; - last; - } - - if ($plus_lines < 0 || $minus_lines < 0) { - print STDERR "$name: $f: malformed patch\n"; - $err = 1; - last; - } elsif ($plus_lines == 0 && $minus_lines == 0) { - # End of a hunk. Process this hunk. - my $i; - my $l; - my @h = (); - my $adj = 0; - my $done = 0; - - for ($i = scalar(@hunk_lines)-1; $i > 0; $i--) { - $l = $hunk_lines[$i]; - if (!$done && $l eq "+\n") { - $adj++; # Skip this line - } elsif ($l =~ /^[ +]/) { - $done = 1; - unshift(@h, $l); - } else { - unshift(@h, $l); - } - } - - $l = $hunk_lines[0]; # Hunk header - undef @hunk_lines; # Free memory - - if ($adj) { - die unless - ($l =~ /^\@\@\s+\-([0-9]+),([0-9]+)\s+\+([0-9]+),([0-9]+)\s\@\@(.*)$/); - my $mstart = $1; - my $mlin = $2; - my $pstart = $3; - my $plin = $4; - my $tail = $5; # doesn't include the final newline - - $l = sprintf("@@ -%d,%d +%d,%d @@%s\n", - $mstart, $mlin, $pstart, $plin-$adj, - $tail); - } - unshift(@h, $l); - - # Transfer to the output array - foreach $l (@h) { - $out_bytes += length($l); - push(@lines, $l); - } - - $in_hunk = 0; - } - } - } - - if ($in_hunk) { - print STDERR "$name: $f: malformed patch\n"; - $err = 1; - } - - if (!$err) { - if ($in_bytes != $out_bytes) { - # Only write to the file if changed - seek(FILE, 0, 0); - print FILE @lines; - - if ( !defined($where = tell(FILE)) || - !truncate(FILE, $where) ) { - die "$name: Failed to truncate modified file: $f: $!\n"; - } - } - } - - close(FILE); -} |