Via distfiles bind mounting, chrome build output was being cached
across chroot replacements. This potentially is desirable, but
wasn't explicitly planned for and violates an assumption of the
canaries.
As such move the content to it's new location.
BUG=None
TEST=emerge-<board> chromeos-chrome
CQ-DEPEND=Ibfc5d42e74861ff498dd2cb6cc2d7be6ec0ded60
Change-Id: I18e384f0fc1cedb3c70ab85178103765322370eb
Reviewed-on: https://gerrit.chromium.org/gerrit/15383
Reviewed-by: David James <davidjames@chromium.org>
Tested-by: Brian Harring <ferringb@chromium.org>
Purpose of this is to allow us to avoid re-downloading everything
every time we rebuild the chroot.
This maintains two directories; host and target. Future enhancement
involves collapsing this into one- this requires some host work however,
and has some potential gotchas in doing so.
Meanwhile, we now store distfiles in repo/distfiles/{host,target},
and mount bind repo/distfiles into /var/cache/distfiles.
An upgrade script in turn optimistically tries to move the content
into the new location; if it can't complete the move, it wipes the
content and the user has to redownload it (acceptable, if annoying).
BUG=chromium-os:13115
TEST=cbuildbot x86-generic-full
Change-Id: Iea96429df0e1fdc4ac0860fbce0daabc90c4c2a3
Reviewed-on: https://gerrit.chromium.org/gerrit/15189
Reviewed-by: Brian Harring <ferringb@chromium.org>
Tested-by: Brian Harring <ferringb@chromium.org>
Commit-Ready: Brian Harring <ferringb@chromium.org>
Now that make_chroot.sh lives alongside enter_chroot, we're able
to invoke it directly and use internal options not exposed through
cros_sdk. Thus enter_chroot grows a --early_make_chroot flag.
This flag bypasses the normal sudo usage, and runs the command
as root. It is needed and used by make_chroot for when sudo
may not yet exist (--bootstrap via stage3 lacks sudo).
For where sudo exists and we need access to the source tree,
distfiles, or profile sourcing, enter_chroot is directly used.
For all other invocations we use a single sudo chroot call to
bypass the overhead of enter_chroot.
This is a complete fix to chromium-os:25697 while addressing
all refactoring requests that came up in I8a6c5a26.
Finally, convert all comments into complete sentences, upper
case the leading word, etc to keep reviewers happy.
BUG=chromium-os:25697
TEST=Within a trybot, cros_sdk --bootstrap --replace
TEST=cros_sdk --replace
TEST=cros_sdk --delete
TEST=cros_sdk
Change-Id: I270ee7fc325ef0bea74c61505d25cdbb49a9a333
Reviewed-on: https://gerrit.chromium.org/gerrit/15322
Commit-Ready: Brian Harring <ferringb@chromium.org>
Reviewed-by: Brian Harring <ferringb@chromium.org>
Tested-by: Brian Harring <ferringb@chromium.org>
This should fix xinput when built against inputproto-2.1
Note: This patch also removes older version (1.5.3).
BUG=chrome-os-partner:7875
TEST=xinput list
-> Should display list of input devices, not "XI2 not supported"
TEST=Confirm 2-finger scroll works when using touchpad with CMT X input
driver. (e.g. on lumpy)
Change-Id: Icd5ac1a68a09945d318f3936548b18686e4e07e7
Reviewed-on: https://gerrit.chromium.org/gerrit/15314
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Stuart Abercrombie <sabercrombie@chromium.org>
Reviewed-by: Benson Leung <bleung@chromium.org>
Commit-Ready: Daniel Kurtz <djkurtz@chromium.org>
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
Tested-by: Daniel Kurtz <djkurtz@chromium.org>
This is required to build xinput-1.5.4, which fixes a bug when building
against inputproto-2.1
Note: This patch removes the older version.
Note: 1.4.3-xiquerydevice.patch is included in 1.4.5
BUG=chrome-os-partner:7875
TEST=emerge-${B} libXi
-> builds clean; input drivers build clean
Change-Id: I66ce6321ed37c6499a029905c2c62a06d04f8df4
Reviewed-on: https://gerrit.chromium.org/gerrit/15313
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Stuart Abercrombie <sabercrombie@chromium.org>
Reviewed-by: Benson Leung <bleung@chromium.org>
Commit-Ready: Daniel Kurtz <djkurtz@chromium.org>
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
Tested-by: Daniel Kurtz <djkurtz@chromium.org>
Imported as of 09d3117c483c60f55f552694b84b0964dfc17477.
Only modification is so that it can find common.sh.
BUG=chromium-os:25697
TEST=None
Change-Id: Idb43f1ecff3dff10a61396629a344c8bd10f505e
Reviewed-on: https://gerrit.chromium.org/gerrit/15317
Tested-by: Brian Harring <ferringb@chromium.org>
Reviewed-by: David James <davidjames@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Brian Harring <ferringb@chromium.org>
Now that we stub out ssmtp in package.provided, we no longer have to
keep this in our repo.
BUG=chromium-os:5777
TEST=build_packages+build_image for x86-alex boots and sudo works fine
Change-Id: Id963632e07f7f0372bf7b472f1eec9e71dd7fac8
CQ-DEPEND=Id5b332a90952eb3ee8e6267d1ff046d856eb18e4
Reviewed-on: https://gerrit.chromium.org/gerrit/15337
Reviewed-by: Brian Harring <ferringb@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
With Aura, we won't have a need for the WM any more.
TEST=built an image without chromeos-wm, verified that the build system didn't complain.
Change-Id: Id6e5006770f72ea45f440dbe56ff7f53262864c1
Reviewed-on: https://gerrit.chromium.org/gerrit/15212
Tested-by: Stéphane Marchesin <marcheu@chromium.org>
Reviewed-by: Daniel Erat <derat@chromium.org>
Commit-Ready: Stéphane Marchesin <marcheu@chromium.org>
Add a clearer error message if the source image was not found.
This can occur if the --from directory exists, but the selected
image within it does not. An easy case is --from'ing a directory
from a chromeos-images zip.
Previously image_to_usb would copy zero bytes and return success.
BUG=None
TEST=Ran image_to_usb.sh for default, directory and .bin --froms.
Change-Id: I826f2bbc8effd9554f558e517b51cc03b4f832d5
Reviewed-on: https://gerrit.chromium.org/gerrit/15120
Tested-by: Chris Wolfe <cwolfe@chromium.org>
Reviewed-by: Jon Kliegman <kliegs@chromium.org>
Commit-Ready: Chris Wolfe <cwolfe@chromium.org>
This brings us a bug fix or two and x32 support.
BUG=chromium-os:25655
TEST=`emerge gmp` works
TEST=build_packages+build_image for x86-alex boots
Change-Id: I7117e9a9e7a4dca7ad081efa727ca72be75e503f
CQ-DEPENDS=Iaab88d2c2736fccc696ab0c950bb8e7391f975df
Reviewed-on: https://gerrit.chromium.org/gerrit/15054
Reviewed-by: Matt Tennant <mtennant@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
This is needed as part of transition to cros-workon.
Crossdev has a -S option to install the current stable, which is
the preferred future option, but would greatly complicate the logic.
BUG=chromium-os:25338
TEST=setup_board --board=any --force, see it build the right versions
Change-Id: I9139b8a38c9156ea27dfb428cff8c7deffb0e6de
Reviewed-on: https://gerrit.chromium.org/gerrit/15011
Tested-by: Zdenek Behan <zbehan@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Zdenek Behan <zbehan@chromium.org>
Install VERSION file since gsutil sometimes wants to read it.
Upstream bug <https://bugs.gentoo.org/show_bug.cgi?id=394471>
Modified to keep the x86 and amd64 platforms marked stable.
BUG=None
TEST=Re-emerged gsutil in chroot, no longer errors on 'gsutil version'
TEST='cbuildbot x86-generic-full' works without complaint
Change-Id: Ie54399fd077f3ad2136a586bdee4b085d1810ed5
Reviewed-on: https://gerrit.chromium.org/gerrit/15105
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Chris Wolfe <cwolfe@chromium.org>
Tested-by: Chris Wolfe <cwolfe@chromium.org>
BUG=chromium-os:23229
TEST=ran this against a ToT alex img, image_to_usb, boots, installs, works
Change-Id: Ia1e589a8b920332c1a247986e6bbc3cad17ed751
Reviewed-on: https://gerrit.chromium.org/gerrit/14650
Commit-Ready: Jim Hebert <jimhebert@chromium.org>
Tested-by: Jim Hebert <jimhebert@chromium.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Chris Sosa <sosa@chromium.org>
This fixes the missing libusb SLOT depend and updates it to libusb-1.0.
BUG=chromium-os:25695
TEST=`emerge smdk-dltool` works and links against libusb-1.0
TEST=send to dianders and he said it ran fine
Change-Id: I65fc2b6385d4b52443cd40e431e1467472f6bd3d
Reviewed-on: https://gerrit.chromium.org/gerrit/15090
Reviewed-by: Doug Anderson <dianders@chromium.org>
Tested-by: Doug Anderson <dianders@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
This CL upgrades media-video/ffmpeg to version 0.7.8 on x86. The library
is necessary to process video streams from camera in factory tests.
BUG=chrome-os-partner:6497
TEST='emerge-x86-alex ffmpeg' works
TEST='emerge-x86-alex alsa-plugins' works
TEST='./build_image --board=x86-alex --factory' works
Change-Id: I616d0f74ee7252ae718f47b2c13fccc3e6b1d74e
Reviewed-on: https://gerrit.chromium.org/gerrit/13703
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Tai-Hsu Lin <sheckylin@chromium.org>
Tested-by: Tai-Hsu Lin <sheckylin@chromium.org>
This is needed as part of transition to cros-workon.
Crossdev has a -S option to install the current stable, which is
the preferred future option, but would greatly complicate the logic.
BUG=chromium-os:25338
TEST=setup_board --board=any --force, see it build the right one
Change-Id: Ibb4fd18d122f69835eb471b2fa1a258c571dfdd1
Reviewed-on: https://gerrit.chromium.org/gerrit/14878
Tested-by: Zdenek Behan <zbehan@chromium.org>
Commit-Ready: Zdenek Behan <zbehan@chromium.org>
Reviewed-by: Zdenek Behan <zbehan@chromium.org>
This reverts commit f789741b0010702ec9fa533783458eea2d466937
The fix that went into google-breakpad to fix their test
failures addressed some targets, but not all, so we have
to wait for more feedback on http://crosbug.com/25355
Change-Id: I6a264d11cc6a4243dcbad394f1dbec33972ffb9c
Reviewed-on: https://gerrit.chromium.org/gerrit/14980
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
The two bugs that we hit in the last upgrade have been fixed.
BUG=None
TEST=updated make, checked `make --version`
TEST=rebuilt x86-alex from source, booted it
TEST=`cbuildbot chromiumos-sdk` worked
TEST=`FEATURES=test emerge google-breakpad` worked
Change-Id: I1ef342b38d5f7a5615e979d9d4b03cb05d180d26
Reviewed-on: https://gerrit.chromium.org/gerrit/14961
Reviewed-by: David James <davidjames@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
This adds repo --references awareness (which maps down to git shared object
pools; see git clone -s); specifically, it sets up the appropriate indirection
bindings back to the actual shared source for use from within the chroot.
Note that the approach is a bit complex, but it's required complexity- via
this approach the references are accessible both from within, and without
the chroot.
BUG=chromium-os:19939
TEST=cbuildbot x86-generic-full --clobber --notests --nouprev
TEST=cbuildbot x86-generic-full --notests --nouprev
CQ-DEPEND=I986f17503dc154234ecadd90f6975d7164117cdb
Change-Id: I8498863010cefe0bf5b8f20350fa45a5f2a093d3
Reviewed-on: https://gerrit.chromium.org/gerrit/13467
Tested-by: Brian Harring <ferringb@chromium.org>
Reviewed-by: David James <davidjames@chromium.org>
Commit-Ready: Brian Harring <ferringb@chromium.org>
The previous CL posted was missing arm KEYWORDs. I had this fixed
locally, but the re-posting was lost.
BUG=chromium-os:20376
TEST=`emerge-arm-generic libp11` pulls in new version
Change-Id: Ia02fdc4430dacb4c7209c900c276d9dd692a87ea
Reviewed-on: https://gerrit.chromium.org/gerrit/14905
Reviewed-by: Simon Glass <sjg@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
This version no longer needs libtool at runtime.
BUG=chromium-os:20376
TEST=`emerge-x86-alex opensc` still works, and doesn't link against libtool
TEST=cbuildbot x86-generic-full passed
CQ-DEPEND=If3d7df287f903b6fd03c1631bb923c1861ebb891
Change-Id: I5f838e4852316a07d6b01e6a6c9f6e9d8731f83f
Reviewed-on: https://gerrit.chromium.org/gerrit/13661
Reviewed-by: Matt Tennant <mtennant@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
This version no longer needs libtool at runtime.
BUG=chromium-os:20376
TEST=`emerge-x86-alex libp11` still works, and doesn't link against libtool
TEST=`emerge-x86-alex opensc engine_pkcs11` still works
TEST=cbuildbot x86-generic-full passed
Change-Id: If3d7df287f903b6fd03c1631bb923c1861ebb891
Reviewed-on: https://gerrit.chromium.org/gerrit/13660
Reviewed-by: Matt Tennant <mtennant@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
We have a number of outdated X tools; let's update them in one swoop since
it's backwards compatible anyway.
Change-Id: I35f6f3f7688fcb26730688588d2dbb4de9d77600
Reviewed-on: https://gerrit.chromium.org/gerrit/14829
Reviewed-by: Stuart Abercrombie <sabercrombie@chromium.org>
Tested-by: Stéphane Marchesin <marcheu@chromium.org>
Commit-Ready: Stéphane Marchesin <marcheu@chromium.org>
This is going to be necessary next time we upgrade mesa, this is also
necessary to work with mesa git against the Chrome OS tree.
Change-Id: Ibe38a048d40ad0c36040cb1d18eac5534d4d8f9c
Reviewed-on: https://gerrit.chromium.org/gerrit/14844
Commit-Ready: Stéphane Marchesin <marcheu@chromium.org>
Tested-by: Stéphane Marchesin <marcheu@chromium.org>
Reviewed-by: Stuart Abercrombie <sabercrombie@chromium.org>
xcb-util is now split into multiple packages. We need to update xlsclients
alongside, because the previous xlsclients ebuild has a dependency bug.
Change-Id: I22bfbaa10ca96c36936329f77c24017523a628e6
Reviewed-on: https://gerrit.chromium.org/gerrit/14831
Tested-by: Stéphane Marchesin <marcheu@chromium.org>
Reviewed-by: Stuart Abercrombie <sabercrombie@chromium.org>
Commit-Ready: Stéphane Marchesin <marcheu@chromium.org>
dump_syms can only dump the symbols of an executable with the same ELF
format as itself. Some recent build configurations now have binaries with
differing ELF formats. For example, issue 25468 has a 64-bit kernel where
everything else is 32-bit, and issue 25466 indicates there's a test that
contains a 32-bit executable.
BUG=chromium-os:25496, chromium-os:25468, chromium-os:25466
TEST=Ran cros_generate_breakpad_symbols on 32/64-bit executables
Change-Id: I15f5115585b3ed54ca7ae7b631216285baef8580
Reviewed-on: https://gerrit.chromium.org/gerrit/14835
Tested-by: Michael Krebs <mkrebs@chromium.org>
Reviewed-by: David James <davidjames@chromium.org>
Commit-Ready: Michael Krebs <mkrebs@chromium.org>
Latest scanelf version includes some features that people want, so
pull it in to our tree.
BUG=None
TEST=`emerge pax-utils` works
Change-Id: I1e3061fe23a08cae4ea7b32cc75e25e64044e711
Reviewed-on: https://gerrit.chromium.org/gerrit/14720
Tested-by: Richard Barnette <jrbarnette@chromium.org>
Reviewed-by: Richard Barnette <jrbarnette@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
We have helper funcs already for displaying messages, so convert
some raw `echo` calls to them.
BUG=None
TEST=build_image still works and boots
Change-Id: Ie66cc59d0362ef6aa19011fa6cb0bc64a6a4fce8
Reviewed-on: https://gerrit.chromium.org/gerrit/14478
Reviewed-by: Richard Barnette <jrbarnette@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
We use python to build, so make sure we depend on it.
BUG=chromium-os:25254
TEST=`emerge seabios` still works
Change-Id: Ie88ca955a3ad315572f5b21fb1e39a65620c5550
Reviewed-on: https://gerrit.chromium.org/gerrit/14671
Reviewed-by: David James <davidjames@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
This reverts commit c770fd9ac4c35af21df7e9837cf7d5f1a306ad1b. We
were getting unit test failures
(http://build.chromium.org/p/chromiumos/builders/x86%20generic%20full/
builds/1483/steps/UnitTest/logs/stdio), and this CL was identified as the
culprit.
BUG=chromium-os:25355
TEST=None
Change-Id: I66a42ef80e4c7d66021bb59d01cb894d5cd2c1a5
Reviewed-on: https://gerrit.chromium.org/gerrit/14629
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Sean Paul <seanpaul@chromium.org>
We have updated the toolchain in the chroot to use a newer version of
libstdc++ than what is installed on our workstations. This means
this additional library is required to generate deltas outside of the
chroot.
BUG=chromium-os:25277
TEST=Generated zip file, and ran contents outside of chroot on my workstation.
Change-Id: I5a90ee355aabd4849a9186a9a66e3dc9b1c51d52
Reviewed-on: https://gerrit.chromium.org/gerrit/14597
Reviewed-by: Eric M. Blake <eblake@google.com>
Reviewed-by: Eric Blake <eblake@chromium.org>
Tested-by: Don Garrett <dgarrett@chromium.org>
Commit-Ready: Don Garrett <dgarrett@chromium.org>
The factory test image was created by using rsync from build artifacts
in chroot, which has some concerns:
- Runtime dependencies of autotest-factory won't be picked into image.
- If a developer skips build_package and builds image by using only pre-built
binary packages, he will get nothing in factory test image.
- It's hard for developers to figure out how and when his changes will be
merged to next build_image (cros_workon does not really work).
- Output image will be definitely different for every developers, also the
official build bots.
- If developers never wipes his chroot (setup_board), the factory test image
will grow until out of space. (For example, my environment outputs a 825M
image while the official buildbot generates only 563M for same ToT source).
This CL changes image build command to using portage emerge, so that output
image can be prepared faster and smaller, and easier for maintenance.
BUG=chromium-os:3335
TEST=./build_packages; ./build_image --factory # Image starts factory UI successfully
# Also tried tests in test_list.all, seems fine.
time ./mod_image_for_test.sh --factory --force_copy --no_inplace
# time: 3m2s => 1m55s, factory test image data: 825/563M => 378M
./build_image --factory_install # factory install shim is also fine
Change-Id: I82b4505c74cd31e718aaff4a319d50b69b2c852c
Reviewed-on: https://gerrit.chromium.org/gerrit/14473
Tested-by: Hung-Te Lin <hungte@chromium.org>
Reviewed-by: Richard Barnette <jrbarnette@chromium.org>
Commit-Ready: Hung-Te Lin <hungte@chromium.org>
Not all 64-bit platforms have names starting with amd64-, so we should
use portageq to get the board architecture name.
BUG=chromium-os:25228
TEST=./cros_generate_breakpad_symbols --board=x86-alex, amd64-corei7, link
Change-Id: I83769575dbd19112b929724995d0c97ed4df2b02
Reviewed-on: https://gerrit.chromium.org/gerrit/14444
Commit-Ready: Vincent Palatin <vpalatin@chromium.org>
Tested-by: Vincent Palatin <vpalatin@chromium.org>
Reviewed-by: David James <davidjames@chromium.org>
Buildbots are periodically failing to build images; the evidence
points to failures in mount_gpt_image.sh, but it's inconclusive.
Add detailed error messages to mount failures so as to be able
to debug more the next time it happens.
BUG=chromium-os:24975
TEST=build_image, to see that successful cases still work
TEST=repeatedly mount new images with mount_gpt_image until it fails
Change-Id: I711fb0dec62dbab3817a62895b53e14376702544
Reviewed-on: https://gerrit.chromium.org/gerrit/14410
Commit-Ready: Richard Barnette <jrbarnette@chromium.org>
Tested-by: Richard Barnette <jrbarnette@chromium.org>
Reviewed-by: David James <davidjames@chromium.org>
The variable setup is "FLAGS_force_non_usb", not "FLAGS_force_non".
Trying to run this currently results in:
./image_to_usb.sh: line 189: [: -ne: unary operator expected
Copying USB image .../chromiumos_image.bin to device /dev/sdb...
This should have instead errored out:
Error: Device /dev/sdb does not appear to be a USB or MMC disk!
Without this fix, image_to_usb.sh proceeds to corrupt the non-usb
disk (which in my case happened to be a backing store for lvm where
all my source was stored and ext4 not surprisingly barfed).
BUG=None
TEST=`./image_to_usb.sh --board=x86-alex -y --to=/dev/sdb` (where /dev/sdb is a disk) now errors out instead of clobbering data
TEST=`./image_to_usb.sh --board=x86-alex -y --to=/dev/sdc` (where /dev/sdc is USB) still works
Change-Id: Id691846393c02cf199309495ae2080b15626e684
Reviewed-on: https://gerrit.chromium.org/gerrit/14334
Reviewed-by: Zdenek Behan <zbehan@chromium.org>
Reviewed-by: Chris Wolfe <cwolfe@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>