30045 Commits

Author SHA1 Message Date
Vadim Bendebury
093ffc22d3 Increase factory shim EFI partition size
With recent changes (transitioning to 64 bit x86 kernels and the 3.2
kernel) the factory install image EFI partition gets overflown,
resulting in build failures.

This change makes sure that factory shim image gets allocated twice
the room for the EFI partition (32M).

BUG=chromium-os:27639
TEST=manual
  run the following commands while in chroot:
  cd ~/trunk/src/scripts
   ./build_image --board=lumpy
   ./build_image --board=lumpy --replace --symlink=factory_shim --build_attempt=3 factory_install
   cd ~/trunk/src/build/images/lumpy/factory_shim
   ./unpack_partitions.sh factory_install_shim.bin
   ls -l part12
   cd ~/trunk/src/build/images/lumpy/latest
   ./unpack_partitions.sh chromiumos_image.bin
   ls -l part12

 . observe that in factory shim case the part_12 partition size is
   33554432 bytes, and in the regular image case the part_12
   partition size is 16777216

 . try using the factory_shim USB stick in recovery mode, observe the
   system come up (did not have a server set up, so the full install
   process was not verified).

Change-Id: Ibe001ec37c752dca90ec30ae056a67610e39a8fb
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/17907
2012-03-13 11:58:47 -07:00
Chris Wolfe
1ae32f3c63 Reland: sshfs-fuse: pull in version 2.4 from upstream
The upstream version 2.4 adds `-o slave`, which allows us to spawn
sshfs attached to the server end of an SSH pipe. As a result files
on your workstation can easily be pushed to a chromium-os device,
rather than needing to open a terminal on the device and SSH back.

This relands a (slightly modified) version of:
https://gerrit.chromium.org/gerrit/17724

BUG=chromium-os:25146
TEST=clean build and install test image on x86-alex
TEST=ran chrome over sshfs with and without -o slave
TEST=cbuildbot arm-tegra2-full

Change-Id: I6318a373067ed5166700d3c362ba16b34ad87797
Reviewed-on: https://gerrit.chromium.org/gerrit/17829
Commit-Ready: Chris Wolfe <cwolfe@chromium.org>
Reviewed-by: Chris Wolfe <cwolfe@chromium.org>
Tested-by: Chris Wolfe <cwolfe@chromium.org>
2012-03-13 08:00:13 -07:00
Zdenek Behan
63989c25ec make_conf_util: initialize make.conf with the real number of CPUs
BUG=none
TEST=cros_sdk --bootstrap, check out make.conf.host_setup

Change-Id: Icca34d4185869092f281de6b53929377c1410f5e
Reviewed-on: https://gerrit.chromium.org/gerrit/17845
Reviewed-by: David James <davidjames@chromium.org>
Commit-Ready: Zdenek Behan <zbehan@chromium.org>
Tested-by: Zdenek Behan <zbehan@chromium.org>
2012-03-12 14:02:56 -07:00
Hung-Te Lin
2a506ffcce Fix typo in build_image factory_test.
The factory test image name is CHROMEOS_FACTORY_TEST_IMAGE_NAME.
Also fixed the error message when FLAGS_factory is not defined.

BUG=chromium-os:27651
TEST=build_image factory_test;
     # ls /usr/local/autotest/site_tests, seeing test packages.

Change-Id: Id8095e48e47382f07d77c85873bf588e489ba8cf
Reviewed-on: https://gerrit.chromium.org/gerrit/17816
Reviewed-by: Chris Sosa <sosa@chromium.org>
Commit-Ready: Chris Sosa <sosa@chromium.org>
Tested-by: Chris Sosa <sosa@chromium.org>
2012-03-12 13:23:28 -07:00
Chris Sosa
f37f64d929 Fix bug where you can't mount a non-developer image from the most recent image.
Currently if you use -m and -i chromiumos_test_image.bin, you get an error
saying that -i and --from=<block_device> are incompatible.  -m
changes --from to the most recent folder but does this after the check so
this is broken.  This change re-orders the calls to fix this bug.

BUG=None
TEST=Ran it with args that were broken.

Change-Id: I367a74f7b77f127b6ad8eeeb92ab72ae00e5235e
Reviewed-on: https://gerrit.chromium.org/gerrit/17760
Commit-Ready: Chris Sosa <sosa@chromium.org>
Reviewed-by: Chris Sosa <sosa@chromium.org>
Tested-by: Chris Sosa <sosa@chromium.org>
2012-03-12 12:22:47 -07:00
Chris Sosa
e9e2d66366 Remove --nofast --nostatefuldev from build_image as they are never used.
BUG=chromium-os:27362
TEST=Built a test image.

Change-Id: I884acd534f06d9070b28d5cd74862e2774822578
Reviewed-on: https://gerrit.chromium.org/gerrit/17759
Reviewed-by: Chris Sosa <sosa@chromium.org>
Tested-by: Chris Sosa <sosa@chromium.org>
Commit-Ready: Chris Sosa <sosa@chromium.org>
2012-03-12 10:55:51 -07:00
Bernie Thompson
07fd6ff94a Revert "sshfs-fuse: pull in version 2.4 from upstream"
This reverts commit a6d3c3139360418911b0eb3f301a604c0d49f2f6

This broke the tree on the Tegra2 full builder, due to sshfs-fuse-2.4 being unstable ~ on ARM. kliegs suggests that this can be fixed more properly by adjusting chromiumos-overlay/profiles/targets/chromeos/package.keywords since the prior versions were also forced stable, but reverting for now.

Change-Id: Ifdec79f50d1a73bee98596bfec8fcc1968f47328
Reviewed-on: https://gerrit.chromium.org/gerrit/17773
Reviewed-by: Jon Kliegman <kliegs@chromium.org>
Commit-Ready: Bernie Thompson <bhthompson@chromium.org>
Reviewed-by: Bernie Thompson <bhthompson@chromium.org>
Tested-by: Bernie Thompson <bhthompson@chromium.org>
2012-03-09 17:08:41 -08:00
Chris Wolfe
2234d10e64 sshfs-fuse: pull in version 2.4 from upstream
The upstream version 2.4 adds `-o slave`, which allows us to spawn
sshfs attached to the server end of an SSH pipe. As a result files
on your workstation can easily be pushed to a chromium-os device,
rather than needing to open a terminal on the device and SSH back.

BUG=chromium-os:25146
TEST=clean build and install test image on x86-alex
TEST=ran chrome over sshfs with and without -o slave

Change-Id: I0d4641bb4a4b0310ceb0afcb5042c7873c05357f
Reviewed-on: https://gerrit.chromium.org/gerrit/17724
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Chris Wolfe <cwolfe@chromium.org>
Tested-by: Chris Wolfe <cwolfe@chromium.org>
2012-03-09 15:01:27 -08:00
Mike Frysinger
839e82adc8 build_packages: add --skip_chroot_upgrade for setup_board
Now that the setup_board has an option for skipping the chroot update
logic, it'd be helpful (for buildbots) if build_packages had a flag to
pass through to setup_board for that too.

BUG=None
TEST=`./build_packages --board=tegra2` ran the chroot update
TEST=`./build_packages --board=tegra2 --skip_chroot_upgrade` skipped the chroot update

Change-Id: I662d90811d7bcf9782ef8cb06655940b0e5c7f06
Reviewed-on: https://gerrit.chromium.org/gerrit/17159
Reviewed-by: David James <davidjames@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
2012-03-09 13:47:35 -08:00
Chris Sosa
c9422fa467 Deprecate --test, --withdev, --factory, --factory_install from build_image.
Using these flags directly was deprecated a while back and is causing confusion
which way is the right way.  This CL removes all these FLAGS from build_image
(though keeps support of them in mod_image_for_test/image_to_usb invocations
in common.sh).  In this change I've also defaulted build_image to build the
developer image (and only the developer image).

BUG=chromium-os:27362
TEST=Been busy testing.  Have built the following combinations and verified them:

build_image base
build_image
build_image base dev test
build_image dev
build_image dev factory_test
build_image factory_install

Change-Id: Ie534c276a9ec571926964320ac176daa91b12a81
Reviewed-on: https://gerrit.chromium.org/gerrit/17386
Tested-by: Chris Sosa <sosa@chromium.org>
Reviewed-by: Richard Barnette <jrbarnette@chromium.org>
Commit-Ready: Chris Sosa <sosa@chromium.org>
2012-03-09 12:41:50 -08:00
Chris Sosa
8e071cc2b1 Wipe the autotest package directory before rebasing from client.
This script is a bit of mess in general as it copies client directories
back onto client proper. This creates issues when you add additional
directories that might exist in client to base that either the
FACTORY_TEST_INSTALL_MASK isn't expecting.

BUG=chromium-os:26561
TEST=Ran build_image factory_test with/without packages directory.

Change-Id: I692d44f7c56668d689350d0f3a2a2c2790c6c13a
Reviewed-on: https://gerrit.chromium.org/gerrit/17713
Tested-by: Chris Sosa <sosa@chromium.org>
Reviewed-by: Scott Zawalski <scottz@chromium.org>
Commit-Ready: Chris Sosa <sosa@chromium.org>
2012-03-09 12:41:46 -08:00
Mike Frysinger
5011c7f987 build_packages: log the pkgs we are about to merge
When running build_packages, the toolchain checking operations from the
update_chroot step and the initial merge are hard to differentiate, so
add an explicit `info` message so people can see what's going on.

BUG=None
TEST=`./build_packages --board=x86-alex` shows more info

Change-Id: I3593eb9ca56c620232bf155daf89b15fadb6547d
Reviewed-on: https://gerrit.chromium.org/gerrit/17604
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2012-03-09 07:45:37 -08:00
Mike Frysinger
b39be4447e portage-stable: no masters
Now that portage-stable contains everything we need, we can disconnect
the portage/ tree from the search.

Further, the chromiumos-overlay/ tree doesn't offer any eclasses we really
want, so drop that as well.

We can re-land this change now that crossdev has been updated to generate
metadata/layout.conf itself rather than symlinking an existing one.

BUG=chromium-os:26016
TEST=build_packages+build_image for x86-alex boots
TEST=build_packages+build_image for x86-mario/arm-generic/amd64-generic works
TEST=`cbuildbot arm-generic-full` worked
TEST=`cbuildbot chromiumos-sdk` worked

Change-Id: Ifac91a74c3e899f8184c4cbb5b4ce2eddafa14d5
Reviewed-on: https://gerrit.chromium.org/gerrit/17419
Reviewed-by: David James <davidjames@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2012-03-08 19:41:42 -08:00
Stuart Abercrombie
659476415a Remove the unpatched portage-stable libpciaccess ebuild.
It should be overridden by the one in chromiumos-overlay, but it seems to be lea
ding to stale versions that break the display with the VM.

BUG=chromium-os:25404
TEST=x86/amd64 still build

Change-Id: Id71f2fb53b056a6439354adf6d6477bad74225cd
Reviewed-on: https://gerrit.chromium.org/gerrit/17639
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Commit-Ready: Stuart Abercrombie <sabercrombie@chromium.org>
Tested-by: Stuart Abercrombie <sabercrombie@chromium.org>
2012-03-08 19:17:02 -08:00
Chris Sosa
c596581be1 Detect if args were passed to image_to_usb, die if they are.
build_image interface now only support arg arguments rather than
flags. This might be confusing for users who might expect something
to happen when they run image_to_usb dev.

BUG=chromium-os:27362
TEST=Tested with/without args.

Change-Id: If521cb612fa1fa5716fc1557038780a5366e8bab
Reviewed-on: https://gerrit.chromium.org/gerrit/17625
Commit-Ready: Chris Sosa <sosa@chromium.org>
Reviewed-by: Chris Sosa <sosa@chromium.org>
Tested-by: Chris Sosa <sosa@chromium.org>
2012-03-08 19:17:01 -08:00
David James
17c622a380 Add support for using local binary packages.
This CL adds the --reuse_pkgs_from_local_boards flag to setup_board and
build_packages. With this flag, binary packages are shared between boards
that are built locally, so that the total time required to build several
boards is reduced.

This flag is only useful when you are not able to use remote binary packages,
since remote binary packages are usually more up to date than anything you have
locally. For this reason it is typically only used by buildbots which build
multiple similar full builds on the same machine.

BUG=chromium-os:26232
TEST=Test build using only local binary packages from a different
     board.
CQ-DEPEND=I0353dd34f63f1b5c9c1a08882322279c6c4d82f5

