Bug 2194 - Re-execution of tasks doesn't always work (meta-bug)
Summary: Re-execution of tasks doesn't always work (meta-bug)
Status: RESOLVED FIXED
Alias: None
Product: Meta-yocto
Classification: Build System, Metadata & Runtime
Component: meta-yocto (show other bugs)
Version: unspecified
Hardware: x86 Multiple
: Medium normal
Target Milestone: 1.2
Assignee: sanil
QA Contact:
URL:
Whiteboard: (1.2) Patches out for review
Depends on: 2156 2176 2279
Blocks:
  Show dependency tree
 
Reported: 2012-03-29 11:16 UTC by Richard Purdie
Modified: 2023-10-29 09:22 UTC (History)
6 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: ---


Attachments
Fix for boost.boostconfig and boost.compile failures (995 bytes, patch)
2012-04-12 13:44 UTC, venkata ramana g
no flags Details | Diff
Patch for Eglibc package : Re-execution of do_patch task is giving error. (4.58 KB, patch)
2012-04-12 13:58 UTC, venkata ramana g
no flags Details | Diff
Perl package : Re-execution of do_patch task is giving error. (879 bytes, patch)
2012-04-12 14:03 UTC, venkata ramana g
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Richard Purdie 2012-03-29 11:16:49 UTC
We have a number of tasks which are unable to run again and be re-executed after they've run once. Fixing this is a multiple stage issue:

a) Creating a script to work through the system and identify the tasks which are broken
b) Fixing the individual tasks

For a, we have bug 2123. There are also bugs open for individual problems for b which I'm going to have this bug depend upon. I'd also propose once we have a list of known broken tasks, we add the list to this bug entry.
Comment 1 sanil 2012-03-31 19:39:18 UTC
can we have the current list of broken tasks added here? (if already attached to any defect, we could give the defect id as a reference against each of the broken tasks)
Comment 2 Richard Purdie 2012-03-31 21:33:26 UTC
The list of known to be broken tasks stands at:

boost.boostconfig
boost.patch
docbook-utils-native.unpack
dropbear.debug_patch
eglibc-initial-nativesdk.patch
eglibc-initial.patch
eglibc-nativesdk.patch
eglibc.patch
gcc.configure
gcc-cross-canadian-i586.configure
gcc-cross-canadian-i586.headerfix
gcc-cross-canadian-i586.patch
gcc-cross-canadian-i586.unpack
gcc.headerfix
gcc.patch
gcc.unpack
man-pages.unpack
nasm-native.patch
nasm-native.patch_fixaclocal
nasm.patch
nasm.patch_fixaclocal
net-tools.patch
net-tools.unpack
perl.patch
python-native.patch
python-nativesdk.patch
python.patch
qt-x11-free.configure
qt-x11-free.generate_qt_config_file
qt-x11-free.patch
sgml-common-native.compile
unfs-server-native.configure
unfs-server-nativesdk.configure
wget.patch

To reproduce, just run "bitbake xxx -c cleansstate; bitbake xxx; bitbake
xxx -c yyy -f; bitbake xxx".

http://lists.linuxtogo.org/pipermail/openembedded-core/2012-March/020396.html
Comment 3 sanil 2012-04-11 02:58:54 UTC
2123 - the script to reproduce the overall broken issues. This script is time consuming and may be used one time! Needs some improvement.
2156 - Needs resolution

Update for 2194:
As this is for all the broken issues, we need to fix all of them before closing this defect. Reproducing all together is almost impractical based on the time line. Based on the list, we will group them and fix.

Based on the preliminary analysis, we could fix certain issues (no seperate defects raised as of now). This fixes needs certain reviews. Please find the current details below. We would update the patches today.
Thanks to Ramana for the fixes/tests for these packages. 
1) For Boost package: 
Fix data:
Boost package task do_boostconfigure is appending content to build/tmp/work/i586-poky-linux/boost-1.49.0-r2.0/boost_1_49_0/tools/build/v2/user-config.jam file. Without checking if the content is already present in that file.So check is added for the same.
File name modified: 
meta/recipes-support/boost/boost.inc
Test case:
incrementalbuild test boost package after forceful execution of boostconfig task
		> bitbake -c cleansstate boost
		> bitbake boost
		> bitbake -c boostconfig boost -f
		> bitbake boost
		> bitbake -c compile boost -f
		> bitbake boost
		> bitbake -c boostconfig boost -f
		> bitbake boost
Result: PASS
2)For eglibc ,eglibc-initial & eglibc-initial-nativesdk packages:
Fix Data:
eglibc package task do_patch_append calling do_fix_ia_headers is removing files with out verifying if files are present in that path.
So first time execution is pass while incremental execution tries to remove the files already removed. So error while rm file is ignored. It also fixed the problem of incremental patching eglibc-initial and eglibc-initial-nativesdk, as it inherits the patch funtion from eglibc.
File name modified: 
meta/recipes-core/eglibc/eglibc_2.13.bb
meta/recipes-core/eglibc/eglibc_2.15.bb
Test case(s)- incrementalbuild test <eglibc/eglibc-initial/eglibc-initial-nativesdk> package after forceful execution of patch task
		> bitbake -c cleansstate <eglibc/eglibc-initial/eglibc-initial-nativesdk>
		> bitbake <eglibc/eglibc-initial/eglibc-initial-nativesdk>
		> bitbake -c patch <eglibc/eglibc-initial/eglibc-initial-nativesdk> -f
		> bitbake <eglibc/eglibc-initial/eglibc-initial-nativesdk>
		> bitbake -c compile <eglibc/eglibc-initial/eglibc-initial-nativesdk> -f
		> bitbake <eglibc/eglibc-initial/eglibc-initial-nativesdk>
		> bitbake -c patch <eglibc/eglibc-initial/eglibc-initial-nativesdk> -f
		> bitbake <eglibc/eglibc-initial/eglibc-initial-nativesdk>
Result: PASS

So, the below are fixed from the list. (No seperate defect raised)
boost.boostconfig
boost.patch
eglibc-initial-nativesdk.patch
eglibc-initial.patch
eglibc-nativesdk.patch
eglibc.patch

Similar checks could fix issues with some more broken packages, while certain broken packages will need more analysis to fix. Hence, we can plan to raise seperate defects. Otherwise, difficult to process and track.

Richard, for 1.2, based on the bug analysis, kindly update the mandatory fixes needed. Accordinly we can target. Also, I plan to group the packages and target to fix.
Comment 4 Richard Purdie 2012-04-11 11:04:39 UTC
For the packages you have fixes for could you please send out patches to the openembedded-core mailing list for review and inclusion in the release?

For the release I would really like to get most of the issues listed addressed. If you need help, please say so and we can assign other team members to some of the recipes with issues.
Comment 5 venkata ramana g 2012-04-11 11:30:28 UTC
Created new defect (2279) and added dependency to handle and track 

gcc.configure
gcc-cross-canadian-i586.configure
gcc-cross-canadian-i586.headerfix
gcc-cross-canadian-i586.patch
gcc-cross-canadian-i586.unpack
gcc.headerfix
gcc.patch
gcc.unpack

And inital analysis added in that defect.
Comment 6 Paul Eggleton 2012-04-11 12:50:45 UTC
Sanil & Venkata, thanks for your help with this issue. If you have patches ready to fix the eglibc and boost failures could you please send them to the OE-core mailing list? Thanks.

For the current status, bug 2156 is now fixed. nasm has been fixed by Nitin
(bug 2176),  I've fixed qt-x11-free, so other than the ones you have already mentioned unless I've missed any patches that leaves us with the following still left to be fixed:

docbook-utils-native.unpack
dropbear.debug_patch
man-pages.unpack
net-tools.patch
net-tools.unpack
perl.patch
python-native.patch
python-nativesdk.patch
python.patch
sgml-common-native.compile
unfs-server-native.configure
unfs-server-nativesdk.configure
wget.patch

I'd like to help out fixing these as well, perhaps I should start from the
bottom and we can meet in the middle somewhere? I can also help with specific
issues if you need it.
Comment 7 sanil 2012-04-12 04:47:51 UTC
Hi Paul,
Thats fine. We can start from the top of the list.
One more fix from our side for perl package. Please find the details.
Fix Details:
Perl Package do_configure is changing "/perl-5.14.2/patches/h2ph-multiarch.diff" from link to normal file in the process of correcting the paths.
This path correction is not required for links as the original file will be any way modified saperately.
File name modified: 
		meta/recipes-devtools/perl/perl_5.14.2.bb
Test case1: incrementalbuild test "perl" package after forceful execution of "patch" task --> PASS
Test case2: incrementalbuild test "perl" package after forceful execution of "package_write_rpm" task --> PASS

We will send all three patches to the mailing list soon. One round of verification to be done.

So we are left with:
docbook-utils-native.unpack
dropbear.debug_patch
man-pages.unpack
net-tools.patch
net-tools.unpack
python-native.patch
python-nativesdk.patch
python.patch
sgml-common-native.compile
unfs-server-native.configure
unfs-server-nativesdk.configure
wget.patch

(gcc packages are added in 2279 defect)
Comment 8 venkata ramana g 2012-04-12 13:44:44 UTC
Created attachment 461 [details]
Fix for boost.boostconfig and boost.compile failures

Fix for boost.boostconfig and boost.compile failures 
Patch fix description already detailed above.
Please review.

Patch sent to oe-core mailing list.
http://lists.linuxtogo.org/pipermail/openembedded-core/2012-April/020928.html
Comment 9 venkata ramana g 2012-04-12 13:58:10 UTC
Created attachment 462 [details]
Patch for Eglibc package : Re-execution of do_patch task is giving error.

Sent to OE-Core mailing list for review, So please review.
http://lists.linuxtogo.org/pipermail/openembedded-core/2012-April/020927.html
Comment 10 venkata ramana g 2012-04-12 14:03:03 UTC
Created attachment 463 [details]
Perl package : Re-execution of do_patch task is giving error.

Patch sent to oe-core mailing list for review.
Please review the same,
http://lists.linuxtogo.org/pipermail/openembedded-core/2012-April/020930.html
Comment 11 Richard Purdie 2012-04-15 13:02:40 UTC
Patch submitted on mailing list for unfs-server
Comment 12 Richard Purdie 2012-04-15 16:07:17 UTC
Patches also submitted on mailing list for net-tools and man-pages.
Comment 13 sanil 2012-04-16 05:19:01 UTC
to consolidate:
We are left with the below (no patch till now):
docbook-utils-native.unpack
dropbear.debug_patch
python-native.patch
python-nativesdk.patch
python.patch
sgml-common-native.compile
wget.patch
Comment 14 Richard Purdie 2012-04-16 11:00:59 UTC
Patches for all the above submitted on the mailing list.
Comment 15 Paul Eggleton 2012-04-16 16:46:08 UTC
I've sent a completely new patch for the perl re-exec issues that should address the issues with the previous patch:

http://lists.linuxtogo.org/pipermail/openembedded-core/2012-April/021128.html
Comment 16 Richard Purdie 2012-04-17 07:58:14 UTC
Perl fix went into master so all the issues identified should now be fixed as of the commit: http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=b99e2f2f33732713a0288e356d2b084b199f0399
Comment 17 sanil 2012-04-17 10:11:32 UTC
Hi Richard,
Have you considered the patch update from Ramana (sent to OECore mailing list) for perl package for 'do_compile()'. This fix is after Paul's patch.