* [Buildroot] [PATCH 1/2] pkg-perl: fix for Perl XS packages configured by a Makefile.PL
@ 2014-04-20 15:05 Francois Perrad
2014-04-20 15:05 ` [Buildroot] [PATCH 2/2] perl-cross: bump to version 0.8.5 Francois Perrad
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Francois Perrad @ 2014-04-20 15:05 UTC (permalink / raw)
To: buildroot
for native package, ExtUtils::MakeMaker detects all include filenames on system perl,
all these includes will be required by the generated Makefile but on STAGING_DIR.
patchlevel-debian.h is not a part of the Perl distribution,
but it was added by some Linux distributions (Debian, Ubuntu, ...)
In this case, we create an empty file on STAGING_DIR.
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 447f364..876ffdb 100644
--- a/package/pkg-perl.mk
+++ b/package/pkg-perl.mk
@@ -88,6 +88,7 @@ define $(2)_CONFIGURE_CMDS
INSTALLVENDORMAN1DIR=/usr/share/man/man1 \
INSTALLVENDORMAN3DIR=/usr/share/man/man3 \
$$($(2)_CONF_OPT); \
+ touch $(STAGING_DIR)/usr/lib/perl5/$$(PERL_VERSION)/$(PERL_ARCHNAME)/CORE/patchlevel-debian.h; \
fi
endef
else
--
1.9.1
^ permalink raw reply related [flat|nested] 8+ messages in thread* [Buildroot] [PATCH 2/2] perl-cross: bump to version 0.8.5 2014-04-20 15:05 [Buildroot] [PATCH 1/2] pkg-perl: fix for Perl XS packages configured by a Makefile.PL Francois Perrad @ 2014-04-20 15:05 ` Francois Perrad 2014-04-20 15:37 ` Thomas Petazzoni 2014-04-20 15:38 ` [Buildroot] [PATCH 1/2] pkg-perl: fix for Perl XS packages configured by a Makefile.PL Thomas Petazzoni 2014-04-22 6:01 ` Arnout Vandecappelle 2 siblings, 1 reply; 8+ messages in thread From: Francois Perrad @ 2014-04-20 15:05 UTC (permalink / raw) To: buildroot Signed-off-by: Francois Perrad <francois.perrad@gadz.org> --- package/perl/perl.mk | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/perl/perl.mk b/package/perl/perl.mk index 51aeb14..7fdb1b0 100644 --- a/package/perl/perl.mk +++ b/package/perl/perl.mk @@ -12,9 +12,9 @@ PERL_LICENSE = Artistic or GPLv1+ PERL_LICENSE_FILES = Artistic Copying README PERL_INSTALL_STAGING = YES -PERL_CROSS_VERSION = 0.8.3 -PERL_CROSS_BASE_VERSION = 5.$(PERL_VERSION_MAJOR).1 -PERL_CROSS_SITE = http://download.berlios.de/perlcross +PERL_CROSS_VERSION = 0.8.5 +PERL_CROSS_BASE_VERSION = 5.$(PERL_VERSION_MAJOR).2 +PERL_CROSS_SITE = http://raw.github.com/arsv/perl-cross/releases PERL_CROSS_SOURCE = perl-$(PERL_CROSS_BASE_VERSION)-cross-$(PERL_CROSS_VERSION).tar.gz PERL_CROSS_OLD_POD = perl$(subst .,,$(PERL_CROSS_BASE_VERSION))delta.pod PERL_CROSS_NEW_POD = perl$(subst .,,$(PERL_VERSION))delta.pod -- 1.9.1 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH 2/2] perl-cross: bump to version 0.8.5 2014-04-20 15:05 ` [Buildroot] [PATCH 2/2] perl-cross: bump to version 0.8.5 Francois Perrad @ 2014-04-20 15:37 ` Thomas Petazzoni 2014-04-20 17:12 ` François Perrad 0 siblings, 1 reply; 8+ messages in thread From: Thomas Petazzoni @ 2014-04-20 15:37 UTC (permalink / raw) To: buildroot Dear Francois Perrad, On Sun, 20 Apr 2014 17:05:56 +0200, Francois Perrad wrote: > -PERL_CROSS_VERSION = 0.8.3 > -PERL_CROSS_BASE_VERSION = 5.$(PERL_VERSION_MAJOR).1 > -PERL_CROSS_SITE = http://download.berlios.de/perlcross > +PERL_CROSS_VERSION = 0.8.5 > +PERL_CROSS_BASE_VERSION = 5.$(PERL_VERSION_MAJOR).2 > +PERL_CROSS_SITE = http://raw.github.com/arsv/perl-cross/releases You should use the $(github ...) helper here. Thanks, Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH 2/2] perl-cross: bump to version 0.8.5 2014-04-20 15:37 ` Thomas Petazzoni @ 2014-04-20 17:12 ` François Perrad 2014-04-20 18:44 ` Thomas Petazzoni 0 siblings, 1 reply; 8+ messages in thread From: François Perrad @ 2014-04-20 17:12 UTC (permalink / raw) To: buildroot 2014-04-20 17:37 GMT+02:00 Thomas Petazzoni <thomas.petazzoni@free-electrons.com>: > Dear Francois Perrad, > > On Sun, 20 Apr 2014 17:05:56 +0200, Francois Perrad wrote: > >> -PERL_CROSS_VERSION = 0.8.3 >> -PERL_CROSS_BASE_VERSION = 5.$(PERL_VERSION_MAJOR).1 >> -PERL_CROSS_SITE = http://download.berlios.de/perlcross >> +PERL_CROSS_VERSION = 0.8.5 >> +PERL_CROSS_BASE_VERSION = 5.$(PERL_VERSION_MAJOR).2 >> +PERL_CROSS_SITE = http://raw.github.com/arsv/perl-cross/releases > > You should use the $(github ...) helper here. > No. I've already tried it. The helper doesn't give the same result. I need a tarball which allows to patch the perl distribution. The helper gives a copy of the project which allows to build this tarball. Fran?ois > 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] 8+ messages in thread
* [Buildroot] [PATCH 2/2] perl-cross: bump to version 0.8.5 2014-04-20 17:12 ` François Perrad @ 2014-04-20 18:44 ` Thomas Petazzoni 0 siblings, 0 replies; 8+ messages in thread From: Thomas Petazzoni @ 2014-04-20 18:44 UTC (permalink / raw) To: buildroot Dear Fran?ois Perrad, On Sun, 20 Apr 2014 19:12:56 +0200, Fran?ois Perrad wrote: > No. I've already tried it. The helper doesn't give the same result. > > I need a tarball which allows to patch the perl distribution. > The helper gives a copy of the project which allows to build this tarball. Then can you add a comment above the _SITE line to explain this? Thanks! Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH 1/2] pkg-perl: fix for Perl XS packages configured by a Makefile.PL 2014-04-20 15:05 [Buildroot] [PATCH 1/2] pkg-perl: fix for Perl XS packages configured by a Makefile.PL Francois Perrad 2014-04-20 15:05 ` [Buildroot] [PATCH 2/2] perl-cross: bump to version 0.8.5 Francois Perrad @ 2014-04-20 15:38 ` Thomas Petazzoni 2014-04-22 6:01 ` Arnout Vandecappelle 2 siblings, 0 replies; 8+ messages in thread From: Thomas Petazzoni @ 2014-04-20 15:38 UTC (permalink / raw) To: buildroot Dear Francois Perrad, On Sun, 20 Apr 2014 17:05:55 +0200, Francois Perrad wrote: > for native package, ExtUtils::MakeMaker detects all include filenames on system perl, > all these includes will be required by the generated Makefile but on STAGING_DIR. > > patchlevel-debian.h is not a part of the Perl distribution, > but it was added by some Linux distributions (Debian, Ubuntu, ...) > In this case, we create an empty file on STAGING_DIR. I'm sorry, but unfortunately, I don't understand this explanation. How the fact that a header file is added by Linux distributions affecting Buildroot? What package needs that? Which problem is this fixing? Thanks! Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH 1/2] pkg-perl: fix for Perl XS packages configured by a Makefile.PL 2014-04-20 15:05 [Buildroot] [PATCH 1/2] pkg-perl: fix for Perl XS packages configured by a Makefile.PL Francois Perrad 2014-04-20 15:05 ` [Buildroot] [PATCH 2/2] perl-cross: bump to version 0.8.5 Francois Perrad 2014-04-20 15:38 ` [Buildroot] [PATCH 1/2] pkg-perl: fix for Perl XS packages configured by a Makefile.PL Thomas Petazzoni @ 2014-04-22 6:01 ` Arnout Vandecappelle 2014-04-22 16:58 ` François Perrad 2 siblings, 1 reply; 8+ messages in thread From: Arnout Vandecappelle @ 2014-04-22 6:01 UTC (permalink / raw) To: buildroot Hi Francois, On 20/04/14 17:05, Francois Perrad wrote: > for native package, ExtUtils::MakeMaker detects all include filenames on system perl, > all these includes will be required by the generated Makefile but on STAGING_DIR. > > patchlevel-debian.h is not a part of the Perl distribution, > but it was added by some Linux distributions (Debian, Ubuntu, ...) > In this case, we create an empty file on STAGING_DIR. Contrary to Thomas, I do understand the explanation, so here's a hopefully improved one: ExtUtils::MakeMaker adds all the header files used by the perl as dependencies to the generated Makefile. This means that the generated Makefile will depend on the system's header files. Usually this is not a problem, because when building the target package, these header files will indeed be found in $(STAGING_DIR). However, some distro's add an extra header file to the system's perl. This header is also included in the generated Makefile, which makes the build fail because it doesn't exist in $(STAGING_DIR). As a work-around, explicitly create this header file in $(STAGING_DIR). It doesn't hurt to create it even if the system perl doesn't need it. > > 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 447f364..876ffdb 100644 > --- a/package/pkg-perl.mk > +++ b/package/pkg-perl.mk > @@ -88,6 +88,7 @@ define $(2)_CONFIGURE_CMDS > INSTALLVENDORMAN1DIR=/usr/share/man/man1 \ > INSTALLVENDORMAN3DIR=/usr/share/man/man3 \ > $$($(2)_CONF_OPT); \ > + touch $(STAGING_DIR)/usr/lib/perl5/$$(PERL_VERSION)/$(PERL_ARCHNAME)/CORE/patchlevel-debian.h; \ Wouldn't it be better to do this in a post-install-staging hook in perl itself? Now, this file will be touched over and over again for each perl package. Also, you probably should repeat the commit log's explanation here. Regards, Arnout > fi > endef > else > -- 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 ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH 1/2] pkg-perl: fix for Perl XS packages configured by a Makefile.PL 2014-04-22 6:01 ` Arnout Vandecappelle @ 2014-04-22 16:58 ` François Perrad 0 siblings, 0 replies; 8+ messages in thread From: François Perrad @ 2014-04-22 16:58 UTC (permalink / raw) To: buildroot 2014-04-22 8:01 GMT+02:00 Arnout Vandecappelle <arnout@mind.be>: > Hi Francois, > > On 20/04/14 17:05, Francois Perrad wrote: >> for native package, ExtUtils::MakeMaker detects all include filenames on system perl, >> all these includes will be required by the generated Makefile but on STAGING_DIR. >> >> patchlevel-debian.h is not a part of the Perl distribution, >> but it was added by some Linux distributions (Debian, Ubuntu, ...) >> In this case, we create an empty file on STAGING_DIR. > > Contrary to Thomas, I do understand the explanation, so here's a > hopefully improved one: > > ExtUtils::MakeMaker adds all the header files used by the perl as > dependencies to the generated Makefile. This means that the generated > Makefile will depend on the system's header files. > > Usually this is not a problem, because when building the target package, > these header files will indeed be found in $(STAGING_DIR). However, some > distro's add an extra header file to the system's perl. This header is > also included in the generated Makefile, which makes the build fail > because it doesn't exist in $(STAGING_DIR). > > As a work-around, explicitly create this header file in $(STAGING_DIR). > It doesn't hurt to create it even if the system perl doesn't need it. > >> >> 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 447f364..876ffdb 100644 >> --- a/package/pkg-perl.mk >> +++ b/package/pkg-perl.mk >> @@ -88,6 +88,7 @@ define $(2)_CONFIGURE_CMDS >> INSTALLVENDORMAN1DIR=/usr/share/man/man1 \ >> INSTALLVENDORMAN3DIR=/usr/share/man/man3 \ >> $$($(2)_CONF_OPT); \ >> + touch $(STAGING_DIR)/usr/lib/perl5/$$(PERL_VERSION)/$(PERL_ARCHNAME)/CORE/patchlevel-debian.h; \ > > Wouldn't it be better to do this in a post-install-staging hook in perl > itself? Now, this file will be touched over and over again for each perl > package. > 2 reasons : 1) currently, PERL_ARCHNAME is defined in pkg-perl.mk, but not in perl.mk 2) here, the hack is close to the command which requires it (ie. perl Makefile.PL in _CONFIGURE_CMDS for target) The CPU cost of each `touch` is insignificant, and I don't observe problem with rebuild of package. But the hack could be improved like this : PATCHLEVEL_DEBIAN_H = $(STAGING_DIR)/usr/lib/perl5/$(PERL_VERSION)/$(PERL_ARCHNAME)/CORE/patchlevel-debian.h test -f $(PATCHLEVEL_DEBIAN_H) || touch $(PATCHLEVEL_DEBIAN_H) Fran?ois > > Also, you probably should repeat the commit log's explanation here. > > Regards, > Arnout > >> fi >> endef >> else >> > > > -- > 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 > _______________________________________________ > buildroot mailing list > buildroot at busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2014-04-22 16:58 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-04-20 15:05 [Buildroot] [PATCH 1/2] pkg-perl: fix for Perl XS packages configured by a Makefile.PL Francois Perrad 2014-04-20 15:05 ` [Buildroot] [PATCH 2/2] perl-cross: bump to version 0.8.5 Francois Perrad 2014-04-20 15:37 ` Thomas Petazzoni 2014-04-20 17:12 ` François Perrad 2014-04-20 18:44 ` Thomas Petazzoni 2014-04-20 15:38 ` [Buildroot] [PATCH 1/2] pkg-perl: fix for Perl XS packages configured by a Makefile.PL Thomas Petazzoni 2014-04-22 6:01 ` Arnout Vandecappelle 2014-04-22 16:58 ` François Perrad
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox