libperl stage-qa check and libraries that do not link against libperl.so

Raphael Kubo da Costa rakuco at FreeBSD.org
Mon Jan 18 18:39:39 UTC 2016


Mathieu Arnold <mat at FreeBSD.org> writes:

> tl;dr:
>
> The qa script work as intented, it caught some software doing something
> stupid.

OK, thanks for checking this.

I've sent https://github.com/libproxy/libproxy/pull/7 to get this
changed upstream.

> +--On 18 janvier 2016 16:18:40 +0100 Mathieu Arnold <mat at FreeBSD.org> wrote:
> | 
> | 
> | +--On 18 janvier 2016 08:00:29 -0200 Raphael Kubo da Costa
> | <rakuco at FreeBSD.org> wrote:
> || Mathieu Arnold <mat at FreeBSD.org> writes:
> || 
> ||> +--On 17 janvier 2016 23:12:36 +0100 Raphael Kubo da Costa
> ||> <rakuco at FreeBSD.org> wrote:
> ||> |> For these, if the non-linking is intentional, and not needed,
> ||> |> ignore the ***WARNING***.
> ||> | 
> ||> | Right. If linking against libperl.so and not linking against it are
> ||> | both fine, does it still make sense to have that stage-qa check?
> ||> 
> ||> There is a stage-qa check because if you link against libperl.so, you
> ||> MUST have rpath set to the path of libperl.so, it happens if the port is
> ||> doing what Perl should be doing and getting it wrong.  Also, sometime,
> ||> you don't link with libperl.so, and it's a mistake, and it should be.
> ||> 
> ||> There are a few cases where it's not needed, but when I added the qa
> ||> check when I changed libperl.so to be versionned, out of all the ports
> ||> that install .so in PERL_ARCH, there were, say, 3 or 4 that had a .so
> ||> that did not need to be linked with libperl.so.
> || 
> || How about making the "not linked with libperl.so.x.y" warning non-fatal
> || then? Right now I cannot just ignore it as suggested because it makes
> || the script exit with a non-zero error code.
> | 
> | I just had a look at the commit, and the qa script is right.  The author
> | is wrong, the .so contains Perl code and must be linked with libperl.so.
> | It must be linked with it so that when the major Perl version is changed
> | (like 5.20 -> 5.22 that is happening soon(tm)) the link allows pkg to
> | know that the package needs to be reinstalled so that it continues to
> | work.
> | 
> || While here: there's a FIXME comment in this part that talks about
> || changing the linkage detection logic, but it does not specify what
> || should be changed. Do you have more information? I could try to fix both
> || issues and send a patch for review.
> | 
> | I forgot about the FIXME. It works as intented right now, I'll have a look
> | at it later.


More information about the freebsd-perl mailing list