[OE-core] [PATCH 1/3] git: fix perl binding installation

Koen Kooi koen at dominion.thruhere.net
Tue Apr 22 12:50:01 UTC 2014


Op 20 apr. 2014, om 10:02 heeft Koen Kooi <koen at dominion.thruhere.net> het volgende geschreven:

> 
> Op 19 apr. 2014, om 17:47 heeft Saul Wold <sgw at linux.intel.com> het volgende geschreven:
> 
>> On 04/19/2014 12:24 AM, Koen Kooi wrote:
>>> 
>>> Op 18 apr. 2014, om 22:25 heeft Saul Wold <sgw at linux.intel.com> het volgende geschreven:
>>> 
>>>> On 04/17/2014 02:07 AM, Koen Kooi wrote:
>>>>> Git.pm wasn't ending up in the package because do_install removed it
>>>>> with a misleading comment about multilib. Fix the problem at the source
>>>>> so that Git.pm ends up in the correct dir *and* doesn't get deleted.
>>>>> 
>>>>> The perl.mak file gets updated during the regular do_install, so add an
>>>>> extra make install step to install the *.pm files to the correct
>>>>> directory.
>>>>> 
>>>>> This is the first step in making git-perltools actually work.
>>>>> 
>>>>> Signed-off-by: Koen Kooi <koen.kooi at linaro.org>
>>>>> ---
>>>>> meta/recipes-devtools/git/git.inc | 9 ++++++++-
>>>>> 1 file changed, 8 insertions(+), 1 deletion(-)
>>>>> 
>>>>> diff --git a/meta/recipes-devtools/git/git.inc b/meta/recipes-devtools/git/git.inc
>>>>> index f5013f1..888b2a5 100644
>>>>> --- a/meta/recipes-devtools/git/git.inc
>>>>> +++ b/meta/recipes-devtools/git/git.inc
>>>>> @@ -28,10 +28,16 @@ do_install () {
>>>>> 		template_dir=${datadir}/git-core/templates \
>>>>> 		GIT_PYTHON_DIR=${D}${datadir}/git-core/python
>>>>> 
>>>>> +	sed -i -e 's#${STAGING_BINDIR_NATIVE}/perl-native/#${bindir}/#' \
>>>>> +	       -e 's#${STAGING_LIBDIR_NATIVE}/#${libdir}/#' \
>>>>> +	       -e 's#/lib/perl-native#/lib#g' \
>>>>> +	       ${S}/perl/perl.mak
>>>>> +
>>>>> +	cd ${S}/perl && oe_runmake install DESTDIR="${D}" bindir=${bindir}
>>>>> +
>>>> 
>>>> Koen,
>>>> 
>>>> This still seems to have a problem, and yes I have all 3 patches
>>>> 
>>>>> | NOTE: make -j 16 NO_PYTHON=1 RUNTIME_PREFIX=1 NO_GETTEXT=1 install DESTDIR=/srv/hdd/builds/world/tmp/work/ppc7400-poky-linux/git/1.9.0-r0/image bindir=/usr/bin
>>>>> | make[1]: Entering directory `/srv/hdd/builds/world/tmp/work/ppc7400-poky-linux/git/1.9.0-r0/git-1.9.0/perl'
>>>>> | make[1]: *** No rule to make target `/usr/lib/perl/5.14.3/Config.pm', needed by `perl.mak'.  Stop.
>>>>> | make[1]: Leaving directory `/srv/hdd/builds/world/tmp/work/ppc7400-poky-linux/git/1.9.0-r0/git-1.9.0/perl'
>>>>> | make: *** [install] Error 2
>>>>> | ERROR: oe_runmake failed
>>> 
>>> I've seen that pop up as well, but I couldn't reproduce that with 'bitbake -c clean git ; bitbake git'. I only tested with -j4, I'll retest with -j16. Are you seeing this on all builds or only some of them?
>>> 
>> 
>> I can reproduce this on my local build server at -j 16 everytime.
> 
> -j16 instead of -j4 triggers an selinux error on my laptop, so this patch needs rethinking. I'll have a look at this when I get back to work on tuesday.

Still  haven't fixed the selinux error, but I'll send a patch with PARALLEL_MAKEINST="" today or tomorrow to run through the autobuilder.


> 
> regards,
> 
> Koen
> 
> 
>> 
>> Sau!
>> 
>>> regards,
>>> 
>>> Koen
>>> 
>>> 
>>> 
>>>> 
>>>> 
>>>> Sau!
>>>> 
>>>> 
>>>> 
>>>>> 	# ${libdir} is not applicable here, perl-native files are always
>>>>> 	# installed to /usr/lib on both 32/64 bits targets.
>>>>> 	rm -rf ${D}${exec_prefix}/lib/perl-native
>>>>> -	rmdir ${D}${exec_prefix}/lib || true
>>>>> }
>>>>> 
>>>>> PERLSEDFIXUP = " \
>>>>> @@ -75,6 +81,7 @@ PERLTOOLS = " \
>>>>> PACKAGES =+ "${PN}-perltools"
>>>>> FILES_${PN}-perltools += " \
>>>>>     ${PERLTOOLS} \
>>>>> +    ${prefix}/lib/perl \
>>>>>     ${datadir}/perl \
>>>>> "
>>>>> RDEPENDS_${PN}-perltools = "${PN} perl perl-module-file-path findutils"
>>>>> 
>>>> --
>>>> _______________________________________________
>>>> Openembedded-core mailing list
>>>> Openembedded-core at lists.openembedded.org
>>>> http://lists.openembedded.org/mailman/listinfo/openembedded-core




More information about the Openembedded-core mailing list