Change-Id: I8a1d2687bd0d177de4464a80703b8b5a0b6c9f52
Reviewed-on: https://gerrit.chromium.org/gerrit/15775
Commit-Ready: David James <davidjames@chromium.org>
Reviewed-by: David James <davidjames@chromium.org>
Tested-by: David James <davidjames@chromium.org>
2012-03-08 15:23:26 -08:00
Sonny Rao
d6e32cd9c1 Add chroot upgrade script to clear out atom board root(s) when moving to 64bit
BUG=chrome-os-partner:8349
TEST=Ad hoc, apply update to 64bit, run this script, make sure build works

Change-Id: I708addf055faf90b250bb38da5b292ecabc26edb
Reviewed-on: https://gerrit.chromium.org/gerrit/17597
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Sonny Rao <sonnyrao@chromium.org>
2012-03-08 12:35:28 -08:00
J. Richard Barnette
e80f6de440 Include the Chrome OS private overlay in the chroot, if present.
To build recovery images, the initramfs package needs fonts for
various languages.  The Japanese fonts to use depend on whether
it's an internal (Chrome OS) or external (Chromium OS) build.

Including the internal Japanese fonts requires additional settings
in /etc/make.conf in the chroot.  This change updates make_chroot
and update_chroot to ensure that the necessary settings are present
when appropriate.

BUG=chromium-os:26757
TEST=confirm proper packages after chroot creation with private manifest
TEST=confirm proper packages after chroot creation with public manifest
TEST=confirm proper packages after chroot upgrade with private manifest
TEST=confirm proper packages after chroot upgrade with public manifest
CQ-DEPEND=I32c4561c47752d96d2769c5429c5e44fe630f8f9

Change-Id: I2b29b32bf4e6b891a2228dc7f93ae0bb3f85e37f
Reviewed-on: https://gerrit.chromium.org/gerrit/17372
Tested-by: Richard Barnette <jrbarnette@chromium.org>
Reviewed-by: David James <davidjames@chromium.org>
Commit-Ready: Richard Barnette <jrbarnette@chromium.org>
2012-03-08 12:17:44 -08:00
Mike Frysinger
69d139f766 update hooks: update metadata dir for installed crossdev overlays
Old crossdev would symlink its metadata dir to the chromiumos overlay.
New crossdev manages this itself iff it had created the layout.conf
before.  Add an upgrade hook to convert the symlink over to a config
file that crossdev will update.

BUG=chromium-os:26998
TEST=`./update_chroot` with old chroot created metadata overlay that crossdev would update

Change-Id: I03faa78a988e0cd0a94dcd4f0f01151c32bb215b
CQ-DEPEND=I3f2775111da800622591c9b56ba00428d6106207
Reviewed-on: https://gerrit.chromium.org/gerrit/17408
Reviewed-by: Zdenek Behan <zbehan@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
2012-03-07 17:12:07 -08:00
Mike Frysinger
bb214a9f59 setup_board: drop arm-none-eabi gdb workaround
Now that the bots have run and built gdb binpkgs, release this onto
the wider development community.

BUG=chromium-os:26998
TEST=`./setup_board --board=amd64-generic --usepkg` installed arm-none-eabi/gdb via binpkg

Change-Id: I1f870d7a07662c96d9154d2e4d4777c00f6c9fdc
Reviewed-on: https://gerrit.chromium.org/gerrit/17482
Reviewed-by: David James <davidjames@chromium.org>
Reviewed-by: asharif <asharif@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2012-03-07 11:37:30 -08:00
Mike Frysinger
a538fcefe1 libXcomposite: mark stable for everyone
Looks like during the update of this package, we had amd64 and arm
marked stable, but x86 was not.  Fix that else I get build errors:

The following keyword changes are necessary to proceed:

>=x11-libs/libXcomposite-0.4.3-r1 ~x86

BUG=chromium-os:26016
TEST=`./build_packages --board=x86-mario` works

Change-Id: I7d251abfef52c78d5be0df67559c7b57dd4abe86
Reviewed-on: https://gerrit.chromium.org/gerrit/17501
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2012-03-07 11:37:29 -08:00
Hung-Te Lin
7119cb1499 build_image: Enable initramfs for factory install shims on amd64.
On both x86 and x64(amd64) platforms, we should enable initramfs for
factory install shim so that partner can remove shim.

BUG=chrome-os-partner:8376
TEST=./build_image --board lXXk --factory_install # pass, bootable with initramfs

