* [Buildroot] [V5] SpamAssassin
@ 2015-12-13 17:28 Francois Perrad
2015-12-13 17:28 ` [Buildroot] [V5] perl-mail-spamassassin: new package Francois Perrad
0 siblings, 1 reply; 3+ messages in thread
From: Francois Perrad @ 2015-12-13 17:28 UTC (permalink / raw)
To: buildroot
V4 -> V5: no functional changes
- add some comments from Thomas Petazzoni
V3 -> V4: add remarks from Bernd Kuhls
- SpamAssassin
- add perl-db-file as optional dependency
- set VENDORPREFIX
- set INSTALLVENDORCONF
- fix perl-db-file
- patch from Bernd Kuhls, see https://patchwork.ozlabs.org/patch/553054/
V3:
- fix Perl/CPAN infrastructure
- patch SpamAssassin in order to avoid host-perl modules dependencies
See previous discussion in https://patchwork.ozlabs.org/patch/464635/
Francois Perrad (1):
perl-mail-spamassassin: new package
package/Config.in | 1 +
.../0001-without-host-perl-dependencies.patch | 64 ++++++++++++++++++++++
package/perl-mail-spamassassin/Config.in | 28 ++++++++++
.../perl-mail-spamassassin.hash | 3 +
.../perl-mail-spamassassin.mk | 38 +++++++++++++
5 files changed, 134 insertions(+)
create mode 100644 package/perl-mail-spamassassin/0001-without-host-perl-dependencies.patch
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
--
2.5.0
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Buildroot] [V5] perl-mail-spamassassin: new package
2015-12-13 17:28 [Buildroot] [V5] SpamAssassin Francois Perrad
@ 2015-12-13 17:28 ` Francois Perrad
2015-12-13 21:53 ` Thomas Petazzoni
0 siblings, 1 reply; 3+ messages in thread
From: Francois Perrad @ 2015-12-13 17:28 UTC (permalink / raw)
To: buildroot
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
---
package/Config.in | 1 +
.../0001-without-host-perl-dependencies.patch | 64 ++++++++++++++++++++++
package/perl-mail-spamassassin/Config.in | 28 ++++++++++
.../perl-mail-spamassassin.hash | 3 +
.../perl-mail-spamassassin.mk | 38 +++++++++++++
5 files changed, 134 insertions(+)
create mode 100644 package/perl-mail-spamassassin/0001-without-host-perl-dependencies.patch
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
diff --git a/package/Config.in b/package/Config.in
index bdc3063..f0989d4 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -553,6 +553,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/0001-without-host-perl-dependencies.patch b/package/perl-mail-spamassassin/0001-without-host-perl-dependencies.patch
new file mode 100644
index 0000000..c38aba1
--- /dev/null
+++ b/package/perl-mail-spamassassin/0001-without-host-perl-dependencies.patch
@@ -0,0 +1,64 @@
+Remove host-perl-* dependencies
+
+The module Mail-SpamAssassin tries to do the following things:
+1) as usual CPAN module, install many .pm files in /usr/lib/perl5/site_perl/
+and few scripts in /usr/bin.
+2) "compile" SpamAssassin rules, that requires to install/run SpamAssassin on the host side.
+As we don't want install host-perl modules, this step is disabled.
+Please, consider the installed script `sa-update` for installing the rules for the first time.
+3) spamc, an executable which embeds libperl
+The cross-compilation case is not supported, a host executable gets built.
+For this reason, this step is disabled.
+(note: the option BUILD_SPAMC=yes/no is handled only on Windows)
+
+Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
+
+--- a/Makefile.PL
++++ b/Makefile.PL
+@@ -133,10 +133,8 @@
+ 'spamassassin.raw' => 'spamassassin',
+ 'sa-learn.raw' => 'sa-learn',
+ 'sa-update.raw' => 'sa-update',
+- 'sa-compile.raw' => 'sa-compile',
+ 'sa-awl.raw' => 'sa-awl',
+ 'sa-check_spamd.raw' => 'sa-check_spamd',
+- 'spamc/spamc.c' => 'spamc/spamc$(EXE_EXT)',
+ 'spamd/spamd.raw' => 'spamd/spamd',
+ },
+
+@@ -304,16 +302,6 @@
+
+ ';
+
+-# check optional module versions
+-use lib 'lib';
+-use Mail::SpamAssassin::Util::DependencyInfo;
+-if (Mail::SpamAssassin::Util::DependencyInfo::long_diagnostics() != 0) {
+- # missing required module? die!
+- # bug 5908: http://cpantest.grango.org/wiki/CPANAuthorNotes says
+- # we should exit with a status of 0, but without creating Makefile
+- exit 0;
+-}
+-
+ foreach my $file (@FILES_THAT_MUST_EXIST) {
+ open (TOUCH, ">>$file") or die "cannot touch '$file'";
+ close TOUCH;
+@@ -1013,7 +1001,7 @@
+
+ FIXBANG = -Msharpbang \
+ -Mconditional \
+- -DPERL_BIN="$(PERL_BIN)" \
++ -DPERL_BIN="/usr/bin/perl" \
+ -DPERL_WARN="$(PERL_WARN)" \
+ -DPERL_TAINT="$(PERL_TAINT)"
+
+@@ -1023,7 +1011,7 @@
+ sa-learn: sa-learn.raw
+ $(PREPROCESS) $(FIXBYTES) $(FIXVARS) $(FIXBANG) -m$(PERM_RWX) -i$? -o$@
+
+-sa-update: sa-update.raw build_rules
++sa-update: sa-update.raw
+ $(PREPROCESS) $(FIXBYTES) $(FIXVARS) $(FIXBANG) -m$(PERM_RWX) -isa-update.raw -osa-update
+
+ sa-compile: sa-compile.raw
+
diff --git a/package/perl-mail-spamassassin/Config.in b/package/perl-mail-spamassassin/Config.in
new file mode 100644
index 0000000..deb8b7a
--- /dev/null
+++ b/package/perl-mail-spamassassin/Config.in
@@ -0,0 +1,28 @@
+config BR2_PACKAGE_PERL_MAIL_SPAMASSASSIN
+ bool "perl-mail-spamassassin"
+ depends on !BR2_STATIC_LIBS
+ select BR2_PACKAGE_PERL_DIGEST_SHA1
+ 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
+
+if BR2_PACKAGE_PERL_MAIL_SPAMASSASSIN
+
+config BR2_PACKAGE_PERL_MAIL_SPAMASSASSIN_CONTACT_ADDRESS
+ string "contact address"
+ default "the administrator of that BR system"
+ help
+ What email address or URL should be used in the suspected-spam
+ report text for users who want more information on your filter
+ installation?
+
+endif
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..7708008
--- /dev/null
+++ b/package/perl-mail-spamassassin/perl-mail-spamassassin.hash
@@ -0,0 +1,3 @@
+# retrieved by scancpan from http://cpan.metacpan.org/
+md5 76eca1f38c11635d319e62c26d5b034b Mail-SpamAssassin-3.4.1.tar.gz
+sha256 9b7a95a594cdca4f265707364478b57813b82a0ec7e520d9bc818bfbcafdd726 Mail-SpamAssassin-3.4.1.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..e1eea4f
--- /dev/null
+++ b/package/perl-mail-spamassassin/perl-mail-spamassassin.mk
@@ -0,0 +1,38 @@
+################################################################################
+#
+# perl-mail-spamassassin
+#
+################################################################################
+
+PERL_MAIL_SPAMASSASSIN_VERSION = 3.4.1
+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_DEPENDENCIES = perl-digest-sha1 perl-html-parser perl-mail-dkim perl-net-dns perl-netaddr-ip
+PERL_MAIL_SPAMASSASSIN_LICENSE = Apache-2.0
+
+ifeq ($(BR2_PACKAGE_PERL_DB_FILE),y)
+PERL_MAIL_SPAMASSASSIN_DEPENDENCIES += perl-db-file
+endif
+
+ifeq ($(BR2_PACKAGE_PERL_ENCODE_DETECT),y)
+PERL_MAIL_SPAMASSASSIN_DEPENDENCIES += perl-encode-detect
+endif
+
+ifeq ($(BR2_PACKAGE_PERL_HTTP_DATE),y)
+PERL_MAIL_SPAMASSASSIN_DEPENDENCIES += perl-http-date
+endif
+
+ifeq ($(BR2_PACKAGE_PERL_IO_SOCKET_SSL),y)
+PERL_MAIL_SPAMASSASSIN_DEPENDENCIES += perl-io-socket-ssl
+endif
+
+ifeq ($(BR2_PACKAGE_PERL_LIBWWW_PERL),y)
+PERL_MAIL_SPAMASSASSIN_DEPENDENCIES += perl-libwww-perl
+endif
+
+PERL_MAIL_SPAMASSASSIN_CONF_OPTS += \
+ VENDORPREFIX=/usr \
+ INSTALLVENDORCONF=/etc/mail/spamassassin \
+ CONTACT_ADDRESS="$(call qstrip,$(BR2_PACKAGE_PERL_MAIL_SPAMASSASSIN_CONTACT_ADDRESS))"
+
+$(eval $(perl-package))
--
2.5.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [Buildroot] [V5] perl-mail-spamassassin: new package
2015-12-13 17:28 ` [Buildroot] [V5] perl-mail-spamassassin: new package Francois Perrad
@ 2015-12-13 21:53 ` Thomas Petazzoni
0 siblings, 0 replies; 3+ messages in thread
From: Thomas Petazzoni @ 2015-12-13 21:53 UTC (permalink / raw)
To: buildroot
Dear Francois Perrad,
Thanks for this new version. However, I don't understand why you take
into account part of my comments, and simply ignore some other
comments, without giving the reasons as a reply to the review. I am
perfectly fine with being wrong in my review, but I'd like to know why.
On Sun, 13 Dec 2015 18:28:12 +0100, Francois Perrad wrote:
> diff --git a/package/perl-mail-spamassassin/0001-without-host-perl-dependencies.patch b/package/perl-mail-spamassassin/0001-without-host-perl-dependencies.patch
> new file mode 100644
> index 0000000..c38aba1
> --- /dev/null
> +++ b/package/perl-mail-spamassassin/0001-without-host-perl-dependencies.patch
> @@ -0,0 +1,64 @@
> +Remove host-perl-* dependencies
> +
> +The module Mail-SpamAssassin tries to do the following things:
> +1) as usual CPAN module, install many .pm files in /usr/lib/perl5/site_perl/
> +and few scripts in /usr/bin.
So you're saying here that this doesn't cause any problem, right ?
> +2) "compile" SpamAssassin rules, that requires to install/run SpamAssassin on the host side.
> +As we don't want install host-perl modules, this step is disabled.
> +Please, consider the installed script `sa-update` for installing the rules for the first time.
> +3) spamc, an executable which embeds libperl
> +The cross-compilation case is not supported, a host executable gets built.
> +For this reason, this step is disabled.
> +(note: the option BUILD_SPAMC=yes/no is handled only on Windows)
So two issues to handle -> should be done by two different patches, no?
> +
> +Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
> +
> +--- a/Makefile.PL
> ++++ b/Makefile.PL
> +@@ -133,10 +133,8 @@
> + 'spamassassin.raw' => 'spamassassin',
> + 'sa-learn.raw' => 'sa-learn',
> + 'sa-update.raw' => 'sa-update',
> +- 'sa-compile.raw' => 'sa-compile',
What is this useful for? sa-compile is not mentioned in the description.
> + 'sa-awl.raw' => 'sa-awl',
> + 'sa-check_spamd.raw' => 'sa-check_spamd',
> +- 'spamc/spamc.c' => 'spamc/spamc$(EXE_EXT)',
I guess this prevents spamc from being compiled, so that's solving
issue (3).
> + 'spamd/spamd.raw' => 'spamd/spamd',
> + },
> +
> +@@ -304,16 +302,6 @@
> +
> + ';
> +
> +-# check optional module versions
> +-use lib 'lib';
> +-use Mail::SpamAssassin::Util::DependencyInfo;
> +-if (Mail::SpamAssassin::Util::DependencyInfo::long_diagnostics() != 0) {
> +- # missing required module? die!
> +- # bug 5908: http://cpantest.grango.org/wiki/CPANAuthorNotes says
> +- # we should exit with a status of 0, but without creating Makefile
> +- exit 0;
> +-}
This is solving which issue ?
> +-
> + foreach my $file (@FILES_THAT_MUST_EXIST) {
> + open (TOUCH, ">>$file") or die "cannot touch '$file'";
> + close TOUCH;
> +@@ -1013,7 +1001,7 @@
> +
> + FIXBANG = -Msharpbang \
> + -Mconditional \
> +- -DPERL_BIN="$(PERL_BIN)" \
> ++ -DPERL_BIN="/usr/bin/perl" \
This shebang issue is not described above.
> + -DPERL_WARN="$(PERL_WARN)" \
> + -DPERL_TAINT="$(PERL_TAINT)"
> +
> +@@ -1023,7 +1011,7 @@
> + sa-learn: sa-learn.raw
> + $(PREPROCESS) $(FIXBYTES) $(FIXVARS) $(FIXBANG) -m$(PERM_RWX) -i$? -o$@
> +
> +-sa-update: sa-update.raw build_rules
> ++sa-update: sa-update.raw
> + $(PREPROCESS) $(FIXBYTES) $(FIXVARS) $(FIXBANG) -m$(PERM_RWX) -isa-update.raw -osa-update
I guess this is solving issue (2) above.
> diff --git a/package/perl-mail-spamassassin/Config.in b/package/perl-mail-spamassassin/Config.in
> new file mode 100644
> index 0000000..deb8b7a
> --- /dev/null
> +++ b/package/perl-mail-spamassassin/Config.in
> @@ -0,0 +1,28 @@
> +config BR2_PACKAGE_PERL_MAIL_SPAMASSASSIN
> + bool "perl-mail-spamassassin"
> + depends on !BR2_STATIC_LIBS
> + select BR2_PACKAGE_PERL_DIGEST_SHA1
> + 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
> +
> +if BR2_PACKAGE_PERL_MAIL_SPAMASSASSIN
> +
> +config BR2_PACKAGE_PERL_MAIL_SPAMASSASSIN_CONTACT_ADDRESS
> + string "contact address"
> + default "the administrator of that BR system"
You still haven't taken into account my suggestion of using a more
meaningful default value.
> + help
> + What email address or URL should be used in the suspected-spam
> + report text for users who want more information on your filter
> + installation?
A Config.in help text should typically not be worded as a question.
Thanks,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-12-13 21:53 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-12-13 17:28 [Buildroot] [V5] SpamAssassin Francois Perrad
2015-12-13 17:28 ` [Buildroot] [V5] perl-mail-spamassassin: new package Francois Perrad
2015-12-13 21:53 ` Thomas Petazzoni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox