As I was writing a doc to describe how to manually uprev I decided
that this was a good time to change the default to be consistent
with the new workflow.
Change-Id: I18932f66004161303f22835ab3b4a8436995300a
Review URL: http://codereview.chromium.org/3125024
It's sometimes useful to run a command in chroot and redirect/pipe stdout. Any objections to having enter_chroot send its chatter to stderr?
Review URL: http://codereview.chromium.org/3160024
Rationale: Consumers of this output should not have to eval() python
code in order to use the output. Also potentially useful for dumping
out of buildbot for consumption by other web-based tools.
Review URL: http://codereview.chromium.org/3148022
This change enables root filesystem integrity checking for all x86
builds by default. All mod_image_for_* work with this and the
factory_install. In addition, the BVT tests all pass running on
a dm-verity root.
[I will send a mail to the chromium-os-dev once this lands with instructions on how to build with it and how to turn it off (chromeos-setimage) on an installed machine.]
Once this is functioning, I will start migrating the build/install process over to use the UUID-based boot.
TEST=built x86-generic, mod'd for test, installed, ran suite_BuildVerify
BUG=chromium-os:5100
Review URL: http://codereview.chromium.org/3143025
Change-Id: Ib23962b7a5e034ef6aea31b4361944ba894700c6
Verified rootfs-based factory installers fail because the ROOT_SIZE_BYTES is
updated, but the information is not propagated to the boot.desc which
cros_make_image_bootable uses. The result is that mod_image_for_test
incorrectly appends the rootfs hash even though it is correctly computed.
Random note:
build_kernel_image uses dumpe2fs to compute the size, but
cros_make_image_bootable uses the supplied size. These shouldn't
diverge though the partition size should accomodate the addition of the
hashes.
TODO(wad) Add checking of sizes in cros_make_image_bootable
TEST=x86-generic build image with --enable_rootfs_verification and --factory_install; then put in a machine and it no longer spewed dm-verity hash errors and the root hash checked successfully!
BUG=chromium-os:5100
Review URL: http://codereview.chromium.org/3155025
Change-Id: I174e3661b80d83b25f3af95ff1eb77f634a7e797
Change-Id: I14cd9dc365093c0450210d7853ad5f67ffa0ddd0
BUG=chromium-os:5183
TEST=1) manually built a dev install shim and verified it's only bootable when dev switch is ON
Review URL: http://codereview.chromium.org/3153001
Previously, parallel_emerge only broke counter-plan dependencies if they were
mutually cyclic. This doesn't work, because these deps might be involved in
an unrelated cycle.
To fix this, we break all counter-plan dependencies that are involved in any
cycle. This fixes make_chroot --fast, which currently fails with a deadlock.
Besides the above, I've also added additional cycle-checking to the install
plan generation code so that cyclic dependencies are caught earlier. I also
cleaned up FindCyclesAtNode to be a bit more understandable -- I wasn't 100% sure
that it was actually correct so I cleaned it up so that it was easier for me to
understand that it is in fact correct. Not sure that this part fixes any bugs,
but it's easier for me to analyze the behavior of FindCyclesAtNode now.
TEST=make_chroot --fast (Note that make_chroot --fast is deprecated, but it's
good to fix the cycle cracking anyway.)
BUG=chromium-os:5795
Review URL: http://codereview.chromium.org/3156018
Also, enforce use of cros_generate_update_payload to generate images.
BUG=5771
TEST=Ran ./cros_generate_update_payload to make full update
Review URL: http://codereview.chromium.org/3135024
Change-Id: I407d39ca461bbe609812e2b3bd2a51e67e331659
TEST=manually built a recovery image (non-dev mode, --withnodev) and verified
chromeos-install completed successfully when installing from USB to target HD
Review URL: http://codereview.chromium.org/3174005
Takes effect when you sync/re-enter chroot.
Also, minor non-exhaustive style cleanup of existing code.
BUG=5623
TEST=tried tab completion with ./cros_workon and various options
Change-Id: I46d2eb29205a3a4ce350b82e7eced7f2069095ca
Review URL: http://codereview.chromium.org/3185003
When we pass on --jobs to individual emerge processes, it causes them
to hide their output. This makes it harder to debug why they are
failing or hanging. Example: http://goo.gl/C6Ru
TEST=Made sure that output is shown by emerge processes when --jobs is used.
BUG=chromium-os:5684
Review URL: http://codereview.chromium.org/3168012
The ltp tests don't pass, and take a long time to build. Once they pass,
it'll make sense to add them back. But otherwise, no point waiting for their
long build process to complete.
BUG=none
TEST=Run build_packages --withautotest
Review URL: http://codereview.chromium.org/3121010
This should cut several minutes off the time for build_packages --nousepkg
--showoutput.
TEST=Ran build_packages --showoutput, verified output.
BUG=chromium-os:5647
Review URL: http://codereview.chromium.org/3106008
TEST=Ran cros_mark_all_as_stable with packages and without packages to
mark and had them both succeed with exit code 0.
BUG=5486
Review URL: http://codereview.chromium.org/3179004
Autotest installs stuff to the image via ssh, so there's no need to include
all of this stuff to the image. This saves disk space. Note that
/usr/local/autotest-chrome is currently already excluded from the image
because of a hack in the chrome ebuild, and that /usr/local/autotest is
usually also excluded from the image because autotest is not included
as a dependency of any packages that are installed.
In the factory setting, it looks like the factory has its own code for
installing autotests via rsync. Presumbably, if the factory tests are
managing the autotest directly, they won't want emerge mucking with the
directory as well on the image. Currently, emerge doesn't muck with the same
directory, but we probably want to ensure that it doesn't start doing that in
future to ensure sanity.
TEST=Built images. Modded for factory test. Verified that (a) build directory contains autotests, (b) regular images do not contain autotests; and (c) images modified for factory test do contain autotests
Review URL: http://codereview.chromium.org/3124010
Ugh, it worked on my machine because of my .ssh/config but need to
explicitly specify port for it to work on buildbot.
TBR=sosa
BUG=5532
TEST=This change was in the previous location of cbuilbot.py and working
correctly.
Change-Id: Id53a76bcb5d43c37ac725267864048d833f5a6ee
Review URL: http://codereview.chromium.org/3144005
By default, emerge will pause and beep when it has messages that it wants the
user to see. This beeping is not useful during a parallel merge, so we turn it
off.
TEST=Ran parallel_emerge udev. It stopped beeping and completed faster.
BUG=none
Review URL: http://codereview.chromium.org/3080005
TEST=Ran locally outside of chroot. Required change to remove Exception OSError as
e because "as" is a Python 2.6'ism
Review URL: http://codereview.chromium.org/3146001
* 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
This script wraps the old memento udpate generator and the new delta
updater. It will also generate new-style full updates soon, which are
full updates that use the delta-update format, when that code is ready.
BUG=5248
TEST=ran local script to do full/delta update
Review URL: http://codereview.chromium.org/2873082
BUG=5130
TEST=create a test image, boot it on a device, and run "sudo nsscertutil -d "sql:/etc/fake_root_ca/nssdb" -L -n FakeCert | less". Look at the section of the output marked "Validity:" and make sure the Not Before and Not After sections indicate dates that are 3 weeks apart
Change-Id: I67cf7e71027147f83c1bc916557bc06ef66fa0e0
Review URL: http://codereview.chromium.org/3075025
BUG=none
TEST=run build_image, happen to finish on a time with less than 10 seconds in it, watch the missing 0-padding
Review URL: http://codereview.chromium.org/3050047
BUG=none
TEST=run build_packages on --board=tegra2_dev-board-opengl right now, since binhost hasn't been populated yet.
Review URL: http://codereview.chromium.org/3035058
Copying the .ssh directories within client takes up O(2n) space in
the stateful partition
BUG=none
TEST=reran mod_image_for_test.sh
Review URL: http://codereview.chromium.org/2832079
Also update parallel_emerge to print output in general if you hit
CTRL-C or if a job is running for more than an hour. Also cleanup exit
handling so that emerge exits a bit more cleanly, and so that we don't
hang if emerge throws an Exception.
BUG=none
TEST=Ran ./parallel_emerge --show-output -uDNve chromeos
Review URL: http://codereview.chromium.org/3010056
* This allows to block a list of ebuilds from being uprevved by the PFB
* With little modification, there could be a GUI which allows people to manage
a blacklist on the server, with stating the reason
(ex.: autotest-tests - $me, creating the ebuild, unstable for now)
modified: cros_mark_all_as_stable
TEST=
1) create a blacklist:
chromeos-base/autotest
chromeos-base/autotest-tests
2) run ./cros_mark_all_as_stable --board=x86-generic
...
INFO : chromeos-base/autotest blacklisted, skipping
INFO : chromeos-base/autotest-tests blacklisted, skipping
...
Review URL: http://codereview.chromium.org/3076038