Hello community, here is the log from the commit of package perl-IO-HTML for openSUSE:Factory checked in at 2020-10-03 18:53:08 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-IO-HTML (Old) and /work/SRC/openSUSE:Factory/.perl-IO-HTML.new.4249 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-IO-HTML" Sat Oct 3 18:53:08 2020 rev:5 rq:838287 version:1.004 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-IO-HTML/perl-IO-HTML.changes 2015-04-22 01:07:49.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.perl-IO-HTML.new.4249/perl-IO-HTML.changes 2020-10-03 18:53:13.557323092 +0200 @@ -1,0 +2,20 @@ +Sun Sep 27 03:08:55 UTC 2020 - Tina Müller <[email protected]> + +- updated to 1.004 + see /usr/share/doc/packages/perl-IO-HTML/Changes + + 1.004 2020-09-26 + - No code changes since 1.003, just documentation improvements + - New example file: detect-encoding.pl + + 1.003 2015-09-26 Trial Release + - Do not use incomplete quoted attribute values in find_charset_in. + If we reach the end of the string without finding the closing quote, + terminate processing instead of using whatever we did collect as + the attribute's value. + - Add tests for the $bytes_to_check configuration variable (GitHub#1) + + 1.002 2015-09-19 Trial Release + - Add $bytes_to_check configuration variable (GitHub#1) + +------------------------------------------------------------------- Old: ---- IO-HTML-1.001.tar.gz New: ---- IO-HTML-1.004.tar.gz cpanspec.yml ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-IO-HTML.spec ++++++ --- /var/tmp/diff_new_pack.xhGRcn/_old 2020-10-03 18:53:14.645324506 +0200 +++ /var/tmp/diff_new_pack.xhGRcn/_new 2020-10-03 18:53:14.649324510 +0200 @@ -1,7 +1,7 @@ # # spec file for package perl-IO-HTML # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,19 +12,20 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: perl-IO-HTML -Version: 1.001 +Version: 1.004 Release: 0 %define cpan_name IO-HTML Summary: Open an HTML file with automatic charset detection -License: Artistic-1.0 or GPL-1.0+ +License: Artistic-1.0 OR GPL-1.0-or-later Group: Development/Libraries/Perl -Url: http://search.cpan.org/dist/IO-HTML/ -Source: http://www.cpan.org/authors/id/C/CJ/CJM/%{cpan_name}-%{version}.tar.gz +URL: https://metacpan.org/release/%{cpan_name} +Source0: https://cpan.metacpan.org/authors/id/C/CJ/CJM/%{cpan_name}-%{version}.tar.gz +Source1: cpanspec.yml BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: perl @@ -41,47 +42,47 @@ * 1. - If the file begins with a byte order mark indicating UTF-16LE, UTF-16BE, - or UTF-8, then that is the encoding. +If the file begins with a byte order mark indicating UTF-16LE, UTF-16BE, or +UTF-8, then that is the encoding. * 2. - If the first 1024 bytes of the file contain a '<meta>' tag that indicates - the charset, and Encode recognizes the specified charset name, then that - is the encoding. (This portion of the algorithm is implemented by - 'find_charset_in'.) +If the first '$bytes_to_check' bytes of the file contain a '<meta>' tag +that indicates the charset, and Encode recognizes the specified charset +name, then that is the encoding. (This portion of the algorithm is +implemented by 'find_charset_in'.) - The '<meta>' tag can be in one of two formats: +The '<meta>' tag can be in one of two formats: <meta charset="..."> <meta http-equiv="Content-Type" content="...charset=..."> - The search is case-insensitive, and the order of attributes within the - tag is irrelevant. Any additional attributes of the tag are ignored. The - first matching tag with a recognized encoding ends the search. +The search is case-insensitive, and the order of attributes within the tag +is irrelevant. Any additional attributes of the tag are ignored. The first +matching tag with a recognized encoding ends the search. * 3. - If the first 1024 bytes of the file are valid UTF-8 (with at least 1 - non-ASCII character), then the encoding is UTF-8. +If the first '$bytes_to_check' bytes of the file are valid UTF-8 (with at +least 1 non-ASCII character), then the encoding is UTF-8. * 4. - If all else fails, use the default character encoding. The HTML5 standard - suggests the default encoding should be locale dependent, but currently - it is always 'cp1252' unless you set '$IO::HTML::default_encoding' to a - different value. Note: 'sniff_encoding' does not apply this step; only - 'html_file' does that. +If all else fails, use the default character encoding. The HTML5 standard +suggests the default encoding should be locale dependent, but currently it +is always 'cp1252' unless you set '$IO::HTML::default_encoding' to a +different value. Note: 'sniff_encoding' does not apply this step; only +'html_file' does that. %prep %setup -q -n %{cpan_name}-%{version} %build -%{__perl} Makefile.PL INSTALLDIRS=vendor -%{__make} %{?_smp_mflags} +perl Makefile.PL INSTALLDIRS=vendor +make %{?_smp_mflags} %check -%{__make} test +make test %install %perl_make_install @@ -90,6 +91,7 @@ %files -f %{name}.files %defattr(-,root,root,755) -%doc Changes LICENSE README +%doc Changes examples README +%license LICENSE %changelog ++++++ IO-HTML-1.001.tar.gz -> IO-HTML-1.004.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IO-HTML-1.001/Changes new/IO-HTML-1.004/Changes --- old/IO-HTML-1.001/Changes 2014-06-28 19:03:42.000000000 +0200 +++ new/IO-HTML-1.004/Changes 2020-09-26 18:51:20.000000000 +0200 @@ -1,5 +1,19 @@ Revision history for IO-HTML +1.004 2020-09-26 + - No code changes since 1.003, just documentation improvements + - New example file: detect-encoding.pl + +1.003 2015-09-26 Trial Release + - Do not use incomplete quoted attribute values in find_charset_in. + If we reach the end of the string without finding the closing quote, + terminate processing instead of using whatever we did collect as + the attribute's value. + - Add tests for the $bytes_to_check configuration variable (GitHub#1) + +1.002 2015-09-19 Trial Release + - Add $bytes_to_check configuration variable (GitHub#1) + 1.001 2014-06-28 - No code changes, just documentation improvements - Update links to the HTML5 draft specification diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IO-HTML-1.001/LICENSE new/IO-HTML-1.004/LICENSE --- old/IO-HTML-1.001/LICENSE 2014-06-28 19:03:42.000000000 +0200 +++ new/IO-HTML-1.004/LICENSE 2020-09-26 18:51:20.000000000 +0200 @@ -1,4 +1,4 @@ -This software is copyright (c) 2014 by Christopher J. Madsen. +This software is copyright (c) 2020 by Christopher J. Madsen. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. @@ -12,7 +12,7 @@ --- The GNU General Public License, Version 1, February 1989 --- -This software is Copyright (c) 2014 by Christopher J. Madsen. +This software is Copyright (c) 2020 by Christopher J. Madsen. This is free software, licensed under: @@ -22,7 +22,7 @@ Version 1, February 1989 Copyright (C) 1989 Free Software Foundation, Inc. - 51 Franklin St, Suite 500, Boston, MA 02110-1335 USA + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @@ -272,7 +272,7 @@ --- The Artistic License 1.0 --- -This software is Copyright (c) 2014 by Christopher J. Madsen. +This software is Copyright (c) 2020 by Christopher J. Madsen. This is free software, licensed under: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IO-HTML-1.001/MANIFEST new/IO-HTML-1.004/MANIFEST --- old/IO-HTML-1.001/MANIFEST 2014-06-28 19:03:42.000000000 +0200 +++ new/IO-HTML-1.004/MANIFEST 2020-09-26 18:51:20.000000000 +0200 @@ -5,11 +5,12 @@ META.yml Makefile.PL README +examples/detect-encoding.pl lib/IO/HTML.pm t/00-all_prereqs.t t/00-load.t t/10-find.t t/20-open.t t/30-outfile.t -xt/release/pod-coverage.t -xt/release/pod-syntax.t +xt/author/pod-coverage.t +xt/author/pod-syntax.t diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IO-HTML-1.001/META.json new/IO-HTML-1.004/META.json --- old/IO-HTML-1.001/META.json 2014-06-28 19:03:42.000000000 +0200 +++ new/IO-HTML-1.004/META.json 2020-09-26 18:51:20.000000000 +0200 @@ -4,24 +4,25 @@ "Christopher J. Madsen <[email protected]>" ], "dynamic_config" : 0, - "generated_by" : "Dist::Zilla version 5.009, CPAN::Meta::Converter version 2.120921", + "generated_by" : "Dist::Zilla version 6.015, CPAN::Meta::Converter version 2.150010", "license" : [ "perl_5" ], "meta-spec" : { "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", - "version" : "2" + "version" : 2 }, "name" : "IO-HTML", "prereqs" : { "configure" : { "requires" : { - "ExtUtils::MakeMaker" : "6.30" + "ExtUtils::MakeMaker" : "0" } }, "develop" : { "requires" : { "Pod::Coverage::TrustPod" : "0", + "Test::More" : "0", "Test::Pod" : "1.41", "Test::Pod::Coverage" : "1.08" } @@ -50,10 +51,10 @@ "web" : "https://github.com/madsen/io-html" } }, - "version" : "1.001", + "version" : "1.004", "x_Dist_Zilla" : { "perl" : { - "version" : "5.018002" + "version" : "5.030001" }, "plugins" : [ { @@ -63,48 +64,59 @@ }, { "class" : "Dist::Zilla::Plugin::GatherDir", + "config" : { + "Dist::Zilla::Plugin::GatherDir" : { + "exclude_filename" : [], + "exclude_match" : [], + "follow_symlinks" : 0, + "include_dotfiles" : 0, + "prefix" : "", + "prune_directory" : [], + "root" : "." + } + }, "name" : "CJM/GatherDir", - "version" : "5.009" + "version" : "6.015" }, { "class" : "Dist::Zilla::Plugin::PruneCruft", "name" : "CJM/PruneCruft", - "version" : "5.009" + "version" : "6.015" }, { "class" : "Dist::Zilla::Plugin::ManifestSkip", "name" : "CJM/ManifestSkip", - "version" : "5.009" + "version" : "6.015" }, { "class" : "Dist::Zilla::Plugin::MetaJSON", "name" : "CJM/MetaJSON", - "version" : "5.009" + "version" : "6.015" }, { "class" : "Dist::Zilla::Plugin::MetaYAML", "name" : "CJM/MetaYAML", - "version" : "5.009" + "version" : "6.015" }, { "class" : "Dist::Zilla::Plugin::License", "name" : "CJM/License", - "version" : "5.009" + "version" : "6.015" }, { "class" : "Dist::Zilla::Plugin::Test::PrereqsFromMeta", "name" : "CJM/Test::PrereqsFromMeta", - "version" : "4.21" + "version" : "4.23" }, { "class" : "Dist::Zilla::Plugin::PodSyntaxTests", "name" : "CJM/PodSyntaxTests", - "version" : "5.009" + "version" : "6.015" }, { "class" : "Dist::Zilla::Plugin::PodCoverageTests", "name" : "CJM/PodCoverageTests", - "version" : "5.009" + "version" : "6.015" }, { "class" : "Dist::Zilla::Plugin::PodLoom", @@ -112,27 +124,37 @@ "Pod::Loom version" : "0.08" }, "name" : "CJM/PodLoom", - "version" : "5.00" + "version" : "5.001" }, { "class" : "Dist::Zilla::Plugin::MakeMaker", + "config" : { + "Dist::Zilla::Role::TestRunner" : { + "default_jobs" : 1 + } + }, "name" : "CJM/MakeMaker", - "version" : "5.009" + "version" : "6.015" }, { "class" : "Dist::Zilla::Plugin::RunExtraTests", + "config" : { + "Dist::Zilla::Role::TestRunner" : { + "default_jobs" : 1 + } + }, "name" : "CJM/RunExtraTests", - "version" : "0.011" + "version" : "0.029" }, { "class" : "Dist::Zilla::Plugin::MetaConfig", "name" : "CJM/MetaConfig", - "version" : "5.009" + "version" : "6.015" }, { "class" : "Dist::Zilla::Plugin::MatchManifest", "name" : "CJM/MatchManifest", - "version" : "4.01" + "version" : "6.000" }, { "class" : "Dist::Zilla::Plugin::RecommendedPrereqs", @@ -142,22 +164,22 @@ { "class" : "Dist::Zilla::Plugin::CheckPrereqsIndexed", "name" : "CJM/CheckPrereqsIndexed", - "version" : "0.009" + "version" : "0.020" }, { "class" : "Dist::Zilla::Plugin::GitVersionCheckCJM", "name" : "CJM/GitVersionCheckCJM", - "version" : "4.13" + "version" : "4.27" }, { "class" : "Dist::Zilla::Plugin::TemplateCJM", "name" : "CJM/TemplateCJM", - "version" : "4.22" + "version" : "5.002" }, { "class" : "Dist::Zilla::Plugin::Repository", "name" : "CJM/Repository", - "version" : "0.19" + "version" : "0.24" }, { "class" : "Dist::Zilla::Plugin::Git::Check", @@ -173,11 +195,12 @@ "changelog" : "Changes" }, "Dist::Zilla::Role::Git::Repo" : { + "git_version" : "2.28.0", "repo_root" : "." } }, "name" : "CJM/@Git/Check", - "version" : "2.022" + "version" : "2.047" }, { "class" : "Dist::Zilla::Plugin::Git::Commit", @@ -185,7 +208,7 @@ "Dist::Zilla::Plugin::Git::Commit" : { "add_files_in" : [], "commit_msg" : "Updated Changes for %{MMMM d, yyyy}d%{ trial}t release of %v", - "time_zone" : "local" + "signoff" : 0 }, "Dist::Zilla::Role::Git::DirtyFiles" : { "allow_dirty" : [ @@ -195,29 +218,37 @@ "changelog" : "Changes" }, "Dist::Zilla::Role::Git::Repo" : { + "git_version" : "2.28.0", "repo_root" : "." + }, + "Dist::Zilla::Role::Git::StringFormatter" : { + "time_zone" : "local" } }, "name" : "CJM/@Git/Commit", - "version" : "2.022" + "version" : "2.047" }, { "class" : "Dist::Zilla::Plugin::Git::Tag", "config" : { "Dist::Zilla::Plugin::Git::Tag" : { "branch" : null, + "changelog" : "Changes", "signed" : 0, - "tag" : "1.001", + "tag" : "1.004", "tag_format" : "%v%t", - "tag_message" : "Tagged %N %v%{ (trial release)}t", - "time_zone" : "local" + "tag_message" : "Tagged %N %v%{ (trial release)}t" }, "Dist::Zilla::Role::Git::Repo" : { + "git_version" : "2.28.0", "repo_root" : "." + }, + "Dist::Zilla::Role::Git::StringFormatter" : { + "time_zone" : "local" } }, "name" : "CJM/@Git/Tag", - "version" : "2.022" + "version" : "2.047" }, { "class" : "Dist::Zilla::Plugin::Git::Push", @@ -229,80 +260,94 @@ "remotes_must_exist" : 1 }, "Dist::Zilla::Role::Git::Repo" : { + "git_version" : "2.28.0", "repo_root" : "." } }, "name" : "CJM/@Git/Push", - "version" : "2.022" + "version" : "2.047" }, { "class" : "Dist::Zilla::Plugin::TestRelease", "name" : "CJM/TestRelease", - "version" : "5.009" + "version" : "6.015" }, { "class" : "Dist::Zilla::Plugin::UploadToCPAN", "name" : "CJM/UploadToCPAN", - "version" : "5.009" + "version" : "6.015" }, { "class" : "Dist::Zilla::Plugin::ArchiveRelease", "name" : "CJM/ArchiveRelease", - "version" : "4.00" + "version" : "6.000" }, { "class" : "Dist::Zilla::Plugin::AutoPrereqs", "name" : "AutoPrereqs", - "version" : "5.009" + "version" : "6.015" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":InstallModules", - "version" : "5.009" + "version" : "6.015" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":IncModules", - "version" : "5.009" + "version" : "6.015" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":TestFiles", - "version" : "5.009" + "version" : "6.015" + }, + { + "class" : "Dist::Zilla::Plugin::FinderCode", + "name" : ":ExtraTestFiles", + "version" : "6.015" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":ExecFiles", - "version" : "5.009" + "version" : "6.015" + }, + { + "class" : "Dist::Zilla::Plugin::FinderCode", + "name" : ":PerlExecFiles", + "version" : "6.015" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":ShareFiles", - "version" : "5.009" + "version" : "6.015" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":MainModule", - "version" : "5.009" + "version" : "6.015" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":AllFiles", - "version" : "5.009" + "version" : "6.015" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":NoFiles", - "version" : "5.009" + "version" : "6.015" } ], "zilla" : { "class" : "Dist::Zilla::Dist::Builder", "config" : { - "is_trial" : "0" + "is_trial" : 0 }, - "version" : "5.009" + "version" : "6.015" } - } + }, + "x_generated_by_perl" : "v5.30.1", + "x_serialization_backend" : "Cpanel::JSON::XS version 4.17", + "x_spdx_expression" : "Artistic-1.0-Perl OR GPL-1.0-or-later" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IO-HTML-1.001/META.yml new/IO-HTML-1.004/META.yml --- old/IO-HTML-1.001/META.yml 2014-06-28 19:03:42.000000000 +0200 +++ new/IO-HTML-1.004/META.yml 2020-09-26 18:51:20.000000000 +0200 @@ -3,112 +3,127 @@ author: - 'Christopher J. Madsen <[email protected]>' build_requires: - File::Temp: 0 - Scalar::Util: 0 - Test::More: 0.88 + File::Temp: '0' + Scalar::Util: '0' + Test::More: '0.88' configure_requires: - ExtUtils::MakeMaker: 6.30 + ExtUtils::MakeMaker: '0' dynamic_config: 0 -generated_by: 'Dist::Zilla version 5.009, CPAN::Meta::Converter version 2.120921' +generated_by: 'Dist::Zilla version 6.015, CPAN::Meta::Converter version 2.150010' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html - version: 1.4 + version: '1.4' name: IO-HTML requires: - Carp: 0 - Encode: 2.10 - Exporter: 5.57 - perl: 5.008 + Carp: '0' + Encode: '2.10' + Exporter: '5.57' + perl: '5.008' resources: repository: git://github.com/madsen/io-html.git -version: 1.001 +version: '1.004' x_Dist_Zilla: perl: - version: 5.018002 + version: '5.030001' plugins: - class: Dist::Zilla::Plugin::VersionFromModule name: CJM/VersionFromModule - version: 0.08 + version: '0.08' - class: Dist::Zilla::Plugin::GatherDir + config: + Dist::Zilla::Plugin::GatherDir: + exclude_filename: [] + exclude_match: [] + follow_symlinks: 0 + include_dotfiles: 0 + prefix: '' + prune_directory: [] + root: . name: CJM/GatherDir - version: 5.009 + version: '6.015' - class: Dist::Zilla::Plugin::PruneCruft name: CJM/PruneCruft - version: 5.009 + version: '6.015' - class: Dist::Zilla::Plugin::ManifestSkip name: CJM/ManifestSkip - version: 5.009 + version: '6.015' - class: Dist::Zilla::Plugin::MetaJSON name: CJM/MetaJSON - version: 5.009 + version: '6.015' - class: Dist::Zilla::Plugin::MetaYAML name: CJM/MetaYAML - version: 5.009 + version: '6.015' - class: Dist::Zilla::Plugin::License name: CJM/License - version: 5.009 + version: '6.015' - class: Dist::Zilla::Plugin::Test::PrereqsFromMeta name: CJM/Test::PrereqsFromMeta - version: 4.21 + version: '4.23' - class: Dist::Zilla::Plugin::PodSyntaxTests name: CJM/PodSyntaxTests - version: 5.009 + version: '6.015' - class: Dist::Zilla::Plugin::PodCoverageTests name: CJM/PodCoverageTests - version: 5.009 + version: '6.015' - class: Dist::Zilla::Plugin::PodLoom config: - Pod::Loom version: 0.08 + 'Pod::Loom version': '0.08' name: CJM/PodLoom - version: 5.00 + version: '5.001' - class: Dist::Zilla::Plugin::MakeMaker + config: + Dist::Zilla::Role::TestRunner: + default_jobs: 1 name: CJM/MakeMaker - version: 5.009 + version: '6.015' - class: Dist::Zilla::Plugin::RunExtraTests + config: + Dist::Zilla::Role::TestRunner: + default_jobs: 1 name: CJM/RunExtraTests - version: 0.011 + version: '0.029' - class: Dist::Zilla::Plugin::MetaConfig name: CJM/MetaConfig - version: 5.009 + version: '6.015' - class: Dist::Zilla::Plugin::MatchManifest name: CJM/MatchManifest - version: 4.01 + version: '6.000' - class: Dist::Zilla::Plugin::RecommendedPrereqs name: CJM/RecommendedPrereqs - version: 4.21 + version: '4.21' - class: Dist::Zilla::Plugin::CheckPrereqsIndexed name: CJM/CheckPrereqsIndexed - version: 0.009 + version: '0.020' - class: Dist::Zilla::Plugin::GitVersionCheckCJM name: CJM/GitVersionCheckCJM - version: 4.13 + version: '4.27' - class: Dist::Zilla::Plugin::TemplateCJM name: CJM/TemplateCJM - version: 4.22 + version: '5.002' - class: Dist::Zilla::Plugin::Repository name: CJM/Repository - version: 0.19 + version: '0.24' - class: Dist::Zilla::Plugin::Git::Check config: @@ -120,39 +135,46 @@ allow_dirty_match: [] changelog: Changes Dist::Zilla::Role::Git::Repo: - repo_root: '.' + git_version: 2.28.0 + repo_root: . name: CJM/@Git/Check - version: 2.022 + version: '2.047' - class: Dist::Zilla::Plugin::Git::Commit config: Dist::Zilla::Plugin::Git::Commit: add_files_in: [] commit_msg: 'Updated Changes for %{MMMM d, yyyy}d%{ trial}t release of %v' - time_zone: local + signoff: '0' Dist::Zilla::Role::Git::DirtyFiles: allow_dirty: - Changes allow_dirty_match: [] changelog: Changes Dist::Zilla::Role::Git::Repo: - repo_root: '.' + git_version: 2.28.0 + repo_root: . + Dist::Zilla::Role::Git::StringFormatter: + time_zone: local name: CJM/@Git/Commit - version: 2.022 + version: '2.047' - class: Dist::Zilla::Plugin::Git::Tag config: Dist::Zilla::Plugin::Git::Tag: branch: ~ + changelog: Changes signed: 0 - tag: 1.001 + tag: '1.004' tag_format: '%v%t' tag_message: 'Tagged %N %v%{ (trial release)}t' - time_zone: local Dist::Zilla::Role::Git::Repo: - repo_root: '.' + git_version: 2.28.0 + repo_root: . + Dist::Zilla::Role::Git::StringFormatter: + time_zone: local name: CJM/@Git/Tag - version: 2.022 + version: '2.047' - class: Dist::Zilla::Plugin::Git::Push config: @@ -161,59 +183,71 @@ - 'github master' remotes_must_exist: 1 Dist::Zilla::Role::Git::Repo: - repo_root: '.' + git_version: 2.28.0 + repo_root: . name: CJM/@Git/Push - version: 2.022 + version: '2.047' - class: Dist::Zilla::Plugin::TestRelease name: CJM/TestRelease - version: 5.009 + version: '6.015' - class: Dist::Zilla::Plugin::UploadToCPAN name: CJM/UploadToCPAN - version: 5.009 + version: '6.015' - class: Dist::Zilla::Plugin::ArchiveRelease name: CJM/ArchiveRelease - version: 4.00 + version: '6.000' - class: Dist::Zilla::Plugin::AutoPrereqs name: AutoPrereqs - version: 5.009 + version: '6.015' - class: Dist::Zilla::Plugin::FinderCode name: ':InstallModules' - version: 5.009 + version: '6.015' - class: Dist::Zilla::Plugin::FinderCode name: ':IncModules' - version: 5.009 + version: '6.015' - class: Dist::Zilla::Plugin::FinderCode name: ':TestFiles' - version: 5.009 + version: '6.015' + - + class: Dist::Zilla::Plugin::FinderCode + name: ':ExtraTestFiles' + version: '6.015' - class: Dist::Zilla::Plugin::FinderCode name: ':ExecFiles' - version: 5.009 + version: '6.015' + - + class: Dist::Zilla::Plugin::FinderCode + name: ':PerlExecFiles' + version: '6.015' - class: Dist::Zilla::Plugin::FinderCode name: ':ShareFiles' - version: 5.009 + version: '6.015' - class: Dist::Zilla::Plugin::FinderCode name: ':MainModule' - version: 5.009 + version: '6.015' - class: Dist::Zilla::Plugin::FinderCode name: ':AllFiles' - version: 5.009 + version: '6.015' - class: Dist::Zilla::Plugin::FinderCode name: ':NoFiles' - version: 5.009 + version: '6.015' zilla: class: Dist::Zilla::Dist::Builder config: - is_trial: 0 - version: 5.009 + is_trial: '0' + version: '6.015' +x_generated_by_perl: v5.30.1 +x_serialization_backend: 'YAML::Tiny version 1.73' +x_spdx_expression: 'Artistic-1.0-Perl OR GPL-1.0-or-later' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IO-HTML-1.001/Makefile.PL new/IO-HTML-1.004/Makefile.PL --- old/IO-HTML-1.001/Makefile.PL 2014-06-28 19:03:42.000000000 +0200 +++ new/IO-HTML-1.004/Makefile.PL 2020-09-26 18:51:20.000000000 +0200 @@ -1,24 +1,20 @@ - -# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.009. +# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v6.015. use strict; use warnings; use 5.008; -use ExtUtils::MakeMaker 6.30; - - +use ExtUtils::MakeMaker; my %WriteMakefileArgs = ( "ABSTRACT" => "Open an HTML file with automatic charset detection", "AUTHOR" => "Christopher J. Madsen <perl\@cjmweb.net>", - "BUILD_REQUIRES" => {}, "CONFIGURE_REQUIRES" => { - "ExtUtils::MakeMaker" => "6.30" + "ExtUtils::MakeMaker" => 0 }, "DISTNAME" => "IO-HTML", - "EXE_FILES" => [], "LICENSE" => "perl", + "MIN_PERL_VERSION" => "5.008", "NAME" => "IO::HTML", "PREREQ_PM" => { "Carp" => 0, @@ -30,7 +26,7 @@ "Scalar::Util" => 0, "Test::More" => "0.88" }, - "VERSION" => "1.001", + "VERSION" => "1.004", "test" => { "TESTS" => "t/*.t" } @@ -57,6 +53,3 @@ unless eval { ExtUtils::MakeMaker->VERSION(6.52) }; WriteMakefile(%WriteMakefileArgs); - - - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IO-HTML-1.001/README new/IO-HTML-1.004/README --- old/IO-HTML-1.001/README 2014-06-28 19:03:42.000000000 +0200 +++ new/IO-HTML-1.004/README 2020-09-26 18:51:20.000000000 +0200 @@ -1,4 +1,4 @@ -IO-HTML version 1.001, released June 28, 2014 +IO-HTML version 1.004, released September 26, 2020 This module opens a file and performs automatic charset detection @@ -30,17 +30,17 @@ CHANGES - Here's what's new in version 1.001 of IO-HTML: + Here's what's new in version 1.004 of IO-HTML: (See the file "Changes" for the full revision history.) - - No code changes, just documentation improvements - - Update links to the HTML5 draft specification + - No code changes since 1.003, just documentation improvements + - New example file: detect-encoding.pl COPYRIGHT AND LICENSE -This software is copyright (c) 2014 by Christopher J. Madsen. +This software is copyright (c) 2020 by Christopher J. Madsen. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IO-HTML-1.001/examples/detect-encoding.pl new/IO-HTML-1.004/examples/detect-encoding.pl --- old/IO-HTML-1.001/examples/detect-encoding.pl 1970-01-01 01:00:00.000000000 +0100 +++ new/IO-HTML-1.004/examples/detect-encoding.pl 2020-09-26 18:51:20.000000000 +0200 @@ -0,0 +1,20 @@ +#! /usr/bin/env perl +#--------------------------------------------------------------------- +# This example is hereby placed in the public domain. +# You may copy from it freely. +# +# Detect the encoding of files given on the command line +#--------------------------------------------------------------------- + +use strict; +use warnings; + +use IO::HTML qw(html_file_and_encoding); + +for my $filename (@ARGV) { + my ($filehandle, $encoding, $bom) = html_file_and_encoding($filename); + + close $filehandle; + $encoding .= " BOM=$bom" if defined $bom; + print "$filename: $encoding\n"; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IO-HTML-1.001/lib/IO/HTML.pm new/IO-HTML-1.004/lib/IO/HTML.pm --- old/IO-HTML-1.001/lib/IO/HTML.pm 2014-06-28 19:03:42.000000000 +0200 +++ new/IO-HTML-1.004/lib/IO/HTML.pm 2020-09-26 18:51:20.000000000 +0200 @@ -1,7 +1,7 @@ #--------------------------------------------------------------------- package IO::HTML; # -# Copyright 2014 Christopher J. Madsen +# Copyright 2020 Christopher J. Madsen # # Author: Christopher J. Madsen <[email protected]> # Created: 14 Jan 2012 @@ -25,9 +25,11 @@ use Encode 2.10 qw(decode find_encoding); # need utf-8-strict encoding use Exporter 5.57 'import'; -our $VERSION = '1.001'; -# This file is part of IO-HTML 1.001 (June 28, 2014) +our $VERSION = '1.004'; +# This file is part of IO-HTML 1.004 (September 26, 2020) + +our $bytes_to_check ||= 1024; our $default_encoding ||= 'cp1252'; our @EXPORT = qw(html_file); @@ -110,7 +112,8 @@ my $pos = tell $in; croak "Could not seek $filename: $!" if $pos < 0; - croak "Could not read $filename: $!" unless defined read $in, my $buf, 1024; + croak "Could not read $filename: $!" + unless defined read $in, my($buf), $bytes_to_check; seek $in, $pos, 0 or croak "Could not seek $filename: $!"; @@ -166,11 +169,22 @@ my ($name, $value) = (lc $1, ''); - if (/\G[\x09\x0A\x0C\x0D ]*=[\x09\x0A\x0C\x0D ]*/gc - and (/\G"([^"]*)"?/gc or - /\G'([^']*)'?/gc or - /\G([^\x09\x0A\x0C\x0D >]*)/gc)) { - $value = lc $1; + if (/\G[\x09\x0A\x0C\x0D ]*=[\x09\x0A\x0C\x0D ]*/gc) { + if (/\G"/gc) { + # Double-quoted attribute value + /\G([^"]*)("?)/gc; + return unless $2; # Incomplete attribute (missing closing quote) + $value = lc $1; + } elsif (/\G'/gc) { + # Single-quoted attribute value + /\G([^']*)('?)/gc; + return unless $2; # Incomplete attribute (missing closing quote) + $value = lc $1; + } else { + # Unquoted attribute value + /\G([^\x09\x0A\x0C\x0D >]*)/gc; + $value = lc $1; + } } # end if attribute has value return wantarray ? ($name, $value) : 1; @@ -196,7 +210,8 @@ { for (shift) { my $options = shift || {}; - my $stop = length > 1024 ? 1024 : length; # search first 1024 bytes + # search only the first $bytes_to_check bytes (default 1024) + my $stop = length > $bytes_to_check ? $bytes_to_check : length; my $expect_pragma = (defined $options->{need_pragma} ? $options->{need_pragma} : 1); @@ -264,8 +279,8 @@ =head1 VERSION -This document describes version 1.001 of -IO::HTML, released June 28, 2014. +This document describes version 1.004 of +IO::HTML, released September 26, 2020. =head1 SYNOPSIS @@ -297,7 +312,7 @@ =item 2. -If the first 1024 bytes of the file contain a C<< <meta> >> tag that +If the first C<$bytes_to_check> bytes of the file contain a C<< <meta> >> tag that indicates the charset, and Encode recognizes the specified charset name, then that is the encoding. (This portion of the algorithm is implemented by C<find_charset_in>.) @@ -313,7 +328,7 @@ =item 3. -If the first 1024 bytes of the file are valid UTF-8 (with at least 1 +If the first C<$bytes_to_check> bytes of the file are valid UTF-8 (with at least 1 non-ASCII character), then the encoding is UTF-8. =item 4. @@ -348,7 +363,9 @@ default should be locale dependent, but that is not currently implemented. -It dies if the file cannot be opened. +It dies if the file cannot be opened, or if C<sniff_encoding> cannot +determine the encoding and C<$IO::HTML::default_encoding> has been set +to C<undef>. =head2 html_file_and_encoding @@ -366,8 +383,12 @@ The optional second argument is a hashref containing options. The possible keys are described under C<find_charset_in>. -It dies if the file cannot be opened. The result of calling it in -scalar context is undefined. +It dies if the file cannot be opened, or if C<sniff_encoding> cannot +determine the encoding and C<$IO::HTML::default_encoding> has been set +to C<undef>. + +The result of calling C<html_file_and_encoding> in scalar context is undefined +(in the C sense of there is no guarantee what you'll get). =head2 html_outfile @@ -379,7 +400,8 @@ If C<$encoding> is C<undef>, it defaults to C<$IO::HTML::default_encoding>. C<$encoding> may be either an encoding name or an Encode::Encoding object. -It dies if the file cannot be opened. +It dies if the file cannot be opened, or if both C<$encoding> and +C<$IO::HTML::default_encoding> are C<undef>. =head2 sniff_encoding @@ -420,9 +442,10 @@ $encoding = find_charset_in($string_containing_HTML, \%options); This function (exported only by request) looks for charset information -in a C<< <meta> >> tag in a possibly incomplete HTML document using +in a C<< <meta> >> tag in a possibly-incomplete HTML document using the "two step" algorithm specified by HTML5. It does not look for a BOM. -Only the first 1024 bytes of the string are checked. +The C<< <meta> >> tag must begin within the first C<$IO::HTML::bytes_to_check> +bytes of the string. It returns Perl's canonical name for the encoding, which is not necessarily the same as the MIME or IANA charset name. It returns @@ -512,7 +535,38 @@ =head1 CONFIGURATION AND ENVIRONMENT -IO::HTML requires no configuration files or environment variables. +There are two global variables that affect IO::HTML. If you need to +change them, you should do so using C<local> if possible: + + my $file = do { + # This file may define the charset later in the header + local $IO::HTML::bytes_to_check = 4096; + html_file(...); + }; + +=over + +=item C<$bytes_to_check> + +This is the number of bytes that C<sniff_encoding> will read from the +stream. It is also the number of bytes that C<find_charset_in> will +search for a C<< <meta> >> tag containing charset information. +It must be a positive integer. + +The HTML 5 specification recommends using the default value of 1024, +but some pages do not follow the specification. + +=item C<$default_encoding> + +This is the encoding that C<html_file> and C<html_file_and_encoding> +will use if no encoding can be detected by C<sniff_encoding>. +The default value is C<cp1252> (a.k.a. Windows-1252). + +Setting it to C<undef> will cause the file subroutines to croak if +C<sniff_encoding> fails to determine the encoding. (C<sniff_encoding> +itself does not use C<$default_encoding>). + +=back =head1 DEPENDENCIES @@ -544,7 +598,7 @@ =head1 COPYRIGHT AND LICENSE -This software is copyright (c) 2014 by Christopher J. Madsen. +This software is copyright (c) 2020 by Christopher J. Madsen. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IO-HTML-1.001/t/00-all_prereqs.t new/IO-HTML-1.004/t/00-all_prereqs.t --- old/IO-HTML-1.001/t/00-all_prereqs.t 2014-06-28 19:03:42.000000000 +0200 +++ new/IO-HTML-1.004/t/00-all_prereqs.t 2020-09-26 18:51:20.000000000 +0200 @@ -7,6 +7,7 @@ # with modules that aren't prerequisites. my $test = 0; +my $tests_completed; sub ok ($$) { @@ -18,8 +19,8 @@ } # end ok END { - ok(0, 'unknown failure') unless $test; - print "1..$test\n"; + ok(0, 'unknown failure') unless defined $tests_completed; + print "1..$tests_completed\n"; } sub get_version @@ -62,14 +63,18 @@ # Need a special case for if.pm, because "require if;" is a syntax error. my $loaded = ($prereq eq 'if') - ? eval "require '$prereq.pm'; '$prereq'->VERSION($version); 1" - : eval "require $prereq; $prereq->VERSION($version); 1"; + ? eval "require '$prereq.pm'; 1" + : eval "require $prereq; 1"; if ($rel eq 'requires') { - ok($loaded, "loaded $prereq $version") - or printf STDERR "\n# Got: %s %s\n# Wanted: %s %s\n", - $prereq, get_version($prereq), $prereq, $version; + ok($loaded, "loaded $prereq") or + print STDERR "\n# ERROR: Wanted: $prereq $version\n"; } else { - ok(1, ($loaded ? 'loaded' : 'failed to load') . " $prereq $version"); + ok(1, ($loaded ? 'loaded' : 'failed to load') . " $prereq"); + } + if ($loaded and not ($version eq '"0"' or + eval "'$prereq'->VERSION($version); 1")) { + printf STDERR "\n# WARNING: Got: %s %s\n# Wanted: %s %s\n", + $prereq, get_version($prereq), $prereq, $version; } } # end while <META> in prerequisites } # end while <META> in relationship @@ -78,7 +83,8 @@ close META; # Print version of all loaded modules: - if ($ENV{AUTOMATED_TESTING}) { + if ($ENV{AUTOMATED_TESTING} or + (@ARGV and ($ARGV[0] eq '-v' or $ARGV[0] eq '--verbose'))) { print STDERR "# Listing %INC\n"; my @packages = grep { s/\.pm\Z// and do { s![\\/]!::!g; 1 } } sort keys %INC; @@ -93,3 +99,5 @@ } # end if AUTOMATED_TESTING } # end TEST +$tests_completed = $test; + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IO-HTML-1.001/t/10-find.t new/IO-HTML-1.004/t/10-find.t --- old/IO-HTML-1.001/t/10-find.t 2014-06-28 19:03:42.000000000 +0200 +++ new/IO-HTML-1.004/t/10-find.t 2020-09-26 18:51:20.000000000 +0200 @@ -14,7 +14,7 @@ use IO::HTML 'find_charset_in'; -plan tests => 23; +plan tests => 26; sub test { @@ -130,4 +130,18 @@ is(eval { $encoding->name }, 'utf-8-strict', 'encoding is UTF-8'); } +# Tests involving bytes_to_check + +test cp1252 => (' ' x 1023) . '<meta charset="ISO-8859-1">', + 'found at 1023 bytes'; + +test undef, (' ' x 1024) . '<meta charset="ISO-8859-1">', + 'not found at 1024 bytes'; + +{ + local $IO::HTML::bytes_to_check = 1025; + test cp1252 => (' ' x 1024) . '<meta charset="ISO-8859-1">', + 'found at 1024 bytes with bytes_to_check=1025'; +} + done_testing; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IO-HTML-1.001/t/20-open.t new/IO-HTML-1.004/t/20-open.t --- old/IO-HTML-1.001/t/20-open.t 2014-06-28 19:03:42.000000000 +0200 +++ new/IO-HTML-1.004/t/20-open.t 2020-09-26 18:51:20.000000000 +0200 @@ -11,7 +11,7 @@ use Test::More 0.88; -plan tests => 85; +plan tests => 107; use IO::HTML; use File::Temp; @@ -147,4 +147,23 @@ <meta content="text/html; charset=ISO-8859-15"> <meta charset="UTF-16BE"> +test 'iso-8859-15', latin1 => + '<html>' . (' ' x 985) . qq'<head><meta charset="ISO-8859-15">\n', + 'found with 985 spaces'; + +test undef, latin1 => + '<html>' . (' ' x 986) . qq'<head><meta charset="ISO-8859-15">\n', + 'not found with 986 spaces'; + +{ + local $IO::HTML::bytes_to_check = 1040; + test 'iso-8859-15', latin1 => + '<html>' . (' ' x 1001) . qq'<head><meta charset="ISO-8859-15">\n', + 'found with 1001 spaces'; + + test undef, latin1 => + '<html>' . (' ' x 1002) . qq'<head><meta charset="ISO-8859-15">\n', + 'not found with 1002 spaces'; +} + done_testing; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IO-HTML-1.001/xt/author/pod-coverage.t new/IO-HTML-1.004/xt/author/pod-coverage.t --- old/IO-HTML-1.001/xt/author/pod-coverage.t 1970-01-01 01:00:00.000000000 +0100 +++ new/IO-HTML-1.004/xt/author/pod-coverage.t 2020-09-26 18:51:20.000000000 +0200 @@ -0,0 +1,7 @@ +#!perl +# This file was automatically generated by Dist::Zilla::Plugin::PodCoverageTests. + +use Test::Pod::Coverage 1.08; +use Pod::Coverage::TrustPod; + +all_pod_coverage_ok({ coverage_class => 'Pod::Coverage::TrustPod' }); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IO-HTML-1.001/xt/author/pod-syntax.t new/IO-HTML-1.004/xt/author/pod-syntax.t --- old/IO-HTML-1.001/xt/author/pod-syntax.t 1970-01-01 01:00:00.000000000 +0100 +++ new/IO-HTML-1.004/xt/author/pod-syntax.t 2020-09-26 18:51:20.000000000 +0200 @@ -0,0 +1,7 @@ +#!perl +# This file was automatically generated by Dist::Zilla::Plugin::PodSyntaxTests. +use strict; use warnings; +use Test::More; +use Test::Pod 1.41; + +all_pod_files_ok(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IO-HTML-1.001/xt/release/pod-coverage.t new/IO-HTML-1.004/xt/release/pod-coverage.t --- old/IO-HTML-1.001/xt/release/pod-coverage.t 2014-06-28 19:03:42.000000000 +0200 +++ new/IO-HTML-1.004/xt/release/pod-coverage.t 1970-01-01 01:00:00.000000000 +0100 @@ -1,14 +0,0 @@ -#!perl -# This file was automatically generated by Dist::Zilla::Plugin::PodCoverageTests. - -use Test::More; - -eval "use Test::Pod::Coverage 1.08"; -plan skip_all => "Test::Pod::Coverage 1.08 required for testing POD coverage" - if $@; - -eval "use Pod::Coverage::TrustPod"; -plan skip_all => "Pod::Coverage::TrustPod required for testing POD coverage" - if $@; - -all_pod_coverage_ok({ coverage_class => 'Pod::Coverage::TrustPod' }); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IO-HTML-1.001/xt/release/pod-syntax.t new/IO-HTML-1.004/xt/release/pod-syntax.t --- old/IO-HTML-1.001/xt/release/pod-syntax.t 2014-06-28 19:03:42.000000000 +0200 +++ new/IO-HTML-1.004/xt/release/pod-syntax.t 1970-01-01 01:00:00.000000000 +0100 @@ -1,8 +0,0 @@ -#!perl -# This file was automatically generated by Dist::Zilla::Plugin::PodSyntaxTests. -use Test::More; - -eval "use Test::Pod 1.41"; -plan skip_all => "Test::Pod 1.41 required for testing POD" if $@; - -all_pod_files_ok(); ++++++ cpanspec.yml ++++++ --- #description_paragraphs: 3 #description: |- # override description from CPAN #summary: override summary from CPAN #no_testing: broken upstream #sources: # - source1 # - source2 #patches: # foo.patch: -p1 # bar.patch: #preamble: |- # BuildRequires: gcc-c++ #post_prep: |- # hunspell=`pkg-config --libs hunspell | sed -e 's,-l,,; s, *,,g'` # sed -i -e "s,hunspell-X,$hunspell," t/00-prereq.t Makefile.PL #post_build: |- # rm unused.files #post_install: |- # sed on %{name}.files #license: SUSE-NonFree #skip_noarch: 1 #custom_build: |- #./Build build flags=%{?_smp_mflags} --myflag #custom_test: |- #startserver && make test #ignore_requires: Bizarre::Module
