Commit Graph

2152 Commits

Author SHA1 Message Date
Mandeep Singh Baines
7d25eedbb6 cros_workon: store cros_workon state outside of /build
This solves the problem of cros_workon list of packages being clobbered
by a new setup_board.

BUG=5641
TEST=Verified all cases work correctly.

1. Verified that a pre-existing list of workon packages continues to work.
2. Verified that the package.unmask symlink is created correctly.
3. Verified that a new package can be worked on.
4. Verified that an existing package continues to be worked on.

Change-Id: I566ac898ac4f74bdd5beb532c1ef0f70d4c02cec

Review URL: http://codereview.chromium.org/3151039
2012-07-09 16:44:12 -07:00
J. Richard Barnette
8216bd952c Fix cros_workon error complaints to be more descriptive
BUG=none
TEST=./cros_workon kernel

Review URL: http://codereview.chromium.org/3142032
2012-07-09 16:44:12 -07:00
Mandeep Singh Baines
b0d4eb7423 cros_workon: simplify by symlinking the keywords file to the unmask file
This is a refactoring change I want to do before I solve the problem
of cros_workon list of packages being clobbered by a new setup_board.

BUG=5641
TEST=Verified all cases work correctly.

1. Verified that a pre-existing list of workon packages continues to work.
2. Verified that the package.keywords symlink is created correctly.
3. Verified that a new package can be worked on.
4. Verified that an existing package continues to be worked on.

Change-Id: I566ac898ac4f74bdd5beb532c1ef0f70d4c02cec

pause

Change-Id: Ie2d96c897da13292f985d87adfaf3a416a614613

Review URL: http://codereview.chromium.org/3143035
2012-07-09 16:44:12 -07:00
Zdenek Behan
008b957b76 cros_workon: check for existence of local manifest before cat
* Fixes a dumb error message

	modified:   cros_workon

Review URL: http://codereview.chromium.org/3129008
2012-07-09 16:44:12 -07:00
Zdenek Behan
c2e8607b99 cros_workon: misc fixes to manifest re-generation
* Only run the regenerate once, after start
* Make regenerate preserve old projects from local manifest
* Make pkgname not found a non-fatal error
* Delete misc debug messages

	modified:   cros_workon

Review URL: http://codereview.chromium.org/3115001
2012-07-09 16:44:12 -07:00
Zdenek Behan
1af68e7781 cros_workon: refactor local manifest creation, kill duplicate entries (repo doesn't like them)
modified:   cros_workon

Review URL: http://codereview.chromium.org/3076046
2012-07-09 16:44:12 -07:00
Zdenek Behan
805eef45fd cros_workon: when finding the ebuild path, look for the 9999 ebuild
modified:   cros_workon

Review URL: http://codereview.chromium.org/3015063
2012-07-09 16:44:12 -07:00
Anush Elangovan
9e1daf4f03 Add repo local manifest support 2012-07-09 16:44:12 -07:00
Chris Sosa
8b61e59b14 Create common script file for workon tools. Planning on using in another CL.
Review URL: http://codereview.chromium.org/3022010
2012-07-09 16:44:12 -07:00
Zdenek Behan
3a1cf2061f cros-workon: change forall into iterate
* Bend iterate to accept either list of packages or --all, following the new
semantics

Reintroduces commit dc3359ba7c, with fixed list cmd

Review URL: http://codereview.chromium.org/3022003
2012-07-09 16:44:12 -07:00
David James
d52cade7d3 Revert "cros-workon: change forall into iterate"
This breaks cros-workon list, which is used by build_packages.

This reverts commit dc3359ba7c.

Review URL: http://codereview.chromium.org/3008005
2012-07-09 16:44:12 -07:00
Zdenek Behan
d17540f6bc cros-workon: change forall into iterate
* Bend iterate to accept either list of packages or --all, following the new
semantics

This is a re-upload of the original CL which seems to be broken beyond repair
by the git malfunctions yesterday

Review URL: http://codereview.chromium.org/3040001
2012-07-09 16:44:12 -07:00
Zdenek Behan
014939b2c7 cros_workon: fix forall (broken by --host) :/
Review URL: http://codereview.chromium.org/2966016
2012-07-09 16:44:12 -07:00
Zdenek Behan
f9a42ed40b cros_workon: introduce --all flag
* Replaced listall with list --all
* stop/start without arguments will now fail
* stop/start with --all will do just the expected thing
* Rewritten package list decision logic

TBR: msb - already got LGTM, then fixed a comment i noticed

Review URL: http://codereview.chromium.org/2963011
2012-07-09 16:44:11 -07:00
Zdenek Behan
7d12cb8bd1 cros_workon: introduce a very simple listall command
TBR: sosa, msb - I already got the LGTM, then made a silly whitespace change!

Review URL: http://codereview.chromium.org/2909009
2012-07-09 16:44:11 -07:00
Zdenek Behan
627eb08855 cros_workon: check selected packages if they are cros-workon, related fixes
Override locally warn/error functions to not interfere with stdout of canonicalize_name.
Future FIXME in common.sh.

Review URL: http://codereview.chromium.org/2985003
2012-07-09 16:44:11 -07:00
Zdenek Behan
c075f0401e cros_workon: corner case fixes
* Warn if user stops working on a package he wasn't working on
* Warn if user starts to work on a package he already is working on

Review URL: http://codereview.chromium.org/2978002
2012-07-09 16:44:11 -07:00
Zdenek Behan
e906f22eee cros_workon: allow unmasking packages for the host
modified:   cros_workon

Review URL: http://codereview.chromium.org/2945010
2012-07-09 16:44:11 -07:00
Zdenek Behan
d26c7eec73 cros_workon: also create unmask
* This fixes the issue, where cros-workon packages have a package.mask set
to prevent upstream ebuilds from rolling in. In general, it brings out the
cavalry for unmasking the live package in every possible way.

Review URL: http://codereview.chromium.org/2934007
2012-07-09 16:44:11 -07:00
Mandeep Singh Baines
57ae485cd4 cros_workon: quick hack at package name checking
Change-Id: I30e97760d5b96077e38414be31ef434542021361

Review URL: http://codereview.chromium.org/2883012
2012-07-09 16:44:11 -07:00
Mandeep Singh Baines
a8df0aed42 cros_workon: add support for a forall command
Change-Id: If0c75ee905c4a8076340fa9675c17e9292125268

Review URL: http://codereview.chromium.org/2880007
2012-07-09 16:44:11 -07:00
Mandeep Singh Baines
4cf9fdb84e cros_workon: modify to be less verbose
We need to be able to use "cros_workon list" in pipelines. Also, would
be nice if the other commands were less verbose. Ideally, they should
die and return a non-zero value.

Also cleaned up the logic in some of the functions. This fixed a couple
of bugs:

1) "cros-workon list" would fail if KEYWORDS_FILE didn't exist
2) "cros-workon start" would fail if KEYWORDS_DIR didn't exit

Change-Id: I76c87f0e36b72c12e8ae937cbadca6cf21a34bad

Review URL: http://codereview.chromium.org/2880005
2012-07-09 16:44:11 -07:00
Brian Daugherty
01772ff58f cros_workon: initial implementation
Moves ebuild(s) between stable and live states.

Lists ebuilds currently under development in the testing branch.

Stable ebuilds obtain and build against the last known good commit.
Live ebuilds (9999) perform a 'git clone' during the src_unpack
step to obtain and save the source for development and building.

Example usage:

  Sync & build 'ibus-hangul' testing ebuild (9999)
     ./cros_workon start app-i18n/ibus-hangul

  Build 'ibus-hangul' from the last stable commit
     ./cros_workon stop app-i18n/ibus-hangul

  List of ebuilds under development
     ./cros_workon list

Change-Id: I2ea4babd7597d5cea9ca96419a74152f9f0b23f1

Note: --board must be specified if the --default option
      to setup_board was not used.

Review URL: http://codereview.chromium.org/2852019
2012-07-09 16:44:11 -07:00
Kris Rambish
51d4faa68b This script is only used in manual testing. It can't break the tree.
Revert "Revert "Run setup_test_links in both deps""

This reverts commit 3ace2951e3129e39ef76b534e1b68598a3c075d3

