Commit Graph

33 Commits

Author SHA1 Message Date
Krzesimir Nowak
b797cdb723 build_torcx_store: Fix pipeline error handling 2021-09-27 20:18:22 +02:00
Krzesimir Nowak
69d0f05b44 build_torcx_store: Make a variable local 2021-09-27 20:18:22 +02:00
Krzesimir Nowak
eee6b50aa5 *: Do not use RETURN traps
It has some weird semantics that seem to trip us up after updating
bash to 5.1. We tried to use it inside functions to clean up some
stuff after function returns. This can be emulated with an EXIT trap
within a subshell. Fortunately all the users of the RETURN trap were
not setting any global variables - modifications of such variables are
local to the subshell and are lost when the subshell exits.
2021-09-27 20:18:22 +02:00
Jeremi Piotrowski
d6c75eb0d9 torcx: Bump the default Docker to 20.10 and drop older
We are enabling CgroupV2 support globally, which requires Docker 20.10.
It is possible to return to CgroupV1 locally via kernel commandline, but
that will still work with Docker 20. If someone really needs older
Docker versions we will recommend to also fetch torcx packages from
older releases or rely on upstream binaries.
2021-08-06 16:30:23 +00:00
Dongsu Park
ead20665b8 torcx: delete docker 1.12
Now that Docker 1.12 is gone, we need to also exclude docker 1.12
from the list of torcx stores.
2021-02-04 16:57:17 +01:00
Flatcar Buildbot
c7bbb2b1e2 2345.0.0 2019-12-04 14:59:11 +01:00
Flatcar Buildbot
1dad511f69 2317.0.1 2019-11-07 19:40:01 +01:00
David Michael
8556474e6a build_torcx_store: Update for newer portage versions
Since EAPI=7 was supported, portage can no longer use different
ROOT and SYSROOT values.  The torcx images were installed into a
temporary root directory after being built using the board's
development files.  To continue using this setup, the torcx image's
packages are built as normal binary packages for the board root
without being installed, then the binary packages are installed in
the temporary torcx root.
2018-08-29 21:40:21 +00:00
David Michael
fc8fae97a9 build_torcx_store: Stop building the old LTS image
The new Docker release schedule has a new release every six months
after 18.09, which has a support period longer than our current LTS
versions.  Drop the LTS torcx image and let Docker versions promote
normally again.
2018-07-26 13:45:04 +00:00
David Michael
b9383fce76 build_torcx_store: Bump the default Docker to 18.06 2018-07-19 00:44:26 +00:00
Andrew Jeddeloh
935466b68d *: remove restart_in_chroot_if_needed
Replace calls to restart_in_chroot_if_needed with assert_inside_chroot.
This removes a dependency on chromite.
2018-05-30 13:07:58 -07:00
David Michael
5df8231d67 build_torcx_store: Bump the default Docker to 18.05 2018-05-17 18:21:42 -04:00
David Michael
ea20b0d859 build_torcx_store: Bump the default to 18.04 and LTS to 18.03 2018-04-11 08:17:51 -04:00
David Michael
352b6cc54d build_torcx_store: Bump the default Docker version to 18.03 2018-03-23 08:10:59 -04:00
David Michael
025b776017 build_torcx_store: Upgrade the default Docker to 18.02 2018-02-08 13:00:39 -05:00
David Michael
f911528e66 build_torcx_store: Update Docker's default and LTS images
The default version is updated from 17.12 to 18.01, and the LTS
version is updated from 17.09 to 17.12.
2018-01-11 17:52:37 -05:00
David Michael
b3938a27a1 build_torcx_store: Upgrade the default Docker to 17.12 2018-01-02 12:12:52 -05:00
David Michael
654d8d5ad9 build_torcx_store: Pass the image's unpack subdirectory to services 2017-11-30 16:14:49 -05:00
David Michael
1060d9cf3b build_torcx_store: Package /usr/share in the image 2017-11-30 16:12:44 -05:00
David Michael
daea3434c8 build_torcx_store: Update the default Docker to 17.11 2017-11-22 15:04:09 -05:00
David Michael
33a2bd6639 build_torcx_store: Upgrade to Docker 17.10 on disk
This still builds 17.09 as a downloadable image so that it gets
included in the manifest, and tests are run against it.
2017-10-25 12:28:50 -07:00
David Michael
e6acb6e0c7 build_torcx_store: Build a non-local Docker 17.03 image 2017-09-28 19:49:26 -07:00
David Michael
1fea648d36 build_torcx_store: Update the default Docker to 17.09 2017-09-28 19:48:35 -07:00
Benjamin Gilbert
8e731b8763 build_torcx_store: add docker 1.12 to the image 2017-09-20 21:16:38 -07:00
Euan Kemp
677b5ae116 build_torcx_store: back-out reproducible digests
Per the comment there, they were implemented in a broken fashion.

This leaves the door open for using them in the future, but in the
meanwhile simply uses the sha512sum as the digest (which solves the
immediate issue).
2017-09-08 16:59:54 -07:00
Euan Kemp
ee54181503 build_torcx_store: upload manifests to upload_root
Rather than to a location special to them.
The comment in the code explains the reasoning for this.
2017-09-08 16:59:54 -07:00
Euan Kemp
1989ff96d8 build_torcx_store: upload to 'pkgs'
This is consistent with the local directory hierarchy
2017-09-08 16:59:51 -07:00
Euan Kemp
c196be8798 build_torcx_store: add package 'url' location
This also moves the 'torcx' prefixing logic over to the torcx upload
root introduced in the release util library.

It also corrects a bug in how the source package was being determined.
2017-09-08 16:58:38 -07:00
Euan Kemp
fcef524c3a build_torcx_store: generate a torcx_manifest
This modifies the `build_torcx_store` script to produce a manifest and
cas-like structure of packages referenced by that manifest.

It also removes the symlink creation logic (which will be re-added in
build_image in coming commits).

The concept of "extra packages", which are referenced in the manifest,
but aren't installed in the rootfs, is also introduced.

Since the logic of what to include in the rootfs is also extracted into
build_image, supporting these "extra packages" isn't very complicated
for this file.
2017-09-08 16:42:47 -07:00
David Michael
219d7558b1 build_torcx_store: Bump the Docker image to 17.06 2017-08-22 16:40:25 -07:00
Andrew Jeddeloh
860f878634 build_torcx_store: emerge quietly
Add --quiet so build_torcx_store doesn't flood the terminal.
2017-08-16 15:36:05 -07:00
David Michael
0cea6cb590 build_torcx_store: initialize upload options 2017-06-17 18:01:21 -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