diff options
author | RajithaY <rajithax.yerrumsetty@intel.com> | 2017-04-25 03:31:15 -0700 |
---|---|---|
committer | Rajitha Yerrumchetty <rajithax.yerrumsetty@intel.com> | 2017-05-22 06:48:08 +0000 |
commit | bb756eebdac6fd24e8919e2c43f7d2c8c4091f59 (patch) | |
tree | ca11e03542edf2d8f631efeca5e1626d211107e3 /qemu/roms/ipxe/src/util/relicense.pl | |
parent | a14b48d18a9ed03ec191cf16b162206998a895ce (diff) |
Adding qemu as a submodule of KVMFORNFV
This Patch includes the changes to add qemu as a submodule to
kvmfornfv repo and make use of the updated latest qemu for the
execution of all testcase
Change-Id: I1280af507a857675c7f81d30c95255635667bdd7
Signed-off-by:RajithaY<rajithax.yerrumsetty@intel.com>
Diffstat (limited to 'qemu/roms/ipxe/src/util/relicense.pl')
-rwxr-xr-x | qemu/roms/ipxe/src/util/relicense.pl | 169 |
1 files changed, 0 insertions, 169 deletions
diff --git a/qemu/roms/ipxe/src/util/relicense.pl b/qemu/roms/ipxe/src/util/relicense.pl deleted file mode 100755 index 41954c1b3..000000000 --- a/qemu/roms/ipxe/src/util/relicense.pl +++ /dev/null @@ -1,169 +0,0 @@ -#!/usr/bin/perl -w - -=head1 NAME - -relicense.pl - -=head1 SYNOPSIS - -relicense.pl [options] -p <permissions file> <file> [<file>...] - -Option: - - -p,--permitted=FILE Specify file of emails with relicensing permission - -f,--force Manually force relicensing - -h,--help Display brief help message - -v,--verbose Increase verbosity - -q,--quiet Decrease verbosity - -=cut - -use File::Slurp; -use IPC::Run qw ( run ); -use Getopt::Long; -use Pod::Usage; -use strict; -use warnings; - -# Parse command-line options -my $verbosity = 0; -my $permfile; -my $force; -Getopt::Long::Configure ( "bundling", "auto_abbrev" ); -GetOptions ( - 'permitted|p=s' => \$permfile, - 'force|f' => \$force, - 'verbose|v+' => sub { $verbosity++; }, - 'quiet|q+' => sub { $verbosity--; }, - 'help|h' => sub { pod2usage ( 1 ); }, -) or die "Could not parse command-line options"; -pod2usage ( 1 ) unless @ARGV; - -# Read permitted emails file -my @emails = ( $permfile ? read_file ( $permfile ) : () ); -chomp @emails; -my $permitted = { map { /^.*<(\S+)>$/; ( $1 || $_ ) => 1 } @emails }; - -# Define list of relicensable licences -my $relicensable = { - GPL2_OR_LATER => 1, -}; - -# Define blurb to be added to copyright notice -my $blurb = ' - * - * You can also choose to distribute this program under the terms of - * the Unmodified Binary Distribution Licence (as given in the file - * COPYING.UBDL), provided that you have satisfied its requirements.'; - -# Process files -my @succeeded; -my @failed; -while ( my $filename = shift @ARGV ) { - - # Read file to determine existing licence - my $file = read_file ( $filename ); - my @licences = ( $file =~ /^\s*FILE_LICENCE\s*\(\s*(\S+)\s*\)\s*;?$/mg ); - die "No licence declaration in $filename\n" unless @licences; - die "Multiple licence declarations in $filename\n" if @licences > 1; - my $licence = $licences[0]; - - # Skip if file is already UBDL-licensed - next if $licence =~ /_OR_UBDL$/; - - # Fail immediately if file is not a candidate for relicensing - if ( ! exists $relicensable->{$licence} ) { - print "Non-relicensable licence $licence in $filename\n"; - push @failed, $filename; - next; - } - - # Run git-blame - my $stdout; - my $stderr; - run [ "git", "blame", "-M", "-C", "-p", "-w", $filename ], - \undef, \$stdout, \$stderr - or die "git-blame $filename: $?"; - die $stderr if $stderr; - - # Process output - my @stdout = split ( /\n/, $stdout ); - chomp @stdout; - my $details = {}; - my $failures = 0; - while ( @stdout ) { - - # Parse output - my $commit_line = shift @stdout; - ( my $commit, undef, my $lineno, undef, my $count ) = - ( $commit_line =~ - /^([0-9a-f]{40})\s+([0-9]+)\s+([0-9]+)(\s+([0-9]+))?$/ ) - or die "Malformed commit line \"$commit_line\"\n"; - if ( $count ) { - $details->{$commit} ||= {}; - while ( ! ( $stdout[0] =~ /^\t/ ) ) { - my $detail_line = shift @stdout; - ( my $key, undef, my $value ) = - ( $detail_line =~ /^([a-z-]+)(\s+(.+))?$/ ) - or die "Malformed detail line \"$detail_line\" for $commit_line\n"; - $details->{$commit}->{$key} = $value; - } - } - die "Missing commit details for $commit_line\n" - unless %{$details->{$commit}}; - my $code_line = shift @stdout; - ( my $line ) = ( $code_line =~ /^\t(.*)$/ ) - or die "Malformed code line \"$code_line\" for $commit_line\n"; - - # Skip trivial lines and lines so common that they are likely to - # be misattributed by git-blame - next if $line =~ /^\s*$/; # Empty lines - next if $line =~ /^\s*\/\*/; # Start of comments - next if $line =~ /^\s*\*/; # Middle (or end) of comments - next if $line =~ /^\s*\{\s*$/; # Standalone opening braces - next if $line =~ /^\s*\};?\s*$/; # Standalone closing braces - next if $line =~ /^\#include/; # Header inclusions - next if $line =~ /^\s*return\s+0;/; # return 0; - next if $line =~ /^\s*return\s+rc;/; # return rc; - next if $line =~ /^\s*PCI_ROM\s*\(.*\)\s*,\s*$/; # PCI IDs - next if $line =~ /^\s*FILE_LICENCE\s*\(.*\)\s*;$/; # Licence declarations - - # Identify author - my $author_mail = $details->{$commit}->{"author-mail"} - or die "Missing author email for $commit_line\n"; - ( my $email ) = ( $author_mail =~ /^<(\S+)>$/ ) - or die "Malformed author email \"$author_mail\" for $commit_line\n"; - undef $email if exists $details->{$commit}->{boundary}; - - # Check for relicensing permission - next if defined $email && exists $permitted->{$email}; - - # Print out lines lacking permission - printf $filename."\n" unless $failures; - printf "%4d %-30s %s\n", $lineno, ( $email || "<root>" ), $line; - $failures++; - } - - # Fail if there are any non-trivial lines lacking relicensing permission - if ( $failures && ! $force ) { - push @failed, $filename; - next; - } - - # Modify FILE_LICENCE() line - $file =~ s/(^\s*FILE_LICENCE\s*\(\s*${licence})(\s*\)\s*;?$)/$1_OR_UBDL$2/m - or die "Could not modify FILE_LICENCE() in $filename\n"; - - # Modify copyright notice, if present - if ( $file =~ /GNU General Public License/i ) { - $file =~ s/(02110-1301, USA.$)/$1${blurb}/m - or die "Could not modify copyright notice in $filename\n"; - } - - # Write out modified file - write_file ( $filename, { atomic => 1 }, $file ); - push @succeeded, $filename; -} - -print "Relicensed: ".join ( " ", @succeeded )."\n" if @succeeded; -die "Cannot relicense: ".join ( " ", @failed )."\n" if @failed; |