Change-Id: I5bc509a70366282733f9b337620e92846cd6ad4c
Reviewed-on: https://gerrit.chromium.org/gerrit/26962
Reviewed-by: Craig Harrison <craigdh@chromium.org>
Commit-Ready: Kris Rambish <krisr@chromium.org>
Tested-by: Kris Rambish <krisr@chromium.org>
2012-07-09 16:01:52 -07:00
David James
c9ca3dbb0e Revert gvfs hacks to known-good state.
Originally, I patched enter_chroot.sh to stop the gvfs daemons to work
around an issue where these daemons would prevent loop devices from being
unmounted. See https://bugzilla.gnome.org/show_bug.cgi?id=677648

Unfortunately, temporarily stopping gvfs daemons has a bad side effects:
other GUI applications that rely on these daemons responding start hanging.
This can be reproduced, for example, by starting 'gedit'.

To fix these hangs, I'm just reverting my patches to enter_chroot.sh and
restoring the scripts to where they were before.

This reverts the following patches:
  1. Stop gvfs daemons earlier during enter_chroot.
     This reverts commit 0079158f73.
  2. Revert "Stop the gvfsd-trash daemon during enter_chroot."
     This reverts commit 654a00bd61.
  3. Revert "Stop the automounting daemon whenever we're inside the chroot."
     This reverts commit fae0a59e8b.
  4. Revert "Clean up update_bootloaders.sh to avoid sleeping."
     This reverts commit 0103b59138.

BUG=chromium-os:23443
TEST=Trybot run.

Change-Id: Ie9ff222fe5fc7232fd1fc39af129cc18531118c6
Reviewed-on: https://gerrit.chromium.org/gerrit/26922
Reviewed-by: Chris Wolfe <cwolfe@chromium.org>
Reviewed-by: Jon Kliegman <kliegs@chromium.org>
Reviewed-by: Brian Harring <ferringb@chromium.org>
Commit-Ready: David James <davidjames@chromium.org>
Tested-by: David James <davidjames@chromium.org>
2012-07-09 14:42:10 -07:00
Kees Cook
224817fda9 Relocate stateful_parition/var to stateful_partition/var_overlay
To avoid needing to migrate fresh dev images's /var contents when
using the encrypted partition, move the /var bits out of the old
stateful_partition/var location into stateful_partition/var_overlay.

The (initially empty) system /var will continue to either live
in stateful_partition/var (in the unencrypted case), or in
stateful_partition/encrypted/var (in the encrypted case).

The contents needed for gmerge will be symlinked into place at runtime
(via CL I6e68b1f334f5d5b3c4d2977008435bd929191ce7). While the installer
already makes sure that /var is not shipped on an image, this change
additionally make sure that the other contents installed by the ebuilds
will not show up in the actual /var either.

BUG=chromium-os:22172
TEST=link build, boot, install, manual testing.

Change-Id: Ie6480a59929818fe5d36a46abf533b648fb78850
Signed-off-by: Kees Cook <keescook@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/26355
Reviewed-by: Chris Sosa <sosa@chromium.org>
2012-07-09 09:06:30 -07:00
Tom Wai-Hong Tam
ccf8f9590d Revert "Run setup_test_links in both deps"
This reverts commit 0f9fad45831ee5a7dfcf2b1fef9f9bb4cf6f3465

I guess it caused the tree broken. There is a VMTest failure that can't find the pyauto_dep package file. Only this CL changed the pyauto_dep thing recently.

http://build.chromium.org/p/chromiumos/builders/amd64%20generic%20full/builds/3380

I can't ping the authors. So revert this CL first.

Change-Id: I3ace2951e3129e39ef76b534e1b68598a3c075d3
Reviewed-on: https://gerrit.chromium.org/gerrit/26651
Reviewed-by: Joseph Shyh-In Hwang <josephsih@chromium.org>
Commit-Ready: Tom Wai-Hong Tam <waihong@chromium.org>
Tested-by: Tom Wai-Hong Tam <waihong@chromium.org>
2012-07-02 22:04:52 -07:00
Kris Rambish
e1b6bffcb6 Run setup_test_links in both deps
TEST=Ran it
BUG=None

