svn commit: r366405 - in head/databases: . p5-Net-Async-CassandraCQL

Sunpoet Po-Chuan Hsieh sunpoet at freebsd.org
Fri Aug 29 20:09:23 UTC 2014


On Sat, Aug 30, 2014 at 2:41 AM, Kurt Jaeger <pi at freebsd.org> wrote:

> Hi!
>
> > In real life, modules from Test:: namespace usually requires only for
> > tests. No issue for people who using binary packages, but extra deps for
> > people who still using ports.
> >
> http://cpansearch.perl.org/src/PEVANS/Net-Async-CassandraCQL-0.11/Build.PL
>
> If I build it in poudriere with the p5-Test-* ports as TEST_DEPENDS
> instead of BUILD_DEPENDS, the message during build is:
>
> [...]
> Checking prerequisites...
>   build_requires:
>     !  Test::Identity is not installed
>     !  Test::Refcount is not installed
>
> ERRORS/WARNINGS FOUND IN PREREQUISITES.  You may wish to install the
> versions
> of the modules indicated above before proceeding with this installation.
> [...]
>
> See
>
>
> http://people.freebsd.org/~pi/logs/databases__p5-Net-Async-CassandraCQL-10a-1409337481.txt
>
> http://people.freebsd.org/~pi/logs/databases__p5-Net-Async-CassandraCQL-91a-1409337481.txt
>
> http://people.freebsd.org/~pi/logs/databases__p5-Net-Async-CassandraCQL-84i-1409337481.txt
>
> So I assume BUILD_DEPENDS is correct. Do you see other options
> on how to handle this ?
>
> --
> pi at FreeBSD.org         +49 171 3101372                6 years to go !
>
>
Hi,

TEST_DEPENDS is correct.
The author should use "test_requires" instead of "build_requires" in this
case.
The following results show that Test::{Identity,Refcount} are only for test
purpose and not required for runtime.

% grep -r Test::Identity *
Build.PL:      'Test::Identity' => 0,
META.json:            "Test::Identity" : "0",
META.yml:  Test::Identity: '0'
t/25clustering-prefer-dc.t:use Test::Identity;
t/21prepare.t:use Test::Identity;
t/22clustering.t:use Test::Identity;
t/20connect.t:use Test::Identity;
t/23clustering-primaries.t:use Test::Identity;
t/24clustering-events.t:use Test::Identity;

% grep -r Test::Refcount *
Build.PL:      'Test::Refcount' => 0,
META.json:            "Test::Refcount" : "0"
META.yml:  Test::Refcount: '0'
t/25clustering-prefer-dc.t:use Test::Refcount;
t/21prepare.t:use Test::Refcount;
t/22clustering.t:use Test::Refcount;
t/23clustering-primaries.t:use Test::Refcount;
t/24clustering-events.t:use Test::Refcount;

For p5-* ports, please make sure the modules listed in Build.PL or
Makefile.PL are truly required.
At least a simply "grep" would help to determine if TEST_DEPENDS is more
suitable, especially for Test::* dependencies.

BTW, there are something can be improved in the Makefile:
- MASTER_SITE_SUBDIR is unnecessary.
- Please respect minimal version requirement in Build.PL / Makefile.PL, e.g.
  Future: '0.17'
  IO::Async::Loop: '0.54'
  IO::Async::Stream: '0.59'
  Protocol::CassandraCQL: '0.11'
-
"devel/p5-Devel-GlobalDestruction>0:${PORTSDIR}/devel/p5-Devel-GlobalDestruction"
is incorrect

Regards,
sunpoet


More information about the svn-ports-all mailing list