Change-Id: Ibbb3f71fc287d2db2c9245e11ce5a00cbc353c3a
Reviewed-on: https://gerrit.chromium.org/gerrit/17472
Reviewed-by: Rong Chang <rongchang@chromium.org>
Commit-Ready: Hung-Te Lin <hungte@chromium.org>
Tested-by: Hung-Te Lin <hungte@chromium.org>
2012-03-07 08:02:29 -08:00
Paul Stewart
c8f910a860 Change default port for cros_image_to_target tunnel
Old default conflicted with a new service running on the DUT.

BUG=None
TEST=Rerun cros_image_to_target

Change-Id: I982b68500d6cb59c884a286229688ee41ff6d76d
Reviewed-on: https://gerrit.chromium.org/gerrit/17434
Reviewed-by: Ryan Cairns <rtc@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
2012-03-06 15:19:25 -08:00
Mike Frysinger
eb0ece6105 setup_board: migrate to new crossdev style
This allows us to simplify the code a bit.  Once this shakes out,
there is probably more improvements to be made.

BUG=chromium-os:26998
TEST=`cbuildbot chromiumos-sdk` works

Change-Id: I3f2775111da800622591c9b56ba00428d6106207
CQ-DEPEND=I25153be568e57596dd8ec90cd833da057e08a49a
Reviewed-on: https://gerrit.chromium.org/gerrit/16981
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2012-03-06 09:12:23 -08:00
Mike Frysinger
4672e0d274 crossdev: pull latest version from upstream Gentoo
BUG=chromium-os:26998
TEST=`cbuildbot chromiumos-sdk` works

Change-Id: I25153be568e57596dd8ec90cd833da057e08a49a
Reviewed-on: https://gerrit.chromium.org/gerrit/17092
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
2012-03-06 09:12:22 -08:00
Stéphane Marchesin
c1f35ac968 Import libdrm 2.4.31 ebuild from upstream.
Required for the upcoming mesa 8.0 upgrade.

TEST=builds

Change-Id: I3d9ebeca5eee6617178c219d498dfcd802028e3b
Reviewed-on: https://gerrit.chromium.org/gerrit/17196
Tested-by: Stéphane Marchesin <marcheu@chromium.org>
Reviewed-by: Stuart Abercrombie <sabercrombie@chromium.org>
Commit-Ready: Stéphane Marchesin <marcheu@chromium.org>
2012-03-02 14:14:43 -08:00
Mike Frysinger
f1076415da setup_board: use [stable] for linux-headers now
Now that the linux-headers ebuilds are marked stable, we can drop
the hardcoded version string here and let the scripts do the rest.

BUG=chromium-os:26998
TEST=`cbuildbot chromiumos-sdk` works

Change-Id: I63e91612c711c2a17a3d350fa7703ac5d01116cb
Reviewed-on: https://gerrit.chromium.org/gerrit/16980
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2012-03-02 11:26:43 -08:00
Chris Wolfe
d91df7a1c2 remote_access: Clean up output from remote_reboot
Previously the remote_reboot function produced a large number of
warnings and errors from the ssh process. This replaces it with a
quieter version that periodically (every 5-10s) echos its status.

BUG=None
TEST=Few iterations with x86-alex via a test script and update_kernel.

Change-Id: Id606da64a7e55e902e4119e1dfc9f76cf27d5b5e
Reviewed-on: https://gerrit.chromium.org/gerrit/17139
Commit-Ready: Chris Wolfe <cwolfe@chromium.org>
Reviewed-by: Chris Wolfe <cwolfe@chromium.org>
Tested-by: Chris Wolfe <cwolfe@chromium.org>
2012-03-02 07:18:52 -08:00
Mike Frysinger
fbcc357e04 setup_board: use --quiet when installing kernel headers
No need to output all of the build log by default (including git progress).

BUG=None
TEST=`./setup_board --board=tegra2` works

Change-Id: I12473a0f0d6d13035270640695f3bed53399b6c8
Reviewed-on: https://gerrit.chromium.org/gerrit/17157
Reviewed-by: David James <davidjames@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Brian Harring <ferringb@chromium.org>
2012-03-01 12:19:18 -08:00
Simon Que
7607e49afd eclass: add waf-utils.eclass
Pulled from upstream Gentoo.

BUG=chromium-os:25587
TEST=none