Change-Id: I8aca7639ca3461c3f108e6faf60111ce4ed5b4af
Reviewed-on: https://gerrit.chromium.org/gerrit/26631
Tested-by: Kris Rambish <krisr@chromium.org>
Reviewed-by: Nirnimesh <nirnimesh@chromium.org>
2012-07-02 18:24:53 -07:00
Sonny Rao
d4feba845d Add mod for test script which sets the PAGER default correctly
This will set the PAGER to /usr/local/bin/less instead of /usr/bin/less

BUG=none
TEST=PAGER variable points to the correct place by default

Change-Id: I7becfe39ea1817fd17195d8eee46d23d4b8b0d00
Reviewed-on: https://gerrit.chromium.org/gerrit/26602
Reviewed-by: Anush Elangovan <anush@google.com>
Reviewed-by: Chris Sosa <sosa@chromium.org>
Tested-by: Sonny Rao <sonnyrao@chromium.org>
Commit-Ready: Sonny Rao <sonnyrao@chromium.org>
2012-07-02 18:02:09 -07:00
David James
0079158f73 Stop gvfs daemons earlier during enter_chroot.
The killall commands for stopping gvfs weren't working
consistently for two reasons:
  1) They ran too late, after it already picked up the
     mounts in cros_sdk.
  2) killall sometimes can only access the first 15 characters
     of a process name, so we should only match on these characters.

BUG=chromium-os:23443
TEST=Verify gvfs is properly stopped when entering the chroot
     on precise systems.

Change-Id: I16aff4b0d9ac101083b63e06e55d50869479a152
Reviewed-on: https://gerrit.chromium.org/gerrit/26369
Reviewed-by: Pawel Osciak <posciak@google.com>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: David James <davidjames@chromium.org>
Tested-by: David James <davidjames@chromium.org>
2012-06-29 09:57:10 -07:00
Mike Frysinger
926a4b901c enter_chroot: make sure ccache dir perms are correct
For fresh sdk builds, gcc won't update and automatically see the
ccache tree for us.  So make sure the perms are sane when people
enter the chroot.  This will also automatically fix perms if/when
people manually delete the ccache dir (which sometimes happens on
the buildbots when people try to free up space).

BUG=None
TEST=`rm -rf distfiles/ccache/; cros_sdk` and see ccache dir get setup nicely

Change-Id: I5bcc86ebf696549b142a7ceb312eb8ec4be5e2bf
Reviewed-on: https://gerrit.chromium.org/gerrit/26257
Reviewed-by: David James <davidjames@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
2012-06-27 20:04:52 -07:00
Mike Frysinger
c51e1f941d build_image: use pbzip2 on glibc debug info
Gives a minor speed up.

BUG=None
TEST=`./build_image --board=x86-alex dev` still works

Change-Id: I2c5251b788c557e9c76d05140aaed255003bb1e3
Reviewed-on: https://gerrit.chromium.org/gerrit/26258
Reviewed-by: David James <davidjames@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
2012-06-27 19:17:10 -07:00
Mike Frysinger
e94c0766a3 build_image: fix /usr/lib/debug handling with dev images
gdb only looks in /usr/lib/debug, not anywhere in /usr/local.  So
unpack the C library stuff into the common /usr/local/usr/lib/debug
and symlink /usr/lib/debug to the /usr/local tree.  This way gdb can
find all these things automatically.

BUG=None
TEST=run gdb on board and see it find .debug files automatically

Change-Id: I93bd352ccac52d9d0179537d2eb520da6f684697
Reviewed-on: https://gerrit.chromium.org/gerrit/25270
Reviewed-by: Caroline Tice <cmtice@chromium.org>
Reviewed-by: Brian Harring <ferringb@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2012-06-26 16:08:44 -07:00
Liam McLoughlin
924dae0521 Correct flag name for hybrid MBR option
BUG=chromium-os:32150
TEST=Build image using --hybrid_mbr flag

Change-Id: Iecd9204ab005ea03b131b86d9bd0019b720f1019
Reviewed-on: https://gerrit.chromium.org/gerrit/26144
Reviewed-by: Don Garrett <dgarrett@chromium.org>
Commit-Ready: Liam McLoughlin <lmcloughlin@chromium.org>
Tested-by: Liam McLoughlin <lmcloughlin@chromium.org>
2012-06-26 15:47:58 -07:00
Mike Frysinger
aa58465a3f update hooks: add feedback messages to slow chrome cleanup
Some people think this upgrade hook gets stuck when in reality, it has
to delete a lot of files (gigs worth).  Add some progress messages so
people know it's doing something.

