Commit Graph

5075 Commits

Author SHA1 Message Date
David Michael
a0bebcc38b build_image: copy torcx images into the vendor store
This adds the option --torcx_store to specify the path to a
directory containing torcx images to be baked into the OS image.  A
blank string can be given instead of a path to restore the previous
behavior and leave an empty vendor store.

The default value is the default path created by build_torcx_store,
which is used when build_packages updates torcx images.  This means
that the current pattern "./build_packages && ./build_image prod"
should result in a fully updated OS image with all torcx images
available in the vendor store.
2017-06-02 14:23:03 -07:00
David Michael
f91198ca0e build_packages: also build all torcx images by default
The idea is that once the installed board packages have changed,
the sysroot that was used to build any existing torcx packages may
no longer be compatible.  It will therefore run build_torcx_store,
passing relevant options to it, to build a new torcx store of
images with the current sysroot.

This adds --skip_torcx_store to use the previous behavior.
2017-06-02 14:22:53 -07:00
David Michael
8e214f5779 build_torcx_store: add a command for building torcx images
This creates new torcx stores under src/build/torcx, similar to the
layout of src/build/images.  The script contains a list of packages
to build so there is a deterministic set that gets branched with
this repository.  For development, a different list can also be
given on the command line.

Images are created by building only the direct dependencies of
meta-packages under the app-torcx category.  They use the board
root as the sysroot for cross-compiling.  The base layout of the
installation root is structured so everything is under either /bin
or /lib for simplicity.  Any systemd units are rewritten so they
depend on a successful torcx apply, and they inject the appropriate
torcx runtime directory into the PATH.

When ELF binaries are compiled, they are given an RPATH value of
/ORIGIN/../lib which gets rewritten to $ORIGIN/../lib.  The final
value enables automatic dynamic linking with packaged libraries.
The intermediate value is to avoid having to escape the $ through
the various build system layers (which are different for each
package) and it pretends to be an absolute path to silence security
warnings.
2017-06-02 14:15:03 -07:00
Benjamin Gilbert
dacdc004fd Merge pull request #688 from bgilbert/yubikey
enter_chroot: Fix ownership of /run/user/UID
2017-05-31 14:31:57 -07:00
Benjamin Gilbert
b5f19e5d75 enter_chroot: Fix ownership of /run/user/UID
We were chowning the host directory, not the one in the chroot.

Host gpg >= 2.1.13 puts the gpg-agent socket in /run/user/UID/gnupg,
which is bind-mounted into the chroot, but the SDK gpg was ignoring it
because /run/user/UID was not owned by UID. This broke tag signing with
YubiKeys.
2017-05-31 13:52:16 -07:00
David Michael
cbe102142b enter_chroot: initialize with mantle in cros_workon 2017-05-26 14:43:42 -07:00
Benjamin Gilbert
5741cedfcc Merge pull request #686 from bgilbert/issues
grub: Update bug report URL
2017-05-25 12:53:49 -07:00
Benjamin Gilbert
6cfb286748 grub: Update bug report URL 2017-05-25 11:38:14 -07:00
Benjamin Gilbert
98a8acffbd Merge pull request #684 from bgilbert/prune-azure
oem/azure: Drop scripts obsoleted by plume
2017-05-19 18:08:25 -07:00
Benjamin Gilbert
7ac67b7c97 oem/azure: Drop scripts obsoleted by plume 2017-05-15 12:07:15 -07:00
David Michael
ea0e8fd583 Merge pull request #670 from dm0-/tag-branches
tag_release: branch important projects automatically for alpha tags
2017-05-09 16:20:57 -07:00
Benjamin Gilbert
5177c10191 Merge pull request #679 from bgilbert/format
image_to_vm: Default to qemu_uefi on ARM
2017-05-08 14:09:52 -07:00
Benjamin Gilbert
08841b1661 Merge pull request #683 from bgilbert/pushd
image_to_vm: Silence stray output when --from is used
2017-05-05 16:52:21 -07:00
Benjamin Gilbert
a7e9af386c image_to_vm: Silence stray output when --from is used 2017-05-05 16:38:37 -07:00
Euan Kemp
ef65081892 Merge pull request #680 from xcompass/vmware-dhcp-default-no
Change default value of dhcp for vmware template to no
2017-05-04 17:09:17 -07:00
Pan Luo
234ae23443
Change default value of dhcp for vmware template to no
When OVA template is not being used, the default dhcp value yes will
trigger cloud-init to generate a 00-.network file, which will break
network connectivity Intermittently. Please see the details here:
https://github.com/coreos/bugs/issues/1802#issuecomment-297847614
2017-05-04 09:30:55 -07:00
Benjamin Gilbert
c98788befc image_to_vm: Default to qemu_uefi on ARM
qemu makes no sense on that platform.
2017-05-02 15:02:09 -07:00
Benjamin Gilbert
174bddc27e Merge pull request #678 from bgilbert/from
image_to_vm: Update help for --from argument
2017-04-28 14:52:28 -07:00
Benjamin Gilbert
8af49c967d image_to_vm: Update help for --from argument 2017-04-28 14:48:55 -07:00
Benjamin Gilbert
791a530a44 Merge pull request #667 from bgilbert/plume-aws
oem/ami: Drop in favor of plume
2017-04-26 15:16:31 -07:00
David Michael
ab5a0179e2 Merge pull request #675 from dm0-/workaround
build_image: do not use gs:// URLs in dev images
2017-04-25 12:28:54 -07:00
David Michael
d9bfa7e1ac build_image: do not use gs:// URLs in dev images
When building dev images, the PORTAGE_BINHOST value during build
time is written to the image's make.conf.  This breaks the default
binary package setup, since Jenkins is using gs:// URLs for signed
package verification and authenticated downloads, and the make.conf
doesn't inherit the GS_* variables to handle those schemes.

