Re: [yocto] Difference of toolchain recipes
Hello Mark, Thanks a lot, this is very helpful for understanding the different recipes of toolchain. Best Regards, Zhenhua > -Original Message- > From: yocto-boun...@yoctoproject.org [mailto:yocto- > boun...@yoctoproject.org] On Behalf Of Mark Hatle > Sent: Friday, December 07, 2012 2:05 AM > To: yocto@yoctoproject.org > Subject: Re: [yocto] Difference of toolchain recipes > > On 12/6/12 4:00 AM, Luo Zhenhua-B19537 wrote: > > Can anybody shed some light, please? > > > > > > Best Regards, > > > > Zhenhua > > > > > >> -Original Message- > >> From: Luo Zhenhua-B19537 > >> Sent: Tuesday, December 04, 2012 11:53 AM > >> To: openembedded-c...@lists.openembedded.org; 'yocto@yoctoproject.org' > >> Subject: Difference of toolchain recipes > >> > >> It is a bit confused for the different recipes of toolchian, can > >> somebody help to explain what's the difference for those recipes? > >> E.g. gcc-cross, gcc-cross-canadian, gcc-cross-initial, > >> gcc-cross-intermediate, gcc- crosssdk, gcc-crosssdk-initial, > >> gcc-crosssdk-intermediate, gcc-runtime, etc. > > gcc-cross-initial - This is the initial compiler needed to bootstrap the > toolchain to build software on the host for the target. (This is a > 'native' > package.) > > gcc-cross-intermediate - This is the second stage of the bootstrap > process to build software on the host for the target. (This is a 'native' > package.) > > gcc-cross - this is the the final stage of the bootstrap process, and > results in the cross compiler to build software on the host for the > target. (This is a 'native' package.) If you are replacing the cross > compiler toolchain with a custom version, this is what you must replace. > > gcc-runtime - these are the runtime libraries, but from the toolchain > bootstrapping process. This results in a 'target' binary. > > gcc-crosssdk-initial/intermediate - stage 1 and 2 of the a cross compiler > to build from the 'host' to the 'sdk'. Often the SDK is not the same > target as the host. (This is a 'native' binary.) > > gcc-crosssdk - this the final stage of the SDK compiler. Again, this is > to build on the host, for the sdk. This is a 'native' binary. > > gcc-cross-canadian - This is the compiler included with the SDK to build > on the SDK machine creating software for the target. This is an > 'nativesdk' package. > > >> Is there any document for those description? > > Not that I know of.. It's one of those things that you kind of need to > know in order to work with it. It likely should be documented somewhere > officially. > > --Mark > > >> > >> > >> Best Regards, > >> > >> Zhenhua > > > > ___ > > yocto mailing list > > yocto@yoctoproject.org > > https://lists.yoctoproject.org/listinfo/yocto > > > > ___ > yocto mailing list > yocto@yoctoproject.org > https://lists.yoctoproject.org/listinfo/yocto ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] FILESEXTRAPATHS needs to be explained *way* better
On Thu, Dec 6, 2012 at 4:16 PM, Robert P. J. Day wrote: > ok, that's just silly (but that could be the 9% quebec beer > talking). if i'm working with just one layer, then this: > > FILESEXTRAPATHS_prepend := "rday" > > works fine: > > FILESPATH="rday/linux-gnueabi:rday/arm:rday/build-linux:rday/pn-netbase:... > > if that fails with more than one layer, then that is, quite simply, > asinine. > I really don't see why you're failing to grasp such a basic concept as a colon separated variable. Do you think you can add something to PATH without adding a colon? -- Christopher Larson ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] FILESEXTRAPATHS needs to be explained *way* better
On Thu, 6 Dec 2012, Chris Larson wrote: > > > On Thu, Dec 6, 2012 at 3:32 PM, Robert P. J. Day > wrote: > On Thu, 6 Dec 2012, Chris Larson wrote: > > > > > > > On Thu, Dec 6, 2012 at 2:59 PM, Robert P. J. Day > > wrote: > > in addition, there is absolutely no need to add a ":" to the > value > > as the processing adds that for you, so the many, many examples > of > > > > FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" > > > > is potentially confusing to folks reading the code. (that > trailing > > ":" doesn't hurt, but it has no value.) > > > > > > This is wrong. You only don't need the leading : if FILESEXTRAPATHS > > was empty to begin with, which is only the case if that is the first > > and only bbappend adding to it. As soon as you get more than one, > > you'll end up with concatenated values and no separator. > > i'm confused, not sure what this means. what is the *proper* usage > of that variable? > > > As I'm pretty sure you've already been told in one of the other 2 > threads about this, it's a colon separated list of paths. If you go > appending to it without a separator, you're going to end up with > something useless. > > layer1/.../foo.bbappend > FILESEXTRAPATHS_prepend = "${THISDIR}/foo" > > layer2/.../foo.bbappend > FILESEXTRAPATHS_prepend = "${THISDIR}/bar" > > resulting FILESEXTRAPATHS: layer1/.../foo/layer2/.../bar ok, that's just silly (but that could be the 9% quebec beer talking). if i'm working with just one layer, then this: FILESEXTRAPATHS_prepend := "rday" works fine: FILESPATH="rday/linux-gnueabi:rday/arm:rday/build-linux:rday/pn-netbase:... if that fails with more than one layer, then that is, quite simply, asinine. rday -- Robert P. J. Day Ottawa, Ontario, CANADA http://crashcourse.ca Twitter: http://twitter.com/rpjday LinkedIn: http://ca.linkedin.com/in/rpjday ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] FILESEXTRAPATHS needs to be explained *way* better
On Thu, Dec 6, 2012 at 3:49 PM, Gary Thomas wrote: > On 2012-12-06 15:32, Robert P. J. Day wrote: > >> On Thu, 6 Dec 2012, Chris Larson wrote: >> >> >>> >>> On Thu, Dec 6, 2012 at 2:59 PM, Robert P. J. Day >>> wrote: >>> in addition, there is absolutely no need to add a ":" to the >>> value >>>as the processing adds that for you, so the many, many examples of >>> >>>FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" >>> >>>is potentially confusing to folks reading the code. (that >>> trailing >>>":" doesn't hurt, but it has no value.) >>> >>> >>> This is wrong. You only don't need the leading : if FILESEXTRAPATHS >>> was empty to begin with, which is only the case if that is the first >>> and only bbappend adding to it. As soon as you get more than one, >>> you'll end up with concatenated values and no separator. >>> >> >>i'm confused, not sure what this means. what is the *proper* usage >> of that variable? >> > > I think Chris means you don't need ":=", you should just use "=" > No, := is required whenever you use THISDIR in a bbappend, unless you *really* mean the path to the recipe itself, which is unlikely. THISDIR evaluates based on FILE, which resolves to the current file being parsed, at the time it's expanded. Bottom line, what you are trying to create is something that looks like > this: > FILESEXTRAPATHS = "some_path:some_other_path:**even_another_path:" > so the ":" at the end of the expression should always be there. Right :) -- Christopher Larson ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] FILESEXTRAPATHS needs to be explained *way* better
On 2012-12-06 15:32, Robert P. J. Day wrote: On Thu, 6 Dec 2012, Chris Larson wrote: On Thu, Dec 6, 2012 at 2:59 PM, Robert P. J. Day wrote: in addition, there is absolutely no need to add a ":" to the value as the processing adds that for you, so the many, many examples of FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" is potentially confusing to folks reading the code. (that trailing ":" doesn't hurt, but it has no value.) This is wrong. You only don't need the leading : if FILESEXTRAPATHS was empty to begin with, which is only the case if that is the first and only bbappend adding to it. As soon as you get more than one, you'll end up with concatenated values and no separator. i'm confused, not sure what this means. what is the *proper* usage of that variable? I think Chris means you don't need ":=", you should just use "=" Bottom line, what you are trying to create is something that looks like this: FILESEXTRAPATHS = "some_path:some_other_path:even_another_path:" so the ":" at the end of the expression should always be there. -- Gary Thomas | Consulting for the MLB Associates |Embedded world ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] FILESEXTRAPATHS needs to be explained *way* better
On Thu, Dec 6, 2012 at 3:32 PM, Robert P. J. Day wrote: > On Thu, 6 Dec 2012, Chris Larson wrote: > > > > > > > On Thu, Dec 6, 2012 at 2:59 PM, Robert P. J. Day > wrote: > > in addition, there is absolutely no need to add a ":" to the > value > > as the processing adds that for you, so the many, many examples of > > > > FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" > > > > is potentially confusing to folks reading the code. (that trailing > > ":" doesn't hurt, but it has no value.) > > > > > > This is wrong. You only don't need the leading : if FILESEXTRAPATHS > > was empty to begin with, which is only the case if that is the first > > and only bbappend adding to it. As soon as you get more than one, > > you'll end up with concatenated values and no separator. > > i'm confused, not sure what this means. what is the *proper* usage > of that variable? As I'm pretty sure you've already been told in one of the other 2 threads about this, it's a colon separated list of paths. If you go appending to it without a separator, you're going to end up with something useless. layer1/.../foo.bbappend FILESEXTRAPATHS_prepend = "${THISDIR}/foo" layer2/.../foo.bbappend FILESEXTRAPATHS_prepend = "${THISDIR}/bar" resulting FILESEXTRAPATHS: layer1/.../foo/layer2/.../bar -- Christopher Larson ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] FILESEXTRAPATHS needs to be explained *way* better
On Thu, 6 Dec 2012, Chris Larson wrote: > > > On Thu, Dec 6, 2012 at 2:59 PM, Robert P. J. Day > wrote: > in addition, there is absolutely no need to add a ":" to the value > as the processing adds that for you, so the many, many examples of > > FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" > > is potentially confusing to folks reading the code. (that trailing > ":" doesn't hurt, but it has no value.) > > > This is wrong. You only don't need the leading : if FILESEXTRAPATHS > was empty to begin with, which is only the case if that is the first > and only bbappend adding to it. As soon as you get more than one, > you'll end up with concatenated values and no separator. i'm confused, not sure what this means. what is the *proper* usage of that variable? rday -- Robert P. J. Day Ottawa, Ontario, CANADA http://crashcourse.ca Twitter: http://twitter.com/rpjday LinkedIn: http://ca.linkedin.com/in/rpjday ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] FILESEXTRAPATHS needs to be explained *way* better
On Thu, Dec 6, 2012 at 2:59 PM, Robert P. J. Day wrote: > in addition, there is absolutely no need to add a ":" to the value > as the processing adds that for you, so the many, many examples of > > FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" > > is potentially confusing to folks reading the code. (that trailing > ":" doesn't hurt, but it has no value.) > This is wrong. You only don't need the leading : if FILESEXTRAPATHS was empty to begin with, which is only the case if that is the first and only bbappend adding to it. As soon as you get more than one, you'll end up with concatenated values and no separator. -- Christopher Larson ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] FILESEXTRAPATHS needs to be explained *way* better
first time digging into FILESPATH and .bbappend files, and i tested the effect of setting something trivial to see what would happen: FILESEXTRAPATHS_prepend := "rday" did this for "netbase" in meta-ti layer, and checked the resulting value of FILESPATH and (nicely formatted so you can read it), i got: FILESPATH="rday/linux-gnueabi rday/arm rday/build-linux rday/pn-netbase rday/beagleboard rday/omap3 rday/armv7a rday/ rday/class-target rday/forcevariable rday/libc-glibc rday/ /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/netbase-5.0/linux-gnueabi /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/netbase-5.0/arm /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/netbase-5.0/build-linux /home/rpjday/OE/dist/layers/oe-core/meta/recipes-core/netbase/netbase-5.0/pn-netbase ... snip ... that is totally *not* what i expected given the explanation of that variable in the current docs (unless i've missed it). obviously, FILESEXTRAPATHS doesn't just add individual directories to FILESPATH -- it processes and adds based on OVERRIDES, which is fine but that's not at all obvious. in addition, there is absolutely no need to add a ":" to the value as the processing adds that for you, so the many, many examples of FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" is potentially confusing to folks reading the code. (that trailing ":" doesn't hurt, but it has no value.) at what point is this variable explained in detail? rday -- Robert P. J. Day Ottawa, Ontario, CANADA http://crashcourse.ca Twitter: http://twitter.com/rpjday LinkedIn: http://ca.linkedin.com/in/rpjday ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] mail list for Xilinx Zynq platform?
On 12/06/2012 04:57 AM, Andreas Schweigstill wrote: Hello! Am Mi, 12/05/2012 19:17, hat Philip Balister geschrieben: On 12/05/2012 05:21 AM, Andreas Schweigstill wrote: meta-zynq/recipes-kernel-linux-zynq contains the following lines: LINUX_VERSION ?= "3.5" LINUX_VERSION_EXTENSION ?= "-xilinx" How can I force Yocto to build kernel 3.5-xilinx? Urg, I'll have to take a look at that. After changing the order of BBLAYERS in build/conf/local.conf to meta, meta-zynq, meta-yocto, meta-yocto-bsp and using Hob to select MACHINE=zynq-zc702, base image=zc702-proto-image everything works fine. Now I get a proper toolchain for Cortex A9 and a kernel named zynq-zc702 3.5.0-14.3-build1-yocto-standard which is properly running on my ZC702 board. Also, you'll need an updated fsbl in the BOOT.BIN file to work with the later kernels. We should probably post one somewhere, although I wish the fsbl license was a little less restrictive. I haven't built a BOOT.BIN file with Yocto based U-Boot yet. Instead I'm using U-Boot from Petalinux 12.9 which is configured to use the QSPI Flash to store its environment. Currently I boot from QSPI Flash, load kernel und DTB files via TFTP and use a root filesystem stored on a SD card. ;-) Thanks for the feedback. Good luck with your evaluation. Let us know if you have anymore questions. Philip Regards, Andreas Schweigstill -- Dipl.-Phys. Andreas Schweigstill Schweigstill IT | Embedded Systems Schauenburgerstraße 116, D-24118 Kiel, Germany Phone: (+49) 431 530354-35, Fax: (+49) 431 530354-36 Mobile: (+49) 171 6921973, Web: http://www.schweigstill.de/ ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] Notes: Yocto Project 1.4 M1 release readiness meeting - Thursday, December 06, 2012 8:30 AM-9:00 AM (UTC-08:00) Pacific Time (US & Canada).
Attendees: Dave, AlexG, LaurentiuS, AlexP, Jessica, TomZ, Richard, Saul, Ross, Nitin, Song Notes: Release criteria review: (please see https://wiki.yoctoproject.org/wiki/Yocto_Project_v1.4_Status#Milestone_1 for details) - M1 does not have high features scheduled, but we have quite some new features integrated (https://wiki.yoctoproject.org/wiki/Yocto_Project_v1.4_Status#Feature.2FTask_Board ). One important improvement we have is for performance of some specific use cases. When we building from scratch, we use the sstate cache. The improvement we integrated in M1 makes the sstate cache use more efficient and we are able to cut the build time in this case in half. - Full pass testing report for RC1 is out in the public mailing list. RC1 has some issues, we have assigned those issues to right owners and they are working on it. The X issue for Beagle Board (3522) will be fixed in M2. There is no show stopper or high issues. And there does not seem to be much value if we can RC2 at this time. - Package update: update/upstreaming is ongoing, package report system is mostly fixed. In M2 we should have a target set and check against the target by the end of M2. Decision: Release RC1 as the M1 release. ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] Bugzilla Status Updates
Hi All, This is just an update to let you know that the Status field of the Yocto Project bugzilla has some new fields to better track our workflow. New values indicated with a *. Status: New Accepted *In Progress Design *In Progress Design Complete *In Progress Implementation *In Progress Review Needinfo WaitForUpstream Resolved The new "In Progress*" fields should be updated by the bug owner as they work through the bug. If you have bugs assigned to you, please take a moment to update their status accordingly. Bugs that remain in the New or Accepted states appear to be languishing and generate some churn during bug review meetings, etc. Finally, if you use saved bugzilla queries, be advised that they may require updating to include the new status values. Thanks, -- Darren Hart Intel Open Source Technology Center Yocto Project - Technical Lead - Linux Kernel ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] [PATCH 0/1] Misc: detect trailing space in the patches
From: Daniel Stone [mailto:dan...@fooishbar.org] Sent: Wednesday, December 05, 2012 9:48 PM To: Martin Jansa Cc: Kamble, Nitin A; yocto@yoctoproject.org Subject: Re: [yocto] [PATCH 0/1] Misc: detect trailing space in the patches Hi, On 6 December 2012 15:23, Martin Jansa mailto:martin.ja...@gmail.com>> wrote: Can you add also detection of mixed whitespace? E.g. tab followed by space in multilinear indentation? Only as warning. Thanks These checks can generate infuriating false positives when your patch modifies upstream code which has trailing or mixed whitespace in either context or removal lines; in this case, removing a line with trailing whitespace and replacing it with one which doesn't would generate a warning. Mixed whitespace is also part of some coding styles, notably the kernel's. Cheers, Daniel This code checks for the trialing whitespace only in the lines added by the patches. The context lines or removed lines are not checked. It is easy to check for mixed whitespace also, but before doing that I would like to know the final decision about it, as I see some objection to it too. Thanks, Nitin ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [linux-yocto] [PATCH 0/1] Add 32-bit support for Rangeley
On 12-12-04 01:11 PM, kishore.k.bo...@intel.com wrote: From: Kishore Bodke Hi, Resending the patch for enabling the 32-bit support for rangeley machine by resuing the existing rangeley branch. Please pull them into linux-yocto-3.4/meta. merged and pushed. Bruce Thanks Kishore. The following changes since commit 6737e890fff2a423fbb022ab1f7f82ef187fd8b1: meta/emenlow: use emgd instead of psb graphics driver (2012-12-03 14:34:45 -0500) are available in the git repository at: git://git.pokylinux.org/linux-yocto-2.6.37-contrib kishore/rangeley32 http://git.pokylinux.org/cgit.cgi/linux-yocto-2.6.37-contrib/log/?h=kishore/rangeley32 Kishore Bodke (1): rangeley: Add 32-bit support for Rangeley .../bsp/rangeley/rangeley32-preempt-rt.scc | 17 + .../bsp/rangeley/rangeley32-standard.scc | 16 + meta/cfg/kernel-cache/bsp/rangeley/rangeley32.scc | 25 3 files changed, 58 insertions(+) create mode 100644 meta/cfg/kernel-cache/bsp/rangeley/rangeley32-preempt-rt.scc create mode 100644 meta/cfg/kernel-cache/bsp/rangeley/rangeley32-standard.scc create mode 100644 meta/cfg/kernel-cache/bsp/rangeley/rangeley32.scc ___ linux-yocto mailing list linux-yo...@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto
Re: [yocto] Difference of toolchain recipes
On 12/6/12 4:00 AM, Luo Zhenhua-B19537 wrote: Can anybody shed some light, please? Best Regards, Zhenhua -Original Message- From: Luo Zhenhua-B19537 Sent: Tuesday, December 04, 2012 11:53 AM To: openembedded-c...@lists.openembedded.org; 'yocto@yoctoproject.org' Subject: Difference of toolchain recipes It is a bit confused for the different recipes of toolchian, can somebody help to explain what's the difference for those recipes? E.g. gcc-cross, gcc-cross-canadian, gcc-cross-initial, gcc-cross-intermediate, gcc- crosssdk, gcc-crosssdk-initial, gcc-crosssdk-intermediate, gcc-runtime, etc. gcc-cross-initial - This is the initial compiler needed to bootstrap the toolchain to build software on the host for the target. (This is a 'native' package.) gcc-cross-intermediate - This is the second stage of the bootstrap process to build software on the host for the target. (This is a 'native' package.) gcc-cross - this is the the final stage of the bootstrap process, and results in the cross compiler to build software on the host for the target. (This is a 'native' package.) If you are replacing the cross compiler toolchain with a custom version, this is what you must replace. gcc-runtime - these are the runtime libraries, but from the toolchain bootstrapping process. This results in a 'target' binary. gcc-crosssdk-initial/intermediate - stage 1 and 2 of the a cross compiler to build from the 'host' to the 'sdk'. Often the SDK is not the same target as the host. (This is a 'native' binary.) gcc-crosssdk - this the final stage of the SDK compiler. Again, this is to build on the host, for the sdk. This is a 'native' binary. gcc-cross-canadian - This is the compiler included with the SDK to build on the SDK machine creating software for the target. This is an 'nativesdk' package. Is there any document for those description? Not that I know of.. It's one of those things that you kind of need to know in order to work with it. It likely should be documented somewhere officially. --Mark Best Regards, Zhenhua ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] mail list for Xilinx Zynq platform?
Dear Elvis! Am Do, 12/06/2012 16:42, hat Elvis Dowson geschrieben: > If you want to build your own version of BOOT.bin, its quite simple. Thank you very much for your instructions regarding the creation of my own BOOT.BIN file. Currently I am only evaluating the different Linux build systems resp. "distributions" being quite happy that I don't have to switch U-Boot together with the Linux/rootfs. In the final project we probably won't use U-Boot at all but instead use a proprietary boot mechanism. Regards, Andreas Schweigstill -- Dipl.-Phys. Andreas Schweigstill Schweigstill IT | Embedded Systems Schauenburgerstraße 116, D-24118 Kiel, Germany Phone: (+49) 431 530354-35, Fax: (+49) 431 530354-36 Mobile: (+49) 171 6921973, Web: http://www.schweigstill.de/ ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [RFCv3 7/7] (TEMPORARY): Use origin/timo branch of yocto docs project
From: Timo Mueller As the eclipse generation is currently not part of the master the generation is always using the origin/timo branch to generate the eclipse help. This patch is added for testing purposes only. DO NOT MERGE THIS PATCH UPSTREAM - ONLY APPLY LOCALLY FOR TESTING --- scripts/generate_doc.sh |5 + 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/scripts/generate_doc.sh b/scripts/generate_doc.sh index 7d4911f..f5ae55e 100755 --- a/scripts/generate_doc.sh +++ b/scripts/generate_doc.sh @@ -48,6 +48,11 @@ else fi PLUGIN_FOLDER=$2 +# +# TODO remove this section if eclipse generation is merged into master +REFERENCE=origin/timo +# + TOP=`pwd` DOC_DIR=${PLUGIN_FOLDER}/docs -- 1.7.7.6 ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [RFCv3 6/7] scripts/build.sh: Add documentation generation to the default build
From: Timo Mueller When building the plugin the matching documentation is automatically generated and added to the user.doc plugin prior to the plugin build. --- scripts/build.sh |7 +++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/scripts/build.sh b/scripts/build.sh index de81ce3..3597136 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -108,6 +108,13 @@ git checkout origin/${BRANCH} || fail $? "git checkout origin/${BRANCH}" git checkout ${TAG} || fail $? "git checkout ${TAG}" cd ${TOP} +# generate and add documentation +if [ "${TAG}" = "HEAD" ]; then + ${GIT_DIR}/scripts/generate_doc.sh ${BRANCH} ${GIT_DIR} +else + ${GIT_DIR}/scripts/generate_doc.sh -t ${TAG} ${GIT_DIR} +fi + #build java -jar ${LAUNCHER} -application org.eclipse.ant.core.antRunner -buildfile ${BUILDFILE} -DbaseLocation=${ECLIPSE_BASE} -Dbuilder=${GIT_DIR}/features/org.yocto.bc.headless.build -DbuildDirectory=${BUILD_DIR} -DotherSrcDirectory=${GIT_DIR} -DbuildId=${RELEASE} || fail $? "normal build" java -jar ${LAUNCHER} -application org.eclipse.ant.core.antRunner -buildfile ${BUILDFILE} -DbaseLocation=${ECLIPSE_BASE} -Dbuilder=${GIT_DIR}/features/org.yocto.sdk.headless.build -DbuildDirectory=${BUILD_DIR} -DotherSrcDirectory=${GIT_DIR} -DbuildId=${RELEASE} || fail $? "normal build" -- 1.7.7.6 ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [RFCv3 5/7] scripts/generat-doc.sh: Copy generated eclipse help into the user.doc plugin
From: Timo Mueller After successful generation the eclipse help files and the table of contents of each manual are copied to the user.doc plugin. --- scripts/generate_doc.sh |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/scripts/generate_doc.sh b/scripts/generate_doc.sh index faab9ef..7d4911f 100755 --- a/scripts/generate_doc.sh +++ b/scripts/generate_doc.sh @@ -77,6 +77,8 @@ fi for DOC in ${DOCS}; do make DOC=${DOC} eclipse; + cp -rf ${DOC}/eclipse/html/* ${DOC_HTML_DIR} + cp -f ${DOC}/eclipse/${DOC}-toc.xml ${DOC_HTML_DIR} done sed -e "s/@.*@/${COMMIT_ID}/" < ${DOC_PLUGIN_DIR}/about.html.in > ${DOC_PLUGIN_DIR}/about.html -- 1.7.7.6 ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [RFCv3 2/7] plugins/sdk.ide.doc.user: Add about.html to prepare addition of yocto documentation
From: Timo Mueller As documentation is licensed under CCA-SA 2.0 UK and the plugin itself is licensed under EPL v1.0 an about file needs to be added to the plugin identifying the third party content. --- plugins/org.yocto.sdk.ide.doc.user/about.html.in | 166 .../org.yocto.sdk.ide.doc.user/build.properties|6 +- 2 files changed, 170 insertions(+), 2 deletions(-) create mode 100644 plugins/org.yocto.sdk.ide.doc.user/about.html.in diff --git a/plugins/org.yocto.sdk.ide.doc.user/about.html.in b/plugins/org.yocto.sdk.ide.doc.user/about.html.in new file mode 100644 index 000..c009f77 --- /dev/null +++ b/plugins/org.yocto.sdk.ide.doc.user/about.html.in @@ -0,0 +1,166 @@ +http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";> +http://www.w3.org/1999/xhtml";> + + +About + + + About This Content + + + December, 2012 + + License + + + Copyright (c) 2010 Intel, Inc. and others. + All rights reserved. This program and the accompanying materials + are made available under the terms of the Eclipse Public License v1.0 + which accompanies this distribution, and is available at + http://www.eclipse.org/legal/epl-v10.html";> + http://www.eclipse.org/legal/epl-v10.html + + + + Third Party Content + The Content includes items that have been sourced from the Yocto project + as set out below. If you did not receive this Content directly + from the Linux Foundation, the following is provided for + informational purposes only, and you should look to the + Redistributor's license for terms and conditions of use. + + + Yocto Project Quick Start + + + + This short document lets you get started with the Yocto Project + quickly and start building an image. + + + License: + http://creativecommons.org/licenses/by-sa/2.0/uk/legalcode";> + http://creativecommons.org/licenses/by-sa/2.0/uk/legalcode + + + Source Code Repository: + + git://git.yoctoproject.org/yocto-docs + + + Commit: @COMMIT_ID-yocto-project-qs@ + + + + The Yocto Project Application Developer's Guide: + + + + This manual shows you how to setup and use the Application Development + Toolkit (ADT) and stand-alone cross-development toolchains so you can + develop user-space applications. + + + License: + http://creativecommons.org/licenses/by-sa/2.0/uk/legalcode";> + http://creativecommons.org/licenses/by-sa/2.0/uk/legalcode + + + Source Code Repository: + + git://git.yoctoproject.org/yocto-docs + + + Commit: @COMMIT_ID-adt-manual@ + + + + The Yocto Project Development Manual: + + + + This manual describes how to use the Yocto Project to develop + embedded Linux images and user-space applications to run on + targeted devices. + + + License: + http://creativecommons.org/licenses/by-sa/2.0/uk/legalcode";> + http://creativecommons.org/licenses/by-sa/2.0/uk/legalcode + + + Source Code Repository: + + git://git.yoctoproject.org/yocto-docs + + + Commit: @COMMIT_ID-dev-manual@ + + + + The Yocto Project Reference Manual: + + + + This manual is the complete reference guide to the Poky component. + It also contains a chapter on Board Support Package (BSP) development. + + + License: + http://creativecommons.org/licenses/by-sa/2.0/uk/legalcode";> + http://creati
[yocto] [RFCv3 3/7] scripts/generate_doc.sh: Add script to handle eclipse help generation
From: Timo Mueller This script will checkout the yocto-docs project containing the official yocto documentation. After successful checkout the eclipse help is generated and the about.html file of the doc.user plugin is created. --- scripts/generate_doc.sh | 84 +++ 1 files changed, 84 insertions(+), 0 deletions(-) create mode 100755 scripts/generate_doc.sh diff --git a/scripts/generate_doc.sh b/scripts/generate_doc.sh new file mode 100755 index 000..faab9ef --- /dev/null +++ b/scripts/generate_doc.sh @@ -0,0 +1,84 @@ +#!/bin/sh + +help() +{ + echo "Generate and add eclipse help from yocto's documentation" + echo "Usage: $0 BRANCH_NAME PLUGIN_FOLDER" + echo " $0 -t TAG_NAME PLUGIN_FOLDER" + echo "" + echo "Options:" + echo "-h - display this help and exit" + echo "-t TAG_NAME - tag to build the documentation upon" + echo "BRANCH_NAME - branch to build the documentation upon" + echo "PLUGIN_FOLDER - root folder of the eclipse-poky project" + exit 1 +} + +fail () +{ + local retval=$1 + shift $1 + echo "[Fail $retval]: $*" + echo "BUILD_TOP=${BUILD_TOP}" + cd ${TOP} + exit ${retval} +} + +CHECKOUT_TAG=0 +while getopts ":ht" opt; do + case $opt in + h) + help + ;; + t) + CHECKOUT_TAG=1 + ;; + esac +done +shift $(($OPTIND - 1)) + +if [ $# -ne 2 ]; then + help +fi + +if [ $CHECKOUT_TAG -eq 0 ]; then + REFERENCE=origin/$1 +else + REFERENCE=$1 +fi +PLUGIN_FOLDER=$2 + +TOP=`pwd` + +DOC_DIR=${PLUGIN_FOLDER}/docs +rm -rf ${DOC_DIR} +DOC_PLUGIN_DIR=${PLUGIN_FOLDER}/plugins/org.yocto.sdk.ide.doc.user +DOC_HTML_DIR=${DOC_PLUGIN_DIR}/html/ + +# git clone +DOC_GIT=git://git.yoctoproject.org/yocto-docs.git +git clone ${DOC_GIT} ${DOC_DIR} || fail $? "git clone ${DOC_GIT}" +cd ${DOC_DIR} +git checkout ${REFERENCE} || fail $? "git checkout ${REFERENCE}" +COMMIT_ID=`git rev-parse HEAD` + +# build and copy +DOCS="yocto-project-qs adt-manual kernel-manual \ + bsp-guide poky-ref-manual dev-manual" + +cd documentation +ECLIPSE_TARGET_AVAILABLE=`make -q eclipse &> /dev/null; echo $?` +if [ ${ECLIPSE_TARGET_AVAILABLE} -ne 1 ]; then + echo "WARNING:" + echo "This version does not support generating eclipse help" + echo "Documentation will not be available in eclipse" + exit 1 +fi + +for DOC in ${DOCS}; do + make DOC=${DOC} eclipse; +done + +sed -e "s/@.*@/${COMMIT_ID}/" < ${DOC_PLUGIN_DIR}/about.html.in > ${DOC_PLUGIN_DIR}/about.html + +cd ${TOP} -- 1.7.7.6 ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [RFCv3 4/7] plugins/sdk.ide.doc.user: Add yocto documentation to the table of contents
From: Timo Mueller The separate yocto manuals are added to the table of contents to prepare their inclusion into the plugin. --- plugins/org.yocto.sdk.ide.doc.user/plugin.xml | 24 plugins/org.yocto.sdk.ide.doc.user/toc.xml| 18 ++ 2 files changed, 42 insertions(+), 0 deletions(-) diff --git a/plugins/org.yocto.sdk.ide.doc.user/plugin.xml b/plugins/org.yocto.sdk.ide.doc.user/plugin.xml index 59ae9d1..16ac67e 100644 --- a/plugins/org.yocto.sdk.ide.doc.user/plugin.xml +++ b/plugins/org.yocto.sdk.ide.doc.user/plugin.xml @@ -16,5 +16,29 @@ file="toc.xml" primary="true"> + + + + + + + + + + + + diff --git a/plugins/org.yocto.sdk.ide.doc.user/toc.xml b/plugins/org.yocto.sdk.ide.doc.user/toc.xml index e110a54..b5ebc43 100644 --- a/plugins/org.yocto.sdk.ide.doc.user/toc.xml +++ b/plugins/org.yocto.sdk.ide.doc.user/toc.xml @@ -1,3 +1,21 @@ + + + + + + + + + + + + + + + + + + -- 1.7.7.6 ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [RFCv3 0/7][eclipse-poky] Integrate yocto documentation into eclipse
From: Timo Mueller Hi, since the last proposal some things have changed: 1. Eclipse help generation is now part of the yocto-docs project (currently available in the origin/timo branch) 2. We agreed that the plugin should be licensed under the EPL v1.0 instead of having a separate documentation plugin licensed under the CCA-SA 2.0 UK. The last patch set was adding generated eclipse help files (html) to the repository. One major change in this patch series is that I extended the plugin build system to integrate the generation into the build process. Thus keeping the eclipse help and the official documentation in sync is now automated. Also the eclipse help is now part of the user.doc plugin and no longer contained in a separate plugin/feature. Rational from the original patch: the documentation of the yocto project can currently be viewed online or as a separate pdf. When using the eclipse ide to develop software on base of a yocto sysroot and toolchain it would be convenient to access the relevant parts of the documentation from within the ide. I have intergrated this documentation in the ide and it can now be accessed through the eclipse help center (Help -> Help Contents). Best regards Timo Timo Mueller (7): plugins/sdk.ide.doc.user: Add empty eclipse help plugins/sdk.ide.doc.user: Add about.html to prepare addition of yocto documentation scripts/generate_doc.sh: Add script to handle eclipse help generation plugins/sdk.ide.doc.user: Add yocto documentation to the table of contents scripts/generat-doc.sh: Copy generated eclipse help into the user.doc plugin scripts/build.sh: Add documentation generation to the default build (TEMPORARY): Use origin/timo branch of yocto docs project .../META-INF/MANIFEST.MF |3 +- plugins/org.yocto.sdk.ide.doc.user/about.html.in | 166 .../org.yocto.sdk.ide.doc.user/build.properties|9 +- plugins/org.yocto.sdk.ide.doc.user/html/book.css |1 + plugins/org.yocto.sdk.ide.doc.user/plugin.xml | 31 plugins/org.yocto.sdk.ide.doc.user/toc.xml | 21 +++ scripts/build.sh |7 + scripts/generate_doc.sh| 91 +++ 8 files changed, 326 insertions(+), 3 deletions(-) create mode 100644 plugins/org.yocto.sdk.ide.doc.user/about.html.in create mode 100644 plugins/org.yocto.sdk.ide.doc.user/html/book.css create mode 100644 plugins/org.yocto.sdk.ide.doc.user/toc.xml create mode 100755 scripts/generate_doc.sh -- 1.7.7.6 ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [RFCv3 1/7] plugins/sdk.ide.doc.user: Add empty eclipse help
From: Timo Mueller Adds yocto specific eclipse help to the plugin. The help is currently empty but will contain the official yocto documentation later. --- .../META-INF/MANIFEST.MF |3 ++- .../org.yocto.sdk.ide.doc.user/build.properties|7 +-- plugins/org.yocto.sdk.ide.doc.user/html/book.css |1 + plugins/org.yocto.sdk.ide.doc.user/plugin.xml |7 +++ plugins/org.yocto.sdk.ide.doc.user/toc.xml |3 +++ 5 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 plugins/org.yocto.sdk.ide.doc.user/html/book.css create mode 100644 plugins/org.yocto.sdk.ide.doc.user/toc.xml diff --git a/plugins/org.yocto.sdk.ide.doc.user/META-INF/MANIFEST.MF b/plugins/org.yocto.sdk.ide.doc.user/META-INF/MANIFEST.MF index 87079ce..a93601e 100644 --- a/plugins/org.yocto.sdk.ide.doc.user/META-INF/MANIFEST.MF +++ b/plugins/org.yocto.sdk.ide.doc.user/META-INF/MANIFEST.MF @@ -5,4 +5,5 @@ Bundle-SymbolicName: org.yocto.sdk.ide.doc.user;singleton:=true Bundle-Version: 1.2.0.qualifier Bundle-Vendor: %Bundle-Vendor Bundle-RequiredExecutionEnvironment: JavaSE-1.6 -Require-Bundle: org.eclipse.ui.cheatsheets +Require-Bundle: org.eclipse.ui.cheatsheets, + org.eclipse.help diff --git a/plugins/org.yocto.sdk.ide.doc.user/build.properties b/plugins/org.yocto.sdk.ide.doc.user/build.properties index caf850b..6d00e58 100644 --- a/plugins/org.yocto.sdk.ide.doc.user/build.properties +++ b/plugins/org.yocto.sdk.ide.doc.user/build.properties @@ -2,5 +2,8 @@ bin.includes = plugin.xml,\ .,\ META-INF/,\ OSGI-INF/,\ - cheatsheets/ -src.includes = cheatsheets/ + cheatsheets/,\ + html/,\ + toc.xml +src.includes = cheatsheets/,\ + html/ diff --git a/plugins/org.yocto.sdk.ide.doc.user/html/book.css b/plugins/org.yocto.sdk.ide.doc.user/html/book.css new file mode 100644 index 000..e248f5a --- /dev/null +++ b/plugins/org.yocto.sdk.ide.doc.user/html/book.css @@ -0,0 +1 @@ +@import "PLUGINS_ROOT/PRODUCT_PLUGIN/book.css"; diff --git a/plugins/org.yocto.sdk.ide.doc.user/plugin.xml b/plugins/org.yocto.sdk.ide.doc.user/plugin.xml index 24c539d..59ae9d1 100644 --- a/plugins/org.yocto.sdk.ide.doc.user/plugin.xml +++ b/plugins/org.yocto.sdk.ide.doc.user/plugin.xml @@ -10,4 +10,11 @@ name="%cheatsheet.name"> + + + + diff --git a/plugins/org.yocto.sdk.ide.doc.user/toc.xml b/plugins/org.yocto.sdk.ide.doc.user/toc.xml new file mode 100644 index 000..e110a54 --- /dev/null +++ b/plugins/org.yocto.sdk.ide.doc.user/toc.xml @@ -0,0 +1,3 @@ + + + -- 1.7.7.6 ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] mail list for Xilinx Zynq platform?
Hi Andreas, On Dec 6, 2012, at 4:57 PM, Andreas Schweigstill wrote: > After changing the order of BBLAYERS in build/conf/local.conf to meta, > meta-zynq, > meta-yocto, meta-yocto-bsp and using Hob to select MACHINE=zynq-zc702, > base image=zc702-proto-image everything works fine. Now I get a proper > toolchain > for Cortex A9 and a kernel named zynq-zc702 3.5.0-14.3-build1-yocto-standard > which is properly running on my ZC702 board. I don't add meta-yocto-bsp to my bblayers configuration. > I haven't built a BOOT.BIN file with Yocto based U-Boot yet. Instead I'm using > U-Boot from Petalinux 12.9 which is configured to use the QSPI Flash to store > its > environment. > > Currently I boot from QSPI Flash, load kernel und DTB files via TFTP and use a > root filesystem stored on a SD card. ;-) If you want to build your own version of BOOT.bin, its quite simple. Just take the u-boot.elf file, and use SDK to create a simple zynq_fsbl project. From that create the boot image, using the SDK, and add the system.bit, zynq_fsbl.elf and u-boot.elf binaries. Rename the produce binary to BOOT.bin, and you're good to go. You can find more information of the boot image creation process on section 3.5, page 29, of the UG821 - Zynq-7000 EPP Software Developers Guide v3.0. >From within SDK, it's pretty straightforward, and it will automatically create >the bif file after you've specified all the binaries, and create the bootable image. Best regards, Elvis Dowson ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] [PATCH] Fix incompatibility with jre1.6 support for typed HashMap
Hi Jessica, There seems to be a bit of a mix-up on the new branch in the order of the patches were applied. Also, some files modified under Linux have CRLF ending instead of CR. Can you please rebase the branch (the new one or the old one) to commit ec4fcf7b478f59e190d9b9fe9b56e44971c4f66c, and then apply the set of 8 patches I resent to the mailing list ? Bare in mind that the patch before last (that converts from CRLF to CR) will not apply unless applied with option --keep-cr. Thanks, Ioana -Original Message- From: Zhang, Jessica Sent: Thursday, December 06, 2012 1:12 AM To: Grigoropol, IoanaX; yocto@yoctoproject.org Subject: RE: [yocto] [PATCH] Fix incompatibility with jre1.6 support for typed HashMap Hi Ioana, None of your patches of today apply so there seems to be some rebase issue. Also, I've added headless build support changes for windows BC plugin, so can you rebase against jzhang/windows-build and resubmit the patch series? Thanks, Jessica -Original Message- From: yocto-boun...@yoctoproject.org [mailto:yocto-boun...@yoctoproject.org] On Behalf Of Ioana Grigoropol Sent: Wednesday, December 05, 2012 2:41 AM To: yocto@yoctoproject.org Subject: [yocto] [PATCH] Fix incompatibility with jre1.6 support for typed HashMap Signed-off-by: Ioana Grigoropol --- .../remote/utils/YoctoHostShellProcessAdapter.java | 18 -- 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/YoctoHostShellProcessAdapter.java b/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/YoctoHostShellProcessAdapter.java index 9ab43cf..2dba0a6 100644 --- a/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/YoctoHostShellProcessAdapter.java +++ b/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/YoctoHostShe +++ llProcessAdapter.java @@ -34,6 +34,7 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter { private Semaphore sem; + public YoctoHostShellProcessAdapter(IHostShell hostShell, ProcessStreamBuffer processStreamBuffer, CommandResponseHandler commandResponseHandler) throws IOException { super(hostShell); this.processStreamBuffer = processStreamBuffer; @@ -41,7 +42,7 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter { this.calculator = new GitCalculatePercentage(); this.sem = new Semaphore(1); this.command = ""; - this.commandMonitors = new HashMap<>(); + this.commandMonitors = new HashMap(); } public String getLastCommand() { @@ -50,7 +51,7 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter { public synchronized void setLastCommand(String lastCommand) { try { - // there are still some processes that might take a long time and if we do not wait for them, + // there are still some processes that might take a long time and if +we do not wait for them, // then the semaphore will not be released, because an interrupted exception will occur Thread.sleep(2000); isFinished = false; @@ -70,6 +71,7 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter { private class GitCalculatePercentage implements ICalculatePercentage { final Pattern pattern = Pattern.compile("^Receiving objects:\\s*(\\d+)%.*"); + @Override public float calWorkloadDone(String info) throws IllegalArgumentException { Matcher m = pattern.matcher(info.trim()); if(m.matches()) { @@ -88,13 +90,16 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter { } private void updateMonitor(final int work){ + Display.getDefault().asyncExec(new Runnable() { + @Override public void run() { if (getMonitor() != null) { getMonitor().worked(work); } } + }); } @@ -124,7 +129,7 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter { updateMonitor(delta); reportedWorkload += delta; } - + if (reportedWorkload == RemoteHelper.TOTALWORKLOAD) doneMonitor(); } @@ -152,8 +157,9 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter { continue; } setCommandPrompt(value); +
[yocto] [PATCH 8/8] Validate Bitbake Commander project when switching between new repo and existing one
Signed-off-by: Ioana Grigoropol --- .../yocto/bc/ui/wizards/FiniteStateWizardPage.java |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/FiniteStateWizardPage.java b/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/FiniteStateWizardPage.java index 40696d3..2ef150a 100644 --- a/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/FiniteStateWizardPage.java +++ b/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/FiniteStateWizardPage.java @@ -106,7 +106,7 @@ public abstract class FiniteStateWizardPage extends WizardPage { * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent) */ public void widgetSelected(SelectionEvent e) { -//validate(); +validate(); } /* -- 1.7.9.5 ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [PATCH 7/8] convert CRLF line terminators to CR only
--- .../org/yocto/bc/ui/wizards/FiniteStateWizard.java | 112 +++ .../yocto/bc/ui/wizards/FiniteStateWizardPage.java | 320 ++-- 2 files changed, 216 insertions(+), 216 deletions(-) diff --git a/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/FiniteStateWizard.java b/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/FiniteStateWizard.java index 6cd87be..795f7bd 100644 --- a/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/FiniteStateWizard.java +++ b/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/FiniteStateWizard.java @@ -1,56 +1,56 @@ -package org.yocto.bc.ui.wizards; -import java.util.Map; - -import org.eclipse.jface.wizard.Wizard; -import org.eclipse.swt.widgets.Composite; - - - -public abstract class FiniteStateWizard extends Wizard{ -private boolean finishable = false; -private boolean canFinish = false; - -public FiniteStateWizard() { -} - -public abstract boolean performFinish(); - -/** - * @return Returns if the wizard is finishable in its current state. - */ -public boolean isFinishable() { -return finishable; -} -/** - * @param finishable Change the finish state of the wizard. - */ -public void setFinishable(boolean finishable) { -this.finishable = finishable; -} - -/* (non-Javadoc) - * @see org.eclipse.jface.wizard.IWizard#createPageControls(org.eclipse.swt.widgets.Composite) - */ -public void createPageControls(Composite pageContainer) { -super.createPageControls(pageContainer); -} - -/* - * (non-Javadoc) Method declared on IWizard. - */ -public boolean canFinish() { - if (canFinish) -return true; - return super.canFinish(); -} - -public void setCanFinish(boolean canFinish) { - this.canFinish = canFinish; -} - -/** - * Retrive the model object from the wizard. - * @return - */ -public abstract Map getModel(); -} +package org.yocto.bc.ui.wizards; +import java.util.Map; + +import org.eclipse.jface.wizard.Wizard; +import org.eclipse.swt.widgets.Composite; + + + +public abstract class FiniteStateWizard extends Wizard{ +private boolean finishable = false; +private boolean canFinish = false; + +public FiniteStateWizard() { +} + +public abstract boolean performFinish(); + +/** + * @return Returns if the wizard is finishable in its current state. + */ +public boolean isFinishable() { +return finishable; +} +/** + * @param finishable Change the finish state of the wizard. + */ +public void setFinishable(boolean finishable) { +this.finishable = finishable; +} + +/* (non-Javadoc) + * @see org.eclipse.jface.wizard.IWizard#createPageControls(org.eclipse.swt.widgets.Composite) + */ +public void createPageControls(Composite pageContainer) { +super.createPageControls(pageContainer); +} + +/* + * (non-Javadoc) Method declared on IWizard. + */ +public boolean canFinish() { + if (canFinish) +return true; + return super.canFinish(); +} + +public void setCanFinish(boolean canFinish) { + this.canFinish = canFinish; +} + +/** + * Retrive the model object from the wizard. + * @return + */ +public abstract Map getModel(); +} diff --git a/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/FiniteStateWizardPage.java b/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/FiniteStateWizardPage.java index 795a9c0..40696d3 100644 --- a/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/FiniteStateWizardPage.java +++ b/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/FiniteStateWizardPage.java @@ -1,160 +1,160 @@ -package org.yocto.bc.ui.wizards; -import java.util.Map; - -import org.eclipse.jface.viewers.ISelectionChangedListener; -import org.eclipse.jface.viewers.SelectionChangedEvent; -import org.eclipse.jface.wizard.WizardPage; -import org.eclipse.swt.events.FocusEvent; -import org.eclipse.swt.events.FocusListener; -import org.eclipse.swt.events.ModifyEvent; -import org.eclipse.swt.events.ModifyListener; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.events.SelectionListener; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Event; -import org.eclipse.swt.widgets.Listener; - -public abstract class FiniteStateWizardPage extends WizardPage { -protected Map model = null; -protected FiniteStateWizard wizard = null; -private static boolean previousState = false; -/** - * @param pageName - */ -protected FiniteStateWizardPage(String name, Map model) { -super(name); -this.model = model; -this.setPageComplete(false); -} - -/* - * (non-Javadoc) - * - * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composi
[yocto] [PATCH 6/8] Fix synchronous waiting for command prompt in Linux & connection lost when restarting
- when waiting for an command to finish running, we wait to receive a command prompt using the syntax user@hostendChar. This pattern is not always encountered on local or remote connection from linux to linux. Instead echo some terminator value after each command and wait for recieve the value. - when working on a Linux machine and creating a project using the Local connection, after a restart, the RSE registry fails to find the project's connection using its URI because there is no host set. Manually set the current connection to Localhost Signed-off-by: Ioana Grigoropol --- .../src/org/yocto/bc/bitbake/BBSession.java|2 + .../src/org/yocto/bc/bitbake/ShellSession.java | 24 ++ .../yocto/bc/remote/utils/ProcessStreamBuffer.java | 14 ++-- .../org/yocto/bc/remote/utils/RemoteHelper.java| 14 ++-- .../remote/utils/YoctoHostShellProcessAdapter.java | 28 +-- .../src/org/yocto/bc/ui/Activator.java | 79 ++-- .../src/org/yocto/bc/ui/model/ProjectInfo.java |4 + .../bc/ui/wizards/NewBitBakeFileRecipeWizard.java |7 +- .../ui/wizards/NewBitBakeFileRecipeWizardPage.java | 15 ++-- 9 files changed, 60 insertions(+), 127 deletions(-) diff --git a/plugins/org.yocto.bc.ui/src/org/yocto/bc/bitbake/BBSession.java b/plugins/org.yocto.bc.ui/src/org/yocto/bc/bitbake/BBSession.java index c5354a4..3aa4efe 100644 --- a/plugins/org.yocto.bc.ui/src/org/yocto/bc/bitbake/BBSession.java +++ b/plugins/org.yocto.bc.ui/src/org/yocto/bc/bitbake/BBSession.java @@ -439,6 +439,8 @@ public class BBSession implements IBBSessionListener, IModelElement, Map { } protected void parse(String content, Map outMap) throws Exception { + if (content == null) + return; BufferedReader reader = new BufferedReader(new StringReader(content)); String line; boolean inLine = false; diff --git a/plugins/org.yocto.bc.ui/src/org/yocto/bc/bitbake/ShellSession.java b/plugins/org.yocto.bc.ui/src/org/yocto/bc/bitbake/ShellSession.java index f143bed..c127c25 100644 --- a/plugins/org.yocto.bc.ui/src/org/yocto/bc/bitbake/ShellSession.java +++ b/plugins/org.yocto.bc.ui/src/org/yocto/bc/bitbake/ShellSession.java @@ -81,24 +81,13 @@ public class ShellSession { this.projectInfo = pInfo; this.root = root; this.initCmd = initCmd; -// if (out == null) { -// this.out = new NullWriter(); -// } else { -// this.out = out; -// } -// if (shellType == SHELL_TYPE_SH) { -// shellPath = "/bin/sh"; -// } -// shellPath = "/bin/bash"; - initializeShell(new NullProgressMonitor()); } private void initializeShell(IProgressMonitor monitor) throws IOException { try { - IHost connection = RemoteHelper.getRemoteConnectionByName(projectInfo.getConnection().getName()); - RemoteHelper.runCommandRemote(connection, new YoctoCommand("source " + initCmd, root.getAbsolutePath(), "")); - RemoteHelper.runCommandRemote(connection, new YoctoCommand(exportCmd, root.getAbsolutePath(), "")); + RemoteHelper.runCommandRemote(projectInfo.getConnection(), new YoctoCommand("source " + initCmd, root.getAbsolutePath(), "")); + RemoteHelper.runCommandRemote(projectInfo.getConnection(), new YoctoCommand(exportCmd, root.getAbsolutePath(), "")); } catch (Exception e) { e.printStackTrace(); } @@ -113,9 +102,12 @@ public class ShellSession { public String execute(String command, boolean hasErrors) throws IOException { try { - IHost connection = RemoteHelper.getRemoteConnectionByName(projectInfo.getConnection().getName()); - hasErrors = RemoteHelper.runCommandRemote(connection, new YoctoCommand(command, root.getAbsolutePath() + "/build/", "")); - return RemoteHelper.getProcessBuffer(connection).getMergedOutputLines(); + if (projectInfo.getConnection() != null) { + IHost connection = RemoteHelper.getRemoteConnectionByName(projectInfo.getConnection().getName()); + hasErrors = RemoteHelper.runCommandRemote(connection, new YoctoCommand(command, root.getAbsolutePath() + "/build/", "")); + return RemoteHelper.getProcessBuffer(connection).getMergedOutputLines(); + } + return null; } catch (Exception e) { e.printStackTrace(); } diff --git a/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/ProcessStreamBuffer.java b/pl
[yocto] [PATCH 5/8] Remove validation for existing git repository
Signed-off-by: Ioana Grigoropol --- .../yocto/bc/ui/wizards/install/OptionsPage.java | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/install/OptionsPage.java b/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/install/OptionsPage.java index 37c12f8..9e94aea 100644 --- a/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/install/OptionsPage.java +++ b/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/install/OptionsPage.java @@ -170,11 +170,11 @@ public class OptionsPage extends FiniteStateWizardPage { setErrorMessage("Directory " + projectPath + " does not exist, please select git clone."); return false; } - IHostFile gitDescr = RemoteHelper.getRemoteHostFile(connection, projectPath + "/.git", new NullProgressMonitor()); - if (gitDescr == null || !gitDescr.exists()) { - setErrorMessage("Directory " + projectPath + " does not contain a git repository, please select git clone."); - return false; - } +// IHostFile gitDescr = RemoteHelper.getRemoteHostFile(connection, projectPath + "/.git", new NullProgressMonitor()); +// if (gitDescr == null || !gitDescr.exists()) { +// setErrorMessage("Directory " + projectPath + " does not contain a git repository, please select git clone."); +// return false; +// } IHostFile validationFile = RemoteHelper.getRemoteHostFile(connection, projectPath + URI_SEPARATOR + InstallWizard.VALIDATION_FILE, new NullProgressMonitor()); if (validationFile == null || !validationFile.exists()) { -- 1.7.9.5 ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [PATCH 4/8] Fix incompatibility with jre1.6 support for typed HashMap
Signed-off-by: Ioana Grigoropol --- .../remote/utils/YoctoHostShellProcessAdapter.java | 18 -- 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/YoctoHostShellProcessAdapter.java b/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/YoctoHostShellProcessAdapter.java index 9ab43cf..2dba0a6 100644 --- a/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/YoctoHostShellProcessAdapter.java +++ b/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/YoctoHostShellProcessAdapter.java @@ -34,6 +34,7 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter { private Semaphore sem; + public YoctoHostShellProcessAdapter(IHostShell hostShell, ProcessStreamBuffer processStreamBuffer, CommandResponseHandler commandResponseHandler) throws IOException { super(hostShell); this.processStreamBuffer = processStreamBuffer; @@ -41,7 +42,7 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter { this.calculator = new GitCalculatePercentage(); this.sem = new Semaphore(1); this.command = ""; - this.commandMonitors = new HashMap<>(); + this.commandMonitors = new HashMap(); } public String getLastCommand() { @@ -50,7 +51,7 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter { public synchronized void setLastCommand(String lastCommand) { try { - // there are still some processes that might take a long time and if we do not wait for them, + // there are still some processes that might take a long time and if we do not wait for them, // then the semaphore will not be released, because an interrupted exception will occur Thread.sleep(2000); isFinished = false; @@ -70,6 +71,7 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter { private class GitCalculatePercentage implements ICalculatePercentage { final Pattern pattern = Pattern.compile("^Receiving objects:\\s*(\\d+)%.*"); + @Override public float calWorkloadDone(String info) throws IllegalArgumentException { Matcher m = pattern.matcher(info.trim()); if(m.matches()) { @@ -88,13 +90,16 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter { } private void updateMonitor(final int work){ + Display.getDefault().asyncExec(new Runnable() { + @Override public void run() { if (getMonitor() != null) { getMonitor().worked(work); } } + }); } @@ -124,7 +129,7 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter { updateMonitor(delta); reportedWorkload += delta; } - + if (reportedWorkload == RemoteHelper.TOTALWORKLOAD) doneMonitor(); } @@ -152,8 +157,9 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter { continue; } setCommandPrompt(value); + if (commandPrompt != null && endChar != null && command != null && processStreamBuffer != null && - value.startsWith(commandPrompt) && value.endsWith(endChar) && + value.startsWith(commandPrompt) && value.endsWith(endChar) && !value.endsWith(command) && processStreamBuffer.getLastOutputLineContaining(command) != null /*&& waitForOutput*/) { sem.release(); isFinished = true; @@ -165,7 +171,7 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter { this.commandResponseHandler.response(value, false); } } - + } private void setCommandPrompt(String value) { if (commandPrompt == null) { @@ -178,7 +184,7 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter { commandPrompt = value.substring(0, end); endChar = PROMPT_USER_CH; } - + }
[yocto] [PATCH 3/8] Validate project name and location for Bitbake command project
- if the project location is empty default value will be used (e.g. /home/user/) - project name must not contain whitespaces and/or invalid characters - if we choose to clone a new repo but the destination directory already contains a .git directory, do not allow moving forward - if we choose to validate an existing repository, make sure that the directory exists, and contains a .git directory as well as a oe-init-build-env script Signed-off-by: Ioana Grigoropol --- .../src/org/yocto/bc/bitbake/ShellSession.java | 94 +++ .../org/yocto/bc/remote/utils/RemoteHelper.java| 69 .../remote/utils/YoctoHostShellProcessAdapter.java | 15 +- .../yocto/bc/ui/wizards/install/OptionsPage.java | 178 ++-- .../BBConfigurationInitializeOperation.java|6 +- .../newproject/CreateBBCProjectOperation.java | 24 ++- 6 files changed, 173 insertions(+), 213 deletions(-) diff --git a/plugins/org.yocto.bc.ui/src/org/yocto/bc/bitbake/ShellSession.java b/plugins/org.yocto.bc.ui/src/org/yocto/bc/bitbake/ShellSession.java index 961472f..f143bed 100644 --- a/plugins/org.yocto.bc.ui/src/org/yocto/bc/bitbake/ShellSession.java +++ b/plugins/org.yocto.bc.ui/src/org/yocto/bc/bitbake/ShellSession.java @@ -48,23 +48,23 @@ public class ShellSession { public static final String LT = System.getProperty("line.separator"); public static final String exportCmd = "export BB_ENV_EXTRAWHITE=\"DISABLE_SANITY_CHECKS $BB_ENV_EXTRAWHITE\""; public static final String exportColumnsCmd = "export COLUMNS=1000"; - + public static String getFilePath(String file) throws IOException { File f = new File(file); - + if (!f.exists() || f.isDirectory()) { throw new IOException("Path passed is not a file: " + file); } - + StringBuffer sb = new StringBuffer(); - + String elems[] = file.split("//"); - + for (int i = 0; i < elems.length - 1; ++i) { sb.append(elems[i]); sb.append("//"); } - + return sb.toString(); } private Process process; @@ -90,7 +90,7 @@ public class ShellSession { // shellPath = "/bin/sh"; // } // shellPath = "/bin/bash"; - + initializeShell(new NullProgressMonitor()); } @@ -104,13 +104,14 @@ public class ShellSession { } } - synchronized + synchronized public String execute(String command) throws IOException { return execute(command, false); } - synchronized + synchronized public String execute(String command, boolean hasErrors) throws IOException { + try { IHost connection = RemoteHelper.getRemoteConnectionByName(projectInfo.getConnection().getName()); hasErrors = RemoteHelper.runCommandRemote(connection, new YoctoCommand(command, root.getAbsolutePath() + "/build/", "")); @@ -119,57 +120,15 @@ public class ShellSession { e.printStackTrace(); } return null; -// sendToProcessAndTerminate(command); -// -// if (process.getErrorStream().available() > 0) { -// byte[] msg = new byte[process.getErrorStream().available()]; -// -// process.getErrorStream().read(msg, 0, msg.length); -// out.write(new String(msg)); -// out.write(LT); -// errorMessage = "Error while executing: " + command + LT + new String(msg); -// } -// -// BufferedReader br = new BufferedReader(new InputStreamReader(process -// .getInputStream())); -// -// StringBuffer sb = new StringBuffer(); -// String line = null; - -// while (((line = br.readLine()) != null) && !line.endsWith(TERMINATOR) && !interrupt) { -// sb.append(line); -// sb.append(LT); -// out.write(line); -// out.write(LT); -// } -// -// if (interrupt) { -// process.destroy(); -// initializeShell(null); -// interrupt = false; -// } -// else if (line != null && retCode != null) { -// try { -// retCode[0]=Integer.parseInt(line.substring(0,line.lastIndexOf(TERMINATOR))); -// }catch (NumberFormatException e) { -// throw new IOException("Can NOT get return code" + command + LT + line); -// } -/
[yocto] [PATCH 1/8] Show progress bar for New Bitbake Commander project
- run new Bitbake project creation in a new thread, being cancelable and update the monitor from the event handler in a asynchronous way by invoking Display.asyncExec - use a blocking way to wait(mutex) for the event handler to finish reading command outputs - not only the event handler must be blocked, the one invoking the remote commands must block waiting for output, otherwise the new Project Wizard will not wait for the commands to finish running - When searching for the desired output through the existing lines, we should not search for the prompt + previous command exactly, because the terminal shell used will use a wrapping value for the lines received and insert a whitespace character at each multiple of wrapping value - usually, the wrapping value is controlled by $COLUMNS shell variable - a quick fix setting this variable to a bigger value does not prove useful - instead, wait for the line containing the prompt & the previous command having all existing whitespaces removed - the possibility that this line will be issued more than once is small. - use YoctoHostShellAdapter to run long task showing progress in a Wizard page & parse task output using specialized Calculators Signed-off-by: Ioana Grigoropol --- .../src/org/yocto/bc/bitbake/ShellSession.java | 24 +-- .../yocto/bc/remote/utils/ProcessStreamBuffer.java |3 +- .../org/yocto/bc/remote/utils/RemoteHelper.java| 92 +++- .../org/yocto/bc/remote/utils/RemoteMachine.java |4 +- .../remote/utils/YoctoHostShellProcessAdapter.java | 137 ++-- .../bc/remote/utils/YoctoRunnableWithProgress.java | 106 ++ .../bc/ui/wizards/NewBitBakeFileRecipeWizard.java |2 +- .../ui/wizards/NewBitBakeFileRecipeWizardPage.java | 222 +--- .../yocto/bc/ui/wizards/install/InstallWizard.java | 113 +++--- .../newproject/CreateBBCProjectOperation.java |7 +- 10 files changed, 340 insertions(+), 370 deletions(-) create mode 100644 plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/YoctoRunnableWithProgress.java diff --git a/plugins/org.yocto.bc.ui/src/org/yocto/bc/bitbake/ShellSession.java b/plugins/org.yocto.bc.ui/src/org/yocto/bc/bitbake/ShellSession.java index edff746..961472f 100644 --- a/plugins/org.yocto.bc.ui/src/org/yocto/bc/bitbake/ShellSession.java +++ b/plugins/org.yocto.bc.ui/src/org/yocto/bc/bitbake/ShellSession.java @@ -47,6 +47,7 @@ public class ShellSession { public static final String TERMINATOR = "#234o987dsfkcqiuwey18837032843259d"; public static final String LT = System.getProperty("line.separator"); public static final String exportCmd = "export BB_ENV_EXTRAWHITE=\"DISABLE_SANITY_CHECKS $BB_ENV_EXTRAWHITE\""; + public static final String exportColumnsCmd = "export COLUMNS=1000"; public static String getFilePath(String file) throws IOException { File f = new File(file); @@ -96,8 +97,8 @@ public class ShellSession { private void initializeShell(IProgressMonitor monitor) throws IOException { try { IHost connection = RemoteHelper.getRemoteConnectionByName(projectInfo.getConnection().getName()); - RemoteHelper.runCommandRemote(connection, new YoctoCommand("source " + initCmd, root.getAbsolutePath(), ""), monitor); - RemoteHelper.runCommandRemote(connection, new YoctoCommand(exportCmd, root.getAbsolutePath(), ""), monitor); + RemoteHelper.runCommandRemote(connection, new YoctoCommand("source " + initCmd, root.getAbsolutePath(), "")); + RemoteHelper.runCommandRemote(connection, new YoctoCommand(exportCmd, root.getAbsolutePath(), "")); } catch (Exception e) { e.printStackTrace(); } @@ -112,7 +113,7 @@ public class ShellSession { public String execute(String command, boolean hasErrors) throws IOException { try { IHost connection = RemoteHelper.getRemoteConnectionByName(projectInfo.getConnection().getName()); - hasErrors = RemoteHelper.runCommandRemote(connection, new YoctoCommand(command, root.getAbsolutePath() + "/build/", ""), new NullProgressMonitor()); + hasErrors = RemoteHelper.runCommandRemote(connection, new YoctoCommand(command, root.getAbsolutePath() + "/build/", "")); return RemoteHelper.getProcessBuffer(connection).getMergedOutputLines(); } catch (Exception e) { e.printStackTrace(); @@ -241,20 +242,5 @@ synchronized interrupt = true; } - private class NullWriter extends Writer { - - @Override - public void close() throws IOException { - } - - @Override - public vo
[yocto] [PATCH 2/8] Show progress bar for building new Recipe in Bitbake commander perspective
Signed-off-by: Ioana Grigoropol --- .../ui/wizards/NewBitBakeFileRecipeWizardPage.java | 119 +--- 1 file changed, 78 insertions(+), 41 deletions(-) diff --git a/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/NewBitBakeFileRecipeWizardPage.java b/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/NewBitBakeFileRecipeWizardPage.java index e27619e..e9dc1f3 100644 --- a/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/NewBitBakeFileRecipeWizardPage.java +++ b/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/NewBitBakeFileRecipeWizardPage.java @@ -11,6 +11,7 @@ ***/ package org.yocto.bc.ui.wizards; +import java.lang.reflect.InvocationTargetException; import java.net.URI; import java.net.URISyntaxException; import java.util.ArrayList; @@ -27,6 +28,7 @@ import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.core.runtime.Path; +import org.eclipse.jface.operation.IRunnableWithProgress; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.window.Window; @@ -74,6 +76,8 @@ public class NewBitBakeFileRecipeWizardPage extends WizardPage { private IHost connection; private String tempFolderPath; + private String srcFileNameExt; + private String srcFileName; public static final String TEMP_FOLDER_NAME = "temp"; public static final String TAR_BZ2_EXT = ".tar.bz2"; @@ -98,6 +102,12 @@ public class NewBitBakeFileRecipeWizardPage extends WizardPage { private static final String md5Pattern = "^[0-9a-f]{32}$"; protected static final String sha256Pattern = "^[0-9a-f]{64}$"; + private HashMap mirrorTable; + private URI extractDir; + private YoctoCommand licenseChecksumCmd; + protected YoctoCommand md5YCmd; + protected YoctoCommand sha256YCmd; + public NewBitBakeFileRecipeWizardPage(ISelection selection, IHost connection) { super("wizardPage"); setTitle("BitBake Recipe"); @@ -300,16 +310,17 @@ public class NewBitBakeFileRecipeWizardPage extends WizardPage { IProgressMonitor monitor = new NullProgressMonitor(); URI srcURI = new URI(txtSrcURI.getText().trim()); String scheme = srcURI.getScheme(); - String srcFileName = getSrcFileName(true); + this.srcFileNameExt = getSrcFileName(true); + this.srcFileName = getSrcFileName(false); if ((scheme.equals(HTTP) || scheme.equals(FTP)) - && (srcFileName.endsWith(TAR_GZ_EXT) || srcFileName.endsWith(TAR_BZ2_EXT))) { + && (srcFileNameExt.endsWith(TAR_GZ_EXT) || srcFileNameExt.endsWith(TAR_BZ2_EXT))) { try { handleRemotePopulate(srcURI, monitor); } catch (Exception e) { e.printStackTrace(); } } else { - String packageName = getSrcFileName(false).replace("-", "_"); + String packageName = srcFileName.replace("-", "_"); fileText.setText(packageName + BB_RECIPE_EXT); handleLocalPopulate(srcURI, monitor); @@ -320,52 +331,78 @@ public class NewBitBakeFileRecipeWizardPage extends WizardPage { } private void handleLocalPopulate(URI srcURI, IProgressMonitor monitor) { - populateLicenseFileChecksum(srcURI, monitor); + populateLicenseFileChecksum(srcURI); populateInheritance(srcURI, monitor); } - private void handleRemotePopulate(URI srcURI, IProgressMonitor monitor) throws Exception { + private void handleRemotePopulate(final URI srcURI, IProgressMonitor monitor) throws Exception { RemoteHelper.clearProcessBuffer(connection); - populateRecipeName(srcURI); - List commands = new ArrayList(); - String metaDirLocPath = metaDirLoc.getPath(); - commands.add(new YoctoCommand("rm -rf " + TEMP_FOLDER_NAME, metaDirLocPath, "")); - commands.add(new YoctoCommand( "mkdir " + TEMP_FOLDER_NAME, metaDirLocPath, "")); - updateTempFolderPath(); + this.getContainer().run(true, true, new IRunnableWithProgress() { + @Override + public void run(IProgressMonitor monitor) throws InvocationTargetException, + InterruptedException { +
[yocto] [PATCH 0/8] [eclipse-poky-windows] Resending patches targeting fixes for Windows plugin
- files modified under Windows are CRLF ended -> convert them to CR only and apply patch 0007 with --keep-cr Ioana Grigoropol (8): Show progress bar for New Bitbake Commander project Show progress bar for building new Recipe in Bitbake commander perspective Validate project name and location for Bitbake command project Fix incompatibility with jre1.6 support for typed HashMap Remove validation for existing git repository Fix synchronous waiting for command prompt in Linux & connection lost when restarting convert CRLF line terminators to CR only Validate Bitbake Commander project when switching between new repo and existing one .../src/org/yocto/bc/bitbake/BBSession.java|2 + .../src/org/yocto/bc/bitbake/ShellSession.java | 132 +++- .../yocto/bc/remote/utils/ProcessStreamBuffer.java | 17 +- .../org/yocto/bc/remote/utils/RemoteHelper.java| 161 +- .../org/yocto/bc/remote/utils/RemoteMachine.java |4 +- .../remote/utils/YoctoHostShellProcessAdapter.java | 162 +- .../bc/remote/utils/YoctoRunnableWithProgress.java | 106 +++ .../src/org/yocto/bc/ui/Activator.java | 79 ++--- .../src/org/yocto/bc/ui/model/ProjectInfo.java |4 + .../org/yocto/bc/ui/wizards/FiniteStateWizard.java | 112 +++ .../yocto/bc/ui/wizards/FiniteStateWizardPage.java | 320 ++-- .../bc/ui/wizards/NewBitBakeFileRecipeWizard.java |7 +- .../ui/wizards/NewBitBakeFileRecipeWizardPage.java | 300 +- .../yocto/bc/ui/wizards/install/InstallWizard.java | 113 ++- .../yocto/bc/ui/wizards/install/OptionsPage.java | 184 +-- .../BBConfigurationInitializeOperation.java|6 +- .../newproject/CreateBBCProjectOperation.java | 31 +- 17 files changed, 823 insertions(+), 917 deletions(-) create mode 100644 plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/YoctoRunnableWithProgress.java -- 1.7.9.5 ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] mail list for Xilinx Zynq platform?
Hello! Am Mi, 12/05/2012 19:17, hat Philip Balister geschrieben: > On 12/05/2012 05:21 AM, Andreas Schweigstill wrote: > > meta-zynq/recipes-kernel-linux-zynq contains the following lines: > > LINUX_VERSION ?= "3.5" > > LINUX_VERSION_EXTENSION ?= "-xilinx" > > > > How can I force Yocto to build kernel 3.5-xilinx? > > Urg, I'll have to take a look at that. After changing the order of BBLAYERS in build/conf/local.conf to meta, meta-zynq, meta-yocto, meta-yocto-bsp and using Hob to select MACHINE=zynq-zc702, base image=zc702-proto-image everything works fine. Now I get a proper toolchain for Cortex A9 and a kernel named zynq-zc702 3.5.0-14.3-build1-yocto-standard which is properly running on my ZC702 board. > Also, you'll need an updated fsbl in the BOOT.BIN file to work with the > later kernels. We should probably post one somewhere, although I wish > the fsbl license was a little less restrictive. I haven't built a BOOT.BIN file with Yocto based U-Boot yet. Instead I'm using U-Boot from Petalinux 12.9 which is configured to use the QSPI Flash to store its environment. Currently I boot from QSPI Flash, load kernel und DTB files via TFTP and use a root filesystem stored on a SD card. ;-) Regards, Andreas Schweigstill -- Dipl.-Phys. Andreas Schweigstill Schweigstill IT | Embedded Systems Schauenburgerstraße 116, D-24118 Kiel, Germany Phone: (+49) 431 530354-35, Fax: (+49) 431 530354-36 Mobile: (+49) 171 6921973, Web: http://www.schweigstill.de/ ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [PATCH][meta-ivi] pango: Remove bbappend as upstream removed its dependency to gnome-common
Signed-off-by: Andrei Gherzan --- recipes-graphics/pango/pango_1.30.0.bbappend |8 1 files changed, 0 insertions(+), 8 deletions(-) delete mode 100644 recipes-graphics/pango/pango_1.30.0.bbappend diff --git a/recipes-graphics/pango/pango_1.30.0.bbappend b/recipes-graphics/pango/pango_1.30.0.bbappend deleted file mode 100644 index b2323e6..000 --- a/recipes-graphics/pango/pango_1.30.0.bbappend +++ /dev/null @@ -1,8 +0,0 @@ -PRINC = "1" - -# gnome-common is GPLv3 so we drop this dependency -# if INCOMPATIBLE_LICENSE contains GPLv3 -python () { -if (d.getVar("INCOMPATIBLE_LICENSE", True) or "").find("GPLv3") != -1: -d.setVar("DEPENDS", " ".join(i for i in d.getVar("DEPENDS").split() if i != "gnome-common")) -} -- 1.7.5.4 ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] Issue of external toolchain usage in Yocto
I tried to use CS external toolchain to build images in Yocto, I met following issue when doing configure for package. configure:2728: checking for powerpc-linux-gnu-gcc -m32 -mcpu=8548 -mabi=spe -mspe -mfloat-gprs=double --sysroot=/home/yocto/poky/build_bsc9131rdb_release/tmp/sysroots/bsc9131rdb-tcbootstrap option to accept ISO C89 configure:2802: powerpc-linux-gnu-gcc -m32 -mcpu=8548 -mabi=spe -mspe -mfloat-gprs=double --sysroot=/home/yocto/poky/build_bsc9131rdb_release/tmp/sysroots/bsc9131rdb-tcbootstrap -c -isystem/opt/freescale/usr/local/gcc-4.5.55-eglibc-2.11.55/powerpc-linux-gnu/powerpc-fsl-linux-gnuspe/include -I/home/yocto/poky/build_bsc9131rdb_release/tmp/sysroots/bsc9131rdb -O2 -pipe -g -feliminate-unused-debug-types conftest.c >&5 conftest.c:9:19: fatal error: stdio.h: No such file or directory Firstly I run above compile command manually, it failed as following: $ /opt/freescale/usr/local/gcc-4.5.55-eglibc-2.11.55/powerpc-linux-gnu/bin/powerpc-linux-gnu-gcc -m32 -mcpu=8548 -mabi=spe -mspe -mfloat-gprs=double --sysroot=/home/yocto/poky/build_bsc9131rdb_release/tmp/sysroots/bsc9131rdb-tcbootstrap -c -isystem/opt/freescale/usr/local/gcc-4.5.55-eglibc-2.11.55/powerpc-linux-gnu/powerpc-fsl-linux-gnuspe/include -I/home/yocto/poky/build_bsc9131rdb_release/tmp/sysroots/bsc9131rdb -O2 -pipe -g -feliminate-unused-debug-types conftest.c conftest.c:10:19: fatal error: stdio.h: No such file or directory compilation terminated. Secondly I removed --sysroot flag, the build process passed. $ /opt/freescale/usr/local/gcc-4.5.55-eglibc-2.11.55/powerpc-linux-gnu/bin/powerpc-linux-gnu-gcc -m32 -mcpu=8548 -mabi=spe -mspe -mfloat-gprs=double -c -isystem/opt/freescale/usr/local/gcc-4.5.55-eglibc-2.11.55/powerpc-linux-gnu/powerpc-fsl-linux-gnuspe/include -I/home/yocto/poky/build_bsc9131rdb_release/tmp/sysroots/bsc9131rdb -O2 -pipe -g -feliminate-unused-debug-types conftest.c I also used the toolchain built by Yocto, the same issue happened. I did following change in meta/conf/distro/include/tcmode-external-csl.inc, is there anything missing to use external toolchain in Yocto? -EXTERNAL_TOOLCHAIN ?= "/usr/local/csl/${TARGET_ARCH}" +EXTERNAL_TOOLCHAIN ?= "/opt/freescale/usr/local/gcc-4.5.55-eglibc-2.11.55/powerpc-linux-gnu" Content of my contest.c: #define PACKAGE_NAME "module-init-tools" #define PACKAGE_TARNAME "module-init-tools" #define PACKAGE_VERSION "3.16" #define PACKAGE_STRING "module-init-tools 3.16" #define PACKAGE_BUGREPORT "" #define PACKAGE_URL "" #define PACKAGE "module-init-tools" #define VERSION "3.16" #include int main () { ; return 0; } Best Regards, Zhenhua ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] uboot i.MX6
Hi everybody, I have build the i.MX6 with danny release of yocto and latest freescale meta using the core-image-minimal image for imx6qsabresd target machine ==> result is build has done everything BUT I when I upload my uboot to my sd card I get nothing. When I change uboot to the image from the freescale website everything runs ... So this means the kernel and root file system are just fine, only uboot is not ok. My uboot is about half the size of the freescale uboot. Do I need to do anything special for uboot to run on my device? Thanks in advance, Kind regards, Tim ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] Difference of toolchain recipes
Can anybody shed some light, please? Best Regards, Zhenhua > -Original Message- > From: Luo Zhenhua-B19537 > Sent: Tuesday, December 04, 2012 11:53 AM > To: openembedded-c...@lists.openembedded.org; 'yocto@yoctoproject.org' > Subject: Difference of toolchain recipes > > It is a bit confused for the different recipes of toolchian, can somebody > help to explain what's the difference for those recipes? E.g. gcc-cross, > gcc-cross-canadian, gcc-cross-initial, gcc-cross-intermediate, gcc- > crosssdk, gcc-crosssdk-initial, gcc-crosssdk-intermediate, gcc-runtime, > etc. > > Is there any document for those description? > > > Best Regards, > > Zhenhua ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [PATCH 3/3] documentation: Add chunk.quietly option to eclipse processing
From: Timo Mueller The chunk.quietly option disables the output of the docbook chunker. Creation of a new html file is now longer printed to the console. This provides a much cleaner output of the eclipse makefile target. --- .../adt-manual-eclipse-customization.xsl |1 + .../bsp-guide/bsp-guide-eclipse-customization.xsl |1 + .../dev-manual-eclipse-customization.xsl |1 + .../kernel-manual-eclipse-customization.xsl|1 + .../poky-ref-manual-eclipse-customization.xsl |1 + .../yocto-project-qs-eclipse-customization.xsl |1 + 6 files changed, 6 insertions(+), 0 deletions(-) diff --git a/documentation/adt-manual/adt-manual-eclipse-customization.xsl b/documentation/adt-manual/adt-manual-eclipse-customization.xsl index ff1464e..d16ffbb 100644 --- a/documentation/adt-manual/adt-manual-eclipse-customization.xsl +++ b/documentation/adt-manual/adt-manual-eclipse-customization.xsl @@ -9,6 +9,7 @@ href="http://docbook.sourceforge.net/release/xsl/current/eclipse/eclipse3.xsl"; /> + diff --git a/documentation/bsp-guide/bsp-guide-eclipse-customization.xsl b/documentation/bsp-guide/bsp-guide-eclipse-customization.xsl index b9aceb2..1c80bee 100644 --- a/documentation/bsp-guide/bsp-guide-eclipse-customization.xsl +++ b/documentation/bsp-guide/bsp-guide-eclipse-customization.xsl @@ -9,6 +9,7 @@ href="http://docbook.sourceforge.net/release/xsl/current/eclipse/eclipse3.xsl"; /> + diff --git a/documentation/dev-manual/dev-manual-eclipse-customization.xsl b/documentation/dev-manual/dev-manual-eclipse-customization.xsl index ff1de89..8ac4c18 100644 --- a/documentation/dev-manual/dev-manual-eclipse-customization.xsl +++ b/documentation/dev-manual/dev-manual-eclipse-customization.xsl @@ -9,6 +9,7 @@ href="http://docbook.sourceforge.net/release/xsl/current/eclipse/eclipse3.xsl"; /> + diff --git a/documentation/kernel-manual/kernel-manual-eclipse-customization.xsl b/documentation/kernel-manual/kernel-manual-eclipse-customization.xsl index 70a1e19..7992173 100644 --- a/documentation/kernel-manual/kernel-manual-eclipse-customization.xsl +++ b/documentation/kernel-manual/kernel-manual-eclipse-customization.xsl @@ -9,6 +9,7 @@ href="http://docbook.sourceforge.net/release/xsl/current/eclipse/eclipse3.xsl"; /> + diff --git a/documentation/poky-ref-manual/poky-ref-manual-eclipse-customization.xsl b/documentation/poky-ref-manual/poky-ref-manual-eclipse-customization.xsl index 4e31193..3412208 100644 --- a/documentation/poky-ref-manual/poky-ref-manual-eclipse-customization.xsl +++ b/documentation/poky-ref-manual/poky-ref-manual-eclipse-customization.xsl @@ -9,6 +9,7 @@ href="http://docbook.sourceforge.net/release/xsl/current/eclipse/eclipse3.xsl"; /> + diff --git a/documentation/yocto-project-qs/yocto-project-qs-eclipse-customization.xsl b/documentation/yocto-project-qs/yocto-project-qs-eclipse-customization.xsl index 468508b..f8f8930 100644 --- a/documentation/yocto-project-qs/yocto-project-qs-eclipse-customization.xsl +++ b/documentation/yocto-project-qs/yocto-project-qs-eclipse-customization.xsl @@ -10,6 +10,7 @@ + -- 1.7.7.6 ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [PATCH 2/3] documentation/tools/eclipse-help.sed: Fix whitespace
From: Timo Mueller --- documentation/tools/eclipse-help.sed |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/tools/eclipse-help.sed b/documentation/tools/eclipse-help.sed index 71d3395..38690bc 100644 --- a/documentation/tools/eclipse-help.sed +++ b/documentation/tools/eclipse-help.sed @@ -1,12 +1,12 @@ # Processes poky-ref-manual and yocto-project-qs manual (-- style) # For example: -# "ulink" href="http://www.yoctoproject.org/docs/1.3/poky-ref-manual/poky-ref-manual.html#faq"; +# "ulink" href="http://www.yoctoproject.org/docs/1.3/poky-ref-manual/poky-ref-manual.html#faq"; # -> "link" href="../poky-ref-manual/faq.html" s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/[^\/]*\/\([a-z]*-[a-z]*-[a-z]*\)\/[a-z]*-[a-z]*-[a-z]*.html#\([^\"]*\)\"/\"link\" href=\"\.\.\/\1\/\2.html\"/g # Processes all other manuals (- style) # For example: -# "ulink" href="http://www.yoctoproject.org/docs/1.3/kernel-manual/kernel-manual.html#faq"; +# "ulink" href="http://www.yoctoproject.org/docs/1.3/kernel-manual/kernel-manual.html#faq"; # -> "link" href="../kernel-manual/faq.html" s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/[^\/]*\/\([a-z]*-[a-z]*\)\/[a-z]*-[a-z]*.html#\([^\"]*\)\"/\"link\" href=\"\.\.\/\1\/\2.html\"/g -- 1.7.7.6 ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [PATCH 1/3] documentation/Makefile: Fix copying of figures folder
From: Timo Mueller When calling the eclipse target twice without calling clean in between the figures folder was copied as a subfolder of the existing figures folder. This patch fixes the copy command to correctly copy the figures folder. --- documentation/Makefile |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/documentation/Makefile b/documentation/Makefile index 7da14a4..ddef079 100644 --- a/documentation/Makefile +++ b/documentation/Makefile @@ -291,7 +291,7 @@ else -o eclipse/$(DOC).html \ $(DOC)-eclipse-customization.xsl $(DOC).xml && \ mv eclipse/toc.xml eclipse/$(DOC)-toc.xml && \ - cp -rf $(FIGURES) eclipse/$(BASE_DIR)/$(FIGURES) && \ + cp -rf $(FIGURES) eclipse/$(BASE_DIR) && \ cd ..; $(call modify-eclipse) -- 1.7.7.6 ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
[yocto] [PATCH 0/3][yocto-docs] Collected fixes to the eclipe help generation
From: Timo Mueller Hi, these are some minor fixes for the eclipse help generation currently located in the timo branch of the yocto-docs repository. 1: Fixes an issue with the figures folder when eclipse target was called consecutively without cleaning in between 2: Whitespace fix 3: Enable chunk.quietly to provide cleaner console logs Best regards, Timo Timo Mueller (3): documentation/Makefile: Fix copying of figures folder documentation/tools/eclipse-help.sed: Fix whitespace documentation: Add chunk.quietly option to eclipse processing documentation/Makefile |2 +- .../adt-manual-eclipse-customization.xsl |1 + .../bsp-guide/bsp-guide-eclipse-customization.xsl |1 + .../dev-manual-eclipse-customization.xsl |1 + .../kernel-manual-eclipse-customization.xsl|1 + .../poky-ref-manual-eclipse-customization.xsl |1 + documentation/tools/eclipse-help.sed |4 ++-- .../yocto-project-qs-eclipse-customization.xsl |1 + 8 files changed, 9 insertions(+), 3 deletions(-) -- 1.7.7.6 ___ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto
Re: [yocto] [PATCH] Fix incompatibility with jre1.6 support for typed HashMap
Hi Jessica, Have you applied the three patches I have sent before these ones ? There are related to updating the progress bars in the Bitbake project & recipe as well as regarding the validation of new project location and name ([PATCH 0/3] [eclipse-poky] Eclipse plugin on Windows - fixes for progress update on wizards & input validation). Thanks, Ioana -Original Message- From: Zhang, Jessica Sent: Thursday, December 06, 2012 1:12 AM To: Grigoropol, IoanaX; yocto@yoctoproject.org Subject: RE: [yocto] [PATCH] Fix incompatibility with jre1.6 support for typed HashMap Hi Ioana, None of your patches of today apply so there seems to be some rebase issue. Also, I've added headless build support changes for windows BC plugin, so can you rebase against jzhang/windows-build and resubmit the patch series? Thanks, Jessica -Original Message- From: yocto-boun...@yoctoproject.org [mailto:yocto-boun...@yoctoproject.org] On Behalf Of Ioana Grigoropol Sent: Wednesday, December 05, 2012 2:41 AM To: yocto@yoctoproject.org Subject: [yocto] [PATCH] Fix incompatibility with jre1.6 support for typed HashMap Signed-off-by: Ioana Grigoropol --- .../remote/utils/YoctoHostShellProcessAdapter.java | 18 -- 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/YoctoHostShellProcessAdapter.java b/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/YoctoHostShellProcessAdapter.java index 9ab43cf..2dba0a6 100644 --- a/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/YoctoHostShellProcessAdapter.java +++ b/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/YoctoHostShe +++ llProcessAdapter.java @@ -34,6 +34,7 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter { private Semaphore sem; + public YoctoHostShellProcessAdapter(IHostShell hostShell, ProcessStreamBuffer processStreamBuffer, CommandResponseHandler commandResponseHandler) throws IOException { super(hostShell); this.processStreamBuffer = processStreamBuffer; @@ -41,7 +42,7 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter { this.calculator = new GitCalculatePercentage(); this.sem = new Semaphore(1); this.command = ""; - this.commandMonitors = new HashMap<>(); + this.commandMonitors = new HashMap(); } public String getLastCommand() { @@ -50,7 +51,7 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter { public synchronized void setLastCommand(String lastCommand) { try { - // there are still some processes that might take a long time and if we do not wait for them, + // there are still some processes that might take a long time and if +we do not wait for them, // then the semaphore will not be released, because an interrupted exception will occur Thread.sleep(2000); isFinished = false; @@ -70,6 +71,7 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter { private class GitCalculatePercentage implements ICalculatePercentage { final Pattern pattern = Pattern.compile("^Receiving objects:\\s*(\\d+)%.*"); + @Override public float calWorkloadDone(String info) throws IllegalArgumentException { Matcher m = pattern.matcher(info.trim()); if(m.matches()) { @@ -88,13 +90,16 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter { } private void updateMonitor(final int work){ + Display.getDefault().asyncExec(new Runnable() { + @Override public void run() { if (getMonitor() != null) { getMonitor().worked(work); } } + }); } @@ -124,7 +129,7 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter { updateMonitor(delta); reportedWorkload += delta; } - + if (reportedWorkload == RemoteHelper.TOTALWORKLOAD) doneMonitor(); } @@ -152,8 +157,9 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter { continue; } setCommandPrompt(value); + if (commandPrompt != null && endChar != null && command != null && processStreamBuffer != null && -