Hello community,
here is the log from the commit of package perl-FFI-CheckLib for
openSUSE:Factory checked in at 2020-05-14 23:25:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-FFI-CheckLib (Old)
and /work/SRC/openSUSE:Factory/.perl-FFI-CheckLib.new.2738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-FFI-CheckLib"
Thu May 14 23:25:16 2020 rev:3 rq:803267 version:0.27
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-FFI-CheckLib/perl-FFI-CheckLib.changes
2020-01-27 00:21:25.169454103 +0100
+++
/work/SRC/openSUSE:Factory/.perl-FFI-CheckLib.new.2738/perl-FFI-CheckLib.changes
2020-05-14 23:25:17.477046030 +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.hMJwAB/_old 2020-05-14 23:25:18.241047697 +0200
+++ /var/tmp/diff_new_pack.hMJwAB/_new 2020-05-14 23:25:18.245047706 +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) = @_;