This should be reverted when signed packages are properly supported
by default in the dev images.
2017-04-25 11:29:44 -07:00
Benjamin Gilbert
370bbe512f Merge pull request #672 from bgilbert/status-none
Run dd with status=none, and drop some dead code
2017-04-21 15:45:24 -07:00
Benjamin Gilbert
329f4bd113 build_library: Run dd with status=none
Avoid dumping dd statistics to stderr.
2017-04-21 14:06:00 -07:00
Benjamin Gilbert
97b09dc943 common: Drop functions to disable/enable ext[234] read-only hack
The last user of this code switched to disk_util in
b312044172.
2017-04-21 13:59:31 -07:00
David Michael
a77edcddf0 Merge pull request #671 from dm0-/libperl
check_root: silence the incorrect libperl warnings
2017-04-19 16:17:28 -07:00
David Michael
fdbb2d1bd6 check_root: silence the incorrect libperl warnings 2017-04-19 13:00:10 -07:00
David Michael
47a9913de4 tag_release: branch important projects automatically for alpha tags
Now when an alpha is tagged (i.e. it branches off master.xml), the
manifest repository still gets a tag, a commit on master, and a new
build branch pointing at that commit, but by default an additional
commit is appended to the build branch that branches the projects
coreos-overlay, portage-stable, and scripts in the manifest.  When
given the --push option, a build branch is created in each of these
project repositories so everything is prepared for future minor
releases to build upon.

This is implemented in yet another option so that the previous
behavior is still available, but it probably makes sense to just
hard-code the default behavior of --branch and --branch_projects
and drop those options.
2017-04-18 14:13:45 -07:00
Euan Kemp
3dec02768d Merge pull request #669 from euank/bug-url
lsb_release: update BUG_REPORT_URL
2017-04-14 12:56:12 -07:00
Euan Kemp
539723169b lsb_release: update BUG_REPORT_URL
See https://github.com/coreos/coreos-overlay/pull/2463 for the
reasoning.

This was missed in that sweep of changes.
2017-04-14 12:39:07 -07:00
Alex Crawford
f749c70be7 Merge pull request #668 from crawford/licenses
build_library: reformat the license file as json
2017-04-12 14:01:30 -07:00
Alex Crawford
287662c7e0 build_library: skip licenses for virtual packages 2017-04-12 13:54:11 -07:00
Alex Crawford
664eadff1b build_library: reformat the license file as json
This changes the format from:

    sys-apps/systemd-212-r8::coreos GPL-2 LGPL-2.1 MIT public-domain

to a JSON structure:

    [
      {
        "project": "sys-apps/systemd-212-r8::coreos",
        "license": ["GPL-2", "LGPL-2.1", "MIT", "public-domain"]
      }
    ]

We don't have to worry about the changing format because the previous
format was never published. This is designed to match the
bill-of-materials [1] format so that it can be consumed by the site.

[1]: https://github.com/coreos/license-bill-of-materials
2017-04-12 13:54:11 -07:00
Benjamin Gilbert
cd4e3746cc oem/ami: Drop in favor of plume 2017-04-07 19:44:20 -07:00
Benjamin Gilbert
45dffca9b6 Merge pull request #661 from bgilbert/package-lists
build_image_util: Don't query the $BUILD_DIR vdb
2017-04-06 12:27:45 -07:00
Benjamin Gilbert
f431e7c1ad Merge pull request #659 from bgilbert/unique-build-ids
common: Don't export COREOS_BUILD_ID
2017-04-06 12:25:34 -07:00
Benjamin Gilbert
3e27bdcc45 common: Don't export COREOS_BUILD_ID
5a76e4e5e9 started exporting COREOS_BUILD_ID
whenever it was found in version.txt, even if its value was blank. Because
COREOS_BUILD_ID is in ENVIRONMENT_WHITELIST, this caused generated build IDs
to be propagated into the SDK chroot environment and reused for every build
in a "cork enter" session. Stop exporting COREOS_BUILD_ID when we set it
ourselves.

See also 8e754f9c2b.
2017-04-06 12:23:51 -07:00
David Michael
79b1f4cd47 Merge pull request #663 from dm0-/signed-tags
Require signed release tags
2017-04-03 14:43:49 -07:00
David Michael
1f2a44214c tag_release: always sign release tags 2017-04-03 14:22:01 -07:00
David Michael
b44460ca0d Merge pull request #662 from dm0-/bootstrap-sigs
Upload package signatures from the bootstrap process
2017-03-31 17:01:36 -07:00
David Michael
266829d7e1 build_toolchains: upload package signatures 2017-03-31 16:50:29 -07:00
David Michael
3a24149f66 bootstrap_sdk: upload package signatures 2017-03-31 16:50:12 -07:00
David Michael
f7a41994f4 Merge pull request #660 from dm0-/signed-binpkg
Sign uploaded binary packages
2017-03-30 17:10:33 -07:00
David Michael
17e4ee2dcd release_util: allow signing uploaded packages 2017-03-30 16:53:15 -07:00
David Michael
e80eddd0c8 release_util: support signing directories 2017-03-30 16:53:10 -07:00
David Michael
6b86520bf4 release_util: store file signatures in their own directory
This allows signing files under paths owned by other users.
2017-03-30 16:52:44 -07:00
Benjamin Gilbert
d0e89d1752 build_image_util: Don't query the $BUILD_DIR vdb
Jenkins uses separate chroots for package and image builds, so
$BUILD_DIR may not have the relevant packages installed.
2017-03-30 15:43:56 -07:00
Benjamin Gilbert
d8fb403f69 build_image_util: Fix warnings when building OEM ACIs
INFO    build_oem_aci: Writing coreos_oem_gce_aci_stage_packages.txt
    awk: cmd. line:1: fatal: cannot open file `/build/amd64-usr/var/db/pkg//DEPEND' for reading (No such file or directory)
    INFO    build_oem_aci: Writing coreos_oem_gce_aci_stage_licenses.txt
    awk: cmd. line:1: fatal: cannot open file `/build/amd64-usr/var/db/pkg//DEPEND' for reading (No such file or directory)
2017-03-29 16:31:05 -07:00
David Michael
66dca6ab85 Merge pull request #657 from dm0-/perl-glsa
Update Perl to fix the last GLSA
2017-03-23 19:58:35 -07:00
Benjamin Gilbert
d234da9ffc Merge pull request #651 from bgilbert/firstboot-file
Set coreos.first_boot based on existence of file in ESP
2017-03-23 18:29:41 -07:00