On Tue, Jan 21, 2014 at 06:41:04PM +0800, Robert Yang wrote: > > Hi Martin, > > I've tested the archiver.bbclass with rm_work.bbclasss again, it works for me, > it seems that you only downloaded the archiver.bbclass was not enough, would > you please try this PULL? It is based on oe-core and on oe-core-contrib now:-) > And if the error occurs, would you please show the configuration and error > logs ? I've tried to enable "everything" to test it properly, so my config looks like this (BTW: it would be nice to show in local.conf.sample what are the default values): # Create source archive for complience with the licenses # Enable all to properly test newer archiver backported from oe-core/master INHERIT_DISTRO += "archiver" ARCHIVER_MODE[src] = "prepatch" ARCHIVER_MODE[diff] = "1" ARCHIVER_MODE[diff-exclude] ?= ".pc autom4te.cache patches" ARCHIVER_MODE[dumpdata] = "1" ARCHIVER_MODE[recipe] = "1" ARCHIVER_MODE[log] = "1" And error in do_patch: NOTE: recipe perf-1.0-r8: task do_patch: Started ERROR: Error executing a python function in /OE/openembedded-core/meta/recipes-kernel/perf/perf.bb: OSError: [Errno 2] No such file or directory: '/OE/tmp-eglibc/sysroots/qemux86/usr/src' ERROR: The stack trace of python calls that resulted in this exception/failure was: ERROR: File "do_ar_prepatch", line 6, in ERROR: ERROR: File "do_ar_prepatch", line 3, in do_ar_prepatch ERROR: ERROR: File "archiver.bbclass", line 17, in create_tarball ERROR: ERROR: The code that was being executed was: ERROR: 0002:def do_ar_prepatch(d): ERROR: 0003: create_tarball(d, d.getVar('S', True), 'prepatch') ERROR: 0004: ERROR: 0005: ERROR: *** 0006:do_ar_prepatch(d) ERROR: 0007: ERROR: [From file: 'do_ar_prepatch', lineno: 6, function: ] ERROR: 0001: ERROR: 0002:def do_ar_prepatch(d): ERROR: *** 0003: create_tarball(d, d.getVar('S', True), 'prepatch') ERROR: 0004: ERROR: 0005: ERROR: 0006:do_ar_prepatch(d) ERROR: 0007: ERROR: [From file: 'do_ar_prepatch', lineno: 3, function: do_ar_prepatch] ERROR: 0013: srcdir = srcdir.rstrip('/') ERROR: 0014: dirname = os.path.dirname(srcdir) ERROR: 0015: basename = os.path.basename(srcdir) ERROR: 0016: olddir = os.getcwd() ERROR: *** 0017: os.chdir(dirname) ERROR: 0018: bb.note("Creating %s" % tarname) ERROR: 0019: if (len(os.listdir(basename))) != 0: ERROR: 0020: tar = tarfile.open(tarname, "w:gz") ERROR: 0021: tar.add(basename) ERROR: [From file: 'archiver.bbclass', lineno: 17, function: create_tarball] ERROR: Function failed: do_ar_prepatch ERROR: Logfile of failure stored in: /OE/tmp-eglibc/work/i586-oe-linux/perf/1.0-r8/temp/log.do_patch.28364 NOTE: recipe perf-1.0-r8: task do_patch: Failed ERROR: Task 20159 (/OE/openembedded-core/meta/recipes-kernel/perf/perf.bb, do_patch) failed with exit code '1' > git://git.openembedded.org/openembedded-core-contrib rbt/archiver > > // Robert > > On 01/18/2014 08:26 PM, Martin Jansa wrote: > > On Thu, Jan 16, 2014 at 05:33:20PM +0800, Robert Yang wrote: > >> > >> > >> On 01/16/2014 05:25 PM, Martin Jansa wrote: > >>> On Thu, Jan 16, 2014 at 10:14:30AM +0800, Robert Yang wrote: > >>>> > >>>> > >>>> On 01/16/2014 12:55 AM, Martin Jansa wrote: > >>>>> On Tue, Jan 14, 2014 at 12:20:14AM +0800, Robert Yang wrote: > >>>>>> * The archive*.bbclass didn't work, and there were a few problems, for > >>>>>> example: > >>>>>> 1) There were a few duplicated code > >>>>>> 2) There was no src_dir.org (or orig), but the diff command still use > >>>>>> it, and it is not easy to fix this issue if we don't change a lot > >>>>>> of the code. > >>>>>> 3) It didn't archive the source for the native or gcc > >>>>>> 4) The work flow is not very well > >>>>>> 5) The "subprocess.call('fakeroot cp xxxx'" should be removed > >>>>>> 6) And others ... > >>>>>> > >>>>>> * So that we have to refactor it, the benefits are: > >>>>>> 1) Fix the problems and make it work well. > >>>>>> 2) Reduce more than 400 lines in total. > >>>>>> 3) Make it easy to use. > >>>>>> > >>>>>> // Robert > >>>>>> > >>>>>> The following changes since commit 1b636173ca88e5ccca1992f9a12367a1189fa674: > >>>>>> > >>>>>> bitbake: toaster: Toaster GUI, generic search, filter and order (2014-01-10 15:20:26 +0000) > >>>>>> > >>>>>> are available in the git repository at: > >>>>>> > >>>>>> git://git.pokylinux.org/poky-contrib rbt/archiver > >>>>>> http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=rbt/archiver > >>>>> > >>>>> Can you send pull-request for oe-core? > >>>>> > >>>> > >>>> Here it is: > >>>> git://git.pokylinux.org/poky-contrib rbt/ar_oe > >>>> http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=rbt/ar_oe > >>> > >>> This still looks like poky-contrib (so it will download whole > >>> poky-contrib when I add it as remote to oe-core repo). > >>> > >> > >> Sorry, I can't create repo on oe-contrib, seems that I lost my key. > > > > That's sad, you should send new one to khem to replace it, before > > someone else finds your old key. > > > >> How about: > >> > >> git fetch git://git.pokylinux.org/poky-contrib rbt/ar_oe > > > > That still fetches whole poky repo I'm not interested in. > > > > So I've downloaded just archiver.bbclass manually and tested it on my > > use-case, I can confirm that it doesn't remove required file anymore, > > but it seems that there is something terribly broken when used in > > combination with rm_work or multimachine builds. > > > > I haven't debugged it yet, but 2nd build (in the same directory) with > > this new archiver included almost every recipe failed in do_patch task. > > > >>>> // Robert > >>>> > >>>>>> Robert Yang (5): > >>>>>> classes/archive*.bbclass: remove archive-*-source.bbclass > >>>>>> archiver.bbclass: refactor it > >>>>>> package_rpm.bbclass: archive the source to srpm package > >>>>>> archiver.bbclass: move a few code to copyleft_compliance.bbclass > >>>>>> local.conf.sample.extended: update for the archiver > >>>>>> > >>>>>> meta-yocto/conf/local.conf.sample.extended | 72 +-- > >>>>>> meta/classes/archive-configured-source.bbclass | 65 --- > >>>>>> meta/classes/archive-original-source.bbclass | 65 --- > >>>>>> meta/classes/archive-patched-source.bbclass | 65 --- > >>>>>> meta/classes/archiver.bbclass | 723 ++++++++----------------- > >>>>>> meta/classes/copyleft_compliance.bbclass | 55 +- > >>>>>> meta/classes/package_rpm.bbclass | 31 +- > >>>>>> 7 files changed, 316 insertions(+), 760 deletions(-) > >>>>>> delete mode 100644 meta/classes/archive-configured-source.bbclass > >>>>>> delete mode 100644 meta/classes/archive-original-source.bbclass > >>>>>> delete mode 100644 meta/classes/archive-patched-source.bbclass > >>>>>> > >>>>>> -- > >>>>>> 1.8.3.1 > >>>>>> > >>>>>> _______________________________________________ > >>>>>> Openembedded-core mailing list > >>>>>> Openembedded-core@lists.openembedded.org > >>>>>> http://lists.openembedded.org/mailman/listinfo/openembedded-core > >>>>> > >>> > > -- Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com