BUG=chromium-os:32052
TEST=manually running 25_suppress_incremental_build_across_chroot showed pretty messages

Change-Id: Ie20980fb2c60c980b617e98d68b0e5f9633fbb2a
Reviewed-on: https://gerrit.chromium.org/gerrit/26111
Reviewed-by: Brian Harring <ferringb@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
2012-06-26 15:47:55 -07:00
Matt Tennant
298f61ab25 build_packages: Upload command stats after each run.
This changelist adds code in common.sh to support collecting command
statistics before calling upload_command_stats to upload those stats
to an appspot instance.

The presence of a file at ~/.disable_build_stats_upload will disable
all uploading of build command stats.

BUG=chromium-os:27355
TEST=`build_packages --board=x86-generic` with missing appspot instance
  shows upload error but still goes through with build.
TEST=`build_packages --board=x86-generic` with real appspot instance
  completes upload with all expected stats and does not affect build.
TEST=From outside chroot:
`touch ~/.disable_build_stats_upload`
`cros_sdk`
'build_packages --board=x86-generic`
Nothing uploaded due to .disable file
TEST=Verified that putting 'set -u' in my fake build_packages
caused an exit in print_time_elapsed, then fixed unbound variable
in print_time_elapsed, then rerun passed.
TEST=`cbuildbot -g <cl> --lkgm mario-paladin` passed
TEST=`cbuildbot -g <cl> --lkgm link-release` passed

Change-Id: Ieb714522cb32d7558b661e4ee1a197d1fce2c516
Reviewed-on: https://gerrit.chromium.org/gerrit/26084
Tested-by: Matt Tennant <mtennant@chromium.org>
Reviewed-by: David James <davidjames@chromium.org>
Commit-Ready: Matt Tennant <mtennant@chromium.org>
2012-06-26 13:58:51 -07:00
Liam McLoughlin
07279034a9 Add option to create a hybrid MBR
This allows booting on boards that require their bootloader be on
the first partition of a MBR formatted disk

BUG=chromium-os:32150
TEST=Build an image using the --hybrid_mbr_hack flag, verify that
the ESP is visible on a system with GPT support

Change-Id: I4b137ef672b9ed7327bd42ec0a260d82a8c9d470
Reviewed-on: https://gerrit.chromium.org/gerrit/26071
Tested-by: Liam McLoughlin <lmcloughlin@chromium.org>
Reviewed-by: Gilad Arnold <garnold@chromium.org>
Commit-Ready: Liam McLoughlin <lmcloughlin@chromium.org>
Reviewed-by: Liam McLoughlin <lmcloughlin@chromium.org>
2012-06-26 13:58:51 -07:00
Mike Frysinger
41a20345b0 build_packages: drop native emerge --info
Posting the emerge info for the native build isn't terribly useful, so
just punt it to clean up the build output slightly.

BUG=None
TEST=`./build_packages --board=x86-alex` still works

Change-Id: If4ddb437b68c5624f3bc1a7519ef409134ba687b
Reviewed-on: https://gerrit.chromium.org/gerrit/26044
Reviewed-by: David James <davidjames@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
2012-06-26 11:07:44 -07:00
David James
9d9efefe27 Revert "build_packages: Upload command stats after each run."
This reverts commit 615fe57ff0.

This CL broke mod_image_for_recovery.sh with the following failure:
  common.sh: line 684: $2: unbound variable

This bug is easy to fix, but suggests the CL needs more testing, so
we're going to revert for now and re-submit the CL once it's been
verified to pass on release trybots.

Example failure:
  http://chromegw.corp.google.com/i/chromeos/builders/x86-mario%20canary/builds/2214/steps/Archive/logs/stdio

BUG=chromium-os:27355
TEST=None, since this is reverting a change that broke the tree.

Change-Id: I61d182e3dcee267a8d9dea3b547fa6a75140d974
Reviewed-on: https://gerrit.chromium.org/gerrit/26077
Reviewed-by: Doug Anderson <dianders@chromium.org>
Tested-by: David James <davidjames@chromium.org>
2012-06-25 18:57:10 -07:00
Matt Tennant
615fe57ff0 build_packages: Upload command stats after each run.
This changelist adds code in common.sh to support collecting command
statistics before calling upload_command_stats to upload those stats
to an appspot instance.

