This is an automated email from the git hooks/post-receive script. js pushed a commit to branch master in repository ciderwebmail.
commit 1358792a9f86927366ed8f2d6660c527159b93f2 Author: Jonas Smedegaard <d...@jones.dk> Date: Sat Sep 3 16:39:38 2016 +0200 Modernize copyright check: Stop include license-miner locally (shipped with CDBS now). Tighten to build-depend versioned on cdbs. Build-depend on licensecheck (not devscripts). --- debian/license-miner | 243 --------------------------------------------------- debian/rules | 24 +---- 2 files changed, 4 insertions(+), 263 deletions(-) diff --git a/debian/license-miner b/debian/license-miner deleted file mode 100755 index 52f5b4d..0000000 --- a/debian/license-miner +++ /dev/null @@ -1,243 +0,0 @@ -#! /usr/bin/perl - -use autodie; -use strict; -use utf8; -use warnings qw(all); -use feature 'say'; - -use Getopt::Long; -use Pod::Usage; -use FileHandle; -use Regexp::Assemble; -use Image::ExifTool; -use Font::TTF::Font; -use Font::TTF::Ttc; - -=head1 NAME - -license-miner - extract copyright/licensing info from complex files - -=head1 SYNOPSIS - -license-miner [B<options>] [F<path>|inspector:F<path>...] - -=head1 OPTIONS - -=over 12 - -=item B<--help> - -Print a brief help message and exits. - -=item B<--man> - -Prints the manual page and exits. - -=item B<--verbose> - -Prints names of paths and the inspector used. - -=item B<--debug> - -Prints extracted info. - -=back - -=head1 DESCRIPTION - -B<This program> will inspect files, -extract their copyright and licensing info, -and save the result next to the files -(adding suffix "F<.metadata_dump>"). - -File paths are provided either as arguments -or (if no arguments provided) from STDIN. - -Each path may optionally be prefixed with an inspector to use. -Default is to pick inspector based on file suffix. - -=head1 INSPECTORS - -Available inspectors are B<ttf> and B<exif>. - -=over 12 - -=item B<ttf> - -TrueType fonts (including Truetype-flavored OpenType and WOFF). - -Used by default for extensions F<.ttf>, F<.otf>, F<woff>. - -Beware that some OpenType fonts are not TrueType but Type1, -which may fail to parse correctly based on suffix detection. -If that happens, try force using the exif inspector -by prefixing the path with "exif:". - -=item B<ttc> - -TrueType collections (including Truetype-flavored OpenType). - -Used by default for extension F<.ttc>. - -If parsing fails, try force using the exif inspector -by prefixing the path with "exif:". - -=item B<exif> - -misc. images and fonts. - -Used by default for extensions F<gif>, F<icc>, F<jpeg>, F<.jpg>, F<.pdf>, F<.pfa>, F<.pfb>, F<.png>, F<psd>, F<svg>. - -Beware that some OpenType fonts are not TrueType but Type1, -which may fail to parse correctly based on suffix detection. -If that happens, try force using the exif inspector -by prefixing the path with "exif:". - -=back - -=cut - -# avoid custom configuration of ExifTool -BEGIN { $Image::ExifTool::configFile = '' } - -GetOptions( help => \my $help, - man => \my $man, - verbose => \my $verbose, - debug => \my $debug, -) or pod2usage(2); -pod2usage( -verbose => 1 ) if $help; -pod2usage( -verbose => 2, -exitstatus => 0 ) if $man; - -# Fail if no paths provided as arguments and STDIN is interactive -pod2usage("$0: No paths provided.") if ((@ARGV == 0) && (-t STDIN)); - -my $dispatch = { - # TrueType (including Truetype-flavored OpenType and WOFF) fonts - '((?<=\Attf:).*|\A.*\.(?:ttf|otf|woff))$' => sub { - my $file = check_infile(shift); - say "ttf: $file" if ($verbose); - my $handle = ($debug) - ? *STDOUT{IO} - : FileHandle->new( check_outfile($file), 'w' ); - # source: http://scripts.sil.org/IWS-Chapter08#3054f18b - my %table = ( - Copyright => 0, - Trademark => 7, - License => 13, - 'License URL' => 14, - ); - my $font = Font::TTF::Font->open($file) or do { - say STDERR "ERROR: Failed to parse file as TrueType font: $_"; - exit 1; - }; - my $fn = $font->{'name'}->read; - foreach (sort keys %table) { - my $value = $fn->find_name($table{$_}); - print $handle $_ . ": " . $value . "\n" - if ($value); - } - }, - # TrueType (including Truetype-flavored OpenType) collections - '((?<=\Attc:).*|\A.*\.(?:ttc))$' => sub { - my $file = check_infile(shift); - say "ttf: $file" if ($verbose); - my $handle = ($debug) - ? *STDOUT{IO} - : FileHandle->new( check_outfile($file), 'w' ); - # source: http://scripts.sil.org/IWS-Chapter08#3054f18b - my %table = ( - Copyright => 0, - Trademark => 7, - License => 13, - 'License URL' => 14, - ); - my $collection = Font::TTF::Ttc->open($file) or do { - say STDERR "ERROR: Failed to parse file as TrueType collection: $_"; - exit 1; - }; - foreach ( @{$collection->{'directs'}} ) { - my $fn = $_->{'name'}->read; - foreach (sort keys %table) { - my $value = $fn->find_name($table{$_}); - print $handle $_ . ": " . $value . "\n" - if ($value); - } - } - }, - # exif: misc. images and fonts - '((?<=\Aexif:).*|\A.*\.(?:gif|icc|jpeg|jpg|pfa|pfb|pdf|png|psd|svg))$' => sub { - my $file = check_infile(shift); - say "exif: $file" if ($verbose); - my $exifTool = new Image::ExifTool; - my $handle = ($debug) - ? *STDOUT{IO} - : FileHandle->new( check_outfile($file), 'w' ); - my $info = $exifTool->ImageInfo($file, - # tags to lookup (like `exiftool $file` in shell) - '*Author*', '*Copyright*', '*Creator*', '*Licens*', '*Rights*', '*Trademark*'); - my $seen; - print $handle "File: $file\n"; - foreach (sort keys %$info) { - my $tagdesc = $exifTool->GetDescription($_); - print $handle "$tagdesc: $$info{$_}\n"; - } - } -}; - -my $re = Regexp::Assemble->new( track => 1 )->add( keys %$dispatch ); - -while( <> ) { - chomp; - if( $re->match($_) ) { - $dispatch->{ $re->matched }( $re->mvar(1) ); - } - else { - say STDERR "ERROR: Unsupported or unparseable string: $_"; - say STDERR " maybe you need a prefix (e.g. \"exif:fonts/SomeType1Font\""; - exit 1; - } -} - -sub check_infile { - my $infile = shift; - unless ( -e $infile ) { - say STDERR "ERROR: file does not exist: $infile"; - exit 1; - } - return $infile; -} - -sub check_outfile { - my $infile = shift; - my $outfile = $infile . ".metadata_dump"; - if ( -e $outfile ) { - say STDERR "ERROR: dumpfile exist: $outfile"; - say STDERR " remove or put aside and try again"; - exit 1; - } - return $outfile; -} - -=head1 AUTHOR - -Jonas Smedegaard, C<< <d...@jones.dk> >> - -=head1 LICENSE AND COPYRIGHT - -Copyright 2014-2016 Jonas Smedegaard - -This program is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the -Free Software Foundation; either version 3, or (at your option) any -later version. - -This program is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License along -with this program. If not, see <http://www.gnu.org/licenses/>. - -=cut diff --git a/debian/rules b/debian/rules index cc17824..27208ec 100755 --- a/debian/rules +++ b/debian/rules @@ -78,26 +78,10 @@ CDBS_DEPENDS_$(pkg) = $(deps), $(depends) CDBS_RECOMMENDS_$(pkg) = $(deps-recommend), $(recommends) CDBS_SUGGESTS_$(pkg) = $(suggests) -# Track changes to copyright and licensing hints -# * extract metadata from binary graphics files and fonts -# * skip binary graphics files known to not contain metadata -CDBS_BUILD_DEPENDS +=, libregexp-assemble-perl, libimage-exiftool-perl -CDBS_BUILD_DEPENDS +=, libfont-ttf-perl -copyright-check-binary-ext-regex = gif|jpeg|jpg|png|ttf|otf -copyright-check-skip-ext-regex = ico -DEB_COPYRIGHT_CHECK_IGNORE_REGEX = ^((.*/)?[^/]+\.($(copyright-check-binary-ext-regex)|$(copyright-check-skip-ext-regex))|debian/(changelog|copyright(|_hints|_newhints)))$$ -debian/stamp-copyright-check: debian/stamp-extract-copyright -debian/stamp-extract-copyright: - find * -type f -regextype posix-extended \ - -regex '.*\.($(copyright-check-binary-ext-regex))' \ - -print0 | perl -0 debian/license-miner - touch $@ -pre-build:: clean-extracted-copyright-during-build -clean-extracted-copyright-during-build: debian/stamp-copyright-check - find -type f -name '*.metadata_dump' -delete -clean:: - find -type f -name '*.metadata_dump' -delete - rm -f debian/stamp-extract-copyright +# extract metadata from binary files before copyright check +# - and skip ico files (binary unlikely to contain relevant metadata) +DEB_COPYRIGHT_EXTRACT_EXTS = png +DEB_COPYRIGHT_CHECK_IGNORE_EXTS = ico DEB_INSTALL_EXAMPLES_$(pkg) = ciderwebmail.yml script/update_schema.sh -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/ciderwebmail.git _______________________________________________ Pkg-perl-cvs-commits mailing list Pkg-perl-cvs-commits@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-perl-cvs-commits