Change-Id: I0afd6b7e2170bc6232123f971657283c918bbc50
Signed-off-by: Simon Que <sque@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/16736
Reviewed-by: Mike Frysinger <vapier@chromium.org>
2012-03-01 11:10:30 -08:00
Mike Frysinger
43a7f69db9 update_chroot: run perl-cleaner with --quiet
There's no reason to always show the full build output when updating the
perl modules, so use the --quiet flag.  If there is a failure, emerge will
dump the full log like normal.

BUG=None
TEST=`./update_chroot` showed much less output when updating perl modules

Change-Id: I0265443bca0f42a79cc3e44a7f8e9bfeab69f568
Reviewed-on: https://gerrit.chromium.org/gerrit/17080
Reviewed-by: David James <davidjames@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2012-02-29 18:05:23 -08:00
Sonny Rao
9002975ff0 Add chroot upgrade script to clear out stumpy root when moving to 64bit
BUG=chrome-os-partner:8235
TEST=Ad hoc, apply update to 64bit, run this script, make sure build works

Change-Id: I43fe93cfc4af2b4904ecb9a3d331769acd2a5e16
Reviewed-on: https://gerrit.chromium.org/gerrit/17115
Reviewed-by: David James <davidjames@chromium.org>
Tested-by: Sonny Rao <sonnyrao@chromium.org>
2012-02-29 17:32:30 -08:00
Mike Frysinger
5500cea420 newlib: import from portage/
We need this for the bare metal arm cross-compiler.

BUG=chromium-os:26016
TEST=`./setup_board --board=x86-alex` worked for installing newlib

Change-Id: I2c0771b8969c297f25c9e4fcea2e0b5176d871c3
Reviewed-on: https://gerrit.chromium.org/gerrit/16965
Reviewed-by: Matt Tennant <mtennant@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
2012-02-29 12:10:54 -08:00
Mike Frysinger
b74d1845ca linux-headers: mark all stable
This should let us drop the hardcoded version in the setup_board script
and move to normal keyword tracking policy.

BUG=None
TEST=`./setup_board --board=x86-alex --kernel_version '[stable]'` works

Change-Id: I7bb9a44e5cca8fc86d8daef7aa555db9c486a6cf
Reviewed-on: https://gerrit.chromium.org/gerrit/16964
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
2012-02-29 10:33:20 -08:00
Mike Frysinger
47d28794fa update hooks: make sure cross-compilers are not in @world
There was a bug in the setup_board where it was selecting cross-compilers
and adding them to @world.  Now that's been fixed, undo the damage.

BUG=None
TEST=`./update_chroot && grep ^cross- /var/lib/portage/world` showed nothing

Change-Id: Ide4961def700cf42d95454cc0ce404cb517bdfea
Reviewed-on: https://gerrit.chromium.org/gerrit/16997
Reviewed-by: Brian Harring <ferringb@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2012-02-29 09:37:32 -08:00
Chris Wolfe
21a27b75e9 scripts: Add functions to detect an interactive terminal
With more interactive features appearing in the scripts, we need to
avoid hanging buildbots waiting for user input. This changes adds
utility functions to test whether and ensure that the execution is
interactive, and adds an assertion to the 'choose' function.

is_interactive: Check that both stdin and stderr are terminals.
assert_interactive: Die with an error if not interactive

Also tweaking 'choose' so that its menu is printed to stderr,
for consistency with read -p and select.

BUG=None
TEST=Modified setup_board to log the value of is_interactive, and
  then (unconditionally) attempt to display a menu.
  Running setup_board in a terminal showed interactive and the menu.
  Manually run cbuildbot x86-generic-pfq showed non-interactive and
  the assertion failure.

Change-Id: I768a37b8b85ce036edac7c9bb0fd1e0a2b92ecd5
Reviewed-on: https://gerrit.chromium.org/gerrit/16817
Commit-Ready: Chris Wolfe <cwolfe@chromium.org>
Reviewed-by: Chris Wolfe <cwolfe@chromium.org>
Tested-by: Chris Wolfe <cwolfe@chromium.org>
2012-02-28 13:57:05 -08:00
Sonny Rao
ae6b96f3ab Add chroot upgrade script to clear out build root(s) when moving to 64bit
BUG=chrome-os-partner:8235
TEST=Ad hoc, apply update to 64bit, run this script, make sure build works

Change-Id: If7b39baae1f4f9ab9529b9c00dc7dd49ac2e2987
Reviewed-on: https://gerrit.chromium.org/gerrit/16829
Reviewed-by: Brian Harring <ferringb@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Sonny Rao <sonnyrao@chromium.org>
2012-02-28 12:49:08 -08:00
Mike Frysinger
66fd81f952 make_chroot: use --quiet when doing initial update
There's no reason to always show the full build output when updating the
chroot, so use the --quiet flag.  If there is a failure, emerge will dump
the full log like normal.

BUG=None
TEST=`cros_sdk --delete && cros_sdk` showed much less output

Change-Id: I062900325d0005db150dbd1267048a7c19df2ac5
Reviewed-on: https://gerrit.chromium.org/gerrit/16977
Reviewed-by: David James <davidjames@chromium.org>
Reviewed-by: Brian Harring <ferringb@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2012-02-28 12:45:05 -08:00
David James
544497cb20 Add support for reusing amd64-generic prebuilts on 64-bit platforms.
BUG=chromium-os:27008
TEST=Verify that link uses amd64-generic prebuilts.

Change-Id: Iefa1beca55382feacf301c982d9e77201f6c25d6
Reviewed-on: https://gerrit.chromium.org/gerrit/16992
Commit-Ready: David James <davidjames@chromium.org>
Tested-by: David James <davidjames@chromium.org>
Reviewed-by: Brian Harring <ferringb@chromium.org>
Reviewed-by: Sonny Rao <sonnyrao@chromium.org>
2012-02-28 12:45:04 -08:00
Sonny Rao
f90b069f64 setup_board: add a skip_chroot_upgrade flag
We need this if we want to call setup_board from a upgrade script.

BUG=chrome-os-partner:8235
TEST=add new upgrade script, run setup_board --skip_version_hooks
ensure new upgrade script isn't run

Change-Id: I31341d0b9a5c378a8288ab42f8506db90c2299fa
Reviewed-on: https://gerrit.chromium.org/gerrit/16941
Commit-Ready: Sonny Rao <sonnyrao@chromium.org>
Reviewed-by: Sonny Rao <sonnyrao@chromium.org>
Tested-by: Sonny Rao <sonnyrao@chromium.org>
2012-02-28 11:23:42 -08:00
Mike Frysinger
97e08bd25b update hooks: scrub old unused pkgs
In case people have some of these old pkgs hanging around still, or
happened to manually install them while testing, punt them all from
our board dirs.

BUG=None
TEST=build_packages updated chroot and cleaned out old pkgs in other build dirs

Change-Id: I2b037e668faef39e78f7422f91df2d5493799c0f
Reviewed-on: https://gerrit.chromium.org/gerrit/16818
Reviewed-by: Matt Tennant <mtennant@chromium.org>
Reviewed-by: David James <davidjames@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
2012-02-28 08:35:55 -08:00
Mike Frysinger
ccfec8f71b setup_board: don't select compilers
We don't want the compilers listed in @world because we want crossdev to
manually take care of rebuilding everything.  Fix bug in previous change
to --select logic where it leaked --select into the compiler install and
the --oneshot didn't override.

BUG=None
TEST=None

Change-Id: I9db3e9149f727a0a74dbb55627d3b71b1064e3b5
Reviewed-on: https://gerrit.chromium.org/gerrit/16940
Reviewed-by: David James <davidjames@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2012-02-27 23:21:07 -08:00
Chris Sosa
539b341dec Remove ssh verboseness spew.
This CL removes verboseness when running ssh commands through
remote_access.sh while preserving the retry.

BUG=chromium-os:20985
TEST=Ran image_to_live.

Change-Id: I26bc5189f369dc2305442755a266b80b27aa2ed7
Reviewed-on: https://gerrit.chromium.org/gerrit/16856
Tested-by: Chris Sosa <sosa@chromium.org>
Reviewed-by: Don Garrett <dgarrett@chromium.org>
Commit-Ready: Chris Sosa <sosa@chromium.org>
2012-02-27 15:28:10 -08:00
Mike Frysinger
05c7c42ec2 Revert "portage-stable: no masters"
This reverts commit 3aa5c3734fc9e4175fcf034e152758f24b10261e

crossdev itself needs this implicitly.  not sure how this
passed the cros-sdk bot, but it is causing confusing warnings,
so revert until i can fix up crossdev to not generate those.

Change-Id: Id9a63e7da46bb0de05c8ee1b5313a65d312aead8
Reviewed-on: https://gerrit.chromium.org/gerrit/16841
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2012-02-27 14:07:38 -08:00
Mike Frysinger
650bf873cd use --select for our core packages
We are changing the default emerge options to use --oneshot, so make sure
our scripts select the packages we care about for @world.

BUG=None
TEST=setup_board+build_packages for tegra2 adds pkgs to world

Change-Id: I5fc68c538a1a1c846bd9724f27ef717029d11d42
Reviewed-on: https://gerrit.chromium.org/gerrit/16838
Reviewed-by: David James <davidjames@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2012-02-27 14:07:37 -08:00
Mike Frysinger
2788e07b3f make_chroot: fix typo in emerge jobs variable
BUG=None
TEST=`cros_sdk --delete && cros_sdk` still works

Change-Id: I9a5d5e5eedb950dcfaf9108c22087a5a7fa7cd47
Reviewed-on: https://gerrit.chromium.org/gerrit/16825
Reviewed-by: Brian Harring <ferringb@chromium.org>
Reviewed-by: David James <davidjames@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2012-02-27 12:43:58 -08:00
Mike Frysinger
1f406c399f portage-stable: no masters
Now that portage-stable contains everything we need, we can disconnect
the portage/ tree from the search.

Further, the chromiumos-overlay/ tree doesn't offer any eclasses we really
want, so drop that as well.

BUG=chromium-os:26016
TEST=build_packages+build_image for x86-alex boots
TEST=build_packages+build_image for x86-mario/arm-generic/amd64-generic works
TEST=`cbuildbot arm-generic-full` worked
TEST=`cbuildbot chromiumos-sdk` worked

Change-Id: I6925428f80cad01933573dc464680723550ff02f
Reviewed-on: https://gerrit.chromium.org/gerrit/16577
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
2012-02-27 12:11:46 -08:00
Jim Hebert
c858da4ff6 Fix eavesdropping config to avoid masking bad dbus configs
BUG=chromium-os:26824
TEST=repro'd chromium-os:26790 on a test system with this config,
demonstrating that it no longer masks the bug. Confirmed
dbus-monitoring still works while doing so. (Tested with
help from jorgelo.) Confirmed the 26790 fix is not regressed by this
either.

Change-Id: I60ce833ffb14a9a709ca6bfecf40221940845aa0
Reviewed-on: https://gerrit.chromium.org/gerrit/16739
Reviewed-by: Scott James Remnant <keybuk@chromium.org>
Commit-Ready: Jim Hebert <jimhebert@chromium.org>
Tested-by: Jim Hebert <jimhebert@chromium.org>
2012-02-24 15:15:55 -08:00
David James
d46beb7f75 Ensure preflight prebuilts are actually clobbered in make_chroot.
The logic of IGNORE_PREFLIGHT_PREBUILTS is currently inverted in make_chroot,
causing preflight prebuilts to be ignored by default, but then used in the one
situation where they should be ignored. This CL fixes that.

BUG=chromium-os:26834
TEST=Verify preflight prebuilts are now used by default in make_chroot.

Change-Id: I626319d6de79b6f201f993a05e34610e944b161e
Reviewed-on: https://gerrit.chromium.org/gerrit/16614
Reviewed-by: Richard Barnette <jrbarnette@chromium.org>
Commit-Ready: David James <davidjames@chromium.org>
Tested-by: David James <davidjames@chromium.org>
2012-02-24 12:25:33 -08:00
David James
184e39019d Fix --jobs flags to actually work.
The --jobs=<n> option wasn't actually being passed to parallel_emerge --
which meant it didn't do anything.

BUG=chromium-os:26827
TEST=Ran with --jobs=N and made sure only N parallel_emerge processes were
started.

Change-Id: I581fc5588b54e246acaefd0c7e528e55adf9ba8a
Reviewed-on: https://gerrit.chromium.org/gerrit/16570
Reviewed-by: Michael Krebs <mkrebs@chromium.org>
Commit-Ready: David James <davidjames@chromium.org>
Tested-by: David James <davidjames@chromium.org>
2012-02-23 21:42:34 -08:00