Commit Graph

4592 Commits

Author SHA1 Message Date
Brandon Philips
a45c529549 feat(build*): add CoreOS production image building
This will create a CoreOS production image and support it with the tools
like image_to_vm.sh and build_image.
2013-07-05 12:06:40 -07:00
Brandon Philips
195d052495 fix(*): drop FACTORY images
we don't need factory image functionality. Drop it to simplify our
scripts and prepare for our "production" feature and flags.
2013-07-05 09:37:38 -07:00
Michael Marineau
b9b02855ca Merge pull request #20 from marineam/target
Add ability to upload amd64-generic packages
2013-07-04 11:37:40 -07:00
Michael Marineau
d619e4f326 fix(bootstrap_sdk): Remove seedcache and snapcache features.
We aren't taking full advantage of seedcache and untarring things isn't
a big burden on us anyway so don't bother and hopefully avoid leaving
oodles of files behind.
2013-07-03 20:19:41 -04:00
Michael Marineau
6aaaf3b846 feat(build_packages): Add --upload option to build_packages
Defaults to upload for official builds and not otherwise.
2013-07-03 20:10:16 -04:00
Brandon Philips
098b91013d Merge pull request #19 from marineam/updates
fix(update_ebuilds): Switch default source to rsync mirrors.
2013-07-03 13:52:57 -07:00
Brandon Philips
61b3560bec Merge pull request #18 from philips/core_upload_update-signing
Core upload update signing
2013-07-03 12:20:15 -07:00
Brandon Philips
d85bf2432a feat(core_upload_update): insert the public key
shove the public key into the image so it can be found by update_engine
2013-07-03 12:18:45 -07:00
Michael Marineau
734d446aae fix(update_ebuilds): Switch default source to rsync mirrors.
Anonymous CVS is too unreliable (or I keep getting blocked, who knows)
so switch the default remote source to the Gentoo rsync mirrors which is
probably what I should have done in the first place. :)
2013-07-03 14:38:11 -04:00
Brandon Philips
61b3246614 Merge pull request #17 from marineam/version
fix(bootstrap_sdk): Default to uploading official builds.
2013-07-03 09:55:21 -07:00
Michael Marineau
e9ca88bc69 fix(bootstrap_sdk): Default to uploading official builds. 2013-07-03 12:24:09 -04:00
Michael Marineau
794f472faf Merge pull request #16 from marineam/version
add(master_release): Add script for updating master's version.txt
2013-07-03 09:15:33 -07:00
Michael Marineau
5790b3e182 fix(*_release): Calculate TODAYS_VERSION in common.sh 2013-07-03 12:11:49 -04:00
Michael Marineau
1099dbe319 add(master_release): Add script for updating master's version.txt
This is intended to be called after branch_release and all official
builds from that new branch are complete. Then updating master's
version.txt will switch things to start using that new release as the
source for binary packages.

Complete documentation for this whole process coming soon. :)
2013-07-03 11:40:36 -04:00
Brandon Philips
3b9ff1ea62 fix(core_upload_update): use the base image
- Use variable for the image name
- add COREOS prefixed variables so we can start weaning ourself off of the
others.
2013-07-02 16:14:07 -07:00
Brandon Philips
ff7b7b064d chore(core_upload_update): remove TODO 2013-07-02 14:12:32 -07:00
Brandon Philips
736d7aa3c0 Merge pull request #14 from philips/core_upload_update-use-script-framework
feat(core_upload_update): use flag parsing library
2013-07-02 13:52:31 -07:00
Brandon Philips
379ff9e053 feat(core_upload_update): use flag parsing library
convert to use the flag parsing library instead of lots of positional
args.
2013-07-02 13:43:40 -07:00
Michael Marineau
065eedf142 Merge pull request #15 from marineam/version
Version handling cleanup
2013-07-02 13:35:47 -07:00
Michael Marineau
2482291e7d fix(scripts): Cleanup build version handling.
A few things here:
 - Source manifests/version.txt directly instead of coreos-version.sh
 - Remove Chrome branch from target image directory names.
 - Use proper version instead of timestap for catalyst builds.
 - Move lsb_release script from coreos-overlay to build_library.