The presence of a file at ~/.disable_build_stats_upload will disable
all uploading of build command stats.

BUG=chromium-os:27355
TEST=`build_packages --board=x86-generic` with missing appspot instance
  shows upload error but still goes through with build.
TEST=`build_packages --board=x86-generic` with real appspot instance
  completes upload with all expected stats and does not affect build.
TEST=From outside chroot:
`touch ~/.disable_build_stats_upload`
`cros_sdk`
'build_packages --board=x86-generic`
Nothing uploaded due to .disable file

Change-Id: Iac071d1cc55a44335fc7c846960c7ae45fc93ed8
Reviewed-on: https://gerrit.chromium.org/gerrit/19401
Tested-by: Matt Tennant <mtennant@chromium.org>
Reviewed-by: Matt Tennant <mtennant@chromium.org>
Commit-Ready: Matt Tennant <mtennant@chromium.org>
2012-06-25 15:16:36 -07:00
Gilad Arnold
a7536efa24 Temporarily reinstate support for --to=/dev/sdX
This is part of some user's workflow and should be deprecated with
proper advance notice.

- Added a deprecation warning when --to=/dev/sdX is used in
  image_to_usb.sh.

- Removed mention of /dev/sdX from the output of build_image. Also
  simplified this output a bit (it should be obvious to a user who just
  invoked build_image that the other scripts should be invoked
  similarly, from inside the chroot's scripts directory).

BUG=chromium-os:32023
TEST=Invoked image_to_usb.sh with different --to values

Change-Id: Ib93d1b55f425b0978c4a9680be7755ae031c46e6
Reviewed-on: https://gerrit.chromium.org/gerrit/25819
Reviewed-by: Olof Johansson <olofj@chromium.org>
Tested-by: Gilad Arnold <garnold@chromium.org>
Commit-Ready: Gilad Arnold <garnold@chromium.org>
2012-06-25 07:15:45 -07:00
Mike Frysinger
f5a383d366 setup_board: look up sdk targets only
We don't care about non-sdk targets when setting up the host boards,
so only load those for processing.

BUG=None
TEST=`cbuildbot chromiumos-sdk` passed

Change-Id: Ifa0f82a8c9704862a714fd9f35cbd11d809e295f
Reviewed-on: https://gerrit.chromium.org/gerrit/25626
Reviewed-by: Zdenek Behan <zbehan@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2012-06-19 17:11:06 -07:00
Mike Frysinger
7f2ebbde6b pass down board info to cros_setup_toolchains
If the board we're building includes extra toolchains that aren't part
of our official set, we need to make sure cros_setup_toolchains still
tries to set them up for us.

BUG=None
TEST=`cbuildbot chromiumos-sdk` works
TEST=`./setup_board --board=x32-generic` installs an extra toolchain

Change-Id: I85f70177f82bdf295eb2cd8668a031317a3b6e61
Reviewed-on: https://gerrit.chromium.org/gerrit/24336
Tested-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Zdenek Behan <zbehan@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
2012-06-17 22:13:40 -07:00
Gilad Arnold
20d65a5c90 image_to_usb.sh: disallow --yes/-y without an explicit target (--to)
This should prevent situations where a wrongfully detected target device
(e.g. a hard drive) is being written to without any prompt. With this
change, the semantics of --yes changes to "don't ask me if I'm sure,
just write to the target device in --to". The help line was changed to
reflect this semantics.

Minor changes:

- Replaced die calls with die_notrace.

- Changed the default value for --to into an empty string (why should it
  be /dev/sdX anyway?).

- Fixed an unmount warning message so it's more descriptive (and fits in
  80 columns).

- Check that --install is only used inside the chroot earlier in the
  script.

BUG=None
TEST=Ran the script with different combinations of -y and --to.

Change-Id: I7a4d6eac9697f25d7e1eddb6c34f3c1725a83ef4
Reviewed-on: https://gerrit.chromium.org/gerrit/25404
Reviewed-by: Brian Harring <ferringb@chromium.org>
Commit-Ready: Gilad Arnold <garnold@chromium.org>
Tested-by: Gilad Arnold <garnold@chromium.org>
2012-06-17 04:06:06 -07:00
Luigi Semenzato
2443fdd62e Add hook for personalizing chroot.
This places a simple hook in cros_sdk by executing commands
in $HOME/.cros_chroot_init when a chroot is built.  This
lets users copy files to the chroot (for instance, scripts), as
well as add lines to .bash_profile and other rc files.

BUG=chromium-os:31295
TEST=tested manually and verified .cros_chroot_init is executed when present

Change-Id: I2a5b070a9827272f7bb7b3d340ad6937b0bef329
Reviewed-on: https://gerrit.chromium.org/gerrit/23668
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Luigi Semenzato <semenzato@chromium.org>
Commit-Ready: Luigi Semenzato <semenzato@chromium.org>
2012-06-14 11:24:37 -07:00
Mike Frysinger
db0a3903d1 setup_board: switch over to cros_setup_toolchains for toolchain listing
We want to centralize toolchain.conf parsing in cros_setup_toolchains.

BUG=None
TEST=`cbuildbot chromiumos-sdk` worked

Change-Id: I650616725595388515c8b1acbf7479b9ddcdd44e
Reviewed-on: https://gerrit.chromium.org/gerrit/24334
Reviewed-by: Zdenek Behan <zbehan@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
2012-06-13 18:56:31 -07:00
David James
654a00bd61 Stop the gvfsd-trash daemon during enter_chroot.
The gvfsd-trash daemon interferes with mounting and unmounting
images, so it should also be disabled for user chroots.

The gvfsd-trash daemon automagically creates 'trash' subdirectory inside
any directory you mount and holds on to it for a little while, preventing
you from being able to unmount your mount point.

BUG=chromium-os:23443
TEST=Verify that this fix fixes cros_make_image_bootable for daisy on
     Ubuntu precise.

Change-Id: I8df4c999ed57d7025b63c971390448c93d404e83
Reviewed-on: https://gerrit.chromium.org/gerrit/25243
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Anush Elangovan <anush@google.com>
Tested-by: David James <davidjames@chromium.org>
2012-06-13 15:44:58 -07:00
David James
fae0a59e8b Stop the automounting daemon whenever we're inside the chroot.
If automounting is enabled while we're inside the chroot, simple mount /
unmount commands will fail, causing image building commands to fail flakily.

This allows for quick mount / unmount.

BUG=chromium-os:23443
TEST='cros_sdk true' works now and does not print warnings on systems that
     previously had race conditions in this case.

Change-Id: I18d725324cc42ab7c527d3b52479b6a90bc4172c
Reviewed-on: https://gerrit.chromium.org/gerrit/25166
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: David James <davidjames@chromium.org>
Commit-Ready: David James <davidjames@chromium.org>
2012-06-13 12:04:57 -07:00
Brian Harring
334050f24e Ensure .repo/alternates is writable by the invoking user.
The only way to trigger this is if references were set up, but
never instantiated.

BUG=chromium-os:31682
TEST=manual permission checking.

Change-Id: Ibfc9dadf838f554cd10411753b5769117b1b1d42
Reviewed-on: https://gerrit.chromium.org/gerrit/24932
Reviewed-by: Brian Harring <ferringb@chromium.org>
Tested-by: Brian Harring <ferringb@chromium.org>
Commit-Ready: Brian Harring <ferringb@chromium.org>
2012-06-10 01:38:08 -07:00
Mike Frysinger
9c7eff8fca update hooks: add an upgrade for stale daisy
The daisy PFQ did not regenerate itself, so for people who tried to build
daisy again, they got a mix of stale binpkgs.  Now that things have been
manually cleaned up, we can deploy another upgrade hook just for daisy.

BUG=None
TEST=`./update_chroot` w/out daisy ran quick -> nothing to do
TEST=`./update_chroot` w/up-to-date daisy ran quick -> nothing to do
TEST=`./update_chroot` w/out-of-date daisy -> deleted & re-installed daisy

Change-Id: Id707a492f9cea7fb4c8b204d84c4fc3bca84c4b3
Reviewed-on: https://gerrit.chromium.org/gerrit/24908
Reviewed-by: David James <davidjames@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
2012-06-08 16:59:41 -07:00