Processes and Activities: Difference between revisions

From Yocto Project
Jump to navigationJump to search
No edit summary
 
(40 intermediate revisions by 13 users not shown)
Line 1: Line 1:
== BKMs for Package Updating ==
Welcome to the Processes and Activities Page!


This page will be for capturing the BKMs of package upgrading as we get reviewed and process more of the packages.
* [[Contribution Guidelines]]
 
* [[Recipe & Patch Style Guide]]
=== Don't Retain older Versions ===
* [[Building your own recipes from first principles]]
 
* [[Development Best Practices]]
Unless there is a specific need (which will probably occur for GPLv2, this has also happened in the past when platforms have known bugs in the latest version) don't retain older versions of the recipe files and patches.
* [[Distro Tracking]]
 
* [[Best Known Methods (BKMs) for Package Updating]]
=== Use git mv to rename recipe and patches ===
* [[Working Behind a Network Proxy]]
 
* [[QA]]
From Josh:
* [[Kernel]]
Generally the way I perform recipe upgrades is to use git mv to rename the old file to the new version, this means that you don't have to consciously delete the old version later (win 1) and that git tracks the rename and the differences with the old file, which doesn't happen with a delete and add (win 2).
* [[Core]]
 
* [[Bugzilla Configuration and Bug Tracking]]
The advantage of this is that you and any reviewers can more easily see what has changed with the updated version of the recipe.
* [[Bug Triage]]
 
* [[Yocto Point-Release Development Workflow]]
 
* [[Yocto Release Engineering]]
Nitin: Actually {git mv a b} is nothing but {mv a b; git rm a; git add b} And the file renames are detected by git automatically by looking at the file contents. Because of this git behavior, git shows some renames as renames and sometimes not. And I did not find a way to force git to understand renames. So if after "git mv" git is showing "file add & file remove", then don't get surprised, it's normal git operation.
* [[Performance]]
 
* [[Security]]
==== Reset PR to 0 (or add PR) when upgrading recipes ====
* [[PAM Integration]]
 
* [[Program Management Plan]]
This is a good visual reminder to bump in the future if needed.
* [[Enable sstate cache]]
 
* Guidelines for contributing to meta-intel layer
=== For upgrades it's ok to use OE for inspiration ===
* [[Building and running embedded Linux .NET applications from first principles]]
 
When upgrading packages, do the git mv as above, and build if it breaks, it's OK to check the OE equivalent and grab new patch or configuration change, just don't grab the whole recipe.
 
Be sure to add a credit to OE in your commit message when you do take a change like this.
 
Review: [[Merging packages from OpenEmbedded]]
 
=== For new package grab OE version, but sanitize them ===
 
Follow the recipe rules for Yocto when you take an OE recipe, be sure to clean all the OE'isms out
 
Again, give credit to OE in commit messages
 
Review: [[Merging packages from OpenEmbedded]]
 
=== Do NOT Merge .inc / .bb files ===
 
This was a decision that slipped by me, and was not communicated well, we do not want to merge the common ".inc" files and recipe (.bb) files. This is the case even if the .bb only contains a require and a PR="r0" line.  This does not mean split everything at this point, but don't merge going forward.
 
=== White Space Management ===
 
 
* Most variables such as SRC_URI should use spaces.
 
* Shell functions should use tabs
 
* Python functions should use spaces (4 spaces per indent).
 
=== Commenting in Pacthes ===
 
When you change or add patches, be sure to include attributions of where the patch came from, along with your full name and email similar to "Signed-off-by", no special tag is needed (yet?), but having your full name and email is important to track it.
 
=== New style patch application ===
 
The patch and pnum parameters have been renamed to the more logical apply and striplevel. The apply parameter takes either "yes" or "no" and the striplevel parameter takes an integer (0, 1, etc).
 
Both parameters are now optional with "sane" defaults.
 
The apply parameter is optional for SRC_URI lines with patch or diff extensions, which will default to being applied.
 