2013-07-02 16:12:02 -04:00
Michael Marineau
be2bdaaecf fix(build_packages): Remove unnecessary version info export.
Nothing in build_packages references the variables from
coreos_version.sh and nothing in our ebuilds depends on it being in the
environments so just remove it.
2013-07-02 15:39:31 -04:00
Michael Marineau
023936e152 Merge pull request #13 from marineam/version
add(branch_release): Add script for generating release branches.
2013-07-02 11:29:35 -07:00
Michael Marineau
92c408ab3b fix(branch_release): Change default track from dev to dev-channel 2013-07-02 14:23:02 -04:00
Michael Marineau
ea9664bb94 add(branch_release): Add script for generating release branches. 2013-07-02 14:02:59 -04:00
Michael Marineau
2ab0eb8b2b Merge pull request #12 from philips/core-upload-update
feat(core_upload_update): set track on cli
2013-07-02 07:30:45 -07:00
Brandon Philips
5d145c3f49 feat(core_upload_update): set track on cli
move core_update_developer_track.sh to core_upload_update and give it
the ability to update a track via a command line argument.
2013-07-01 22:04:23 -07:00
Brandon Philips
9b7d216afe Merge pull request #11 from philips/fixup-official-for-coreos
fix(*): use COREOS_OFFICIAL
2013-06-30 21:33:48 -07:00
Brandon Philips
aa7eed311a fix(*): use COREOS_OFFICIAL
use the COREOS_OFFICIAL env variable instead of CHROMEOS_OFFICIAL
2013-06-30 19:39:39 -07:00
Michael Marineau
6ac55484e2 Merge pull request #10 from philips/add-code-signing
feat(core_update_developer_track): add code signing
2013-06-30 13:57:44 -07:00
Brandon Philips
7053527499 feat(core_update_developer_track): add code signing
add code signing features to core_update_developer_track. The input keys
are simply `openssl genrsa -out server.key` style keys.
2013-06-30 12:49:50 -07:00
Brandon Philips
e3d5a705ec Merge pull request #9 from marineam/ebuildcommit
fix(update_ebuilds): Move misplaced command
2013-06-28 18:45:58 -07:00
Michael Marineau
29afbee64d fix(update_ebuilds): Move misplaced command
The big here document in the middle of a if statement confuses the code
layout some and I put the git commit outside of the else clause instead
of inside. Ooops. The joy of shell.
2013-06-28 20:58:44 -04:00
Brandon Philips
a43590a3f3 Merge pull request #8 from marineam/buildbot
Buildbot
2013-06-27 10:56:16 -07:00
Michael Marineau
17c609192a fix(enter_chroot): Use .boto from the user's HOME
We don't have any private overlays but users will likely have their own
credentials in ~/.boto so make it available in the chroot.
2013-06-26 21:24:01 -04:00
Michael Marineau
82b7949c5f fix(bootstrap_sdk): Add option to upload built SDK and packages
This automates the process of uploading the fresh SDK release.
2013-06-26 17:25:55 -04:00
Michael Marineau
22de22b7ea fix(bootstrap_sdk): Use the latest SDK tarball as a fallback seed.
When running bootstrap_sdk for the first time on a host the default of
using a previous catalyst run as a seed won't work but this may be a
fresh SDK install so that tarball is probably around somewhere and will
work as a default seed for most things.
2013-06-26 16:18:43 -04:00
Michael Marineau
deb3824dee fix(update_distfiles): Set temporary directory
Provide an alternate directory for in-progress downloads to avoid
uploading any by accident.
2013-06-26 14:07:16 -04:00
Michael Marineau
a25f12bbc4 fix(update_distfiles): Add option to control gsutil's parallelism
gsutil can be hard to follow when parallel upload/downloads are enabled.
"I see it is transferring something, but what?" So this provides an
option to disable that for debugging purposes.
2013-06-26 11:44:16 -04:00
Michael Marineau
76ecff8169 fix(bootstrap_sdk): Rename final output tarball
The name "coreos-sdk-amd64-..." makes much more sense for general
distribution than "stage4..." so after catalyst is done rename the final
tarball and fixup the DIGESTS file to refer to the new name.
2013-06-26 11:32:09 -04:00
Michael Marineau
96186e3c47 fix(update_distfiles): Add --download option to for incremental updates
Temporary workaround until we have a version of emirrordist that can
operate directly on remote storage. Download the entire mirror (if it
isn't already local) so emirrordist can make an incremental update.

Not great but it will do for now.
2013-06-26 11:19:59 -04:00
Brandon Philips
663798c23d Merge pull request #7 from marineam/mirror
Mirror
2013-06-24 06:31:15 -07:00
Michael Marineau
133f2d3d8b add(update_distfiles): New script to build and upload a distfiles mirror
This script wraps emirrordist to scan all ebuilds and fetch every
SRC_URI to construct a distfiles mirror. It can then optionally upload
to storage.core-os.net via gsutil.

Note: This is a work-in-progress, emirrordist expects to operate on a
complete mirror on the local filesystem but maintaining a complete local
copy of everything is burdensome. Before this is truly practical a
modified version of emirrordist will be needed to either accept a list
of already-uploaded files it can assume are OK or operate on the cloud
storage system directly.
2013-06-24 02:00:01 -04:00
Michael Marineau
720b0c3def feat(update_ebuilds): Add option to immediately commit updates 2013-06-24 01:56:48 -04:00
Brandon Philips
711a83913f Merge pull request #6 from marineam/buildhost
cleanup(setup_board): Remove /etc/make.conf.board
2013-06-22 17:20:43 -07:00
Michael Marineau
e6b3c60836 cleanup(setup_board): Remove /etc/make.conf.board
This file mostly just defined BINHOSTs but I'd like to move that
completely into coreos-overlay as the SDK BINHOSTs have always been. It
also sourced src/overlays/overlay-amd64-generic/make.conf but I want to
move the few things it defined into coreos-overlay as well.

The one interesting thing this file did was to optionally define
ACCEPT_LICENSE but that can go into /etc/make.conf.board_setup instead.

Overall this takes a chunk out of the make.conf spaghetti. :)
2013-06-22 16:05:33 -04:00
Brandon Philips
bc7b9b75e6 Merge pull request #3 from marineam/getbinpkg
fix(scripts): Add --nogetbinpkg command line option
2013-06-22 11:45:16 -07:00
Brandon Philips
27ea8c25a8 Merge pull request #5 from marineam/bootstrap
Bootstrap
2013-06-22 09:15:17 -07:00
Michael Marineau
f5e61302f1 fix(make_chroot): Remove unnecessary package rebuilds/removals
These are not required when starting from the new sdk stage4 tarballs
instead of a stock gentoo stage3 tarball.
2013-06-22 00:30:09 -04:00
Michael Marineau
c77b595d66 fix(catalyst): Add --with-bdeps=y to stage4 upgrade
By default emerge will not install build dependencies if it doesn't need
them (i.e. installing a binary package) but we want to make sure
everything gets included in stage4 no matter how it was installed.
2013-06-22 00:30:09 -04:00
Michael Marineau
7bf839c6fb add(bootstrap_sdk): Add a script for bootstrapping the sdk tarball
This uses Gentoo's catalyst for very thoroughly building images from
scratch. Using images based on this will eliminate some of the hackery
in make_chroot.sh for building up the sdk from a stock stage3 tarball.

For reference the procedure it performs is this:

1. snapshot: Grab a snapshot of portage-stable. Note that overalys are
   not snapshotted.
2. stage1: Using a "seed" tarball as a build environment, build a
   minimal root file system into a clean directory using ROOT=...
   and USE=-* The restricted USE flags are key be small and avoid
   circular dependencies.
3. stage2: Run portage-stable/scripts/bootstrap.sh
   This rebuilds the toolchain. Probably not strictly necessary most of
   the time but does super-duper-promise that the toolchain isn't linked
   to or otherwise influenced by whatever was in the "seed" tarball.
4. stage3: Run emerge -e system to rebuild everything using the fresh
   toolchain using the normal USE flags provided by the profile. This
   will also pull in assorted base system packages that weren't included
   in the minimal environment stage1 created.
5. stage4: Install any extra packages or other desired tweaks. For the
   sdk we just install all the packages normally make_chroot.sh does.
2013-06-22 00:30:09 -04:00