Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Arnout Vandecappelle <arnout@mind.be>
To: buildroot@busybox.net
Subject: [Buildroot] [pkg-perl infra V3 00/12] a package infrastructure for Perl/CPAN modules
Date: Tue, 04 Feb 2014 09:49:57 +0100	[thread overview]
Message-ID: <52F0A9B5.1070900@mind.be> (raw)
In-Reply-To: <1385198749-6249-1-git-send-email-francois.perrad@gadz.org>

 Hi Francois,

 Now that we have some dedicated time at the BR developer days we are
finally getting around to reviewing your perl infrastructure update. I'm
going to write down some overall remarks, while Yann will be posting more
detailed feedback on the individual patches.

 First of all, it took a bit of effort to rebase on current master; if
you continue with this series, you can start with pulling it from
git at gitorious.org:buildroot/buildroot.git branch perl-fixup

On 23/11/13 10:25, Francois Perrad wrote:
> delta V2 vs V3 :
> 
> - [03/12] scancpan:
>     add options (including a update/force mode)
>     refactor with Pod::Usage
> 
> - [12/12] libxml-libxml-perl:
>     includes all its CPAN dependencies
> 
> Francois Perrad (12):
>   perl: new infrastructure

 For this one, there are some issues with the details but the basic
concept of adding a perl-package macro looks good.

 It would be good to add a dependency mechanism like for python: add perl
to the dependencies automatically, and remove it from the host
dependencies. That way you can also remove the explicit setting of host
dependencies because it will always be the same as target dependencies
(except for the manually edited packages but that's fine).

>   cpan: a home for Perl modules
>   scancpan: a new script

 This script looks really good as a way to semi-automatically keep our
perl packages up-to-date. However, we think that the packages should
really be committed buildroot and not be generated by the user. Even if
we add a few hundred perl packages, that's not a big deal: we do that for
xorg as well.

 For the naming of the packages, we prefer "perl-<pkgname>" rather than
the Debian naming "lib<pkgname>-perl".

 Given that you're using $debname, I wonder: is this script in any way
taken over from a Debian script? If so, you should credit the original
authors (even if it is just "inspired on ... by ...").

 Ideally, this scancpan support should save into BR2_EXTERNAL if that is
defined. How that can be done in practice may be tricky, however...
Perhaps the updating of the cpan/Config.in should _not_ be automated. Or
else the cpan directory can be given as an argument.

 When running the script, I've encountered an issue: on line 589:
$dist->{license} seems to be a single string, not an array.

 Also the example you give in the documentation could be something more
relevant - for example, the packages that we carry in buildroot.

 The perl_5 license should be added to our list of license (in a separate
patch).

 Maybe the generated files should be marked with an "Automatically
generated by" header - even though that violates our normal coding style.

 I think the _AUTHOR variable is redundant.

 The _LICENSE_FILES variable is not set by the script - most likely
because it is not always in the same file. This can be solved by manually
editing the packages which do have a license file. Yet another reason for
including the packages in buildroot instead of letting the user generate
them.

>   cpanminus: remove it
>   perl: remove useless patch
>   qemu: add a Config.in.host

 This one can probably be done independently of the rest (but then remove
the "after ..." comment).

>   host-libxml-parser-perl: move and refactor with perl infrastructure

 Why did you convert this into a host-only package?

 I think this one and the following ones should go to the beginning of
the series - before the cpan stuff which is more controversial.


>   host-libmodule-build-perl: new package
>   manual: adding packages perl
>   libcurses-perl: new package

make[2]: *** No rule to make target
`$(STAGING_DIR)/usr/lib/perl5/5.18.2/x86_64-linux/CORE/patchlevel-debian.h',
needed by `Curses.o'.  Stop.

(this is with a x86_64 target, and obviously on a debian host).

>   libnet-ssleay-perl: new package

 This one interactively asks me:
Do you want to run external tests?

 Is there any way to avoid that, i.e. preseeding the answer to "no"
(actually we don't want to run tests at all).

 It also fails because of the -debian thing.

>   libxml-libxml-perl: new package

 libxml-sax-perl also asks me something interactively.

 libxml-libxml-perl fails to build with:

make[2]: *** No rule to make target `pure_all'.  Stop.



 I'm sorry that we're giving you so much work :-)

 Regards,
 Arnout


> 
>  Config.in                                          |    7 +
>  docs/manual/adding-packages-perl.txt               |   91 +++
>  docs/manual/adding-packages.txt                    |    2 +
>  package/Config.in                                  |    3 +-
>  package/Config.in.host                             |    1 +
>  package/Makefile.in                                |   11 +-
>  package/cpan/Config.in                             |    6 +
>  package/cpan/cpan.mk                               |    1 +
>  package/cpan/libcurses-perl/Config.in              |    6 +
>  package/cpan/libcurses-perl/libcurses-perl.mk      |   15 +
>  .../libmodule-build-perl/libmodule-build-perl.mk   |   13 +
>  package/cpan/libnet-ssleay-perl/Config.in          |    6 +
>  .../cpan/libnet-ssleay-perl/libnet-ssleay-perl.mk  |   16 +
>  package/cpan/libxml-libxml-perl/Config.in          |    9 +
>  .../cpan/libxml-libxml-perl/libxml-libxml-perl.mk  |   22 +
>  .../cpan/libxml-namespacesupport-perl/Config.in    |    5 +
>  .../libxml-namespacesupport-perl.mk                |   16 +
>  .../cpan/libxml-parser-perl/libxml-parser-perl.mk  |   17 +
>  package/cpan/libxml-sax-base-perl/Config.in        |    5 +
>  .../libxml-sax-base-perl/libxml-sax-base-perl.mk   |   16 +
>  package/cpan/libxml-sax-perl/Config.in             |    7 +
>  package/cpan/libxml-sax-perl/libxml-sax-perl.mk    |   15 +
>  package/cpanminus/Config.in                        |   40 --
>  package/cpanminus/cpanminus.mk                     |   47 --
>  package/intltool/intltool.mk                       |    4 +-
>  package/libxml-parser-perl/Config.in               |   11 -
>  package/libxml-parser-perl/libxml-parser-perl.mk   |   35 -
>  package/perl/perl-fix-Module-Build.patch           |   16 -
>  package/pkg-perl.mk                                |  220 ++++++
>  package/qemu/Config.in.host                        |   10 +
>  support/scripts/scancpan                           |  700 ++++++++++++++++++++
>  31 files changed, 1216 insertions(+), 157 deletions(-)
>  create mode 100644 docs/manual/adding-packages-perl.txt
>  create mode 100644 package/cpan/Config.in
>  create mode 100644 package/cpan/cpan.mk
>  create mode 100644 package/cpan/libcurses-perl/Config.in
>  create mode 100644 package/cpan/libcurses-perl/libcurses-perl.mk
>  create mode 100644 package/cpan/libmodule-build-perl/libmodule-build-perl.mk
>  create mode 100644 package/cpan/libnet-ssleay-perl/Config.in
>  create mode 100644 package/cpan/libnet-ssleay-perl/libnet-ssleay-perl.mk
>  create mode 100644 package/cpan/libxml-libxml-perl/Config.in
>  create mode 100644 package/cpan/libxml-libxml-perl/libxml-libxml-perl.mk
>  create mode 100644 package/cpan/libxml-namespacesupport-perl/Config.in
>  create mode 100644 package/cpan/libxml-namespacesupport-perl/libxml-namespacesupport-perl.mk
>  create mode 100644 package/cpan/libxml-parser-perl/libxml-parser-perl.mk
>  create mode 100644 package/cpan/libxml-sax-base-perl/Config.in
>  create mode 100644 package/cpan/libxml-sax-base-perl/libxml-sax-base-perl.mk
>  create mode 100644 package/cpan/libxml-sax-perl/Config.in
>  create mode 100644 package/cpan/libxml-sax-perl/libxml-sax-perl.mk
>  delete mode 100644 package/cpanminus/Config.in
>  delete mode 100644 package/cpanminus/cpanminus.mk
>  delete mode 100644 package/libxml-parser-perl/Config.in
>  delete mode 100644 package/libxml-parser-perl/libxml-parser-perl.mk
>  delete mode 100644 package/perl/perl-fix-Module-Build.patch
>  create mode 100644 package/pkg-perl.mk
>  create mode 100644 package/qemu/Config.in.host
>  create mode 100755 support/scripts/scancpan
> 


-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

  parent reply	other threads:[~2014-02-04  8:49 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-23  9:25 [Buildroot] [pkg-perl infra V3 00/12] a package infrastructure for Perl/CPAN modules Francois Perrad
2013-11-23  9:25 ` [Buildroot] [pkg-perl infra V3 01/12] perl: new infrastructure Francois Perrad
2013-11-23  9:25 ` [Buildroot] [pkg-perl infra V3 02/12] cpan: a home for Perl modules Francois Perrad
2014-02-04  9:01   ` Yann E. MORIN
2013-11-23  9:25 ` [Buildroot] [pkg-perl infra V3 03/12] scancpan: a new script Francois Perrad
2014-02-04  9:13   ` Yann E. MORIN
2013-11-23  9:25 ` [Buildroot] [pkg-perl infra V3 04/12] cpanminus: remove it Francois Perrad
2013-11-23  9:25 ` [Buildroot] [pkg-perl infra V3 05/12] perl: remove useless patch Francois Perrad
2013-11-23  9:25 ` [Buildroot] [pkg-perl infra V3 06/12] qemu: add a Config.in.host Francois Perrad
2013-11-23  9:25 ` [Buildroot] [pkg-perl infra V3 07/12] host-libxml-parser-perl: move and refactor with perl infrastructure Francois Perrad
2013-11-23  9:25 ` [Buildroot] [pkg-perl infra V3 08/12] host-libmodule-build-perl: new package Francois Perrad
2014-02-04 10:08   ` Yann E. MORIN
2013-11-23  9:25 ` [Buildroot] [pkg-perl infra V3 09/12] manual: adding packages perl Francois Perrad
2014-02-04 10:57   ` Yann E. MORIN
2014-02-05 17:45     ` Arnout Vandecappelle
2013-11-23  9:25 ` [Buildroot] [pkg-perl infra V3 10/12] libcurses-perl: new package Francois Perrad
2014-02-04 11:11   ` Yann E. MORIN
2013-11-23  9:25 ` [Buildroot] [pkg-perl infra V3 11/12] libnet-ssleay-perl: " Francois Perrad
2014-02-04 11:31   ` Yann E. MORIN
2013-11-23  9:25 ` [Buildroot] [pkg-perl infra V3 12/12] libxml-libxml-perl: " Francois Perrad
2014-02-04  8:49 ` Arnout Vandecappelle [this message]
2014-02-04  8:55   ` [Buildroot] [pkg-perl infra V3 00/12] a package infrastructure for Perl/CPAN modules Arnout Vandecappelle
2014-02-04  9:57   ` Arnout Vandecappelle

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52F0A9B5.1070900@mind.be \
    --to=arnout@mind.be \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox