Commit Graph

2915 Commits

Author SHA1 Message Date
Michael Marineau
6d414d275e fix(*): remove lingering broken support for board overlays.
This is a feature from the chromeos sdk that we haven't used and doesn't
work any more. Clean it up...
2013-12-08 16:02:00 -08:00
Michael Marineau
68221b98e6 fix(build_image): Properly clear the EXIT trap
Now build_image will no longer claim that the build failed, prompting
you to delete the output directory, after a good build.
2013-12-08 15:42:34 -08:00
Michael Marineau
96093bdb55 Merge pull request #141 from marineam/tag-checks
fix(tag_release): Add a few sanity checks.
2013-12-08 13:07:13 -08:00
Michael Marineau
b841916b74 fix(tag_release): Add a few sanity checks.
- it shouldn't be possible to set the SDK version to the same as the new
  tag's version. The SDK must always be a previous build.
- don't fail if there isn't any old manifests to git rm.

There are ways to improve, it'd be sexy if it was truly safe and we
could throw around annoying terms like idempotent to make this kind of
sequence just work but doesn't yet: tag_release; tag_release --push
2013-12-07 23:17:41 -08:00
Michael Marineau
8454976f2d Merge pull request #140 from marineam/fixpkgmixups
Fix building w/ --nogetbinpkg
2013-12-06 16:25:11 -08:00
Michael Marineau
8330920290 fix(toolchain_util.sh): Never force binary packages with crossdev.
When calling update_chroot with --usepkg --nogetbinpkg the default
emerge command line will force binary packages for the toolchain but if
the packages are not available locally building via crossdev is
required. Since the crossdev bootstrap process rebuilds the toolchain a
couple times with different use flags if binary packages are forced the
second stages gets skipped resulting in a broken gcc and glibc install.
2013-12-06 15:19:41 -08:00
Michael Marineau
1e7ce95508 fix(setup_board): Depend on --usepkg and --getbinpkg as a pair.
Instead of gating only on --usepkg depend on both flags as a pair. This
keeps setup_board's behavior a little closer to build_packages. The
buildbot is using --nogetbinpkg to avoid pulling in existing packages
built by the SDK but setup_board is causing some to be pulled in anyway.
2013-12-06 14:41:46 -08:00
Michael Marineau
4ffb21da38 Merge pull request #139 from marineam/gce
GCE support
2013-12-02 22:14:54 -08:00
Michael Marineau
8077689e93 Merge pull request #138 from marineam/turtle-chain
Turtle chain
2013-12-01 21:55:29 -08:00
Michael Marineau
6452857e82 fix(*): Change default for --jobs to $NUM_JOBS
This makes parallelism behavior between parallel_emerge and emerge
consistent. NUM_JOBS is defined as the number of CPUs by common.sh
2013-12-01 16:04:10 -08:00
Michael Marineau
c9c1efd276 fix(build_image): Add --fast to control use of parallel_emerge
This makes it possible to toggle parallel_emerge just as other scripts
do. In other scripts update the help string to be more specific, the
--jobs option can be used to control parallelism.
2013-12-01 16:04:10 -08:00
Michael Marineau
d3a3a88768 fix(base_image_util.sh): Install glibc and gcc libs via emerge. 2013-12-01 16:04:10 -08:00
Michael Marineau
6dd768b810 feat(release_util.sh): Support changing default upload path with env var 2013-11-30 17:36:38 -08:00
Michael Marineau
95388caab1 fix(image_to_vm): Add GCE oem package 2013-11-30 17:33:33 -08:00
Michael Marineau
0cb0cbf71e feat(image_to_vm): Add minimal GCE support.
Simply rolls our disk image into a tarball that can be passed to gcutil.
To actually be useful we need an OEM package to handle SSH keys.
2013-11-30 16:39:31 -08:00
Michael Marineau
0a8152891e fix(common.sh): Remove some dead code. 2013-11-29 23:38:06 -08:00
Michael Marineau
175d88e6e4 fix(build_image_util.sh): Move image install mask to portage profile.
Reduce the spaghetti config a bit...
2013-11-29 23:38:06 -08:00
Michael Marineau
37267cfce4 fix(setup_board): Install board build root toolchains via emerge! 2013-11-29 18:19:15 -08:00
Michael Marineau
a70da914ba fix(toolchain_util.sh): Replace TOOLCHAIN_BINONLY with a function.
The new function supports generating arguments for cross toolchain
packages in addition to native ones.
2013-11-29 17:56:58 -08:00
Michael Marineau
d91e8d21c4 fix(toolchain_util.sh): Fix variable name conflicts.
Although it didn't seem to be causing any bugs the global variables in
toolchain_util conflicted with some names used elsewhere. Clean that up
by adding an S to the array names that didn't already have one.
2013-11-29 17:56:58 -08:00
Michael Marineau
0badc0a576 fix(toolchain_util.sh): Don't build via crossdev if pkgs are up to date.
When calling update_chroot with --nousepkg it is silly to always force a
rebuild of the cross toolchain. Change the test to work regardless of
whether binary packages are enabled by checking if anything needs to be
built from source.
2013-11-29 17:56:58 -08:00
Michael Marineau
9dfad070c9 fix(setup_board): Hide --getbinpkg, it isn't useful for setup_board.
A new board build root always starts with an empty package cache so if
binary packages are enabled downloading is required. The distinction can
be useful for passing to update_chroot since its cache isn't impacted so
the flag remains, just among the less used hidden ones.
2013-11-29 17:56:58 -08:00
Michael Marineau
21614c5942 fix(toolchain_util): Move toolchain build-dep code from catalyst.
Now this code can be shared with setup_board. Only required if
setup_board is called with --nousepkg which is rare to never but feels
like the correct thing to do. Alternatively setup_board could always
use binary packages (as it basically does now).
2013-11-29 17:56:58 -08:00
Michael Marineau
9179f985d0 Merge pull request #137 from marineam/check-pkgs
Improvements for image validation, add /usr conflict test
2013-11-27 14:58:17 -08:00
Michael Marineau
4e8bef60d7 fix(test_image_content): Clean out some stray tab chars 2013-11-27 14:55:04 -08:00
Michael Marineau
fd7976e7fd fix(test_image_content): Add test for /usr file conflicts. 2013-11-27 14:43:35 -08:00
Michael Marineau
ae2b8ead6d Merge pull request #136 from marineam/turtle-chain
Turtle chain
2013-11-27 14:26:20 -08:00
Michael Marineau
485044f23a Merge pull request #132 from marineam/code-name
fix(set_lsb_release): Time for a new code name
2013-11-27 14:20:07 -08:00
Michael Marineau
241d135126 fix(test_build_root): Switch to using test_image_content
Start using the more complete test_image_content test for the build root
and add the test to the end of build_packages.
2013-11-26 17:14:50 -08:00
Michael Marineau
b4b7a2e2f8 fix(install_toolchain): Exclude libc locale/info/etc from build root.
These excludes are used in images and I want to use the same checking
code as images do so the build root needs to behave the same way.

This is temporary as I'll switch to installing libc via emerge soon.
2013-11-26 16:53:52 -08:00
Michael Marineau
1e8f44e3fc fix(check_deps): Depend exclusively on ld.so.conf for lib list
The list in ld.so.conf needs to be complete so don't bother with
including other hard-coded paths or the path to ld-linux-x86-64.so.2.
2013-11-26 16:41:42 -08:00
Michael Marineau
1186334edf fix(update_chroot): Move to new toolchain_util.sh library
Switch from cros_setup_toolchains to the new simpler toolchain_util code
for installing toolchains in the SDK chroot.
2013-11-25 16:45:34 -08:00
Michael Marineau
c5c5696c8b fix(make_chroot.sh): Remove duplicate chroot toolchain setup code.
Instead of handling toolchain packages in make_chroot and telling
update_chroot to skip the toolchains just depend on update_chroot to do
it properly. Reduces our code duplication by a tiny but worthwhile bit.
2013-11-25 16:38:32 -08:00
Michael Marineau
f25b84973e Merge pull request #135 from marineam/tarball
SDK tarball library
2013-11-23 23:41:36 -08:00
Michael Marineau
75972cd991 fix(catalyst): Always use the current SDK tarball as seed.
Right now there is some funky logic to either use a previous build as a
seed or the current SDK tarball if it happens to have been downloaded.
This is a bit confusing and doesn't work reliably since it is reasonable
for there to be neither a previous build or the current SDK available if
the SDK chroot was created some time ago. Fix this by using the new SDK
library and always use the latest SDK, downloading it if needed.
2013-11-23 20:32:55 -08:00
Michael Marineau
59ef0901d3 add(sdk_util.sh): Port basic SDK download logic to a shell library.
The current logic for downloading SDK tarballs is in cros_sdk and
written in python which isn't super convenient for re-using in the rest
of our shell scripts. This is a start of rewriting that logic into a
re-usable library but does not yet replace the functionality in cros_sdk.
2013-11-23 20:31:46 -08:00
Michael Marineau
763b27bb7f fix(common.sh): Move DIGESTS handling code to common functions.
This code would be useful to use when downloading SDK tarballs in
addition to uploading them. :)
2013-11-22 19:15:10 -08:00
Michael Marineau
8f44f49060 Merge pull request #134 from oremj/symlink_usr
Symlink /{bin,sbin,lib64} to /usr/.
2013-11-22 19:04:57 -08:00
Jeremiah Orem
0dd9778b6e Avoid overwriting /usr/{bin,sbin,lib64} symlinks. 2013-11-22 21:49:24 -05:00
Michael Marineau
c5c9ea0b9b fix(common.sh): New variables for .cache and .repo/manfests
A number of places refer to these paths and that number is going to
grow. Since the standard pattern is to use environment variables for
commonly used paths it is time to add ones for these:
REPO_CACHE_DIR
REPO_MANIFESTS_DIR
2013-11-22 16:13:49 -08:00
Michael Marineau
bd07dceb60 Merge pull request #133 from marineam/modules
Modules n' Bootloaders
2013-11-19 22:24:02 -08:00
Michael Marineau
1807fa2978 cleanup(update_bootloaders.sh): Remove dead code. 2013-11-19 21:42:28 -08:00
Michael Marineau
8af32ad6c8 fix(pvgrub): Stick root's copy of the configs in /boot/grub
Previously this was in /boot/grub/grub which was probably by mistake.
2013-11-19 21:40:40 -08:00
Michael Marineau
23b1b01f1a fix(syslinux): Apply sudo_clobber fix to syslinux configs.
Already cleaned up the contrived cat/dd combo for the pvgrub configs, do
the same for the syslinux configs.
2013-11-19 18:41:27 -08:00
Michael Marineau
59c90bfb38 fix(pvgrub): Disable support for gptprio root detection/fallback.
This scheme only works robustly with kexec. Until the happy day that
kexec is supported on Xen (or when Xen is dead, long live Xen!) we
shouldn't bother trying. This allows us to use kernel modules again.
2013-11-14 15:04:04 -08:00
Michael Marineau
39e377dff5 Merge pull request #131 from marineam/turtle-chain
Turtle chain: Building native compilers with cross compilers!
2013-11-13 17:19:50 -08:00
Michael Marineau
fa1ba72176 fix(set_lsb_release): Time for a new code name 2013-11-12 18:03:58 -08:00
Michael Marineau
1d8d99241a fix(build_toolchains): Upload packages to a new toolchain directory.
Currently we don't have a good way to upload packages from different
jobs to the same location. The 'Packages' index file is only generated
locally so the second upload would always win.
2013-11-07 16:20:13 -08:00
Michael Marineau
b5e608c551 fix(toolchain_util.sh): Switch from sudo_clobber to sudo tee
sudo_clobber is provided by common.sh which isn't included in the
catalyst environment so call sudo tee (what sudo_clobber does) directly
instead.
2013-11-07 16:07:17 -08:00
Michael Marineau
84fadc8236 fix(check_deps): Fix support for includes in ld.so.conf
The path passed to _ReadLdSoConf must start with a '/' which wasn't
happening since relpath returns a relative path.
2013-11-07 13:28:13 -08:00