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
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
* 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
* 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
* 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
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
* 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
* 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
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
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>