diff mbox

[v2,6/6] package/perl-mail-spamassassin: new package

Message ID 1430041039-13905-6-git-send-email-bernd.kuhls@t-online.de
State Superseded
Headers show

Commit Message

Bernd Kuhls April 26, 2015, 9:37 a.m. UTC
This package contains a dependency check which only checks for installed
modules in host-perl, not the target variant. Therefore some host package
of perl modules are needed as dependency.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>

---
v2: - select perl-encode-detect only when c++ is available

 package/Config.in                                  |    1 +
 package/perl-mail-spamassassin/Config.in           |   18 ++++++++++++++++
 .../perl-mail-spamassassin.hash                    |    3 +++
 .../perl-mail-spamassassin.mk                      |   22 ++++++++++++++++++++
 4 files changed, 44 insertions(+)
 create mode 100644 package/perl-mail-spamassassin/Config.in
 create mode 100644 package/perl-mail-spamassassin/perl-mail-spamassassin.hash
 create mode 100644 package/perl-mail-spamassassin/perl-mail-spamassassin.mk

Comments

Thomas Petazzoni April 26, 2015, 10:02 a.m. UTC | #1
Dear Bernd Kuhls,

On Sun, 26 Apr 2015 11:37:19 +0200, Bernd Kuhls wrote:
> This package contains a dependency check which only checks for installed
> modules in host-perl, not the target variant. Therefore some host package
> of perl modules are needed as dependency.

What about fixing Spamassassin instead?

> 
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> 
> ---
> v2: - select perl-encode-detect only when c++ is available

And this seems broken. Read on below.

> diff --git a/package/perl-mail-spamassassin/Config.in b/package/perl-mail-spamassassin/Config.in
> new file mode 100644
> index 0000000..799a6a7
> --- /dev/null
> +++ b/package/perl-mail-spamassassin/Config.in
> @@ -0,0 +1,18 @@
> +config BR2_PACKAGE_PERL_MAIL_SPAMASSASSIN
> +	bool "perl-mail-spamassassin"
> +	depends on !BR2_STATIC_LIBS
> +	select BR2_PACKAGE_PERL_DB_FILE
> +	select BR2_PACKAGE_PERL_DIGEST_SHA1
> +	select BR2_PACKAGE_PERL_ENCODE_DETECT if BR2_INSTALL_LIBSTDCPP

So if C++ is not available, we are not selecting
BR2_PACKAGE_PERL_ENCODE_DETECT.

> +PERL_MAIL_SPAMASSASSIN_DEPENDENCIES = \
> +	perl \
> +	perl-db_file \
> +	perl-digest-sha1 \
> +	perl-encode-detect \

But we depend on it anyway.

So really, there are only a few solutions:

 *) perl-encode-detect is a mandatory dependency of spamassassin. In
    this case, spamassassin must have a depends on C++.

 *) perl-encode-detect is an optional dependency of spamassassin. In
    this case, do nothing in Config.in, and use ifeq
    ($(BR2_PACKAGE_PERL_ENCODE_DETECT),y) in the .mk file to add it in
    PERL_MAIL_SPAMASSASSIN_DEPENDENCIES.

 *) or if you really want to enable it automatically when C++ is
    available, keep your select in the Config.in, but use ifeq
    ($(BR2_PACKAGE_PERL_ENCODE_DETECT),y) in the .mk file to add it in
    PERL_MAIL_SPAMASSASSIN_DEPENDENCIES.

Best regards,

Thomas Petazzoni
Bernd Kuhls April 26, 2015, 10:55 a.m. UTC | #2
Thomas Petazzoni <thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8
@public.gmane.org> wrote in news:20150426120256.63387117@free-electrons.com:

> Dear Bernd Kuhls,
> 
> On Sun, 26 Apr 2015 11:37:19 +0200, Bernd Kuhls wrote:
>> This package contains a dependency check which only checks for installed
>> modules in host-perl, not the target variant. Therefore some host package
>> of perl modules are needed as dependency.
> 
> What about fixing Spamassassin instead?

Hi Thomas,

I tried and failed:
http://article.gmane.org/gmane.comp.lib.uclibc.buildroot/114369

Regards, Bernd
Thomas Petazzoni April 26, 2015, 8:25 p.m. UTC | #3
Bernd, François,

On Sun, 26 Apr 2015 12:55:29 +0200, Bernd Kuhls wrote:

> > On Sun, 26 Apr 2015 11:37:19 +0200, Bernd Kuhls wrote:
> >> This package contains a dependency check which only checks for installed
> >> modules in host-perl, not the target variant. Therefore some host package
> >> of perl modules are needed as dependency.
> > 
> > What about fixing Spamassassin instead?
> 
> Hi Thomas,
> 
> I tried and failed:
> http://article.gmane.org/gmane.comp.lib.uclibc.buildroot/114369

Argh. François, maybe you can help on this by having a look?

Thanks,

Thomas
Bernd Kuhls Dec. 5, 2015, 10:09 p.m. UTC | #4
Am Sun, 26 Apr 2015 22:25:23 +0200 schrieb Thomas Petazzoni:

> Bernd, François,
> 
> On Sun, 26 Apr 2015 12:55:29 +0200, Bernd Kuhls wrote:
> 
>> > On Sun, 26 Apr 2015 11:37:19 +0200, Bernd Kuhls wrote:
>> >> This package contains a dependency check which only checks for
>> >> installed modules in host-perl, not the target variant. Therefore
>> >> some host package of perl modules are needed as dependency.
>> > 
>> > What about fixing Spamassassin instead?
>> 
>> Hi Thomas,
>> 
>> I tried and failed:
>> http://article.gmane.org/gmane.comp.lib.uclibc.buildroot/114369
> 
> Argh. François, maybe you can help on this by having a look?

Hi Thomas,

I am closing my Spamassassin patch series

http://patchwork.ozlabs.org/patch/464634/
http://patchwork.ozlabs.org/patch/464631/
http://patchwork.ozlabs.org/patch/464633/
http://patchwork.ozlabs.org/patch/464635/

as superseded because François fixed the Spamassassin configure problem:
http://patchwork.ozlabs.org/patch/552870/

Regards, Bernd
diff mbox

Patch

diff --git a/package/Config.in b/package/Config.in
index d2ee5a7..34435a0 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -529,6 +529,7 @@  menu "Perl libraries/modules"
 	source "package/perl-libwww-perl/Config.in"
 	source "package/perl-lwp-mediatypes/Config.in"
 	source "package/perl-mail-dkim/Config.in"
+	source "package/perl-mail-spamassassin/Config.in"
 	source "package/perl-mailtools/Config.in"
 	source "package/perl-mime-base64/Config.in"
 	source "package/perl-mojolicious/Config.in"
diff --git a/package/perl-mail-spamassassin/Config.in b/package/perl-mail-spamassassin/Config.in
new file mode 100644
index 0000000..799a6a7
--- /dev/null
+++ b/package/perl-mail-spamassassin/Config.in
@@ -0,0 +1,18 @@ 
+config BR2_PACKAGE_PERL_MAIL_SPAMASSASSIN
+	bool "perl-mail-spamassassin"
+	depends on !BR2_STATIC_LIBS
+	select BR2_PACKAGE_PERL_DB_FILE
+	select BR2_PACKAGE_PERL_DIGEST_SHA1
+	select BR2_PACKAGE_PERL_ENCODE_DETECT if BR2_INSTALL_LIBSTDCPP
+	select BR2_PACKAGE_PERL_HTML_PARSER
+	select BR2_PACKAGE_PERL_MAIL_DKIM
+	select BR2_PACKAGE_PERL_NET_DNS
+	select BR2_PACKAGE_PERL_NETADDR_IP
+	help
+	  SpamAssassin is an extensible email filter which is used to
+	  identify spam
+
+	  http://spamassassin.apache.com/
+
+comment "perl-mail-spamassassin needs a toolchain w/ dynamic library"
+	depends on BR2_STATIC_LIBS
diff --git a/package/perl-mail-spamassassin/perl-mail-spamassassin.hash b/package/perl-mail-spamassassin/perl-mail-spamassassin.hash
new file mode 100644
index 0000000..7e2896f
--- /dev/null
+++ b/package/perl-mail-spamassassin/perl-mail-spamassassin.hash
@@ -0,0 +1,3 @@ 
+# retrieved by scancpan from http://cpan.metacpan.org/
+md5    5d0b50cee3bfa905cca35c33296c8c2a Mail-SpamAssassin-3.4.0.tar.gz
+sha256 244914c30976844878a7f129fd503eb40986c68a3800f416c3a68b14507c0a64 Mail-SpamAssassin-3.4.0.tar.gz
diff --git a/package/perl-mail-spamassassin/perl-mail-spamassassin.mk b/package/perl-mail-spamassassin/perl-mail-spamassassin.mk
new file mode 100644
index 0000000..227c76d
--- /dev/null
+++ b/package/perl-mail-spamassassin/perl-mail-spamassassin.mk
@@ -0,0 +1,22 @@ 
+################################################################################
+#
+# perl-mail-spamassassin
+#
+################################################################################
+
+PERL_MAIL_SPAMASSASSIN_VERSION = 3.4.0
+PERL_MAIL_SPAMASSASSIN_SOURCE = Mail-SpamAssassin-$(PERL_MAIL_SPAMASSASSIN_VERSION).tar.gz
+PERL_MAIL_SPAMASSASSIN_SITE = $(BR2_CPAN_MIRROR)/authors/id/K/KM/KMCGRAIL/SpamAssassin
+PERL_MAIL_SPAMASSASSIN_LICENSE = Artistic or GPLv1+
+PERL_MAIL_SPAMASSASSIN_LICENSE_FILES = LICENSE
+PERL_MAIL_SPAMASSASSIN_DEPENDENCIES = \
+	perl \
+	perl-db_file \
+	perl-digest-sha1 \
+	perl-encode-detect \
+	perl-html-parser host-perl-html-parser \
+	perl-mail-dkim \
+	perl-net-dns host-perl-net-dns \
+	perl-netaddr-ip host-perl-netaddr-ip
+
+$(eval $(perl-package))