The striplevel parameter is also optional with a default striplevel of 1.
 
Old style parameters (patch and pnum) will continue to work for some time but it would be useful to move to the new style syntax as people are updating other parts of their recipes.
 
Therefore a patch line would be changed from:
 
file://some.patch;patch=1;pnum=2
 
to:
 
file://some.patch;striplevel=2
 
and a patch line:
 
file://another.diff;patch=1;pnum=1
 
could be changed to:
 
file://another.diff
 
 
==SDK Generator==
SDK Userspace NFS Use Scenarios and Workflow
=== Scenario 1: Minimal installation using meta-toolchain with a QEMU SDK image ===
 
Sally is an embedded application developer who works for a large corporation which locks-down its developer workstations and does not allow developers root access. :(
 
Sally's System Administrator set up her workstation for Poky development by doing the following:
 
# Extracting the output from a meta-toolchain build (poky-glibc-x86_64-i586-toolchain-XYZ.tar.bz2) into /opt/poky
# Install and ensure that rpcbind or portmap is running (note: rpcbind requires an insecure option, -i to work)
# Run the poky-qemu-ifup command N times to create a bank of tun devices that can be used by QEMU networking. These devices are owned by a group that Sally is a member of.
 
Sally then sources the meta-toolchain environment file (source /opt/poky/environment-setup-i586-poky-linux), which adds the toolchain's usr/bin directory into her $PATH and sets some other build-related environment variables.
 
She then downloads a poky-image-sdk tarball and a QEMU kernel. Sally can copy the kernel and extract the SDK image tarball to an arbitrary work area, but she must extract the SDK image tarball using the following script:
 
poky-extract-sdk <poky-sdk-tarball> <extract-dir>
 
The documentation may recommend standard directories (e.g, ~/qemukernels/<kernel> ~/rootfs/<machinetype>), but Sally is free to choose another directory if that suits her needs better.
 
She then can run QEMU to automatically boot to this nfsroot with the following command:
 
runqemu-nfs {machine-type} <kernel> <rootfs-dir>
 
Where machine-type is optional if the kernel is named according to poky conventions (e.g, bzImage-qemux86.bin). This script would automatically start up the userspace NFS server using binaries from /opt/poky and create runtime files (such as exports, rmtab, *.pid files, and so on) in ~/.poky-sdk/
 
It would then start up QEMU with the next available tap network device and mount its rootfs.
 
When Sally shuts down the QEMU session (either gracefully or by simply killing it), the userspace NFS server would be shut down and the tap network device released automatically. Sally could also forcefully shut down the NFS server and networking with the following command:
 
poky-export-rootfs stop <path to rootfs>
=== Scenario 2: In-tree Poky setup with a QEMU SDK image ===
 
Roger is an embedded developer who, like Sally, works for a large corporation which locks-down its developer workstations and does not allow developers root access. :(
 
Roger's System Administrator sets up his workstation for Poky development by doing the following:
 
# Install and ensure that rpcbind or portmap is running (note: rpcbind requires an insecure option, -i to work)
# Run the poky-qemu-ifup command N times to create a bank of tun devices that can be used by QEMU networking. These devices are owned by a group that Roger is a member of.
 
Thus, the only difference is that Roger doesn't need the cross-toolchain installed in /opt/poky. That is because Roger is willing to do full Poky builds, and has the Poky tarball extracted in some area he prefers to work (e.g, ~/poky).
 
Roger sources the poky-init-build-env script, which sets up his environment for Poky builds. He then bitbakes a poky-image-sdk image, which creates a qemu kernel and SDK image tarball in his ~/poky/build/tmp/deploy/images/ directory.
 
Roger then extracts the SDK image tarball with:
 
poky-extract-sdk <poky-sdk-tarball> <extract-dir>
 
and then starts QEMU to boot to this using:
 
runqemu-nfs {machine-type} <kernel> <rootfs-dir>
 
Where machine-type is optional if the kernel is named according to poky conventions (e.g, bzImage-qemux86.bin). This script would automatically start up the userspace NFS server using binaries from the automatically detected Poky native sysroot and create runtime files (such as exports, rmtab, *.pid files, and so on) in ~/.poky-sdk/
 
It would then start up QEMU with the next available tap network device and mount its rootfs.
 
When Roger shuts down the QEMU session (either gracefully or by simply killing it), the userspace NFS server would be shut down and the tap network device released automatically. Roger could also forcefully shut down the NFS server and networking with the following command:
 
poky-export-rootfs stop <path to rootfs>
 
=== Scenario 3: Exporting a rootfs to a non-QEMU target ===
 
This allows developers to export a rootfs to non-qemu targets (i.e, real hardware).
 
First, the rootfs must be created using the poky-extract-sdk script, which creates the filesystem tree using pseudo:
 
poky-extract-sdk <poky-sdk-tarball> <extract-dir>
 
Then they can start/stop/restart the unfs server with:
 
poky-export-rootfs {start|stop|restart} <path to rootfs>
 
The developer would then configure their hardware to boot using a kernel accessed over tftp and with a rootfs pointed at the hosts's IP and exported directory.
 
==QA==
===Milestone Test Report for Yocto===
 
====Fullpass Test Report for M3-20100911 ====
[https://oldwiki.pokylinux.org/share/QA_docs/milestone%20test/M3/Fullpass%20Test%20Report%20for%20Yocto%20M3%2020100911%20Build.htm Fullpass Test Report for M3-20100911]
 
==== Sanity Test Report for M3-20100911 ====
[https://oldwiki.pokylinux.org/share/QA_docs/milestone%20test/M3/Yocto%20Sanity%20Test%20Report%20for%20M3-20100911.htm Sanity Test Report for M3-20100911]
 
==== Sanity Test Report for M3-20100909 ====
[https://oldwiki.pokylinux.org/share/QA_docs/milestone%20test/M3/Yocto%20Sanity%20Test%20Report%20for%20M3-20100909.htm Sanity Test Report for M3-20100911]
 
==== Partial Sanity Test Report for M3 20100905 ====
[https://oldwiki.pokylinux.org/share/QA_docs/milestone%20test/M3/Yocto%20Partial%20Sanity%20Test%20Report%20for%20M3%2020100905.htm Partial Test Report for M3 20100905]
 
==== Fullpass Test for M2-20100731 ====
[https://git.pokylinux.org/share/QA_docs/milestone%20test/M2/Fullpass%20Test%20Report%20for%20M2%2020100731.htm Fullpass Test Report for M2-20100731]
==== M2-20100725 & Bug Update for M2-20100728 ====
I finished testing on QEMU/Netbook for M2-20100725 and verified some bugs with M2-20100728 build. Against M2-20100725 build, I reported 12 new bugs and verified 2 bugs as fixed. With the second build M2-20100728, I verified old critical bugs and reported another 2 new bugs. 2 old bugs are verified as fixed with this build.
 
==== M3 Test Execution Plan ====
[https://oldwiki.pokylinux.org/share/QA_docs/Test%20Plan/M3-Test%20Plan.doc M3 fullpass test plan].
 
==== M4 Test Execution Plan ====
[https://oldwiki.pokylinux.org/share/QA_docs/Test%20Plan/M4-Test_Plan.doc M4 fullpass test plan].
 
 
 
There are still 5 open bugs for M2, 4 of them are CRITICAL. And 23 open bugs are marked to M3. As a summary, QEMU targets (x86/arm/mips/ppc) can work without critical bugs. Toolchain has one critical bug. Meanwhile, emenlow/netbook have critical issue with/within X environment.
 
 
'''Open Bugs for M2:
* Wrong qemu binary is used if qemu-native isn't built  --  (Richard, is the issue going to be fixed in M2?)
** http://bugzilla.pokylinux.org/show_bug.cgi?id=123
* Mouse/Keyboard cannot work with poky-image-sato-live on netbook  --  (It should be fixed by Jeff, but mouse/kbd still not work because of bug 171)
** http://bugzilla.pokylinux.org/show_bug.cgi?id=141
* [emenlow] X not bootable of image poky-image-sato-live-emenlow  --  (This bug is with 0728 image)
** http://bugzilla.pokylinux.org/show_bug.cgi?id=159
* [toolchain] Cannot build LTP with ppc/arm toolchain
** http://bugzilla.pokylinux.org/show_bug.cgi?id=161
* [Netbook] Xserver version mismatch makes mouse/keyboard not work
** http://bugzilla.pokylinux.org/show_bug.cgi?id=171
 
'''Other Open Bugs reported, target for M3 or later:
* It takes long time to boot qemuppc image at the first time  -- Enhance/Low
** http://bugzilla.pokylinux.org/show_bug.cgi?id=143
* avahi-daemon fail to start with qemumips sdk image  -- Minor/Medium (Target on M3)
** http://bugzilla.pokylinux.org/show_bug.cgi?id=144
* nm-applet segfault with qemux86 sato/sdk image  -- Normal/Medium (Not our focus)
** http://bugzilla.pokylinux.org/show_bug.cgi?id=145
* keystroke combination ctrl-alt-del not work on netbook  -- Normal/Low
** http://bugzilla.pokylinux.org/show_bug.cgi?id=146
* [Netbook] pcmanfm no response after I click File Manager icon  -- Major/Medium (Target on M3)
** http://bugzilla.pokylinux.org/show_bug.cgi?id=148
* [All] There is no way to exit matchbox-keyboard in X  -- Normal/Medium (Target on M3)
** http://bugzilla.pokylinux.org/show_bug.cgi?id=149
* [Netbook] Music Player cannot play WAV format file  -- Major/Undecided
** http://bugzilla.pokylinux.org/show_bug.cgi?id=151
* [emenlow] command reboot cannot make system reboot entirely  -- Medium/Normal (Target on M3)
** http://bugzilla.pokylinux.org/show_bug.cgi?id=160
* [LTP] LTP default test suite cannot fully pass  -- Normal/Low (Target on M4)
** http://bugzilla.pokylinux.org/show_bug.cgi?id=169
* [POSIX] POSIX default test suite cannot fully pass  -- Normal/Low (Target on M4)
** http://bugzilla.pokylinux.org/show_bug.cgi?id=172
 
'''Verified Fixed Issues:
* qemuppc images cannot boot up
** http://bugzilla.pokylinux.org/show_bug.cgi?id=101
* Some icons broken with qemumips images
** http://bugzilla.pokylinux.org/show_bug.cgi?id=106
* qemumips poky-image-sato/sdk fail to boot  -- (Fixed in 0728 build)
** http://bugzilla.pokylinux.org/show_bug.cgi?id=138
* emenlow live image cannot boot/install  -- (Fixed in 0728 build)
** http://bugzilla.pokylinux.org/show_bug.cgi?id=142
 
'''Existing Old Issues:
* No mouse action response in X window with qemumips images  -- Major/High (Target on M3)
** http://bugzilla.pokylinux.org/show_bug.cgi?id=99
* qemuarm and qemuppc images cannot shutdown entirely  -- Normal/High (Target on M3)
** http://bugzilla.pokylinux.org/show_bug.cgi?id=100
 
==== M1 Test Report 2010/7/10 ====
'''Summary & Issue List'''
 
I finished sanitytest for M1 20100710 build. There is 2 new issues found in this testing. qemuppc boot up issue is fixed but qemu will report OOM error when booting qemuppc images. There is no mouse action response after X startup with qemumips images. qemuppc and qemuarm cannot shutdown entirely.
There are totally 4 open bugs in this testing.
 
BTW, This time I still build qemu-native from WR's branch (git.pokylinux.org:poky-wr +yocto-kernel-clean).
 
'''Issue List:'''
 
* No mouse action response in X window with qemumips images
** http://bugzilla.pokylinux.org/show_bug.cgi?id=99
* qemuarm and qemuppc images cannot shutdown entirely
** http://bugzilla.pokylinux.org/show_bug.cgi?id=100
* OOM error when booting qemuppc images
** http://bugzilla.pokylinux.org/show_bug.cgi?id=102
* Some icons broken with qemumips images
** http://bugzilla.pokylinux.org/show_bug.cgi?id=106
 
'''Test Result Matrix:'''
 
''SanityTest Result''
{| border="1"
|-
! Machine
! Image
! Boot
! Network(ping)
! X startup
! SSH Service
! Shutdown
! Comments
|-
! rowspan="2"| qemux86
! poky-image-sato
| style="color:green" | PASS
| style="color:green" | PASS
| style="color:green"| PASS
| style="color:green"| PASS
| style="color:green" | PASS
|
|-
! poky-image-sdk
| style="color:green" | PASS
| style="color:green" | PASS
| style="color:green"| PASS
| style="color:green"| PASS
| style="color:green" | PASS
|
|-
! rowspan="2"| qemuxarm
! poky-image-sato
| style="color:green" | PASS
| style="color:green" | PASS
| style="color:green"| PASS
| style="color:green"| PASS
| style="color:red" | FAIL
|
|-
! poky-image-sdk
| style="color:green" | PASS
| style="color:green" | PASS
| style="color:green"| PASS
| style="color:green"| PASS
| style="color:red" | FAIL
|
|-
! rowspan="2"| qemumips
! poky-image-sato
| style="color:green" | PASS
| style="color:green" | PASS
| style="color:green" | PASS
| style="color:green"| PASS
| style="color:green"| PASS
| style="color:red" | No mouse action response, some icons broken
|-
! poky-image-sdk
| style="color:green" | PASS
| style="color:green" | PASS
| style="color:green" | PASS
| style="color:green"| PASS
| style="color:green"| PASS
| style="color:red" | No mouse action response, some icons broken
|-
! rowspan="2"| qemuppc
! poky-image-sato
| style="color:green" | PASS
| style="color:green" | PASS
| N/A
| style="color:green" | PASS
| style="color:red"| FAIL
|
|-
! poky-image-sdk
| style="color:green" | PASS
| style="color:green" | PASS
| N/A
| style="color:green" | PASS
| style="color:red"| FAIL
|
|}
 
'''Detail Test Result'''
 
Test Result can be found here [https://git.pokylinux.org/share/QA_docs/milestone%20test/M1-Testing-20100710.xls Milestone Test Result for 20100710]
 
'''Testing Env'''
: Host: Ubuntu 10.04 LTS
: Kernel: 2.6.32-21-generic-pae
: Poky gitinfo(used to build qemu-native): aa416b6133bd55b5ba4d2fb6f5faef274ba511a0 (git.pokylinux.org:poky-wr +yocto-kernel-clean)
: Build Image Download URL: http://autobuilder.pokylinux.org/milestone/20100710-1/
 
 
==== M1 Test Report 2010/7/8 ====
'''Summary & Issue List'''
 
I finished sanitytest for M1 20100708 build. There are 3 issues found in this testing.
The major issue is that there is no cursor in qemuarm and qemumips images. I also tried qemuppc because there is some fixing in latest tree, but qemuppc still fails to startup.
5 issues found in last time testing are fixed. Qemuarm can boot up now. Qemuarm and qemumips can start X now.
 
BTW, This time I still build qemu-native from WR's branch (git.pokylinux.org:poky-wr +yocto-kernel-clean).
 
'''Issue List:'''
 
* No cursor in X window with qemuarm and qemumips images
** http://bugzilla.pokylinux.org/show_bug.cgi?id=99
* qemuarm images cannot shutdown entirely
** http://bugzilla.pokylinux.org/show_bug.cgi?id=100
* qemuppc images cannot boot up
** http://bugzilla.pokylinux.org/show_bug.cgi?id=101
 
'''Test Result Matrix:'''
 
''SanityTest Result''
{| border="1"
|-
! Machine
! Image
! Boot
! Network(ping)
! X startup
! SSH Service
! Shutdown
! Comments
|-
! rowspan="2"| qemux86
! poky-image-sato
| style="color:green" | PASS
| style="color:green" | PASS
| style="color:green"| PASS
| style="color:green"| PASS
| style="color:green" | PASS
|
|-
! poky-image-sdk
| style="color:green" | PASS
| style="color:green" | PASS
| style="color:green"| PASS
| style="color:green"| PASS
| style="color:green" | PASS
|
|-
! rowspan="2"| qemuxarm
! poky-image-sato
| style="color:green" | PASS
| style="color:green" | PASS
| style="color:green"| PASS
| style="color:green"| PASS
| style="color:red" | FAIL
| style="color:red" | No cursor after X startup
|-
! poky-image-sdk
| style="color:green" | PASS
| style="color:green" | PASS
| style="color:green"| PASS
| style="color:green"| PASS
| style="color:red" | FAIL
| style="color:red" | No cursor after X startup
|-
! rowspan="2"| qemumips
! poky-image-sato
| style="color:green" | PASS
| style="color:green" | PASS
| style="color:green" | PASS
| style="color:green"| PASS
| style="color:green"| PASS
| style="color:red" | No cursor after X startup
|-
! poky-image-sdk
| style="color:green" | PASS
| style="color:green" | PASS
| style="color:green" | PASS
| style="color:green"| PASS
| style="color:green"| PASS
| style="color:red" | No cursor after X startup
|}
 
'''Detail Test Result'''
 
Test Result can be found here [https://git.pokylinux.org/share/QA_docs/milestone%20test/M1-Testing-20100708.xls Milestone Test Result for 20100708]
 
'''Testing Env'''
: Host: Ubuntu 10.04 LTS
: Kernel: 2.6.32-21-generic-pae
: Poky gitinfo(used to build qemu-native): aa416b6133bd55b5ba4d2fb6f5faef274ba511a0 (git.pokylinux.org:poky-wr +yocto-kernel-clean)
: Build Image Download URL: http://autobuilder.pokylinux.org/milestone/20100708-1/
 
==== M1 Test Report 2010/6/29 ====
'''Summary & Issue List'''
 
There are 8 target images be tested, only 3 ones can boot up, while SDK image for qemumips is not built out. Testing for qemuarm and qemuppc is blocked. Network in qemux86 image is not enabled. X failure is still within SDK image. And there is no cursor within qemux86 poky-image-sato. Detail issue list as below.
 
For BAT testing, LTP and POSIX testing are performed against qemux86 poky-image-sdk and qemumips poky-image-sato. Compared with last time test result, LTP result for qemux86 is same, while POSIX result has one more failure.
 
BTW, I build qemu-native by myself from poky WR’s branch (git.pokylinux.org:poky-wr). These qemu startup scripts, like “runqemu”, also come from the branch.
 
'''Issue List:'''
# No network in qemux86 image, (sato/sdk). It should be caused by lack of e1000 module built in WR kernel.
# No cursor after X startup in qemux86 poky-image-sato image.
# Qemux86 poky-image-sdk image fails to start X. (Known issue as Saul pointed)
# Fail to boot up qemuarm images, (sato/sdk). It seems no root partition when booting. See attachment “qemuarm-poky-image.log” for full log when booting QEMU. [https://git.pokylinux.org/share/QA_docs/milestone%20test/log-20100629/qemuarm-poky-image.log qemuarm log]
# Fail to boot up qemuppc images, (sato/sdk). qemu reports “could not load PPC PREP bios ‘powerpc_rom.bin’”. See attachment “qemuppc-poky-image.log” for full log. [https://git.pokylinux.org/share/QA_docs/milestone%20test/log-20100629/qemuppc-poky-image.log qemuppc log]
# By default, script “runqemu” does not start X for qemuarm, qemuppc and qemumips. I find there is no wnidow popup even I remove the X disable option, "-nographic" for qemumips.
 
'''Test Result Matrix:'''
 
''SanityTest Result''
{| border="1"
|-
! Machine
! Image
! Boot
! Network(ping)
! X startup
! SSH Service
! Shutdown
! Comments
|-
! rowspan="2"| qemux86
! poky-image-sato
| style="color:green" | PASS
| style="color:red" | FAIL
| style="color:green"| PASS
| N/T
| style="color:green" | PASS
| style="color:red" | No cursor after X startup with show-cursor option
|-
! poky-image-sdk
| style="color:green" | PASS
| style="color:red" | FAIL
| style="color:red"| FAIL
| N/T
| style="color:green" | PASS
|
|-
! rowspan="2"| qemuxarm
! poky-image-sato
| style="color:red" | FAIL
| style="color:red" | BLOCK
| style="color:red"| BLOCK
| style="color:red"| BLOCK
| style="color:red"| BLOCK
|
|-
! poky-image-sdk
| style="color:red" | FAIL
| style="color:red" | BLOCK
| style="color:red"| BLOCK
| style="color:red"| BLOCK
| style="color:red"| BLOCK
|
|-
! rowspan="2"| qemumips
! poky-image-sato
| style="color:green" | PASS
| style="color:green" | PASS
| N/A
| style="color:green"| PASS
| style="color:green"| PASS
| style="color:red" | option "-nographic" is set in script "poky-qemu-internal" for qemumips. There is no window popup even I remove the option.
|-
! poky-image-sdk
| N/A
| N/A
| N/A
| N/A
| N/A
| style="color:red" | No SDK images for qemumips
|-
! rowspan="2"| qemuppc
! poky-image-sato
| style="color:red" | FAIL
| style="color:red" | BLOCK
| style="color:red" | BLOCK
| style="color:red" | BLOCK
| style="color:red" | BLOCK
|
|-
! poky-image-sdk
| style="color:red" | FAIL
| style="color:red" | BLOCK
| style="color:red" | BLOCK
| style="color:red" | BLOCK
| style="color:red" | BLOCK
|
|}
 
''BAT Result:''
{| border="1"
|-
! Machine
! Image
! LTP(FAIL/TOTAL)
! POSIX(FAIL/UNSUPPORT/TOTAL)
|-
! qemux86
! poky-image-sdk
| style="color:red" | 46/1120
| style="color:red" | 51/99/1644
|-
! qemumips
! poky-image-sato
| style="color:red" | 58/1116
| N/A
|}
 
'''Detail Test Result'''
 
Test Result can be found here [https://git.pokylinux.org/share/QA_docs/milestone%20test/Nightly-M1-Testing-20100629.xls Milestone Test Result for 20100629]
 
'''Testing Env'''
: Host: Ubuntu 10.04 LTS
: Kernel: 2.6.32-21-generic-pae
: Poky gitinfo(used to build qemu-native): 5280cfe8c9cd9c9a880683186c77c24d380978ed (git.pokylinux.org:poky-wr)
: Build Image Download URL: Except for SDK images for qemuppc and qemuarm (from http://autobuilder.pokylinux.org/nightly/20100629-1/), all the other images come from http://autobuilder.pokylinux.org/nightly/20100628-1/.
 
=== Enable Automation Test in Poky ===
Currently we have implemented two automated sanity test cases in Poky. User can follow below steps to enable the automation test:
 
* Make sure your working tree has latest test code. The first sanity test implementation is checked in poky master tree as commit, '''fd1d661b391dfad1edaac937a17c1165f635031a.
* Make sure your machine has package "expect" installed. The package is necessary for testing. We will add a recipe for it later. Currently, you need install it by yourself. On Ubuntu host, you can use apt-get to install expect:
<pre>
$ apt-get install expect
</pre>
* Edit /etc/sudoers to allow the user run sudo without prompted for a password. For example, you can do like following for user "tester":
<pre>
$ cat /etc/sudoers
# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#
....
....
....
 
%tester ALL=(ALL) NOPASSWD: NOPASSWD: ALL
</pre>
* Typically, you need a X environment to start QEMU. You can use your desktop's DISPLAY. Or, alternatively, you can install vncserver, and startup a X environment in localhost:x.0. (x can be 1, 2, 3.....n)
* You need set "IMAGETEST" to "qemu" in build/conf/local.conf
<pre>
$ cat local.conf
.....
# Set IMAGETEST to qemu if you want to build testcases and start
# testing in qemu after do_rootfs.
IMAGETEST = "qemu"
.....
</pre>
* Then you can run "bitbake poky-image-xxx" (xxx can be minimal, sato, sdk). After the kernel/image are generated, you need run "bitbake poky-image-xxx -c qemuimagetest". It will trigger automation test and you will get the result after a while. :)
 
===Full Pass Specification===
 
==== M2 Test Execution Plan ====
Since there are still some unclear requirements for Yocto project, currently it’s hard to define test plan to cover all future milestone/weekly testing. According to the suggestion from KangKang, I defined a test execution plan for M2 testing, which only covers tests for M2 requirement.
 
 
The fullpass test plan is here, [https://git.pokylinux.org/share/QA_docs/Test%20Plan/TC_test_plan-2010-08-11.doc M2 fullpass test plan]. For each target, like qemux86, qemuarm, netbook, e-Menlow, etc, I define separate test plan for them, with sub-tests chosen from the fullpass test plan.
 
I setup a testlink page to track test case and test plan status, http://otc-qa.sh.intel.com/testlink_yocto/. You can use username/passwd: guest/guest, to browser test case and test plan.
 
==Kernel==
==Distro==
Steps to release Yocto:
 
Run an autobuilder "generate-release" build. This will create images in /srv/www/vhosts/autobuilder.pokylinux.org/generate-release/<datestamp>/. Rename these files with the appropriate release name and version (Scott will have a script to do this by the next release).
 
For post-Green releases, there will be a release staging area that will be used to mirror the output before the files are released on the public web site.
 
On release branch:
* Set DISTRO_VERSION in poky.conf
* Update handbook references to stable release (introduction.xml, master branch needs this too)
* Update version reference and updated date in handbook (poky-handbook.xml)
* git commit -a -m "Purple 3.2 Release"
* git tag -a purple-3.2 -m "Tag Purple 3.2"
* git archive purple-3.2 --prefix=purple-3.2/ | bzip2 > /tmp/poky-purple-3.2.tar.bz2 scp /tmp/poky-purple-3.2.tar.bz2 o- hand.com:/srv/www/pokylinux.org/releases/poky-purple-3.2.tar.bz2
On master branch:
* Set DISTRO_VERSION in poky.conf to new version
* Update version reference and updated date in handbook (poky-handbook.xml)
 
* cd handbook
* make
* scp -r poky-handbook.tgz poky-handbook.html poky-handbook.pdf *.png *.xml *.css *.svg o-hand.com:/srv/www/pokylinux.org/releases/purple-3.2/doc/
* scp -r poky-handbook.tgz poky-handbook.html *.png *.xml *.css *.svg o-hand.com:/srv/www/pokylinux.org/releases/doc/
(or copy across by hand when remotely connected to machine?)
* Edit web pages (website is controlled from a git repo)
**support/index.php
**getit/index.php
**index.php
**poky-wp-theme/common-funcs.inc
**poky-wp-theme/front-page.php
* Post release announcement on Blog
* Post release announcement on mailing list
 
==Core==

Latest revision as of 17:33, 8 March 2018