Hello community, here is the log from the commit of package perl-FFI-CheckLib for openSUSE:Leap:15.2 checked in at 2020-05-18 11:00:39 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Leap:15.2/perl-FFI-CheckLib (Old) and /work/SRC/openSUSE:Leap:15.2/.perl-FFI-CheckLib.new.2738 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-FFI-CheckLib" Mon May 18 11:00:39 2020 rev:2 rq:806155 version:0.27 Changes: -------- --- /work/SRC/openSUSE:Leap:15.2/perl-FFI-CheckLib/perl-FFI-CheckLib.changes 2020-02-10 16:42:19.827740426 +0100 +++ /work/SRC/openSUSE:Leap:15.2/.perl-FFI-CheckLib.new.2738/perl-FFI-CheckLib.changes 2020-05-18 11:00:44.866804531 +0200 @@ -1,0 +2,10 @@ +Tue May 12 03:07:50 UTC 2020 - Tina Müller <[email protected]> + +updated to 0.27 + see /usr/share/doc/packages/perl-FFI-CheckLib/Changes + + 0.27 2020-05-11 14:24:08 -0400 + - Added a FAQ section to the documentation (gh#22) + + +------------------------------------------------------------------- Old: ---- FFI-CheckLib-0.26.tar.gz New: ---- FFI-CheckLib-0.27.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-FFI-CheckLib.spec ++++++ --- /var/tmp/diff_new_pack.cNEZrz/_old 2020-05-18 11:00:45.186805193 +0200 +++ /var/tmp/diff_new_pack.cNEZrz/_new 2020-05-18 11:00:45.186805193 +0200 @@ -1,7 +1,7 @@ # # spec file for package perl-FFI-CheckLib # -# Copyright (c) 2020 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 @@ -17,13 +17,13 @@ Name: perl-FFI-CheckLib -Version: 0.26 +Version: 0.27 Release: 0 %define cpan_name FFI-CheckLib Summary: Check that a library is available for FFI License: Artistic-1.0 OR GPL-1.0-or-later Group: Development/Libraries/Perl -Url: https://metacpan.org/release/%{cpan_name} +URL: https://metacpan.org/release/%{cpan_name} Source0: https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/%{cpan_name}-%{version}.tar.gz Source1: cpanspec.yml BuildArch: noarch @@ -31,7 +31,6 @@ BuildRequires: perl BuildRequires: perl-macros BuildRequires: perl(Test2::API) >= 1.302015 -BuildRequires: perl(Test2::Mock) >= 0.000060 BuildRequires: perl(Test2::Require::EnvVar) >= 0.000060 BuildRequires: perl(Test2::Require::Module) >= 0.000060 BuildRequires: perl(Test2::V0) >= 0.000060 ++++++ FFI-CheckLib-0.26.tar.gz -> FFI-CheckLib-0.27.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.26/Changes new/FFI-CheckLib-0.27/Changes --- old/FFI-CheckLib-0.26/Changes 2020-01-22 13:54:05.000000000 +0100 +++ new/FFI-CheckLib-0.27/Changes 2020-05-11 20:24:10.000000000 +0200 @@ -1,5 +1,8 @@ Revision history for FFI-CheckLib +0.27 2020-05-11 14:24:08 -0400 + - Added a FAQ section to the documentation (gh#22) + 0.26 2020-01-22 05:54:02 -0700 - Name check on alien option is always done, even if the Alien is already loaded (gh#21) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.26/MANIFEST new/FFI-CheckLib-0.27/MANIFEST --- old/FFI-CheckLib-0.26/MANIFEST 2020-01-22 13:54:05.000000000 +0100 +++ new/FFI-CheckLib-0.27/MANIFEST 2020-05-11 20:24:10.000000000 +0200 @@ -1,4 +1,4 @@ -# This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.012. +# This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.014. Changes INSTALL LICENSE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.26/META.json new/FFI-CheckLib-0.27/META.json --- old/FFI-CheckLib-0.26/META.json 2020-01-22 13:54:05.000000000 +0100 +++ new/FFI-CheckLib-0.27/META.json 2020-05-11 20:24:10.000000000 +0200 @@ -4,13 +4,13 @@ "Graham Ollis <[email protected]>" ], "dynamic_config" : 0, - "generated_by" : "Dist::Zilla version 6.012, CPAN::Meta::Converter version 2.150010", + "generated_by" : "Dist::Zilla version 6.014, 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" : "FFI-CheckLib", "no_index" : { @@ -49,7 +49,6 @@ "test" : { "requires" : { "Test2::API" : "1.302015", - "Test2::Mock" : "0.000060", "Test2::Require::EnvVar" : "0.000060", "Test2::Require::Module" : "0.000060", "Test2::V0" : "0.000060", @@ -70,7 +69,7 @@ }, "x_IRC" : "irc://irc.perl.org/#native" }, - "version" : "0.26", + "version" : "0.27", "x_contributors" : [ "Graham Ollis <[email protected]>", "Bakkiaraj Murugesan (bakkiaraj)", @@ -79,8 +78,9 @@ "Shawn Laffan (SLAFFAN)", "Petr Pisar (ppisar)" ], - "x_generated_by_perl" : "v5.28.1", - "x_serialization_backend" : "Cpanel::JSON::XS version 4.12", + "x_generated_by_perl" : "v5.30.0", + "x_serialization_backend" : "JSON::XS version 4.02", + "x_spdx_expression" : "Artistic-1.0-Perl OR GPL-1.0-or-later", "x_use_unsafe_inc" : 0 } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.26/META.yml new/FFI-CheckLib-0.27/META.yml --- old/FFI-CheckLib-0.26/META.yml 2020-01-22 13:54:05.000000000 +0100 +++ new/FFI-CheckLib-0.27/META.yml 2020-05-11 20:24:10.000000000 +0200 @@ -4,7 +4,6 @@ - 'Graham Ollis <[email protected]>' build_requires: Test2::API: '1.302015' - Test2::Mock: '0.000060' Test2::Require::EnvVar: '0.000060' Test2::Require::Module: '0.000060' Test2::V0: '0.000060' @@ -13,7 +12,7 @@ ExtUtils::MakeMaker: '0' perl: '5.006' dynamic_config: 0 -generated_by: 'Dist::Zilla version 6.012, CPAN::Meta::Converter version 2.150010' +generated_by: 'Dist::Zilla version 6.014, CPAN::Meta::Converter version 2.150010' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html @@ -29,7 +28,7 @@ bugtracker: https://github.com/Perl5-FFI/FFI-CheckLib/issues homepage: https://metacpan.org/pod/FFI::CheckLib repository: git://github.com/Perl5-FFI/FFI-CheckLib.git -version: '0.26' +version: '0.27' x_contributors: - 'Graham Ollis <[email protected]>' - 'Bakkiaraj Murugesan (bakkiaraj)' @@ -37,6 +36,7 @@ - 'Ilya Pavlov (Ilya, ILUX)' - 'Shawn Laffan (SLAFFAN)' - 'Petr Pisar (ppisar)' -x_generated_by_perl: v5.28.1 +x_generated_by_perl: v5.30.0 x_serialization_backend: 'YAML::Tiny version 1.73' +x_spdx_expression: 'Artistic-1.0-Perl OR GPL-1.0-or-later' x_use_unsafe_inc: 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.26/Makefile.PL new/FFI-CheckLib-0.27/Makefile.PL --- old/FFI-CheckLib-0.26/Makefile.PL 2020-01-22 13:54:05.000000000 +0100 +++ new/FFI-CheckLib-0.27/Makefile.PL 2020-05-11 20:24:10.000000000 +0200 @@ -5,7 +5,7 @@ exit; } } -# This file was automatically generated by Dist::Zilla::Plugin::Author::Plicease::MakeMaker v2.42. +# This file was automatically generated by Dist::Zilla::Plugin::Author::Plicease::MakeMaker v2.47. use strict; use warnings; use 5.006; @@ -27,12 +27,11 @@ "PREREQ_PM" => {}, "TEST_REQUIRES" => { "Test2::API" => "1.302015", - "Test2::Mock" => "0.000060", "Test2::Require::EnvVar" => "0.000060", "Test2::Require::Module" => "0.000060", "Test2::V0" => "0.000060" }, - "VERSION" => "0.26", + "VERSION" => "0.27", "test" => { "TESTS" => "t/*.t" } @@ -40,7 +39,6 @@ my %FallbackPrereqs = ( "Test2::API" => "1.302015", - "Test2::Mock" => "0.000060", "Test2::Require::EnvVar" => "0.000060", "Test2::Require::Module" => "0.000060", "Test2::V0" => "0.000060" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.26/README new/FFI-CheckLib-0.27/README --- old/FFI-CheckLib-0.26/README 2020-01-22 13:54:05.000000000 +0100 +++ new/FFI-CheckLib-0.27/README 2020-05-11 20:24:10.000000000 +0200 @@ -4,7 +4,7 @@ VERSION - version 0.26 + version 0.27 SYNOPSIS @@ -219,6 +219,60 @@ This function is not exportable, even on request. +FAQ + + Why not just use dlopen? + + Calling dlopen on a library name and then dlclose immediately can + tell you if you have the exact name of a library available on a + system. It does have a number of drawbacks as well. + + No absolute or relative path + + It only tells you that the library is somewhere on the system, not + having the absolute or relative path makes it harder to generate + useful diagnostics. + + POSIX only + + This doesn't work on non-POSIX systems like Microsoft Windows. If + you are using a POSIX emulation layer on Windows that provides + dlopen, like Cygwin, there are a number of gotchas there as well. + Having a layer written in Perl handles this means that developers + on Unix can develop FFI that will more likely work on these + platforms without special casing them. + + inconsistent implementations + + Even on POSIX systems you have inconsistent implementations. + OpenBSD for example don't usually include symlinks for .so files + meaning you need to know the exact .so version. + + non-system directories + + By default dlopen only works for libraries in the system paths. + Most platforms have a way of configuring the search for different + non-system paths, but none of them are portable, and are usually + discouraged anyway. Alien and friends need to do searches for + dynamic libraries in non-system directories for share installs. + + My 64-bit Perl is misconfigured and has 32-bit libraries in its search + path. Is that a bug in FFI::CheckLib? + + Nope. + + The way FFI::CheckLib is implemented it won't work on AIX, HP-UX, + OpenVMS or Plan 9. + + I know for a fact that it doesn't work on AIX as currently + implemented because I used to develop on AIX in the early 2000s, and + I am aware of some of the technical challenges. There are probably + other systems that it won't work on. I would love to add support for + these platforms. Realistically these platforms have a tiny market + share, and absent patches from users or the companies that own these + operating systems (patches welcome), or hardware / CPU time + donations, these platforms are unsupportable anyway. + SEE ALSO FFI::Platypus diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.26/author.yml new/FFI-CheckLib-0.27/author.yml --- old/FFI-CheckLib-0.26/author.yml 2020-01-22 13:54:05.000000000 +0100 +++ new/FFI-CheckLib-0.27/author.yml 2020-05-11 20:24:10.000000000 +0200 @@ -19,6 +19,7 @@ - Petr - Pisar - ppisar + - UX pod_coverage: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.26/dist.ini new/FFI-CheckLib-0.27/dist.ini --- old/FFI-CheckLib-0.26/dist.ini 2020-01-22 13:54:05.000000000 +0100 +++ new/FFI-CheckLib-0.27/dist.ini 2020-05-11 20:24:10.000000000 +0200 @@ -3,10 +3,10 @@ license = Perl_5 copyright_holder = Graham Ollis copyright_year = 2014-2018 -version = 0.26 +version = 0.27 [@Author::Plicease] -:version = 2.26 +:version = 2.47 travis_status = 1 release_tests = 1 irc = irc://irc.perl.org/#native @@ -16,6 +16,7 @@ diag = +FFI::Platypus github_user = Perl5-FFI github_repo = FFI-CheckLib +workflow = macos [RemovePrereqs] remove = strict diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.26/lib/FFI/CheckLib.pm new/FFI-CheckLib-0.27/lib/FFI/CheckLib.pm --- old/FFI-CheckLib-0.26/lib/FFI/CheckLib.pm 2020-01-22 13:54:05.000000000 +0100 +++ new/FFI-CheckLib-0.27/lib/FFI/CheckLib.pm 2020-05-11 20:24:10.000000000 +0200 @@ -22,7 +22,7 @@ ); # ABSTRACT: Check that a library is available for FFI -our $VERSION = '0.26'; # VERSION +our $VERSION = '0.27'; # VERSION our $system_path = []; @@ -401,7 +401,7 @@ =head1 VERSION -version 0.26 +version 0.27 =head1 SYNOPSIS @@ -623,6 +623,63 @@ This function is not exportable, even on request. +=head1 FAQ + +=over 4 + +=item Why not just use C<dlopen>? + +Calling C<dlopen> on a library name and then C<dlclose> immediately can tell +you if you have the exact name of a library available on a system. It does +have a number of drawbacks as well. + +=over 4 + +=item No absolute or relative path + +It only tells you that the library is I<somewhere> on the system, not having +the absolute or relative path makes it harder to generate useful diagnostics. + +=item POSIX only + +This doesn't work on non-POSIX systems like Microsoft Windows. If you are +using a POSIX emulation layer on Windows that provides C<dlopen>, like +Cygwin, there are a number of gotchas there as well. Having a layer written +in Perl handles this means that developers on Unix can develop FFI that will +more likely work on these platforms without special casing them. + +=item inconsistent implementations + +Even on POSIX systems you have inconsistent implementations. OpenBSD for +example don't usually include symlinks for C<.so> files meaning you need +to know the exact C<.so> version. + +=item non-system directories + +By default C<dlopen> only works for libraries in the system paths. Most +platforms have a way of configuring the search for different non-system +paths, but none of them are portable, and are usually discouraged anyway. +L<Alien> and friends need to do searches for dynamic libraries in +non-system directories for C<share> installs. + +=back + +=item My 64-bit Perl is misconfigured and has 32-bit libraries in its search path. Is that a bug in L<FFI::CheckLib>? + +Nope. + +=item The way L<FFI::CheckLib> is implemented it won't work on AIX, HP-UX, OpenVMS or Plan 9. + +I know for a fact that it doesn't work on AIX I<as currently implemented> +because I used to develop on AIX in the early 2000s, and I am aware of some +of the technical challenges. There are probably other systems that it won't +work on. I would love to add support for these platforms. Realistically +these platforms have a tiny market share, and absent patches from users or +the companies that own these operating systems (patches welcome), or hardware +/ CPU time donations, these platforms are unsupportable anyway. + +=back + =head1 SEE ALSO =over 4 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.26/t/00_diag.t new/FFI-CheckLib-0.27/t/00_diag.t --- old/FFI-CheckLib-0.26/t/00_diag.t 2020-01-22 13:54:05.000000000 +0100 +++ new/FFI-CheckLib-0.27/t/00_diag.t 2020-05-11 20:24:10.000000000 +0200 @@ -14,7 +14,6 @@ ExtUtils::MakeMaker FFI::Platypus Test2::API - Test2::Mock Test2::Require::EnvVar Test2::Require::Module Test2::V0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.26/t/ffi_checklib.t new/FFI-CheckLib-0.27/t/ffi_checklib.t --- old/FFI-CheckLib-0.26/t/ffi_checklib.t 2020-01-22 13:54:05.000000000 +0100 +++ new/FFI-CheckLib-0.27/t/ffi_checklib.t 2020-05-11 20:24:10.000000000 +0200 @@ -1,6 +1,5 @@ use lib 't/lib'; use Test2::V0 -no_srand => 1; -use Test2::Mock; use Test2::Plugin::FauxOS 'linux'; use Test2::Tools::FauxDynaLoader; use FFI::CheckLib qw( find_lib which where has_symbols ); @@ -40,8 +39,7 @@ my %find_lib_args; - my $mock = Test2::Mock->new( - class => 'FFI::CheckLib', + my $mock = mock 'FFI::CheckLib' => ( override => [ find_lib => sub { %find_lib_args = @_; @@ -66,8 +64,7 @@ my %find_lib_args; - my $mock = Test2::Mock->new( - class => 'FFI::CheckLib', + my $mock = mock 'FFI::CheckLib' => ( override => [ find_lib => sub { %find_lib_args = @_; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.26/t/lib/Test2/Tools/FauxDynaLoader.pm new/FFI-CheckLib-0.27/t/lib/Test2/Tools/FauxDynaLoader.pm --- old/FFI-CheckLib-0.26/t/lib/Test2/Tools/FauxDynaLoader.pm 2020-01-22 13:54:05.000000000 +0100 +++ new/FFI-CheckLib-0.27/t/lib/Test2/Tools/FauxDynaLoader.pm 2020-05-11 20:24:10.000000000 +0200 @@ -2,7 +2,7 @@ use strict; use warnings; -use Test2::Mock; +use Test2::V0 qw( mock ); use DynaLoader; use base qw( Exporter ); @@ -11,9 +11,7 @@ sub mock_dynaloader { my @libref = ('null'); - my $mock = Test2::Mock->new( - class => 'DynaLoader', - ); + my $mock = mock 'DynaLoader'; $mock->override(dl_load_file => sub { my($filename, $flags) = @_;
