Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [V4 0/3] SpamAssassin
@ 2015-12-06 14:14 Francois Perrad
  2015-12-06 14:14 ` [Buildroot] [V4 1/3] pkg-perl: avoid insertion of host-perl in shebang of scripts Francois Perrad
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Francois Perrad @ 2015-12-06 14:14 UTC (permalink / raw)
  To: buildroot

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 (2):
  pkg-perl: avoid insertion of host-perl in shebang of scripts
  perl-mail-spamassassin: new package
Bernd Kuhls (1):
  package/perl-db-file: Fix berkeleydb detection

 package/Config.in                                  |  1 +
 package/perl-db-file/perl-db-file.mk               |  8 +++
 .../0001-without-host-perl-dependencies.patch      | 64 ++++++++++++++++++++++
 package/perl-mail-spamassassin/Config.in           | 26 +++++++++
 .../perl-mail-spamassassin.hash                    |  3 +
 .../perl-mail-spamassassin.mk                      | 38 +++++++++++++
 package/pkg-perl.mk                                |  1 +
 7 files changed, 141 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] 9+ messages in thread

* [Buildroot] [V4 1/3] pkg-perl: avoid insertion of host-perl in shebang of scripts
  2015-12-06 14:14 [Buildroot] [V4 0/3] SpamAssassin Francois Perrad
@ 2015-12-06 14:14 ` Francois Perrad
  2015-12-13 14:56   ` Thomas Petazzoni
  2015-12-06 14:14 ` [Buildroot] [V4 2/3] perl-mail-spamassassin: new package Francois Perrad
  2015-12-06 14:14 ` [Buildroot] [V4 3/3] package/perl-db-file: Fix berkeleydb detection Francois Perrad
  2 siblings, 1 reply; 9+ messages in thread
From: Francois Perrad @ 2015-12-06 14:14 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
---
 package/pkg-perl.mk | 1 +
 1 file changed, 1 insertion(+)

diff --git a/package/pkg-perl.mk b/package/pkg-perl.mk
index a06c068..a027810 100644
--- a/package/pkg-perl.mk
+++ b/package/pkg-perl.mk
@@ -140,6 +140,7 @@ define $(2)_BUILD_CMDS
 	else \
 		$$(MAKE1) \
 			PERL_INC=$$(STAGING_DIR)/usr/lib/perl5/$$(PERL_VERSION)/$$(PERL_ARCHNAME)/CORE \
+			FIXIN=: \
 			$$($(2)_BUILD_OPTS) pure_all; \
 	fi
 endef
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [V4 2/3] perl-mail-spamassassin: new package
  2015-12-06 14:14 [Buildroot] [V4 0/3] SpamAssassin Francois Perrad
  2015-12-06 14:14 ` [Buildroot] [V4 1/3] pkg-perl: avoid insertion of host-perl in shebang of scripts Francois Perrad
@ 2015-12-06 14:14 ` Francois Perrad
  2015-12-13 15:00   ` Thomas Petazzoni
  2015-12-06 14:14 ` [Buildroot] [V4 3/3] package/perl-db-file: Fix berkeleydb detection Francois Perrad
  2 siblings, 1 reply; 9+ messages in thread
From: Francois Perrad @ 2015-12-06 14:14 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           | 26 +++++++++
 .../perl-mail-spamassassin.hash                    |  3 +
 .../perl-mail-spamassassin.mk                      | 38 +++++++++++++
 5 files changed, 132 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..8edab10
--- /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.
+No issue here.
+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, considere the installed script `sa-update` for installing the rules for the first time.
+3) spamc, an executable which embeds libperl
+The cross compilation is not handled, I obtain an host executable.
+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..4d1b0e0
--- /dev/null
+++ b/package/perl-mail-spamassassin/Config.in
@@ -0,0 +1,26 @@
+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] 9+ messages in thread

* [Buildroot] [V4 3/3] package/perl-db-file: Fix berkeleydb detection
  2015-12-06 14:14 [Buildroot] [V4 0/3] SpamAssassin Francois Perrad
  2015-12-06 14:14 ` [Buildroot] [V4 1/3] pkg-perl: avoid insertion of host-perl in shebang of scripts Francois Perrad
  2015-12-06 14:14 ` [Buildroot] [V4 2/3] perl-mail-spamassassin: new package Francois Perrad
@ 2015-12-06 14:14 ` Francois Perrad
  2015-12-13 15:01   ` Thomas Petazzoni
  2 siblings, 1 reply; 9+ messages in thread
From: Francois Perrad @ 2015-12-06 14:14 UTC (permalink / raw)
  To: buildroot

Without this patch libdb.so is not detected and
lib/perl5/site_perl/5.22.0/i586-linux/auto/DB_File/DB_File.so
is not linked against it:

Parsing config.in...
Looks Good.
Checking if your kit is complete...
Looks good
Warning (mostly harmless): No library found for -ldb
Generating a Unix-style Makefile
Writing Makefile for DB_File
Writing MYMETA.yml and MYMETA.json
>>> perl-db-file 1.835 Building

$ output/host/usr/bin/i586-buildroot-linux-uclibc-readelf -a output/target/usr/lib/perl5/site_perl/5.22.0/i586-linux/auto/DB_File/DB_File.so | grep NEEDED
 0x00000001 (NEEDED)                     Shared library: [libc.so.1]

After applying this patch configure output will look like this:

Parsing config.in...
Looks Good.
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for DB_File
Writing MYMETA.yml and MYMETA.json
>>> perl-db-file 1.835 Building

and the resulting library is correctly linked against libdb:

$ output/host/usr/bin/i586-buildroot-linux-uclibc-readelf -a output/target/usr/lib/perl5/site_perl/5.22.0/i586-linux/auto/DB_File/DB_File.so | grep NEEDED
 0x00000001 (NEEDED)                     Shared library: [libdb-5.3.so]
 0x00000001 (NEEDED)                     Shared library: [libc.so.1]

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
 package/perl-db-file/perl-db-file.mk | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/package/perl-db-file/perl-db-file.mk b/package/perl-db-file/perl-db-file.mk
index 6d611ea..3db8c56 100644
--- a/package/perl-db-file/perl-db-file.mk
+++ b/package/perl-db-file/perl-db-file.mk
@@ -11,4 +11,12 @@ PERL_DB_FILE_DEPENDENCIES = berkeleydb
 PERL_DB_FILE_LICENSE = Artistic or GPLv1+
 PERL_DB_FILE_LICENSE_FILES = README
 
+define PERL_DB_FILE_FIX_CONFIG_IN
+	$(SED) 's%^INCLUDE.*%INCLUDE = $(STAGING_DIR)/usr/include%' \
+		$(@D)/config.in
+	$(SED) 's%^LIB.*%LIB = $(STAGING_DIR)/usr/lib%' \
+		$(@D)/config.in
+endef
+PERL_DB_FILE_POST_PATCH_HOOKS += PERL_DB_FILE_FIX_CONFIG_IN
+
 $(eval $(perl-package))

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [V4 1/3] pkg-perl: avoid insertion of host-perl in shebang of scripts
  2015-12-06 14:14 ` [Buildroot] [V4 1/3] pkg-perl: avoid insertion of host-perl in shebang of scripts Francois Perrad
@ 2015-12-13 14:56   ` Thomas Petazzoni
  0 siblings, 0 replies; 9+ messages in thread
From: Thomas Petazzoni @ 2015-12-13 14:56 UTC (permalink / raw)
  To: buildroot

Dear Francois Perrad,

On Sun,  6 Dec 2015 15:14:34 +0100, Francois Perrad wrote:
> Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
> ---
>  package/pkg-perl.mk | 1 +
>  1 file changed, 1 insertion(+)

Applied, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [V4 2/3] perl-mail-spamassassin: new package
  2015-12-06 14:14 ` [Buildroot] [V4 2/3] perl-mail-spamassassin: new package Francois Perrad
@ 2015-12-13 15:00   ` Thomas Petazzoni
  2015-12-13 16:12     ` François Perrad
  0 siblings, 1 reply; 9+ messages in thread
From: Thomas Petazzoni @ 2015-12-13 15:00 UTC (permalink / raw)
  To: buildroot

Dear Francois Perrad,

Thanks a lot for working on this. Definitely a lot better than the
previous solution from Bernd that required tons of host Perl packages
to be added. A few comments below.

On Sun,  6 Dec 2015 15:14:35 +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..8edab10
> --- /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.
> +No issue here.

So, if there's no issue, why do you mention this?

> +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, considere the installed script `sa-update` for installing the rules for the first time.

considere -> consider

Also, I think this should probably be mentioned in the Config.in help
text.

> +3) spamc, an executable which embeds libperl
> +The cross compilation is not handled, I obtain an host executable.

I -> not good to use such formulation. What about:

"The cross-compilation case is not supported, a host executable gets
built. For this reason, this step is disabled."

Also, since you're fixing several independent problems, what about
doing a single patch for each problem ?

Do you think you could write the patches in a way that makes them
potentially acceptable upstream ?

> diff --git a/package/perl-mail-spamassassin/Config.in b/package/perl-mail-spamassassin/Config.in
> new file mode 100644
> index 0000000..4d1b0e0
> --- /dev/null
> +++ b/package/perl-mail-spamassassin/Config.in
> @@ -0,0 +1,26 @@
> +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"

Do we really need a compile time option for this? Can't this be
configured at run-time in some configuration file?

Shouldn't the default be an empty string rather than the "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?

Lines too long I believe, please wrap at 72 characters.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [V4 3/3] package/perl-db-file: Fix berkeleydb detection
  2015-12-06 14:14 ` [Buildroot] [V4 3/3] package/perl-db-file: Fix berkeleydb detection Francois Perrad
@ 2015-12-13 15:01   ` Thomas Petazzoni
  0 siblings, 0 replies; 9+ messages in thread
From: Thomas Petazzoni @ 2015-12-13 15:01 UTC (permalink / raw)
  To: buildroot

Dear Francois Perrad,

On Sun,  6 Dec 2015 15:14:36 +0100, Francois Perrad wrote:
> Without this patch libdb.so is not detected and
> lib/perl5/site_perl/5.22.0/i586-linux/auto/DB_File/DB_File.so
> is not linked against it:
> 
> Parsing config.in...
> Looks Good.
> Checking if your kit is complete...
> Looks good
> Warning (mostly harmless): No library found for -ldb
> Generating a Unix-style Makefile
> Writing Makefile for DB_File
> Writing MYMETA.yml and MYMETA.json
> >>> perl-db-file 1.835 Building
> 
> $ output/host/usr/bin/i586-buildroot-linux-uclibc-readelf -a output/target/usr/lib/perl5/site_perl/5.22.0/i586-linux/auto/DB_File/DB_File.so | grep NEEDED
>  0x00000001 (NEEDED)                     Shared library: [libc.so.1]
> 
> After applying this patch configure output will look like this:
> 
> Parsing config.in...
> Looks Good.
> Checking if your kit is complete...
> Looks good
> Generating a Unix-style Makefile
> Writing Makefile for DB_File
> Writing MYMETA.yml and MYMETA.json
> >>> perl-db-file 1.835 Building
> 
> and the resulting library is correctly linked against libdb:
> 
> $ output/host/usr/bin/i586-buildroot-linux-uclibc-readelf -a output/target/usr/lib/perl5/site_perl/5.22.0/i586-linux/auto/DB_File/DB_File.so | grep NEEDED
>  0x00000001 (NEEDED)                     Shared library: [libdb-5.3.so]
>  0x00000001 (NEEDED)                     Shared library: [libc.so.1]
> 
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> ---
>  package/perl-db-file/perl-db-file.mk | 8 ++++++++
>  1 file changed, 8 insertions(+)

Applied, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [V4 2/3] perl-mail-spamassassin: new package
  2015-12-13 15:00   ` Thomas Petazzoni
@ 2015-12-13 16:12     ` François Perrad
  2015-12-13 17:57       ` Thomas Petazzoni
  0 siblings, 1 reply; 9+ messages in thread
From: François Perrad @ 2015-12-13 16:12 UTC (permalink / raw)
  To: buildroot

2015-12-13 16:00 GMT+01:00 Thomas Petazzoni
<thomas.petazzoni@free-electrons.com>:
> Dear Francois Perrad,
>
> Thanks a lot for working on this. Definitely a lot better than the
> previous solution from Bernd that required tons of host Perl packages
> to be added. A few comments below.
>
> On Sun,  6 Dec 2015 15:14:35 +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..8edab10
>> --- /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.
>> +No issue here.
>
> So, if there's no issue, why do you mention this?
>
>> +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, considere the installed script `sa-update` for installing the rules for the first time.
>
> considere -> consider
>

Ok

> Also, I think this should probably be mentioned in the Config.in help
> text.
>
>> +3) spamc, an executable which embeds libperl
>> +The cross compilation is not handled, I obtain an host executable.
>
> I -> not good to use such formulation. What about:
>
> "The cross-compilation case is not supported, a host executable gets
> built. For this reason, this step is disabled."
>

Ok.

> Also, since you're fixing several independent problems, what about
> doing a single patch for each problem ?
>
> Do you think you could write the patches in a way that makes them
> potentially acceptable upstream ?
>

No way.

>> diff --git a/package/perl-mail-spamassassin/Config.in b/package/perl-mail-spamassassin/Config.in
>> new file mode 100644
>> index 0000000..4d1b0e0
>> --- /dev/null
>> +++ b/package/perl-mail-spamassassin/Config.in
>> @@ -0,0 +1,26 @@
>> +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"
>
> Do we really need a compile time option for this? Can't this be
> configured at run-time in some configuration file?
>

Yes, the string is subsituted in several scripts, not in single
configuration file.

> Shouldn't the default be an empty string rather than the "the
> administrator of that BR system" ?
>

This is the default value from the SpamAssassin Makefile.PL, I just added "BR".

Fran?ois

>> +     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?
>
> Lines too long I believe, please wrap at 72 characters.
>
> Thanks!
>
> Thomas
> --
> Thomas Petazzoni, CTO, Free Electrons
> Embedded Linux, Kernel and Android engineering
> http://free-electrons.com
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [V4 2/3] perl-mail-spamassassin: new package
  2015-12-13 16:12     ` François Perrad
@ 2015-12-13 17:57       ` Thomas Petazzoni
  0 siblings, 0 replies; 9+ messages in thread
From: Thomas Petazzoni @ 2015-12-13 17:57 UTC (permalink / raw)
  To: buildroot

Fran?ois,

On Sun, 13 Dec 2015 17:12:32 +0100, Fran?ois Perrad wrote:

> > Also, since you're fixing several independent problems, what about
> > doing a single patch for each problem ?
> >
> > Do you think you could write the patches in a way that makes them
> > potentially acceptable upstream ?
> >
> 
> No way.

Why ? After all, everything that you did could be made conditional
under a CROSS_COMPILE boolean variable for example. Or the BUILD_SPAMC
variable could be made to work also on Linux and not only on Windows,
etc.

> >> +config BR2_PACKAGE_PERL_MAIL_SPAMASSASSIN_CONTACT_ADDRESS
> >> +     string "contact address"
> >> +     default "the administrator of that BR system"
> >
> > Do we really need a compile time option for this? Can't this be
> > configured at run-time in some configuration file?
> >
> 
> Yes, the string is subsituted in several scripts, not in single
> configuration file.

Argh :/

> > Shouldn't the default be an empty string rather than the "the
> > administrator of that BR system" ?
> 
> This is the default value from the SpamAssassin Makefile.PL, I just added "BR".

I think "the administrator of that BR system" is a pretty silly default
string, especially when what is wanted is an e-mail address or URL. So
either put contact at dummy.net, or http://dummy.net or something like
that.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2015-12-13 17:57 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-12-06 14:14 [Buildroot] [V4 0/3] SpamAssassin Francois Perrad
2015-12-06 14:14 ` [Buildroot] [V4 1/3] pkg-perl: avoid insertion of host-perl in shebang of scripts Francois Perrad
2015-12-13 14:56   ` Thomas Petazzoni
2015-12-06 14:14 ` [Buildroot] [V4 2/3] perl-mail-spamassassin: new package Francois Perrad
2015-12-13 15:00   ` Thomas Petazzoni
2015-12-13 16:12     ` François Perrad
2015-12-13 17:57       ` Thomas Petazzoni
2015-12-06 14:14 ` [Buildroot] [V4 3/3] package/perl-db-file: Fix berkeleydb detection Francois Perrad
2015-12-13 15:01   ` Thomas Petazzoni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox