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
next prev 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