Hello,
There were increasing Android build times during last month again
(going over 3.5hrs). Yesterday, I re-created the seed, but that didn't
improve times match. I did more stats on builds and it turns out that
we spend almost 1.5hrs in copying ever-growing overlay collection to
the slaves via sluggish CopyToSlave Jenkins plugin.
That's issues known for at least half-year, and was in queue for being
reworked. I didn't work on android-build closely for few months, but
now that I'm back on maintenance, I'd like to start with fixing this
long-overdue issue.
The idea was to pull all the needed overlay, straight to a slave. The
complication here was handling of license protected files.
ci.linaro.org had the same issue, and used a script to handle
automatic downloads for some time. However, as of now, it was switched
to other process and the script git bitrotted with recent
linaro-license-protection codebase changes. I took a look at revamping
it, but then though that it may be a good idea to use simpler and
more explicit process, following closely click-thru usage. So, if you
want to use a license-protected binaries in a build, you'd need to
specify:
ACCEPT_LICENSE=<license_id>
Where <license_id> is id under which license is registered in
linaro-license-protection. One good way to figure it out is to read the
license page at all (well, as HTML source, the id is included in some
links). Wording of variable name (as well as of commands in underlying
implementation) is also explicit to point that its usage construes
license acceptance.
I prototypes these changes using
https://android-build.linaro.org/builds/~pfalcon/panda-jb-gcc47-tilt-tracki…
which is down to 2h10m build time. I'm ready to migrate all builds
tomorrow, while we're early in cycle start.
Please let me know if there're any issues with approach or proposed
migration timeframe, otherwise let's make android-build rock again.
Thanks,
Paul
Linaro.org | Open source software for ARM SoCs
Follow Linaro: http://www.facebook.com/pages/Linarohttp://twitter.com/#!/linaroorg - http://www.linaro.org/linaro-blog
Hello,
I recently got
https://blueprints.launchpad.net/linaro-infrastructure-misc/+spec/rebasing-…
to verify current state of affairs with repo handling of SHA revisions
for commits which have underlying tags. The blueprints contains full
details, let me in this report mail cover just we most important bits.
1. We have been having problem with repositories used in Android
releases being rebased later for a long time.
2. Trying to resolve that, we established policy that any revision used
in a release must be tagged, to make sure that exact revision stays
across rebases.
3. That didn't really work well with "repo" tool from ~1.5yr ago,
because it did not fetch tags by default, so rebased revisions were
still unreachable.
4. We did our patching to repo and submitted it to Google, which then
was lost in great kernel.org demise of 2011, and later they rejected it
telling they'd do it in different way.
5. Fast forward to modern time, I verified that repo v1.12.2 works as
expected wrt to fetching commits by SHA revs, if they have underlying
tag, so we're covered for policy of p.2.
6. However, few repos were found to still be rebased without tagging
release revisions. To address that, following options are proposed:
a) Disallow to use SHA revs in release manifests. Granted, that would
make more effort to do a release then just get pinned manifest of some
build, but may improve release process by prompting to ensure that
releases are made from Android Team managed mirrors of repositories,
and that all such repositories are tagged in consistent manner (which
how upstream does it).
b) Verify that each SHA has underlying tag. A bit more challenging
technically (i.e. possibility for unexpected behavior), and misses the
chance to move release process to a new level, but should be still
doable.
Note that both choices preserve ability to rebase repositories, which
is considered an important developers' right ;-).
--
Best Regards,
Paul
Linaro.org | Open source software for ARM SoCs
Follow Linaro: http://www.facebook.com/pages/Linarohttp://twitter.com/#!/linaroorg - http://www.linaro.org/linaro-blog
Guys,
I'm pretty certain that I have proven that there is a bug in your pandaboard images since Jelly Bean. Video is broken. I have taken some pictures to help type up what I think is wrong. And I was able to take your binary and fix it. I suspect that you have an automated process that is running to refresh the binary image, and I think I know what it is doing incorrectly. How do I post this info?
Let me know where I should post the fix, bug....ect.
-ben brown
Hi,
Here is the test result summary for Linaro android jellybean 13.03 release
candidate for different builds:
[1] TI-Panda 4430
[2] TI-Panda 4460
[3] ST-Snowball
[4] Origen_quad 4412
[5]ARM vexpress-A9
[6] Arndale Tiny android Builds
[1] TI-Panda 4430 with Linaro android jellybean 4.2.2 (Column: AD)
https://docs.google.com/a/linaro.org/spreadsheet/ccc?key=0AkxwyUNxNaAadGVWd…
Boot to GUI, wifi is working, Playback of video and .mp3 audio is working,
Suspend-resume test is working, please look into the result spreadsheet for
details results and bug report.
[2]TI-Panda 4460 with Linaro android jellybean 4.2.2 (Column: AD )
https://docs.google.com/a/linaro.org/spreadsheet/ccc?key=0AkxwyUNxNaAadGVWd…
Looks good, Boot to GUI, wifi is working, Suspend-resume test is working,
download-install.apk is working, 0xbench is working, youtube and vid
playback working fine.
please look into the result spreadsheet for details results and bug report.
[3] ST-Snowball with Linaro android jellybean 4.2.2 (Column: AC)
https://docs.google.com/a/linaro.org/spreadsheet/ccc?key=0AkxwyUNxNaAadEF1N…
boot to GUI ok, serial ok, kernel version is 3.4.0+ gcc version is 4.7.3
20130226, adb over usb working, adb over ethernet ok, wifi, video Playback
not working known issue. please look into the result spreadsheet for
details results and bug report.
[4] origen_quad 4412 with Linaro android jellybean 4.2.2 (Column: C)
https://docs.google.com/a/linaro.org/spreadsheet/ccc?key=0AkxwyUNxNaAadDRDV…
Boot to GUI ok, kernel version is 3.8.0, gcc version 4.7.3 20130226, serial
is ok, audio is not working, adb over usb is not working, youtube video
play failed, sd card not detected from gallery, adb over ethernet is ok,
ethernet can be configured from command line to make it works.
please look into the result spreadsheet for details results and bug report.
[5] ARM vexpress-A9 with Linaro android jellybean 4.2.2 (Column: AC)
https://docs.google.com/a/linaro.org/spreadsheet/ccc?key=0AkxwyUNxNaAadExQd…
serial is ok, Primary video out is ok, kernel version is upgraded to
3.9.0-rc3-00212-g0f66281
toolchain version 4.7-2013.03, adb-over ethernet is good, adb over usb not
working (known issue), adb over ethernet ok, browser ok, youtube video
playback failed, audio is ok, please look into the result spreadsheet for
details results and bug report.
[6] Arndale with Tiny Linaro-android builds:
builds:
https://android-build.linaro.org/builds/~linaro-android/linux-linaro-arndal…
boot to console ok, serial is ok, kernel version: 3.9.0-rc3, toolchain
version: 4.7.3 20130226
Hi,
gcc 4.8 has been released a couple of days ago - so I'm getting our tree in
shape to work with it.
I've created a toolchain tarball that works the same as our usual toolchain
releases here:
https://android-build.linaro.org/builds/~linaro-android/toolchain-fsf-4.8.0/
I've also gone through the repository and fixed all build issues (also
submitted the related patches to AOSP).
Unfortunately, this time Microsoft QA ("It compiles, therefore it
works(TM)") failed to detect the issues -- looks like the build works, but
creates some binary incompatibilities with blobs (e.g. undefined references
to __aeabi_uidiv in Galaxy Nexus graphics drivers), so there's some work
left to do -- but for those who are ready to experiment (or don't need
*****ing blobs), it's ready to go.
ttyl
bero
Hi,
As part of the unification of manifest, we have been merging all the
manifests into single tracking.xml manifest. There are few manifest which
are deprecated and need to be removed. The mail is sent to all the people
who have a stake in the builds which were using these manifest. Please
reply to this mail if any of these manifest are still needed by any of the
projects:
staging-origen.xml: Origen Build (Now deprecated)
staging-vexpress-rtsm.xml: RTSM Build (Now supported in vexpress builds)
tracking-panda.xml: Tracking the Landing team kernel. Will be removed since
no work is going on.
tracking-vexpress-rtsm-mp.xml: RTSM Build (Now supported in vexpress builds)
staging-vexpress-rtsm-isw.xml: RTSM IKS build which is no more supported.
staging-vexpress.xml: Vexpress Manifest to track staging kernel.
tracking-snowball.xml: Tracking the landing team kernel. Will be removed
since no work is going on.
Bero,
Do we need these 2 manifest:
default.xml
linaro-default.xml
Most of the engineering builds are now supported from tracking.xml manifest
with the help of groups. Moving forward any new project will be integrated
into this manifest.
Regards,
Vishal
Hi,
quick instructions on testing the version of gcc present in current Android
builds:
Use either adb or the "Terminal Emulator" app to get a shell.
If you're using the terminal emulator app with an onscreen keyboard, you
may want to pick a keyboard that has an Esc key so working with vi becomes
easier: Go to Settings -> Language & input, enable "Hacker's keyboard" and
set it as the default.
In the shell, run (just copy&paste from the mail):
cd /data/data/jackpal.androidterm
cat >test.c <<'EOF'
#include <stdio.h>
int main(int argc, char **argv) {
puts("gcc works");
}
EOF
gcc -O3 test.c
./a.out
Output should be "gcc works", anything else is a bug.
cat >test.cpp <<'EOF'
#include <iostream>
int main(int argc, char **argv) {
std::cout << "g++ works" << std::endl;
}
EOF
g++ -O3 test.cpp
./a.out
Output should be "g++ works", anything else is a bug.
cat >Makefile <<'EOF'
g++test: test.cpp
$(CXX) -o $@ -c $<
EOF
make
./g++test
Output should be normal make output followed by "g++ works", anything else
is a bug.
objdump -x g++test |grep stlport
Output should be
NEEDED libstlport.so
Anything else is a bug.
vi test.cpp
(check manually if vi works as expected)
ttyl
bero