mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-06 04:26:59 +02:00
2317.0.1
This commit is contained in:
parent
913140d5d1
commit
1dad511f69
@ -33,7 +33,7 @@
|
||||
SCRIPT_ROOT=$(dirname $(readlink -f "$0"))
|
||||
. "${SCRIPT_ROOT}/common.sh" || exit 1
|
||||
|
||||
TYPE="coreos-sdk"
|
||||
TYPE="flatcar-sdk"
|
||||
|
||||
. "${BUILD_LIBRARY_DIR}/catalyst.sh" || exit 1
|
||||
|
||||
@ -63,7 +63,7 @@ catalyst_init "$@"
|
||||
check_gsutil_opts
|
||||
|
||||
if [[ "$STAGES" =~ stage4 ]]; then
|
||||
info "Setting release to ${COREOS_VERSION}"
|
||||
info "Setting release to ${FLATCAR_VERSION}"
|
||||
rm -rf "${TEMPDIR}/stage4_overlay"
|
||||
# need to setup the lib->lib64 symlink correctly
|
||||
libdir=$(get_sdk_libdir)
|
||||
|
@ -94,7 +94,7 @@ case "${version}" in
|
||||
"/usr/bin/docker-containerd-shim"
|
||||
"/usr/bin/docker-proxy"
|
||||
"/usr/bin/docker-runc"
|
||||
"/usr/lib/coreos/dockerd"
|
||||
"/usr/lib/flatcar/dockerd"
|
||||
)
|
||||
ebuild_aci_create "users.developer.core-os.net/skim/docker" \
|
||||
"coreos_docker-${BOARD}-${version}_coreos.${aci_version}" \
|
||||
|
26
build_image
26
build_image
@ -166,16 +166,16 @@ fix_mtab
|
||||
|
||||
if [[ "${CONTAINER}" -eq 1 ]]; then
|
||||
IMAGE_BUILD_TYPE="container"
|
||||
create_dev_container "${COREOS_DEVELOPER_CONTAINER_NAME}" "${CONTAINER_LAYOUT}" "${FLAGS_group}" ${FLAGS_base_dev_pkg}
|
||||
create_dev_container "${FLATCAR_DEVELOPER_CONTAINER_NAME}" "${CONTAINER_LAYOUT}" "${FLAGS_group}" ${FLAGS_base_dev_pkg}
|
||||
fi
|
||||
|
||||
if [[ "${PROD_IMAGE}" -eq 1 ]]; then
|
||||
IMAGE_BUILD_TYPE="prod"
|
||||
create_prod_image ${COREOS_PRODUCTION_IMAGE_NAME} ${DISK_LAYOUT} ${FLAGS_group} ${FLAGS_base_pkg}
|
||||
create_prod_image ${FLATCAR_PRODUCTION_IMAGE_NAME} ${DISK_LAYOUT} ${FLAGS_group} ${FLAGS_base_pkg}
|
||||
if [[ ${FLAGS_generate_update} -eq ${FLAGS_TRUE} ]]; then
|
||||
generate_update "${COREOS_PRODUCTION_IMAGE_NAME}" ${DISK_LAYOUT}
|
||||
generate_update "${FLATCAR_PRODUCTION_IMAGE_NAME}" ${DISK_LAYOUT}
|
||||
elif [[ ${FLAGS_extract_update} -eq ${FLAGS_TRUE} ]]; then
|
||||
extract_update "${COREOS_PRODUCTION_IMAGE_NAME}" "${DISK_LAYOUT}"
|
||||
extract_update "${FLATCAR_PRODUCTION_IMAGE_NAME}" "${DISK_LAYOUT}"
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -186,15 +186,15 @@ then
|
||||
fi
|
||||
|
||||
# Write out a version.txt file, this will be used by image_to_vm.sh
|
||||
split_ver "${COREOS_VERSION_ID}" SPLIT
|
||||
split_ver "${FLATCAR_VERSION_ID}" SPLIT
|
||||
tee "${BUILD_DIR}/version.txt" <<EOF
|
||||
COREOS_BUILD=${SPLIT[0]}
|
||||
COREOS_BRANCH=${SPLIT[1]}
|
||||
COREOS_PATCH=${SPLIT[2]}
|
||||
COREOS_VERSION=${COREOS_VERSION}
|
||||
COREOS_VERSION_ID=${COREOS_VERSION_ID}
|
||||
COREOS_BUILD_ID="${COREOS_BUILD_ID}"
|
||||
COREOS_SDK_VERSION=${COREOS_SDK_VERSION}
|
||||
FLATCAR_BUILD=${SPLIT[0]}
|
||||
FLATCAR_BRANCH=${SPLIT[1]}
|
||||
FLATCAR_PATCH=${SPLIT[2]}
|
||||
FLATCAR_VERSION=${FLATCAR_VERSION}
|
||||
FLATCAR_VERSION_ID=${FLATCAR_VERSION_ID}
|
||||
FLATCAR_BUILD_ID="${FLATCAR_BUILD_ID}"
|
||||
FLATCAR_SDK_VERSION=${FLATCAR_SDK_VERSION}
|
||||
EOF
|
||||
|
||||
upload_image "${BUILD_DIR}/version.txt"
|
||||
@ -220,7 +220,7 @@ EOF
|
||||
|
||||
# Print out the images we generated.
|
||||
if [[ "${PROD_IMAGE}" -eq 1 ]]; then
|
||||
echo "CoreOS Production image created as ${COREOS_PRODUCTION_IMAGE_NAME}"
|
||||
echo "Flatcar Production image created as ${FLATCAR_PRODUCTION_IMAGE_NAME}"
|
||||
print_image_to_vm
|
||||
fi
|
||||
|
||||
|
@ -12,7 +12,7 @@
|
||||
# Use canonical path since some tools (e.g. mount) do not like symlinks.
|
||||
# Append build attempt to output directory.
|
||||
if [ -z "${FLAGS_version}" ]; then
|
||||
IMAGE_SUBDIR="${FLAGS_group}-${COREOS_VERSION}-a${FLAGS_build_attempt}"
|
||||
IMAGE_SUBDIR="${FLAGS_group}-${FLATCAR_VERSION}-a${FLAGS_build_attempt}"
|
||||
else
|
||||
IMAGE_SUBDIR="${FLAGS_group}-${FLAGS_version}"
|
||||
fi
|
||||
@ -66,7 +66,7 @@ extract_update() {
|
||||
|
||||
zip_update_tools() {
|
||||
# There isn't a 'dev' variant of this zip, so always call it production.
|
||||
local update_zip="coreos_production_update.zip"
|
||||
local update_zip="flatcar_production_update.zip"
|
||||
|
||||
info "Generating update tools zip"
|
||||
# Make sure some vars this script needs are exported
|
||||
@ -460,9 +460,9 @@ finish_image() {
|
||||
esac
|
||||
|
||||
# Copy kernel to support dm-verity boots
|
||||
sudo mkdir -p "${root_fs_dir}/boot/coreos"
|
||||
sudo mkdir -p "${root_fs_dir}/boot/flatcar"
|
||||
sudo cp "${root_fs_dir}/usr/boot/vmlinuz" \
|
||||
"${root_fs_dir}/boot/coreos/vmlinuz-a"
|
||||
"${root_fs_dir}/boot/flatcar/vmlinuz-a"
|
||||
|
||||
# Record directories installed to the state partition.
|
||||
# Explicitly ignore entries covered by existing configs.
|
||||
@ -483,14 +483,14 @@ finish_image() {
|
||||
|
||||
# Create first-boot flag for grub and Ignition
|
||||
info "Writing first-boot flag"
|
||||
sudo_clobber "${root_fs_dir}/boot/coreos/first_boot" <<EOF
|
||||
sudo_clobber "${root_fs_dir}/boot/flatcar/first_boot" <<EOF
|
||||
If this file exists, Ignition will run and then delete the file.
|
||||
EOF
|
||||
fi
|
||||
|
||||
if [[ -n "${FLAGS_developer_data}" ]]; then
|
||||
local data_path="/usr/share/coreos/developer_data"
|
||||
local unit_path="usr-share-coreos-developer_data"
|
||||
local data_path="/usr/share/flatcar/developer_data"
|
||||
local unit_path="usr-share-flatcar-developer_data"
|
||||
sudo cp "${FLAGS_developer_data}" "${root_fs_dir}/${data_path}"
|
||||
systemd_enable "${root_fs_dir}" system-config.target \
|
||||
"system-cloudinit@.service" "system-cloudinit@${unit_path}.service"
|
||||
@ -529,7 +529,7 @@ EOF
|
||||
# For amd64 the rdev error message is used.
|
||||
# Our modified GRUB extracts the hash and adds it to the cmdline.
|
||||
printf %s "$(cat ${BUILD_DIR}/${image_name%.bin}_verity.txt)" | \
|
||||
sudo dd of="${root_fs_dir}/boot/coreos/vmlinuz-a" conv=notrunc \
|
||||
sudo dd of="${root_fs_dir}/boot/flatcar/vmlinuz-a" conv=notrunc \
|
||||
seek=${verity_offset} count=64 bs=1 status=none
|
||||
fi
|
||||
|
||||
@ -537,22 +537,22 @@ EOF
|
||||
if [[ ${COREOS_OFFICIAL:-0} -ne 1 ]]; then
|
||||
sudo sbsign --key /usr/share/sb_keys/DB.key \
|
||||
--cert /usr/share/sb_keys/DB.crt \
|
||||
"${root_fs_dir}/boot/coreos/vmlinuz-a"
|
||||
sudo mv "${root_fs_dir}/boot/coreos/vmlinuz-a.signed" \
|
||||
"${root_fs_dir}/boot/coreos/vmlinuz-a"
|
||||
"${root_fs_dir}/boot/flatcar/vmlinuz-a"
|
||||
sudo mv "${root_fs_dir}/boot/flatcar/vmlinuz-a.signed" \
|
||||
"${root_fs_dir}/boot/flatcar/vmlinuz-a"
|
||||
fi
|
||||
|
||||
if [[ -n "${image_kernel}" ]]; then
|
||||
# copying kernel from vfat so ignore the permissions
|
||||
cp --no-preserve=mode \
|
||||
"${root_fs_dir}/boot/coreos/vmlinuz-a" \
|
||||
"${root_fs_dir}/boot/flatcar/vmlinuz-a" \
|
||||
"${BUILD_DIR}/${image_kernel}"
|
||||
fi
|
||||
|
||||
if [[ -n "${pcr_policy}" ]]; then
|
||||
mkdir -p "${BUILD_DIR}/pcrs"
|
||||
${BUILD_LIBRARY_DIR}/generate_kernel_hash.sh \
|
||||
"${root_fs_dir}/boot/coreos/vmlinuz-a" ${COREOS_VERSION} \
|
||||
"${root_fs_dir}/boot/flatcar/vmlinuz-a" ${FLATCAR_VERSION} \
|
||||
>"${BUILD_DIR}/pcrs/kernel.config"
|
||||
fi
|
||||
|
||||
@ -587,7 +587,7 @@ EOF
|
||||
|
||||
if [[ -n "${pcr_policy}" ]]; then
|
||||
${BUILD_LIBRARY_DIR}/generate_grub_hashes.py \
|
||||
"${disk_img}" /usr/lib/grub/ "${BUILD_DIR}/pcrs" ${COREOS_VERSION}
|
||||
"${disk_img}" /usr/lib/grub/ "${BUILD_DIR}/pcrs" ${FLATCAR_VERSION}
|
||||
|
||||
info "Generating $pcr_policy"
|
||||
pushd "${BUILD_DIR}" >/dev/null
|
||||
|
@ -12,7 +12,7 @@
|
||||
: ${TYPE:="coreos-sdk"}
|
||||
: ${ARCH:=$(get_sdk_arch)}
|
||||
: ${DEFAULT_CATALYST_ROOT:="${DEFAULT_BUILD_ROOT}/catalyst"}
|
||||
: ${DEFAULT_SEED:=${COREOS_SDK_TARBALL_PATH}}
|
||||
: ${DEFAULT_SEED:=${FLATCAR_SDK_TARBALL_PATH}}
|
||||
: ${DEFAULT_PROFILE:=$(get_sdk_profile)}
|
||||
# Set to something like "stage4" to restrict what to build
|
||||
# FORCE_STAGES=
|
||||
@ -34,7 +34,7 @@ DEFINE_string coreos_overlay "${SRC_ROOT}/third_party/coreos-overlay" \
|
||||
"Path to the coreos-overlay git checkout."
|
||||
DEFINE_string seed_tarball "${DEFAULT_SEED}" \
|
||||
"Path to an existing stage tarball to start from."
|
||||
DEFINE_string version "${COREOS_VERSION}" \
|
||||
DEFINE_string version "${FLATCAR_VERSION}" \
|
||||
"Version to use for portage snapshot and stage tarballs."
|
||||
DEFINE_string profile "${DEFAULT_PROFILE}" \
|
||||
"Portage profile, may be prefixed with repo:"
|
||||
@ -196,7 +196,7 @@ catalyst_init() {
|
||||
DISTDIR="$CATALYST_ROOT/distfiles"
|
||||
|
||||
# automatically download the current SDK if it is the seed tarball.
|
||||
if [[ "$FLAGS_seed_tarball" == "${COREOS_SDK_TARBALL_PATH}" ]]; then
|
||||
if [[ "$FLAGS_seed_tarball" == "${FLATCAR_SDK_TARBALL_PATH}" ]]; then
|
||||
sdk_download_tarball
|
||||
fi
|
||||
|
||||
|
@ -88,7 +88,9 @@ IGNORE_SYMLINK = (
|
||||
b"/etc/motd",
|
||||
|
||||
# Other
|
||||
b"/etc/lsb-release" # set later in the build process
|
||||
b"/etc/lsb-release", # set later in the build process
|
||||
b"/usr/share/coreos", # set later in the build process
|
||||
b"/etc/coreos" # set later in the build process
|
||||
)
|
||||
|
||||
|
||||
|
@ -45,11 +45,11 @@ configure_pvgrub() {
|
||||
sudo_clobber "${GRUB_DIR}/menu.lst.A" <<EOF
|
||||
timeout 0
|
||||
|
||||
title CoreOS A Root
|
||||
title Flatcar A Root
|
||||
root (hd0,0)
|
||||
kernel /syslinux/vmlinuz.A ${grub_args} ${slot_a_args}
|
||||
|
||||
title CoreOS B Root
|
||||
title Flatcar B Root
|
||||
root (hd0,0)
|
||||
kernel /syslinux/vmlinuz.B ${grub_args} ${slot_b_args}
|
||||
EOF
|
||||
|
@ -15,7 +15,7 @@ configure_dev_portage() {
|
||||
|
||||
sudo mkdir -p "$1/etc/portage/repos.conf"
|
||||
sudo_clobber "$1/etc/portage/make.conf" <<EOF
|
||||
# make.conf for CoreOS dev images
|
||||
# make.conf for Flatcar dev images
|
||||
ARCH=$(get_board_arch $BOARD)
|
||||
CHOST=$(get_board_chost $BOARD)
|
||||
|
||||
@ -25,8 +25,8 @@ PKGDIR="/var/lib/portage/pkgs"
|
||||
PORT_LOGDIR="/var/log/portage"
|
||||
PORTDIR="/var/lib/portage/portage-stable"
|
||||
PORTDIR_OVERLAY="/var/lib/portage/coreos-overlay"
|
||||
PORTAGE_BINHOST="http://builds.developer.core-os.net/boards/${BOARD}/${COREOS_VERSION_ID}/pkgs/
|
||||
http://builds.developer.core-os.net/boards/${BOARD}/${COREOS_VERSION_ID}/toolchain/"
|
||||
PORTAGE_BINHOST="http://builds.developer.core-os.net/boards/${BOARD}/${FLATCAR_VERSION_ID}/pkgs/
|
||||
http://builds.developer.core-os.net/boards/${BOARD}/${FLATCAR_VERSION_ID}/toolchain/"
|
||||
EOF
|
||||
|
||||
sudo_clobber "$1/etc/portage/repos.conf/coreos.conf" <<EOF
|
||||
|
@ -131,7 +131,7 @@
|
||||
"label":"ROOT",
|
||||
"fs_label":"ROOT",
|
||||
"type":"4f68bce3-e8cd-4db1-96e7-fbcaf984b709",
|
||||
"blocks":"8388608"
|
||||
"blocks":"12582912"
|
||||
}
|
||||
},
|
||||
"interoute":{
|
||||
|
@ -2,7 +2,7 @@
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
|
||||
# Expects BOARD, BUILD_DIR, BUILD_LIBRARY_DIR, and COREOS_VERSION in env.
|
||||
# Expects BOARD, BUILD_DIR, BUILD_LIBRARY_DIR, and FLATCAR_VERSION in env.
|
||||
|
||||
# Copied from create_prod_image()
|
||||
create_ebuild_aci_image() {
|
||||
@ -59,7 +59,7 @@ ebuild_aci_create() {
|
||||
local extra_version="${1?No extra version number given}"; shift
|
||||
local pkg_files=( "${@}" )
|
||||
|
||||
local staging_image="coreos_pkg_staging_aci_stage.bin"
|
||||
local staging_image="flatcar_pkg_staging_aci_stage.bin"
|
||||
|
||||
local ebuild_atom="=${pkg}-${version}"
|
||||
|
||||
@ -78,7 +78,7 @@ ebuild_aci_create() {
|
||||
ebuild_aci_write_manifest \
|
||||
"${aciroot}/manifest" \
|
||||
"${aci_name}" \
|
||||
"${version}_coreos.${extra_version}"
|
||||
"${version}_flatcar.${extra_version}"
|
||||
|
||||
local pkg_files_in_rootfs=( "${pkg_files[@]/#/rootfs}" )
|
||||
|
||||
|
@ -19,9 +19,9 @@ with open(filename, "rb") as f:
|
||||
corelen = bytearray(diskboot)[508] | bytearray(diskboot)[509] << 8
|
||||
f.seek(bootoffset+512)
|
||||
core = f.read(corelen * 512)
|
||||
hashes = {"4": {"binaryvalues": [{"values": [{"value": hashlib.sha1(boot).hexdigest(), "description": "CoreOS Grub boot.img %s" % version}]}]},
|
||||
"8": {"binaryvalues" : [{"values": [{"value": hashlib.sha1(diskboot).hexdigest(), "description": "CoreOS Grub diskboot.img %s" % version}]}]},
|
||||
"9": {"binaryvalues": [{"values": [{"value": hashlib.sha1(core).hexdigest(), "description": "CoreOS Grub core.img %s" % version}]}]}}
|
||||
hashes = {"4": {"binaryvalues": [{"values": [{"value": hashlib.sha1(boot).hexdigest(), "description": "Flatcar Grub boot.img %s" % version}]}]},
|
||||
"8": {"binaryvalues" : [{"values": [{"value": hashlib.sha1(diskboot).hexdigest(), "description": "Flatcar Grub diskboot.img %s" % version}]}]},
|
||||
"9": {"binaryvalues": [{"values": [{"value": hashlib.sha1(core).hexdigest(), "description": "Flatcar Grub core.img %s" % version}]}]}}
|
||||
with open(os.path.join(outputdir, "grub_loader.config"), "w") as f:
|
||||
f.write(json.dumps(hashes, sort_keys=True))
|
||||
|
||||
@ -33,25 +33,25 @@ for folder, subs, files in os.walk(grubdir):
|
||||
with open(os.path.join(folder, filename), "rb") as f:
|
||||
mod = f.read()
|
||||
value = hashlib.sha1(mod).hexdigest()
|
||||
description = "CoreOS Grub %s %s" % (filename, version)
|
||||
description = "Flatcar Grub %s %s" % (filename, version)
|
||||
hashvalues.append({"value": value, "description": description})
|
||||
|
||||
with open(os.path.join(outputdir, "grub_modules.config"), "w") as f:
|
||||
f.write(json.dumps({"9": {"binaryvalues": [{"prefix": "grub_module", "values": hashvalues}]}}))
|
||||
|
||||
with open(os.path.join(outputdir, "kernel_cmdline.config"), "w") as f:
|
||||
f.write(json.dumps({"8": {"asciivalues": [{"prefix": "grub_kernel_cmdline", "values": [{"value": "rootflags=rw mount.usrflags=ro BOOT_IMAGE=/coreos/vmlinuz-[ab] mount.usr=PARTUUID=\S{36} rootflags=rw mount.usrflags=ro consoleblank=0 root=LABEL=ROOT (console=\S+)? (coreos.autologin=\S+)? verity.usrhash=\\S{64}", "description": "CoreOS kernel command line %s" % version}]}]}}))
|
||||
f.write(json.dumps({"8": {"asciivalues": [{"prefix": "grub_kernel_cmdline", "values": [{"value": "rootflags=rw mount.usrflags=ro BOOT_IMAGE=/flatcar/vmlinuz-[ab] mount.usr=PARTUUID=\S{36} rootflags=rw mount.usrflags=ro consoleblank=0 root=LABEL=ROOT (console=\S+)? (flatcar.autologin=\S+)? verity.usrhash=\\S{64}", "description": "Flatcar kernel command line %s" % version}]}]}}))
|
||||
|
||||
commands = [{"value": '\[.*\]', "description": "CoreOS Grub configuration %s" % version},
|
||||
{"value": 'gptprio.next -d usr -u usr_uuid', "description": "CoreOS Grub configuration %s" % version},
|
||||
{"value": 'insmod all_video', "description": "CoreOS Grub configuration %s" % version},
|
||||
{"value": 'linux /coreos/vmlinuz-[ab] rootflags=rw mount.usrflags=ro consoleblank=0 root=LABEL=ROOT (console=\S+)? (coreos.autologin=\S+)?', "description": "CoreOS Grub configuration %s" % version},
|
||||
{"value": 'menuentry CoreOS \S+ --id=coreos\S* {', "description": "CoreOS Grub configuration %s" % version},
|
||||
{"value": 'search --no-floppy --set randomize_disk_guid --disk-uuid 00000000-0000-0000-0000-000000000001', "description": "CoreOS Grub configuration %s" % version},
|
||||
{"value": 'search --no-floppy --set oem --part-label OEM --hint hd0,gpt1', "description": "CoreOS Grub configuration %s" % version},
|
||||
{"value": 'set .+', "description": "CoreOS Grub configuration %s" % version},
|
||||
{"value": 'setparams CoreOS default', "description": "CoreOS Grub configuration %s" % version},
|
||||
{"value": 'source (hd0,gpt6)/grub.cfg', "description": "CoreOS Grub configuration %s" % version}]
|
||||
commands = [{"value": '\[.*\]', "description": "Flatcar Grub configuration %s" % version},
|
||||
{"value": 'gptprio.next -d usr -u usr_uuid', "description": "Flatcar Grub configuration %s" % version},
|
||||
{"value": 'insmod all_video', "description": "Flatcar Grub configuration %s" % version},
|
||||
{"value": 'linux /flatcar/vmlinuz-[ab] rootflags=rw mount.usrflags=ro consoleblank=0 root=LABEL=ROOT (console=\S+)? (flatcar.autologin=\S+)?', "description": "Flatcar Grub configuration %s" % version},
|
||||
{"value": 'menuentry Flatcar \S+ --id=flatcar\S* {', "description": "Flatcar Grub configuration %s" % version},
|
||||
{"value": 'search --no-floppy --set randomize_disk_guid --disk-uuid 00000000-0000-0000-0000-000000000001', "description": "Flatcar Grub configuration %s" % version},
|
||||
{"value": 'search --no-floppy --set oem --part-label OEM --hint hd0,gpt1', "description": "Flatcar Grub configuration %s" % version},
|
||||
{"value": 'set .+', "description": "Flatcar Grub configuration %s" % version},
|
||||
{"value": 'setparams Flatcar default', "description": "Flatcar Grub configuration %s" % version},
|
||||
{"value": 'source (hd0,gpt6)/grub.cfg', "description": "Flatcar Grub configuration %s" % version}]
|
||||
|
||||
with open(os.path.join(outputdir, "grub_commands.config"), "w") as f:
|
||||
f.write(json.dumps({"8": {"asciivalues": [{"prefix": "grub_cmd", "values": commands}]}}))
|
||||
|
@ -10,4 +10,4 @@ version=sys.argv[2]
|
||||
|
||||
with open(path, "rb") as f:
|
||||
kernel = f.read()
|
||||
print json.dumps({"9": {"binaryvalues": [{"prefix": "grub_linux", "values": [{"value": hashlib.sha1(kernel).hexdigest(), "description": "coreos-%s" % version}]}]}})
|
||||
print json.dumps({"9": {"binaryvalues": [{"prefix": "grub_linux", "values": [{"value": hashlib.sha1(kernel).hexdigest(), "description": "flatcar-%s" % version}]}]}})
|
||||
|
@ -1,17 +1,17 @@
|
||||
# Main GRUB config
|
||||
|
||||
# Set the prefix back to the correct value after we're done with memdisk
|
||||
set prefix=($root)/coreos/grub
|
||||
set prefix=($root)/flatcar/grub
|
||||
|
||||
# Load any and all video drivers.
|
||||
# Required under UEFI to boot Linux with a working console.
|
||||
insmod all_video
|
||||
|
||||
# Default menuentry id and boot timeout
|
||||
set default="coreos"
|
||||
set default="flatcar"
|
||||
set timeout=1
|
||||
|
||||
# Default kernel args for root filesystem, console, and CoreOS.
|
||||
# Default kernel args for root filesystem, console, and Flatcar.
|
||||
set linux_root="root=LABEL=ROOT"
|
||||
set linux_console=""
|
||||
set first_boot=""
|
||||
@ -66,20 +66,20 @@ if [ "$secure_boot" = "0" ]; then
|
||||
fi
|
||||
|
||||
# Determine if this is a first boot.
|
||||
if [ -f "($root)/coreos/first_boot" ]; then
|
||||
set first_boot="coreos.first_boot=detected"
|
||||
if [ -f "($root)/flatcar/first_boot" ]; then
|
||||
set first_boot="flatcar.first_boot=detected"
|
||||
fi
|
||||
|
||||
# Determine if the disk GUID needs to be randomized.
|
||||
search --no-floppy --set randomize_disk_guid \
|
||||
--disk-uuid 00000000-0000-0000-0000-000000000001
|
||||
if [ -n "$randomize_disk_guid" ]; then
|
||||
set randomize_disk_guid="coreos.randomize_disk_guid=00000000-0000-0000-0000-000000000001"
|
||||
set randomize_disk_guid="flatcar.randomize_disk_guid=00000000-0000-0000-0000-000000000001"
|
||||
fi
|
||||
|
||||
set oem=""
|
||||
if [ -n "$oem_id" ]; then
|
||||
set oem="coreos.oem.id=$oem_id"
|
||||
set oem="flatcar.oem.id=$oem_id"
|
||||
fi
|
||||
|
||||
# If no specific console has been set by the OEM then select based on
|
||||
@ -122,28 +122,28 @@ function gptprio {
|
||||
if [ $? -ne 0 -o -z "$usr_uuid" ]; then
|
||||
echo
|
||||
echo "Reading or updating the GPT failed!"
|
||||
echo "Please file a bug with any messages above to CoreOS:"
|
||||
echo " https://issues.coreos.com"
|
||||
echo "Please file a bug with any messages above to Flatcar:"
|
||||
echo " https://issues.flatcar-linux.org"
|
||||
abort
|
||||
fi
|
||||
|
||||
set gptprio_cmdline="@@MOUNTUSR@@=PARTUUID=$usr_uuid"
|
||||
if [ "$usr_uuid" = "7130c94a-213a-4e5a-8e26-6cce9662f132" ]; then
|
||||
set gptprio_kernel="/coreos/vmlinuz-a"
|
||||
set gptprio_kernel="/flatcar/vmlinuz-a"
|
||||
else
|
||||
set gptprio_kernel="/coreos/vmlinuz-b"
|
||||
set gptprio_kernel="/flatcar/vmlinuz-b"
|
||||
fi
|
||||
}
|
||||
|
||||
menuentry "CoreOS default" --id=coreos --unrestricted {
|
||||
menuentry "Flatcar default" --id=flatcar --unrestricted {
|
||||
gptprio
|
||||
linux$suf $gptprio_kernel $gptprio_cmdline $linux_cmdline
|
||||
}
|
||||
|
||||
menuentry "CoreOS USR-A" --id=coreos-a {
|
||||
linux$suf /coreos/vmlinuz-a @@MOUNTUSR@@=PARTLABEL=USR-A $linux_cmdline
|
||||
menuentry "Flatcar USR-A" --id=flatcar-a {
|
||||
linux$suf /flatcar/vmlinuz-a @@MOUNTUSR@@=PARTLABEL=USR-A $linux_cmdline
|
||||
}
|
||||
|
||||
menuentry "CoreOS USR-B" --id=coreos-b {
|
||||
linux$suf /coreos/vmlinuz-b @@MOUNTUSR@@=PARTLABEL=USR-B $linux_cmdline
|
||||
menuentry "Flatcar USR-B" --id=flatcar-b {
|
||||
linux$suf /flatcar/vmlinuz-b @@MOUNTUSR@@=PARTLABEL=USR-B $linux_cmdline
|
||||
}
|
||||
|
@ -36,8 +36,8 @@ switch_to_strict_mode
|
||||
. "${BUILD_LIBRARY_DIR}/toolchain_util.sh" || exit 1
|
||||
. "${BUILD_LIBRARY_DIR}/board_options.sh" || exit 1
|
||||
|
||||
# Our GRUB lives under coreos/grub so new pygrub versions cannot find grub.cfg
|
||||
GRUB_DIR="coreos/grub/${FLAGS_target}"
|
||||
# Our GRUB lives under flatcar/grub so new pygrub versions cannot find grub.cfg
|
||||
GRUB_DIR="flatcar/grub/${FLAGS_target}"
|
||||
|
||||
# GRUB install location inside the SDK
|
||||
GRUB_SRC="/usr/lib/grub/${FLAGS_target}"
|
||||
@ -138,7 +138,7 @@ EOF
|
||||
# this because we need conflicting default behaviors between verity and
|
||||
# non-verity images.
|
||||
GRUB_TEMP_DIR=$(mktemp -d)
|
||||
if [[ ! -f "${ESP_DIR}/coreos/grub/grub.cfg.tar" ]]; then
|
||||
if [[ ! -f "${ESP_DIR}/flatcar/grub/grub.cfg.tar" ]]; then
|
||||
info "Generating grub.cfg memdisk"
|
||||
|
||||
if [[ ${FLAGS_verity} -eq ${FLAGS_TRUE} ]]; then
|
||||
@ -152,7 +152,7 @@ if [[ ! -f "${ESP_DIR}/coreos/grub/grub.cfg.tar" ]]; then
|
||||
sed 's/@@MOUNTUSR@@/mount.usr/' > "${GRUB_TEMP_DIR}/grub.cfg"
|
||||
fi
|
||||
|
||||
sudo tar cf "${ESP_DIR}/coreos/grub/grub.cfg.tar" \
|
||||
sudo tar cf "${ESP_DIR}/flatcar/grub/grub.cfg.tar" \
|
||||
-C "${GRUB_TEMP_DIR}" "grub.cfg"
|
||||
fi
|
||||
|
||||
@ -162,7 +162,7 @@ sudo grub-mkimage \
|
||||
--format "${FLAGS_target}" \
|
||||
--directory "${GRUB_SRC}" \
|
||||
--config "${ESP_DIR}/${GRUB_DIR}/load.cfg" \
|
||||
--memdisk "${ESP_DIR}/coreos/grub/grub.cfg.tar" \
|
||||
--memdisk "${ESP_DIR}/flatcar/grub/grub.cfg.tar" \
|
||||
--output "${ESP_DIR}/${GRUB_DIR}/${CORE_NAME}" \
|
||||
"${CORE_MODULES[@]}"
|
||||
|
||||
|
@ -14,7 +14,7 @@ start_modify_image() {
|
||||
FLAGS_from="$(readlink -f "${FLAGS_from}")"
|
||||
fi
|
||||
|
||||
local src_image="${FLAGS_from}/${COREOS_PRODUCTION_IMAGE_NAME}"
|
||||
local src_image="${FLAGS_from}/${FLATCAR_PRODUCTION_IMAGE_NAME}"
|
||||
if [[ ! -f "${src_image}" ]]; then
|
||||
die_notrace "Source image does not exist: ${src_image}"
|
||||
fi
|
||||
@ -24,7 +24,7 @@ start_modify_image() {
|
||||
die_notrace "Source version info does not exist: ${FLAGS_from}/version.txt"
|
||||
fi
|
||||
source "${FLAGS_from}/version.txt"
|
||||
COREOS_VERSION_STRING="${COREOS_VERSION}"
|
||||
FLATCAR_VERSION_STRING="${FLATCAR_VERSION}"
|
||||
|
||||
# Load after version.txt to set the correct output paths
|
||||
. "${BUILD_LIBRARY_DIR}/toolchain_util.sh"
|
||||
@ -44,7 +44,7 @@ start_modify_image() {
|
||||
fi
|
||||
|
||||
# Create the output directory and temporary mount points.
|
||||
DST_IMAGE="${BUILD_DIR}/${COREOS_PRODUCTION_IMAGE_NAME}"
|
||||
DST_IMAGE="${BUILD_DIR}/${FLATCAR_PRODUCTION_IMAGE_NAME}"
|
||||
ROOT_FS_DIR="${BUILD_DIR}/rootfs"
|
||||
mkdir -p "${ROOT_FS_DIR}"
|
||||
|
||||
@ -52,10 +52,10 @@ start_modify_image() {
|
||||
cp "${src_image}" "${DST_IMAGE}"
|
||||
|
||||
# Copy all extra useful things, these do not need to be modified.
|
||||
local update_prefix="${COREOS_PRODUCTION_IMAGE_NAME%_image.bin}_update"
|
||||
local production_prefix="${COREOS_PRODUCTION_IMAGE_NAME%.bin}"
|
||||
local container_prefix="${COREOS_DEVELOPER_CONTAINER_NAME%.bin}"
|
||||
local pcr_data="${COREOS_PRODUCTION_IMAGE_NAME%.bin}_pcr_policy.zip"
|
||||
local update_prefix="${FLATCAR_PRODUCTION_IMAGE_NAME%_image.bin}_update"
|
||||
local production_prefix="${FLATCAR_PRODUCTION_IMAGE_NAME%.bin}"
|
||||
local container_prefix="${FLATCAR_DEVELOPER_CONTAINER_NAME%.bin}"
|
||||
local pcr_data="${FLATCAR_PRODUCTION_IMAGE_NAME%.bin}_pcr_policy.zip"
|
||||
EXTRA_FILES=(
|
||||
"version.txt"
|
||||
"${update_prefix}.bin"
|
||||
@ -64,7 +64,7 @@ start_modify_image() {
|
||||
"${production_prefix}_contents.txt"
|
||||
"${production_prefix}_packages.txt"
|
||||
"${production_prefix}_kernel_config.txt"
|
||||
"${COREOS_DEVELOPER_CONTAINER_NAME}"
|
||||
"${FLATCAR_DEVELOPER_CONTAINER_NAME}"
|
||||
"${container_prefix}_contents.txt"
|
||||
"${container_prefix}_packages.txt"
|
||||
)
|
||||
|
@ -2,7 +2,7 @@
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
|
||||
# Expects BOARD, BUILD_DIR, BUILD_LIBRARY_DIR, and COREOS_VERSION in env.
|
||||
# Expects BOARD, BUILD_DIR, BUILD_LIBRARY_DIR, and FLATCAR_VERSION in env.
|
||||
|
||||
# There must be a manifest template included with the ebuild at
|
||||
# files/manifest.in, which will have some variable values substituted before
|
||||
@ -80,7 +80,7 @@ oem_aci_write_manifest() {
|
||||
sudo cp "${manifest_template}" "${manifest}"
|
||||
sudo sed "${manifest}" -i \
|
||||
-e "s,@ACI_NAME@,${name}," \
|
||||
-e "s,@ACI_VERSION@,${COREOS_VERSION}," \
|
||||
-e "s,@ACI_VERSION@,${FLATCAR_VERSION}," \
|
||||
-e "s,@ACI_ARCH@,${appc_arch},"
|
||||
}
|
||||
|
||||
@ -112,7 +112,7 @@ oem_aci_create() {
|
||||
"coreos.com/oem-${oem}"
|
||||
|
||||
# Write a tar ACI file containing the manifest and mounted rootfs contents.
|
||||
sudo tar -C "${aciroot}" -czf "${BUILD_DIR}/coreos-oem-${oem}.aci" \
|
||||
sudo tar -C "${aciroot}" -czf "${BUILD_DIR}/flatcar-oem-${oem}.aci" \
|
||||
manifest rootfs
|
||||
|
||||
# Unmount the staging image, and delete it to save space.
|
||||
|
@ -201,7 +201,7 @@ if [ -n "${VM_PFLASH_RO}" ] && [ -n "${VM_PFLASH_RW}" ]; then
|
||||
fi
|
||||
|
||||
if [ -n "${IGNITION_CONFIG_FILE}" ]; then
|
||||
set -- -fw_cfg name=opt/com.coreos/config,file="${IGNITION_CONFIG_FILE}" "$@"
|
||||
set -- -fw_cfg name=opt/org.flatcar-linux/config,file="${IGNITION_CONFIG_FILE}" "$@"
|
||||
fi
|
||||
|
||||
case "${VM_BOARD}" in
|
||||
|
@ -11,8 +11,8 @@ UPLOAD_DEFAULT=${FLAGS_FALSE}
|
||||
# Default upload root can be overridden from the environment.
|
||||
_user="${USER}"
|
||||
[[ ${USER} == "root" ]] && _user="${SUDO_USER}"
|
||||
: ${COREOS_UPLOAD_ROOT:=gs://users.developer.core-os.net/${_user}}
|
||||
: ${COREOS_TORCX_UPLOAD_ROOT:=${COREOS_UPLOAD_ROOT}/torcx}
|
||||
: ${FLATCAR_UPLOAD_ROOT:=gs://users.developer.core-os.net/${_user}}
|
||||
: ${FLATCAR_TORCX_UPLOAD_ROOT:=${FLATCAR_UPLOAD_ROOT}/torcx}
|
||||
unset _user
|
||||
|
||||
IMAGE_ZIPPER="lbzip2 --compress --keep"
|
||||
@ -22,7 +22,7 @@ DEFINE_boolean parallel ${FLAGS_TRUE} \
|
||||
"Enable parallelism in gsutil."
|
||||
DEFINE_boolean upload ${UPLOAD_DEFAULT} \
|
||||
"Upload all packages/images via gsutil."
|
||||
DEFINE_string upload_root "${COREOS_UPLOAD_ROOT}" \
|
||||
DEFINE_string upload_root "${FLATCAR_UPLOAD_ROOT}" \
|
||||
"Upload prefix, board/version/etc will be appended. Must be a gs:// URL."
|
||||
DEFINE_string upload_path "" \
|
||||
"Full upload path, overrides --upload_root. Must be a full gs:// URL."
|
||||
@ -30,7 +30,7 @@ DEFINE_string download_root "" \
|
||||
"HTTP download prefix, board/version/etc will be appended."
|
||||
DEFINE_string download_path "" \
|
||||
"HTTP download path, overrides --download_root."
|
||||
DEFINE_string torcx_upload_root "${COREOS_TORCX_UPLOAD_ROOT}" \
|
||||
DEFINE_string torcx_upload_root "${FLATCAR_TORCX_UPLOAD_ROOT}" \
|
||||
"Tectonic torcx package and manifest Upload prefix. Must be a gs:// URL."
|
||||
DEFINE_string tectonic_torcx_download_root "" \
|
||||
"HTTP download prefix for tectonic torcx packages and manifests."
|
||||
@ -155,7 +155,7 @@ upload_packages() {
|
||||
[[ -n "${BOARD}" ]] || die "board_options.sh must be sourced first"
|
||||
|
||||
local board_packages="${1:-"${BOARD_ROOT}/packages"}"
|
||||
local def_upload_path="${UPLOAD_ROOT}/boards/${BOARD}/${COREOS_VERSION}"
|
||||
local def_upload_path="${UPLOAD_ROOT}/boards/${BOARD}/${FLATCAR_VERSION}"
|
||||
sign_and_upload_files packages ${def_upload_path} "pkgs/" \
|
||||
"${board_packages}"/*
|
||||
}
|
||||
@ -214,7 +214,7 @@ upload_image() {
|
||||
fi
|
||||
|
||||
local log_msg=$(basename "$digests" .DIGESTS)
|
||||
local def_upload_path="${UPLOAD_ROOT}/boards/${BOARD}/${COREOS_VERSION}"
|
||||
local def_upload_path="${UPLOAD_ROOT}/boards/${BOARD}/${FLATCAR_VERSION}"
|
||||
sign_and_upload_files "${log_msg}" "${def_upload_path}" "" "${uploads[@]}"
|
||||
}
|
||||
|
||||
@ -229,18 +229,21 @@ download_image_url() {
|
||||
local download_root="${FLAGS_download_root:-${UPLOAD_ROOT}}"
|
||||
|
||||
local download_path
|
||||
local download_channel
|
||||
if [[ -n "${FLAGS_download_path}" ]]; then
|
||||
download_path="${FLAGS_download_path%%/}"
|
||||
elif [[ "${download_root}" = *release.core-os.net* ]]; then
|
||||
elif [[ "${download_root}" == *flatcar-jenkins* ]]; then
|
||||
download_channel="${download_root##*/}"
|
||||
download_root="gs://${download_channel}.release.flatcar-linux.net"
|
||||
# Official release download paths don't include the boards directory
|
||||
download_path="${download_root%%/}/${BOARD}/${COREOS_VERSION}"
|
||||
download_path="${download_root%%/}/${BOARD}/${FLATCAR_VERSION}"
|
||||
else
|
||||
download_path="${download_root%%/}/boards/${BOARD}/${COREOS_VERSION}"
|
||||
download_path="${download_root%%/}/boards/${BOARD}/${FLATCAR_VERSION}"
|
||||
fi
|
||||
|
||||
# Just in case download_root was set from UPLOAD_ROOT
|
||||
if [[ "${download_path}" == gs://* ]]; then
|
||||
download_path="http://${download_path#gs://}"
|
||||
download_path="https://${download_path#gs://}"
|
||||
fi
|
||||
|
||||
echo "${download_path}/$1"
|
||||
|
@ -25,52 +25,54 @@ ROOT_FS_DIR="$FLAGS_root"
|
||||
[ -n "$ROOT_FS_DIR" ] || die "--root is required."
|
||||
[ -d "$ROOT_FS_DIR" ] || die "Root FS does not exist? ($ROOT_FS_DIR)"
|
||||
|
||||
OS_NAME="Container Linux by CoreOS"
|
||||
OS_NAME="Flatcar Linux by Kinvolk"
|
||||
OS_CODENAME="Rhyolite"
|
||||
OS_ID="coreos"
|
||||
OS_PRETTY_NAME="$OS_NAME $COREOS_VERSION (${OS_CODENAME})"
|
||||
OS_ID="flatcar"
|
||||
OS_ID_LIKE="coreos"
|
||||
OS_PRETTY_NAME="$OS_NAME $FLATCAR_VERSION (${OS_CODENAME})"
|
||||
|
||||
COREOS_APPID="{e96281a6-d1af-4bde-9a0a-97b76e56dc57}"
|
||||
FLATCAR_APPID="{e96281a6-d1af-4bde-9a0a-97b76e56dc57}"
|
||||
|
||||
# DISTRIB_* are the standard lsb-release names
|
||||
sudo mkdir -p "${ROOT_FS_DIR}/usr/share/coreos" "${ROOT_FS_DIR}/etc/coreos"
|
||||
sudo_clobber "${ROOT_FS_DIR}/usr/share/coreos/lsb-release" <<EOF
|
||||
sudo mkdir -p "${ROOT_FS_DIR}/usr/share/flatcar" "${ROOT_FS_DIR}/etc/flatcar"
|
||||
sudo_clobber "${ROOT_FS_DIR}/usr/share/flatcar/lsb-release" <<EOF
|
||||
DISTRIB_ID="$OS_NAME"
|
||||
DISTRIB_RELEASE=$COREOS_VERSION
|
||||
DISTRIB_RELEASE=$FLATCAR_VERSION
|
||||
DISTRIB_CODENAME="$OS_CODENAME"
|
||||
DISTRIB_DESCRIPTION="$OS_PRETTY_NAME"
|
||||
EOF
|
||||
sudo ln -sf "../usr/share/coreos/lsb-release" "${ROOT_FS_DIR}/etc/lsb-release"
|
||||
sudo ln -sf "../usr/share/flatcar/lsb-release" "${ROOT_FS_DIR}/etc/lsb-release"
|
||||
|
||||
# And the new standard, os-release
|
||||
# https://www.freedesktop.org/software/systemd/man/os-release.html
|
||||
sudo_clobber "${ROOT_FS_DIR}/usr/lib/os-release" <<EOF
|
||||
NAME="$OS_NAME"
|
||||
ID=$OS_ID
|
||||
VERSION=$COREOS_VERSION
|
||||
VERSION_ID=$COREOS_VERSION_ID
|
||||
BUILD_ID=$COREOS_BUILD_ID
|
||||
ID_LIKE=$OS_ID_LIKE
|
||||
VERSION=$FLATCAR_VERSION
|
||||
VERSION_ID=$FLATCAR_VERSION_ID
|
||||
BUILD_ID=$FLATCAR_BUILD_ID
|
||||
PRETTY_NAME="$OS_PRETTY_NAME"
|
||||
ANSI_COLOR="38;5;75"
|
||||
HOME_URL="https://coreos.com/"
|
||||
BUG_REPORT_URL="https://issues.coreos.com"
|
||||
COREOS_BOARD="$FLAGS_board"
|
||||
HOME_URL="https://flatcar-linux.org/"
|
||||
BUG_REPORT_URL="https://issues.flatcar-linux.org"
|
||||
FLATCAR_BOARD="$FLAGS_board"
|
||||
EOF
|
||||
sudo ln -sf "../usr/lib/os-release" "${ROOT_FS_DIR}/etc/os-release"
|
||||
sudo ln -sf "../../lib/os-release" "${ROOT_FS_DIR}/usr/share/coreos/os-release"
|
||||
sudo ln -sf "../../lib/os-release" "${ROOT_FS_DIR}/usr/share/flatcar/os-release"
|
||||
|
||||
# Create the defaults for the coreos configuration files in the usr directory
|
||||
sudo_clobber "${ROOT_FS_DIR}/usr/share/coreos/release" <<EOF
|
||||
COREOS_RELEASE_VERSION=$COREOS_VERSION
|
||||
COREOS_RELEASE_BOARD=$FLAGS_board
|
||||
COREOS_RELEASE_APPID=$COREOS_APPID
|
||||
sudo_clobber "${ROOT_FS_DIR}/usr/share/flatcar/release" <<EOF
|
||||
FLATCAR_RELEASE_VERSION=$FLATCAR_VERSION
|
||||
FLATCAR_RELEASE_BOARD=$FLAGS_board
|
||||
FLATCAR_RELEASE_APPID=$FLATCAR_APPID
|
||||
EOF
|
||||
|
||||
sudo_clobber "${ROOT_FS_DIR}/usr/share/coreos/update.conf" <<EOF
|
||||
SERVER=https://public.update.core-os.net/v1/update/
|
||||
sudo_clobber "${ROOT_FS_DIR}/usr/share/flatcar/update.conf" <<EOF
|
||||
SERVER=https://public.update.flatcar-linux.net/v1/update/
|
||||
GROUP=$FLAGS_group
|
||||
EOF
|
||||
|
||||
sudo_clobber "${ROOT_FS_DIR}/etc/coreos/update.conf" <<EOF
|
||||
sudo_clobber "${ROOT_FS_DIR}/etc/flatcar/update.conf" <<EOF
|
||||
GROUP=$FLAGS_group
|
||||
EOF
|
||||
|
@ -39,7 +39,6 @@ declare -r \
|
||||
# Usage: get_portage_arch chost
|
||||
get_portage_arch() {
|
||||
case "$1" in
|
||||
aarch64*) echo arm64;;
|
||||
alpha*) echo alpha;;
|
||||
arm*) echo arm;;
|
||||
hppa*) echo hppa;;
|
||||
@ -139,14 +138,14 @@ get_board_binhost() {
|
||||
shift
|
||||
|
||||
if [[ $# -eq 0 ]]; then
|
||||
set -- "${COREOS_SDK_VERSION}" "${COREOS_VERSION_ID}"
|
||||
set -- "${FLATCAR_SDK_VERSION}" "${FLATCAR_VERSION_ID}"
|
||||
fi
|
||||
|
||||
for ver in "$@"; do
|
||||
if [[ $toolchain_only -eq 0 ]]; then
|
||||
echo "${COREOS_DEV_BUILDS}/boards/${board}/${ver}/pkgs/"
|
||||
echo "${FLATCAR_DEV_BUILDS}/boards/${board}/${ver}/pkgs/"
|
||||
fi
|
||||
echo "${COREOS_DEV_BUILDS}/boards/${board}/${ver}/toolchain/"
|
||||
echo "${FLATCAR_DEV_BUILDS}/boards/${board}/${ver}/toolchain/"
|
||||
done
|
||||
}
|
||||
|
||||
@ -168,12 +167,12 @@ get_sdk_libdir() {
|
||||
get_sdk_binhost() {
|
||||
local arch=$(get_sdk_arch) ver
|
||||
if [[ $# -eq 0 ]]; then
|
||||
set -- "${COREOS_SDK_VERSION}" "${COREOS_VERSION_ID}"
|
||||
set -- "${FLATCAR_SDK_VERSION}" "${FLATCAR_VERSION_ID}"
|
||||
fi
|
||||
|
||||
for ver in "$@"; do
|
||||
echo "${COREOS_DEV_BUILDS}/sdk/${arch}/${ver}/pkgs/"
|
||||
echo "${COREOS_DEV_BUILDS}/sdk/${arch}/${ver}/toolchain/"
|
||||
echo "${FLATCAR_DEV_BUILDS}/sdk/${arch}/${ver}/pkgs/"
|
||||
echo "${FLATCAR_DEV_BUILDS}/sdk/${arch}/${ver}/toolchain/"
|
||||
done
|
||||
}
|
||||
|
||||
|
@ -352,7 +352,7 @@ set_vm_paths() {
|
||||
VM_TMP_DIR="${dst_dir}/${dst_name}.vmtmpdir"
|
||||
VM_TMP_IMG="${VM_TMP_DIR}/disk_image.bin"
|
||||
VM_TMP_ROOT="${VM_TMP_DIR}/rootfs"
|
||||
VM_NAME="$(_src_to_dst_name "${src_name}" "")-${COREOS_VERSION}"
|
||||
VM_NAME="$(_src_to_dst_name "${src_name}" "")-${FLATCAR_VERSION}"
|
||||
VM_README="${dst_dir}/$(_src_to_dst_name "${src_name}" ".README")"
|
||||
|
||||
# Make VM_NAME safe for use as a hostname
|
||||
@ -438,8 +438,8 @@ setup_disk_image() {
|
||||
sudo mount -o remount,ro "${VM_TMP_ROOT}"
|
||||
|
||||
VM_GROUP=$(grep --no-messages --no-filename ^GROUP= \
|
||||
"${VM_TMP_ROOT}/usr/share/coreos/update.conf" \
|
||||
"${VM_TMP_ROOT}/etc/coreos/update.conf" | \
|
||||
"${VM_TMP_ROOT}/usr/share/flatcar/update.conf" \
|
||||
"${VM_TMP_ROOT}/etc/flatcar/update.conf" | \
|
||||
tail -n 1 | sed -e 's/^GROUP=//')
|
||||
if [[ -z "${VM_GROUP}" ]]; then
|
||||
die "Unable to determine update group for this image."
|
||||
@ -483,7 +483,7 @@ install_oem_package() {
|
||||
install_oem_aci() {
|
||||
local oem_aci=$(_get_vm_opt OEM_ACI)
|
||||
local aci_dir="${FLAGS_to}/oem-${oem_aci}-aci"
|
||||
local aci_path="${aci_dir}/coreos-oem-${oem_aci}.aci"
|
||||
local aci_path="${aci_dir}/flatcar-oem-${oem_aci}.aci"
|
||||
local binpkgflags=(--nogetbinpkg)
|
||||
|
||||
[ -n "${oem_aci}" ] || return 0
|
||||
@ -503,7 +503,7 @@ install_oem_aci() {
|
||||
info "Installing ${oem_aci} OEM ACI"
|
||||
sudo install -Dpm 0644 \
|
||||
"${aci_path}" \
|
||||
"${VM_TMP_ROOT}/usr/share/oem/coreos-oem-${oem_aci}.aci" ||
|
||||
"${VM_TMP_ROOT}/usr/share/oem/flatcar-oem-${oem_aci}.aci" ||
|
||||
die "Could not install ${oem_aci} OEM ACI"
|
||||
}
|
||||
|
||||
@ -593,8 +593,8 @@ _write_cpio_common() {
|
||||
echo "/.noupdate f 444 root root echo -n" >"${VM_TMP_DIR}/extra"
|
||||
|
||||
# Set correct group for PXE/ISO, which has no writeable /etc
|
||||
echo /usr/share/coreos/update.conf f 644 root root \
|
||||
"sed -e 's/GROUP=.*$/GROUP=${VM_GROUP}/' ${base_dir}/share/coreos/update.conf" \
|
||||
echo /usr/share/flatcar/update.conf f 644 root root \
|
||||
"sed -e 's/GROUP=.*$/GROUP=${VM_GROUP}/' ${base_dir}/share/flatcar/update.conf" \
|
||||
>> "${VM_TMP_DIR}/extra"
|
||||
|
||||
# Build the squashfs, embed squashfs into a gzipped cpio
|
||||
@ -614,14 +614,14 @@ _write_cpio_disk() {
|
||||
local grub_name="$(_dst_name "_grub.efi")"
|
||||
_write_cpio_common $@
|
||||
# Pull the kernel and loader out of the filesystem
|
||||
cp "${base_dir}"/boot/coreos/vmlinuz-a "${dst_dir}/${vmlinuz_name}"
|
||||
cp "${base_dir}"/boot/flatcar/vmlinuz-a "${dst_dir}/${vmlinuz_name}"
|
||||
|
||||
local grub_arch
|
||||
case $BOARD in
|
||||
amd64-usr) grub_arch="x86_64-efi" ;;
|
||||
esac
|
||||
|
||||
cp "${base_dir}/boot/coreos/grub/${grub_arch}/core.efi" "${dst_dir}/${grub_name}"
|
||||
cp "${base_dir}/boot/flatcar/grub/${grub_arch}/core.efi" "${dst_dir}/${grub_name}"
|
||||
VM_GENERATED_FILES+=( "${dst_dir}/${vmlinuz_name}" "${dst_dir}/${grub_name}" )
|
||||
}
|
||||
|
||||
@ -633,22 +633,22 @@ _write_iso_disk() {
|
||||
|
||||
mkdir "${iso_target}"
|
||||
pushd "${iso_target}" >/dev/null
|
||||
mkdir isolinux syslinux coreos
|
||||
_write_cpio_common "$1" "${iso_target}/coreos/cpio.gz"
|
||||
cp "${base_dir}"/boot/vmlinuz "${iso_target}/coreos/vmlinuz"
|
||||
mkdir isolinux syslinux flatcar
|
||||
_write_cpio_common "$1" "${iso_target}/flatcar/cpio.gz"
|
||||
cp "${base_dir}"/boot/vmlinuz "${iso_target}/flatcar/vmlinuz"
|
||||
cp -R /usr/share/syslinux/* isolinux/
|
||||
cat<<EOF > isolinux/isolinux.cfg
|
||||
INCLUDE /syslinux/syslinux.cfg
|
||||
EOF
|
||||
cat<<EOF > syslinux/syslinux.cfg
|
||||
default coreos
|
||||
default flatcar
|
||||
prompt 1
|
||||
timeout 15
|
||||
|
||||
label coreos
|
||||
label flatcar
|
||||
menu default
|
||||
kernel /coreos/vmlinuz
|
||||
append initrd=/coreos/cpio.gz coreos.autologin
|
||||
kernel /flatcar/vmlinuz
|
||||
append initrd=/flatcar/cpio.gz flatcar.autologin
|
||||
EOF
|
||||
mkisofs -v -l -r -J -o $2 -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table .
|
||||
isohybrid $2
|
||||
@ -1091,10 +1091,10 @@ EOF
|
||||
|
||||
cat >"${json}" <<EOF
|
||||
{
|
||||
"name": "coreos-${VM_GROUP}",
|
||||
"description": "CoreOS ${VM_GROUP}",
|
||||
"name": "flatcar-${VM_GROUP}",
|
||||
"description": "Flatcar ${VM_GROUP}",
|
||||
"versions": [{
|
||||
"version": "${COREOS_VERSION_ID}",
|
||||
"version": "${FLATCAR_VERSION_ID}",
|
||||
"providers": [{
|
||||
"name": "${provider}",
|
||||
"url": "$(download_image_url "$(_dst_name ".box")")",
|
||||
@ -1186,7 +1186,7 @@ vm_upload() {
|
||||
cp "${digests}.asc" "${legacy_digests}.asc"
|
||||
fi
|
||||
|
||||
local def_upload_path="${UPLOAD_ROOT}/boards/${BOARD}/${COREOS_VERSION}"
|
||||
local def_upload_path="${UPLOAD_ROOT}/boards/${BOARD}/${FLATCAR_VERSION}"
|
||||
upload_files "$(_dst_name)" "${def_upload_path}" "" "${legacy_uploads[@]}"
|
||||
}
|
||||
|
||||
|
@ -190,7 +190,7 @@ function torcx_package() {
|
||||
fi
|
||||
|
||||
tmpfile="${BUILD_DIR}/${name}:${version}.torcx.tgz"
|
||||
tar --force-local -C "${tmppkgroot}" -czf "${tmpfile}" .
|
||||
tar --force-local --selinux --xattrs -C "${tmppkgroot}" -czf "${tmpfile}" .
|
||||
sha512sum=$(sha512sum "${tmpfile}" | awk '{print $1}')
|
||||
|
||||
# TODO(euank): this opaque digest, if it were reproducible, could save
|
||||
@ -277,7 +277,7 @@ done
|
||||
# order to get signed.
|
||||
sign_and_upload_files \
|
||||
'torcx manifest' \
|
||||
"${UPLOAD_ROOT}/torcx/manifests/${BOARD}/${COREOS_VERSION}" \
|
||||
"${UPLOAD_ROOT}/torcx/manifests/${BOARD}/${FLATCAR_VERSION}" \
|
||||
"" \
|
||||
"${manifest_path}"
|
||||
|
||||
|
32
common.sh
32
common.sh
@ -233,7 +233,7 @@ get_gclient_root() {
|
||||
# Populate the ENVIRONMENT_WHITELIST array.
|
||||
load_environment_whitelist() {
|
||||
ENVIRONMENT_WHITELIST=(
|
||||
COREOS_BUILD_ID
|
||||
FLATCAR_BUILD_ID
|
||||
COREOS_OFFICIAL
|
||||
GIT_AUTHOR_EMAIL
|
||||
GIT_AUTHOR_NAME
|
||||
@ -287,39 +287,39 @@ BUILD_LIBRARY_DIR="${SCRIPTS_DIR}/build_library"
|
||||
REPO_CACHE_DIR="${REPO_ROOT}/.cache"
|
||||
REPO_MANIFESTS_DIR="${REPO_ROOT}/.repo/manifests"
|
||||
|
||||
# Source COREOS_VERSION_ID from manifest.
|
||||
# Source FLATCAR_VERSION_ID from manifest.
|
||||
if [[ -f "${REPO_MANIFESTS_DIR}/version.txt" ]]; then
|
||||
# The build id may be provided externally by the build system.
|
||||
if [[ -n ${COREOS_BUILD_ID} ]]; then
|
||||
if [[ -n ${FLATCAR_BUILD_ID} ]]; then
|
||||
load_environment_var "${REPO_MANIFESTS_DIR}/version.txt" \
|
||||
COREOS_VERSION_ID COREOS_SDK_VERSION
|
||||
FLATCAR_VERSION_ID FLATCAR_SDK_VERSION
|
||||
else
|
||||
load_environment_var "${REPO_MANIFESTS_DIR}/version.txt" \
|
||||
COREOS_VERSION_ID COREOS_BUILD_ID COREOS_SDK_VERSION
|
||||
# Don't promote COREOS_BUILD_ID into an environment variable when it
|
||||
FLATCAR_VERSION_ID FLATCAR_BUILD_ID FLATCAR_SDK_VERSION
|
||||
# Don't promote FLATCAR_BUILD_ID into an environment variable when it
|
||||
# didn't start as one, since we don't want it leaking into the SDK
|
||||
# chroot environment via ENVIRONMENT_WHITELIST.
|
||||
declare +x COREOS_BUILD_ID
|
||||
declare +x FLATCAR_BUILD_ID
|
||||
fi
|
||||
: ${COREOS_BUILD_ID:=$(date +%Y-%m-%d-%H%M)}
|
||||
: ${FLATCAR_BUILD_ID:=$(date +%Y-%m-%d-%H%M)}
|
||||
elif [[ -f "${SCRIPT_LOCATION}/version.txt" ]]; then
|
||||
# This only happens in update.zip where we must use the current build id.
|
||||
load_environment_var "${SCRIPT_LOCATION}/version.txt" \
|
||||
COREOS_VERSION_ID COREOS_BUILD_ID COREOS_SDK_VERSION
|
||||
FLATCAR_VERSION_ID FLATCAR_BUILD_ID FLATCAR_SDK_VERSION
|
||||
else
|
||||
die "Unable to locate version.txt"
|
||||
fi
|
||||
|
||||
# Official builds must set COREOS_OFFICIAL=1 to use an official version.
|
||||
# Unofficial builds always appended the build identifier.
|
||||
if [[ ${COREOS_OFFICIAL:-0} -ne 1 && -n "${COREOS_BUILD_ID}" ]]; then
|
||||
COREOS_VERSION="${COREOS_VERSION_ID}+${COREOS_BUILD_ID}"
|
||||
if [[ ${COREOS_OFFICIAL:-0} -ne 1 && -n "${FLATCAR_BUILD_ID}" ]]; then
|
||||
FLATCAR_VERSION="${FLATCAR_VERSION_ID}+${FLATCAR_BUILD_ID}"
|
||||
else
|
||||
COREOS_VERSION="${COREOS_VERSION_ID}"
|
||||
FLATCAR_VERSION="${FLATCAR_VERSION_ID}"
|
||||
fi
|
||||
|
||||
# Compatibility alias
|
||||
COREOS_VERSION_STRING="${COREOS_VERSION}"
|
||||
FLATCAR_VERSION_STRING="${FLATCAR_VERSION}"
|
||||
|
||||
# Calculate what today's build version should be, used by release
|
||||
# scripts to provide a reasonable default value. The value is the number
|
||||
@ -328,7 +328,7 @@ readonly COREOS_EPOCH=1372636800
|
||||
TODAYS_VERSION=$(( (`date +%s` - ${COREOS_EPOCH}) / 86400 ))
|
||||
|
||||
# Download URL prefix for SDK and board binary packages
|
||||
: ${COREOS_DEV_BUILDS:=http://builds.developer.core-os.net}
|
||||
: ${FLATCAR_DEV_BUILDS:=https://storage.googleapis.com/flatcar-jenkins}
|
||||
|
||||
# Load developer's custom settings. Default location is in scripts dir,
|
||||
# since that's available both inside and outside the chroot. By convention,
|
||||
@ -391,8 +391,8 @@ fi
|
||||
BUILD_DIR=
|
||||
|
||||
# Standard filenames
|
||||
COREOS_DEVELOPER_CONTAINER_NAME="coreos_developer_container.bin"
|
||||
COREOS_PRODUCTION_IMAGE_NAME="coreos_production_image.bin"
|
||||
FLATCAR_DEVELOPER_CONTAINER_NAME="flatcar_developer_container.bin"
|
||||
FLATCAR_PRODUCTION_IMAGE_NAME="flatcar_production_image.bin"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Functions
|
||||
|
@ -4,16 +4,16 @@ VERSION_ID=stable
|
||||
|
||||
USAGE="Usage: $0 [-V version] [-d /target/path]
|
||||
Options:
|
||||
-d DEST Create CoreOS VDI image to the given path.
|
||||
-d DEST Create Flatcar VDI image to the given path.
|
||||
-V VERSION Version to install (e.g. alpha) [default: ${VERSION_ID}]
|
||||
-h This help
|
||||
|
||||
This tool creates a CoreOS VDI image to be used with VirtualBox.
|
||||
This tool creates a Flatcar VDI image to be used with VirtualBox.
|
||||
"
|
||||
|
||||
# Image signing key: buildbot@coreos.com
|
||||
GPG_KEY_URL="https://coreos.com/security/image-signing-key/CoreOS_Image_Signing_Key.pem"
|
||||
GPG_LONG_ID="50E0885593D2DCB4"
|
||||
# Image signing key: buildbot@flatcar-linux.org
|
||||
GPG_KEY_URL="https://flatcar-linux.org/security/image-signing-key/Flatcar_Image_Signing_Key.pem"
|
||||
GPG_LONG_ID="E25D9AED0593B34A"
|
||||
GPG_KEY="$(wget -qO- $GPG_KEY_URL)"
|
||||
|
||||
while getopts "V:d:a:h" OPTION
|
||||
@ -52,15 +52,15 @@ WORKDIR="${DEST}/tmp.${RANDOM}"
|
||||
mkdir "$WORKDIR"
|
||||
trap "rm -rf '${WORKDIR}'" EXIT
|
||||
|
||||
RAW_IMAGE_NAME="coreos_production_image.bin"
|
||||
RAW_IMAGE_NAME="flatcar_production_image.bin"
|
||||
IMAGE_NAME="${RAW_IMAGE_NAME}.bz2"
|
||||
DIGESTS_NAME="${IMAGE_NAME}.DIGESTS.asc"
|
||||
|
||||
case ${VERSION_ID} in
|
||||
stable) BASE_URL="https://stable.release.core-os.net/amd64-usr/current" ;;
|
||||
alpha) BASE_URL="https://alpha.release.core-os.net/amd64-usr/current" ;;
|
||||
beta) BASE_URL="https://beta.release.core-os.net/amd64-usr/current" ;;
|
||||
*) BASE_URL="https://alpha.release.core-os.net/amd64-usr/${VERSION_ID}" ;;
|
||||
stable) BASE_URL="https://stable.release.flatcar-linux.net/amd64-usr/current" ;;
|
||||
alpha) BASE_URL="https://alpha.release.flatcar-linux.net/amd64-usr/current" ;;
|
||||
beta) BASE_URL="https://beta.release.flatcar-linux.net/amd64-usr/current" ;;
|
||||
*) BASE_URL="https://alpha.release.flatcar-linux.net/amd64-usr/${VERSION_ID}" ;;
|
||||
esac
|
||||
|
||||
IMAGE_URL="${BASE_URL}/${IMAGE_NAME}"
|
||||
@ -77,12 +77,12 @@ if ! wget --spider --quiet "${DIGESTS_URL}"; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Gets CoreOS verion from version.txt file
|
||||
# Gets Flatcar verion from version.txt file
|
||||
VERSION_NAME="version.txt"
|
||||
VERSION_URL="${BASE_URL}/${VERSION_NAME}"
|
||||
wget --no-verbose -O "${WORKDIR}/${VERSION_NAME}" "${VERSION_URL}"
|
||||
. "${WORKDIR}/${VERSION_NAME}"
|
||||
VDI_IMAGE_NAME="coreos_production_${COREOS_BUILD}.${COREOS_BRANCH}.${COREOS_PATCH}.vdi"
|
||||
VDI_IMAGE_NAME="flatcar_production_${FLATCAR_BUILD}.${FLATCAR_BRANCH}.${FLATCAR_PATCH}.vdi"
|
||||
VDI_IMAGE="${DEST}/${VDI_IMAGE_NAME}"
|
||||
|
||||
# Setup GnuPG for verifying the image signature
|
||||
@ -118,6 +118,6 @@ VBoxManage convertdd "${DOWN_IMAGE}" "${VDI_IMAGE}" --format VDI
|
||||
rm -rf "${WORKDIR}"
|
||||
trap - EXIT
|
||||
|
||||
echo "Success! CoreOS ${VERSION_ID} VDI image was created on ${VDI_IMAGE_NAME}"
|
||||
echo "Success! Flatcar ${VERSION_ID} VDI image was created on ${VDI_IMAGE_NAME}"
|
||||
|
||||
# vim: ts=4 et
|
||||
|
@ -35,7 +35,7 @@ case "$1" in
|
||||
v="$1"
|
||||
shift
|
||||
else
|
||||
v="${COREOS_VERSION}"
|
||||
v="${FLATCAR_VERSION}"
|
||||
fi
|
||||
|
||||
# strip of a v prefix or .0.0 suffix
|
||||
|
@ -12,7 +12,7 @@ export GCLIENT_ROOT=$(readlink -f "${SCRIPT_ROOT}/../../")
|
||||
|
||||
DEFINE_string board "amd64-usr" \
|
||||
"Board type of the image"
|
||||
DEFINE_string version "${COREOS_VERSION}" \
|
||||
DEFINE_string version "${FLATCAR_VERSION}" \
|
||||
"Version number to promote."
|
||||
|
||||
DEFINE_string build_storage "gs://builds.release.core-os.net" \
|
||||
|
@ -14,7 +14,7 @@ DEFINE_string board "amd64-usr" \
|
||||
"Board type of the image"
|
||||
DEFINE_string payload "coreos_production_update.gz" \
|
||||
"Path to the update payload"
|
||||
DEFINE_string version "${COREOS_VERSION}" \
|
||||
DEFINE_string version "${FLATCAR_VERSION}" \
|
||||
"Version number of this build."
|
||||
DEFINE_string app_id "e96281a6-d1af-4bde-9a0a-97b76e56dc57" \
|
||||
"CoreOS AppId in roller."
|
||||
|
@ -28,7 +28,7 @@ DEFINE_string board "${DEFAULT_BOARD}" \
|
||||
DEFINE_string disk_layout "base" \
|
||||
"The disk layout type to use for this image."
|
||||
DEFINE_string from "" \
|
||||
"Directory containing ${COREOS_PRODUCTION_IMAGE_NAME}"
|
||||
"Directory containing ${FLATCAR_PRODUCTION_IMAGE_NAME}"
|
||||
DEFINE_string output_root "${DEFAULT_BUILD_ROOT}/images" \
|
||||
"Directory in which to place image result directories (named by version)"
|
||||
DEFINE_boolean replace ${FLAGS_FALSE} \
|
||||
@ -74,7 +74,7 @@ do_copy() {
|
||||
start_modify_image
|
||||
|
||||
if [[ -n "${FLAGS_kernel_path}" ]]; then
|
||||
do_copy "${FLAGS_kernel_path}" "/boot/coreos/vmlinuz-a"
|
||||
do_copy "${FLAGS_kernel_path}" "/boot/flatcar/vmlinuz-a"
|
||||
fi
|
||||
|
||||
if [[ -n "${FLAGS_efi_grub_path}" ]]; then
|
||||
|
@ -20,7 +20,7 @@ DEFINE_string board "${DEFAULT_BOARD}" \
|
||||
DEFINE_string disk_layout "base" \
|
||||
"The disk layout type to use for this image."
|
||||
DEFINE_string from "" \
|
||||
"Directory containing ${COREOS_PRODUCTION_IMAGE_NAME}"
|
||||
"Directory containing ${FLATCAR_PRODUCTION_IMAGE_NAME}"
|
||||
DEFINE_string output_root "${DEFAULT_BUILD_ROOT}/images" \
|
||||
"Directory in which to place image result directories (named by version)"
|
||||
DEFINE_boolean replace ${FLAGS_FALSE} \
|
||||
@ -56,9 +56,9 @@ fi
|
||||
|
||||
start_modify_image
|
||||
|
||||
info "Replacing /etc/coreos/update.conf"
|
||||
sudo mkdir -p "${ROOT_FS_DIR}/etc/coreos"
|
||||
sudo_clobber "${ROOT_FS_DIR}/etc/coreos/update.conf" <<EOF
|
||||
info "Replacing /etc/flatcar/update.conf"
|
||||
sudo mkdir -p "${ROOT_FS_DIR}/etc/flatcar"
|
||||
sudo_clobber "${ROOT_FS_DIR}/etc/flatcar/update.conf" <<EOF
|
||||
GROUP=${FLAGS_group}
|
||||
EOF
|
||||
|
||||
|
@ -31,7 +31,7 @@ DEFINE_string board "${DEFAULT_BOARD}" \
|
||||
DEFINE_string format "" \
|
||||
"Output format, one of: ${VALID_IMG_TYPES[*]}"
|
||||
DEFINE_string from "" \
|
||||
"Directory containing coreos_production_image.bin."
|
||||
"Directory containing flatcar_production_image.bin."
|
||||
DEFINE_string disk_layout "" \
|
||||
"The disk layout type to use for this image."
|
||||
DEFINE_integer mem "${DEFAULT_MEM}" \
|
||||
@ -102,10 +102,10 @@ FLAGS_to=`eval readlink -f $FLAGS_to`
|
||||
# If source includes version.txt switch to its version information
|
||||
if [ -f "${FLAGS_from}/version.txt" ]; then
|
||||
source "${FLAGS_from}/version.txt"
|
||||
COREOS_VERSION_STRING="${COREOS_VERSION}"
|
||||
FLATCAR_VERSION_STRING="${FLATCAR_VERSION}"
|
||||
fi
|
||||
|
||||
set_vm_paths "${FLAGS_from}" "${FLAGS_to}" "${COREOS_PRODUCTION_IMAGE_NAME}"
|
||||
set_vm_paths "${FLAGS_from}" "${FLAGS_to}" "${FLATCAR_PRODUCTION_IMAGE_NAME}"
|
||||
|
||||
# Make sure things are cleaned up on failure
|
||||
trap vm_cleanup EXIT
|
||||
|
@ -11,7 +11,7 @@ enter() {
|
||||
verify_key=--verify-key=/etc/portage/gangue.asc
|
||||
sudo ln -f "${GS_DEVEL_CREDS}" chroot/etc/portage/gangue.json
|
||||
bin/cork enter --bind-gpg-agent=false -- env \
|
||||
COREOS_DEV_BUILDS="${DOWNLOAD_ROOT}" \
|
||||
FLATCAR_DEV_BUILDS="${DOWNLOAD_ROOT}" \
|
||||
{FETCH,RESUME}COMMAND_GS="/usr/bin/gangue get \
|
||||
--json-key=/etc/portage/gangue.json $verify_key \
|
||||
"'"${URI}" "${DISTDIR}/${FILE}"' \
|
||||
@ -23,14 +23,14 @@ script() {
|
||||
}
|
||||
|
||||
source .repo/manifests/version.txt
|
||||
export COREOS_BUILD_ID
|
||||
export FLATCAR_BUILD_ID
|
||||
|
||||
# Set up GPG for signing uploads.
|
||||
gpg --import "${GPG_SECRET_KEY_FILE}"
|
||||
|
||||
script setup_board \
|
||||
--board="${BOARD}" \
|
||||
--getbinpkgver="${COREOS_VERSION}" \
|
||||
--getbinpkgver="${FLATCAR_VERSION}" \
|
||||
--regen_configs_only
|
||||
|
||||
if [ "x${COREOS_OFFICIAL}" == x1 ]
|
||||
@ -43,7 +43,7 @@ fi
|
||||
# Retrieve this version's torcx manifest
|
||||
mkdir -p torcx/pkgs
|
||||
enter gsutil cp -r \
|
||||
"${DOWNLOAD_ROOT}/torcx/manifests/${BOARD}/${COREOS_VERSION}/torcx_manifest.json"{,.sig} \
|
||||
"${DOWNLOAD_ROOT}/torcx/manifests/${BOARD}/${FLATCAR_VERSION}/torcx_manifest.json"{,.sig} \
|
||||
/mnt/host/source/torcx/
|
||||
gpg --verify torcx/torcx_manifest.json.sig
|
||||
|
||||
@ -67,7 +67,7 @@ script build_image \
|
||||
--board="${BOARD}" \
|
||||
--group="${GROUP}" \
|
||||
--getbinpkg \
|
||||
--getbinpkgver="${COREOS_VERSION}" \
|
||||
--getbinpkgver="${FLATCAR_VERSION}" \
|
||||
--sign="${SIGNING_USER}" \
|
||||
--sign_digests="${SIGNING_USER}" \
|
||||
--torcx_manifest=/mnt/host/source/torcx/torcx_manifest.json \
|
||||
|
@ -15,7 +15,7 @@ enter() {
|
||||
bin/cork enter --bind-gpg-agent=false -- env \
|
||||
CCACHE_DIR=/mnt/host/source/ccache \
|
||||
CCACHE_MAXSIZE=5G \
|
||||
COREOS_DEV_BUILDS="${DOWNLOAD_ROOT}" \
|
||||
FLATCAR_DEV_BUILDS="${DOWNLOAD_ROOT}" \
|
||||
{FETCH,RESUME}COMMAND_GS="/usr/bin/gangue get \
|
||||
--json-key=/etc/portage/gangue.json $verify_key \
|
||||
"'"${URI}" "${DISTDIR}/${FILE}"' \
|
||||
@ -27,7 +27,7 @@ script() {
|
||||
}
|
||||
|
||||
source .repo/manifests/version.txt
|
||||
export COREOS_BUILD_ID
|
||||
export FLATCAR_BUILD_ID
|
||||
|
||||
# Set up GPG for signing uploads.
|
||||
gpg --import "${GPG_SECRET_KEY_FILE}"
|
||||
@ -37,13 +37,13 @@ enter ccache --zero-stats
|
||||
|
||||
script setup_board \
|
||||
--board="${BOARD}" \
|
||||
--getbinpkgver=${RELEASE_BASE:-"${COREOS_VERSION}" --toolchainpkgonly} \
|
||||
--getbinpkgver=${RELEASE_BASE:-"${FLATCAR_VERSION}" --toolchainpkgonly} \
|
||||
--skip_chroot_upgrade \
|
||||
--force
|
||||
|
||||
script build_packages \
|
||||
--board="${BOARD}" \
|
||||
--getbinpkgver=${RELEASE_BASE:-"${COREOS_VERSION}" --toolchainpkgonly} \
|
||||
--getbinpkgver=${RELEASE_BASE:-"${FLATCAR_VERSION}" --toolchainpkgonly} \
|
||||
--skip_chroot_upgrade \
|
||||
--skip_torcx_store \
|
||||
--sign="${SIGNING_USER}" \
|
||||
|
@ -5,7 +5,7 @@ enter() {
|
||||
}
|
||||
|
||||
source .repo/manifests/version.txt
|
||||
export COREOS_BUILD_ID
|
||||
export FLATCAR_BUILD_ID
|
||||
|
||||
# Set up GPG for signing uploads.
|
||||
gpg --import "${GPG_SECRET_KEY_FILE}"
|
||||
|
@ -5,7 +5,7 @@ enter() {
|
||||
}
|
||||
|
||||
source .repo/manifests/version.txt
|
||||
export COREOS_BUILD_ID
|
||||
export FLATCAR_BUILD_ID
|
||||
|
||||
# Set up GPG for signing uploads.
|
||||
gpg --import "${GPG_SECRET_KEY_FILE}"
|
||||
|
@ -11,7 +11,7 @@ enter() {
|
||||
verify_key=--verify-key=/etc/portage/gangue.asc
|
||||
sudo ln -f "${GS_DEVEL_CREDS}" chroot/etc/portage/gangue.json
|
||||
bin/cork enter --bind-gpg-agent=false -- env \
|
||||
COREOS_DEV_BUILDS="${GS_DEVEL_ROOT}" \
|
||||
FLATCAR_DEV_BUILDS="${GS_DEVEL_ROOT}" \
|
||||
{FETCH,RESUME}COMMAND_GS="/usr/bin/gangue get \
|
||||
--json-key=/etc/portage/gangue.json $verify_key \
|
||||
"'"${URI}" "${DISTDIR}/${FILE}"' \
|
||||
@ -23,7 +23,7 @@ script() {
|
||||
}
|
||||
|
||||
source .repo/manifests/version.txt
|
||||
export COREOS_BUILD_ID
|
||||
export FLATCAR_BUILD_ID
|
||||
|
||||
# Set up GPG for signing uploads.
|
||||
gpg --import "${GPG_SECRET_KEY_FILE}"
|
||||
@ -32,13 +32,13 @@ gpg --import "${GPG_SECRET_KEY_FILE}"
|
||||
|
||||
mkdir -p src tmp
|
||||
bin/cork download-image \
|
||||
--root="${UPLOAD_ROOT}/boards/${BOARD}/${COREOS_VERSION}" \
|
||||
--root="${UPLOAD_ROOT}/boards/${BOARD}/${FLATCAR_VERSION}" \
|
||||
--json-key="${GOOGLE_APPLICATION_CREDENTIALS}" \
|
||||
--cache-dir=./src \
|
||||
--platform=qemu \
|
||||
--verify=true $verify_key
|
||||
|
||||
img=src/coreos_production_image.bin
|
||||
img=src/flatcar_production_image.bin
|
||||
[[ "${img}.bz2" -nt "${img}" ]] &&
|
||||
enter lbunzip2 -k -f "/mnt/host/source/${img}.bz2"
|
||||
|
||||
@ -46,7 +46,7 @@ script image_to_vm.sh \
|
||||
--board="${BOARD}" \
|
||||
--format="${FORMAT}" \
|
||||
--getbinpkg \
|
||||
--getbinpkgver="${COREOS_VERSION}" \
|
||||
--getbinpkgver="${FLATCAR_VERSION}" \
|
||||
--from=/mnt/host/source/src \
|
||||
--to=/mnt/host/source/tmp \
|
||||
--sign="${SIGNING_USER}" \
|
||||
|
@ -7,7 +7,7 @@
|
||||
# Default values for creating VM's.
|
||||
DEFAULT_MEM="1024"
|
||||
DEFAULT_VMDK="ide.vmdk"
|
||||
DEFAULT_VMX="coreos.vmx"
|
||||
DEFAULT_VMX="flatcar.vmx"
|
||||
DEFAULT_VBOX_DISK="os.vdi"
|
||||
|
||||
# Minimum sizes for full size vm images -- needed for update.
|
||||
|
@ -15,7 +15,7 @@ release=${1:-"alpha"}
|
||||
|
||||
# If the argument is in the form http* allow for watching an arbitrary location
|
||||
if [[ $1 != http* ]]; then
|
||||
url="https://${release}.release.core-os.net/amd64-usr/current/version.txt"
|
||||
url="https://${release}.release.flatcar-linux.net/amd64-usr/current/version.txt"
|
||||
else
|
||||
url=$1
|
||||
release=$(echo ${url} | sed -e 's/http:\/\///1' -e 's/\//-/g' )
|
||||
|
@ -21,7 +21,7 @@ while [[ $# -gt 0 ]]; do
|
||||
# For this convoluded trick, we take an arbitrary URL, chop it
|
||||
# up, and try to turn it into usable input for the rest of the
|
||||
# script. This is based on urls of the form:
|
||||
# https://storage.core-os.net/coreos/amd64-usr/master/version.txt
|
||||
# https://storage.flatcar-linux.net/coreos/amd64-usr/master/version.txt
|
||||
# where the following sed expression extracts the "master"
|
||||
# portion
|
||||
baseurl="${1%/*}"
|
||||
@ -43,11 +43,11 @@ while [[ $# -gt 0 ]]; do
|
||||
done
|
||||
|
||||
if [[ -z "${baseurl}" ]]; then
|
||||
baseurl="https://${release}.release.core-os.net/${board}/current"
|
||||
baseurl="https://${release}.release.flatcar-linux.net/${board}/current"
|
||||
fi
|
||||
|
||||
version_url="${baseurl}/version.txt"
|
||||
image_url="${baseurl}/coreos_production_openstack_image.img.bz2"
|
||||
image_url="${baseurl}/flatcar_production_openstack_image.img.bz2"
|
||||
|
||||
# use the following location as our local work space
|
||||
tmplocation=$(mktemp -d /var/tmp/glanceload.XXX)
|
||||
@ -57,25 +57,25 @@ curl --fail -s -L -O ${version_url}
|
||||
. version.txt
|
||||
|
||||
# if we already have the image don't waste time
|
||||
if glance image-show "CoreOS-${release}-v${COREOS_VERSION}"; then
|
||||
if glance image-show "Flatcar-${release}-v${Flatcar_VERSION}"; then
|
||||
echo "Image already exists."
|
||||
rm -rf ${tmplocation}
|
||||
exit
|
||||
fi
|
||||
|
||||
coreosimg="coreos_${COREOS_VERSION}_openstack_image.img"
|
||||
flatcarimg="flatcar_${FLATCAR_VERSION}_openstack_image.img"
|
||||
|
||||
# change the following line to reflect the image to be chosen, openstack
|
||||
# is used by default
|
||||
curl --fail -s -L ${image_url} | bunzip2 > ${coreosimg}
|
||||
curl --fail -s -L ${image_url} | bunzip2 > ${flatcarimg}
|
||||
|
||||
# perform actual image creation
|
||||
# here we set the os_release, os_verison, os_family, and os_distro variables
|
||||
# for intelligent consumption of images by scripts
|
||||
glance --os-image-api-version 1 image-create --name CoreOS-${release}-v${COREOS_VERSION} --progress \
|
||||
--is-public true --property os_distro=coreos --property os_family=coreos \
|
||||
--property os_version=${COREOS_VERSION} \
|
||||
--disk-format qcow2 --container-format bare --min-disk 6 --file $coreosimg
|
||||
glance --os-image-api-version 1 image-create --name Flatcar-${release}-v${FLATCAR_VERSION} --progress \
|
||||
--is-public true --property os_distro=flatcar --property os_family=flatcar \
|
||||
--property os_version=${FLATCAR_VERSION} \
|
||||
--disk-format qcow2 --container-format bare --min-disk 6 --file $flatcarimg
|
||||
|
||||
# optionally, set --property os_release=${release} in the glance image-create
|
||||
# command above and uncomment the two commands below to support searching by
|
||||
|
@ -5,13 +5,13 @@
|
||||
# found in the LICENSE file.
|
||||
|
||||
# common.sh must be properly sourced before this file.
|
||||
[[ -n "${COREOS_SDK_VERSION}" ]] || exit 1
|
||||
[[ -n "${FLATCAR_SDK_VERSION}" ]] || exit 1
|
||||
|
||||
COREOS_SDK_ARCH="amd64" # We are unlikely to support anything else.
|
||||
COREOS_SDK_TARBALL="coreos-sdk-${COREOS_SDK_ARCH}-${COREOS_SDK_VERSION}.tar.bz2"
|
||||
COREOS_SDK_TARBALL_CACHE="${REPO_CACHE_DIR}/sdks"
|
||||
COREOS_SDK_TARBALL_PATH="${COREOS_SDK_TARBALL_CACHE}/${COREOS_SDK_TARBALL}"
|
||||
COREOS_SDK_URL="${COREOS_DEV_BUILDS}/sdk/${COREOS_SDK_ARCH}/${COREOS_SDK_VERSION}/${COREOS_SDK_TARBALL}"
|
||||
FLATCAR_SDK_ARCH="amd64" # We are unlikely to support anything else.
|
||||
FLATCAR_SDK_TARBALL="flatcar-sdk-${FLATCAR_SDK_ARCH}-${FLATCAR_SDK_VERSION}.tar.bz2"
|
||||
FLATCAR_SDK_TARBALL_CACHE="${REPO_CACHE_DIR}/sdks"
|
||||
FLATCAR_SDK_TARBALL_PATH="${FLATCAR_SDK_TARBALL_CACHE}/${FLATCAR_SDK_TARBALL}"
|
||||
FLATCAR_SDK_URL="${FLATCAR_DEV_BUILDS}/sdk/${FLATCAR_SDK_ARCH}/${FLATCAR_SDK_VERSION}/${FLATCAR_SDK_TARBALL}"
|
||||
|
||||
# Download the current SDK tarball (if required) and verify digests/sig
|
||||
sdk_download_tarball() {
|
||||
@ -19,13 +19,13 @@ sdk_download_tarball() {
|
||||
return 0
|
||||
fi
|
||||
|
||||
info "Downloading ${COREOS_SDK_TARBALL}"
|
||||
info "URL: ${COREOS_SDK_URL}"
|
||||
info "Downloading ${FLATCAR_SDK_TARBALL}"
|
||||
info "URL: ${FLATCAR_SDK_URL}"
|
||||
local suffix
|
||||
for suffix in "" ".DIGESTS"; do # TODO(marineam): download .asc
|
||||
wget --tries=3 --timeout=30 --continue \
|
||||
-O "${COREOS_SDK_TARBALL_PATH}${suffix}" \
|
||||
"${COREOS_SDK_URL}${suffix}" \
|
||||
-O "${FLATCAR_SDK_TARBALL_PATH}${suffix}" \
|
||||
"${FLATCAR_SDK_URL}${suffix}" \
|
||||
|| die_notrace "SDK download failed!"
|
||||
done
|
||||
|
||||
@ -34,21 +34,21 @@ sdk_download_tarball() {
|
||||
}
|
||||
|
||||
sdk_verify_digests() {
|
||||
if [[ ! -f "${COREOS_SDK_TARBALL_PATH}" || \
|
||||
! -f "${COREOS_SDK_TARBALL_PATH}.DIGESTS" ]]; then
|
||||
if [[ ! -f "${FLATCAR_SDK_TARBALL_PATH}" || \
|
||||
! -f "${FLATCAR_SDK_TARBALL_PATH}.DIGESTS" ]]; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
# TODO(marineam): Add gpg signature verification too.
|
||||
|
||||
verify_digests "${COREOS_SDK_TARBALL_PATH}" || return 1
|
||||
verify_digests "${FLATCAR_SDK_TARBALL_PATH}" || return 1
|
||||
}
|
||||
|
||||
sdk_clean_cache() {
|
||||
pushd "${COREOS_SDK_TARBALL_CACHE}" >/dev/null
|
||||
pushd "${FLATCAR_SDK_TARBALL_CACHE}" >/dev/null
|
||||
local filename
|
||||
for filename in *; do
|
||||
if [[ "${filename}" == "${COREOS_SDK_TARBALL}"* ]]; then
|
||||
if [[ "${filename}" == "${FLATCAR_SDK_TARBALL}"* ]]; then
|
||||
continue
|
||||
fi
|
||||
info "Cleaning up ${filename}"
|
||||
|
@ -120,9 +120,9 @@ EOF
|
||||
generate_binhost_list() {
|
||||
local t
|
||||
[[ "${FLAGS_toolchainpkgonly}" -eq "${FLAGS_TRUE}" ]] && t="-t"
|
||||
FLAGS_getbinpkgver="${FLAGS_getbinpkgver/current/${COREOS_VERSION_ID}}"
|
||||
FLAGS_getbinpkgver="${FLAGS_getbinpkgver/latest/${COREOS_VERSION_ID}}"
|
||||
FLAGS_getbinpkgver="${FLAGS_getbinpkgver/sdk/${COREOS_SDK_VERSION}}"
|
||||
FLAGS_getbinpkgver="${FLAGS_getbinpkgver/current/${FLATCAR_VERSION_ID}}"
|
||||
FLAGS_getbinpkgver="${FLAGS_getbinpkgver/latest/${FLATCAR_VERSION_ID}}"
|
||||
FLAGS_getbinpkgver="${FLAGS_getbinpkgver/sdk/${FLATCAR_SDK_VERSION}}"
|
||||
|
||||
get_board_binhost $t "${BOARD}" ${FLAGS_getbinpkgver}
|
||||
}
|
||||
|
@ -14,12 +14,12 @@ SERVER_ADDR="${3:-10.7.68.102}"
|
||||
SERVER_PORT="${4:-50051}"
|
||||
|
||||
echo "=== Verifying update payload... ==="
|
||||
gpg2 --verify "${DATA_DIR}/coreos_production_update.bin.bz2.sig"
|
||||
gpg2 --verify "${DATA_DIR}/coreos_production_image.vmlinuz.sig"
|
||||
gpg2 --verify "${DATA_DIR}/coreos_production_update.zip.sig"
|
||||
gpg2 --verify "${DATA_DIR}/flatcar_production_update.bin.bz2.sig"
|
||||
gpg2 --verify "${DATA_DIR}/flatcar_production_image.vmlinuz.sig"
|
||||
gpg2 --verify "${DATA_DIR}/flatcar_production_update.zip.sig"
|
||||
echo "=== Decompressing update payload... ==="
|
||||
bunzip2 --keep "${DATA_DIR}/coreos_production_update.bin.bz2"
|
||||
unzip "${DATA_DIR}/coreos_production_update.zip" -d "${DATA_DIR}"
|
||||
bunzip2 --keep "${DATA_DIR}/flatcar_production_update.bin.bz2"
|
||||
unzip "${DATA_DIR}/flatcar_production_update.zip" -d "${DATA_DIR}"
|
||||
|
||||
payload_signature_files=""
|
||||
for i in ${SIGS_DIR}/update.sig.*; do
|
||||
@ -29,10 +29,10 @@ payload_signature_files="${payload_signature_files:1:${#payload_signature_files}
|
||||
|
||||
pushd "${DATA_DIR}"
|
||||
./core_sign_update \
|
||||
--image "${DATA_DIR}/coreos_production_update.bin" \
|
||||
--kernel "${DATA_DIR}/coreos_production_image.vmlinuz" \
|
||||
--output "${DATA_DIR}/coreos_production_update.gz" \
|
||||
--private_keys "${KEYS_DIR}/devel.key.pem+fero:coreos-image-signing-key" \
|
||||
--image "${DATA_DIR}/flatcar_production_update.bin" \
|
||||
--kernel "${DATA_DIR}/flatcar_production_image.vmlinuz" \
|
||||
--output "${DATA_DIR}/flatcar_production_update.gz" \
|
||||
--private_keys "${KEYS_DIR}/devel.key.pem+fero:flatcar-image-signing-key" \
|
||||
--public_keys "${KEYS_DIR}/devel.pub.pem+${KEYS_DIR}/prod-2.pub.pem" \
|
||||
--keys_separator "+" \
|
||||
--signing_server_address "$SERVER_ADDR" \
|
||||
@ -53,7 +53,7 @@ fero-client \
|
||||
sign \
|
||||
--file "${DATA_DIR}/torcx_manifest.json" \
|
||||
--output "${DATA_DIR}/torcx_manifest.json.sig-fero" \
|
||||
--secret-key coreos-app-signing-key \
|
||||
--secret-key flatcar-app-signing-key \
|
||||
${torcx_signature_arg}
|
||||
gpg2 --enarmor \
|
||||
--output - \
|
||||
|
@ -20,27 +20,27 @@ download() {
|
||||
pushd "${dir}" >/dev/null
|
||||
|
||||
gsutil -m cp \
|
||||
"${gs}/coreos_production_image.vmlinuz" \
|
||||
"${gs}/coreos_production_image.vmlinuz.sig" \
|
||||
"${gs}/coreos_production_update.bin.bz2" \
|
||||
"${gs}/coreos_production_update.bin.bz2.sig" \
|
||||
"${gs}/coreos_production_update.zip" \
|
||||
"${gs}/coreos_production_update.zip.sig" ./
|
||||
"${gs}/flatcar_production_image.vmlinuz" \
|
||||
"${gs}/flatcar_production_image.vmlinuz.sig" \
|
||||
"${gs}/flatcar_production_update.bin.bz2" \
|
||||
"${gs}/flatcar_production_update.bin.bz2.sig" \
|
||||
"${gs}/flatcar_production_update.zip" \
|
||||
"${gs}/flatcar_production_update.zip.sig" ./
|
||||
|
||||
# torcx manifest: try embargoed release bucket first
|
||||
local torcx_base="gs://builds.release.core-os.net/embargoed/devfiles/torcx/manifests/${BOARD}/${version}"
|
||||
local torcx_base="gs://builds.release.core-os.net/embargoed/devfiles/torcx/manifests/${board}/${version}"
|
||||
if ! gsutil -q stat "${torcx_base}/torcx_manifest.json"; then
|
||||
# Non-embargoed release
|
||||
local torcx_base="gs://builds.developer.core-os.net/torcx/manifests/${BOARD}/${version}"
|
||||
local torcx_base="gs://builds.developer.core-os.net/torcx/manifests/${board}/${version}"
|
||||
fi
|
||||
gsutil -m cp \
|
||||
"${torcx_base}/torcx_manifest.json" \
|
||||
"${torcx_base}/torcx_manifest.json.sig" \
|
||||
./
|
||||
|
||||
gpg2 --verify "coreos_production_image.vmlinuz.sig"
|
||||
gpg2 --verify "coreos_production_update.bin.bz2.sig"
|
||||
gpg2 --verify "coreos_production_update.zip.sig"
|
||||
gpg2 --verify "flatcar_production_image.vmlinuz.sig"
|
||||
gpg2 --verify "flatcar_production_update.bin.bz2.sig"
|
||||
gpg2 --verify "flatcar_production_update.zip.sig"
|
||||
gpg2 --verify "torcx_manifest.json.sig"
|
||||
|
||||
popd >/dev/null
|
||||
@ -73,7 +73,7 @@ upload() {
|
||||
local version="$2"
|
||||
|
||||
local dir="${BASEDIR}/${BOARD}/${version}"
|
||||
local payload="${dir}/coreos_production_update.gz"
|
||||
local payload="${dir}/flatcar_production_update.gz"
|
||||
local torcx_manifest="${dir}/torcx_manifest.json"
|
||||
local torcx_manifest_sig="${dir}/torcx_manifest.json.asc"
|
||||
local path
|
||||
|
22
tag_release
22
tag_release
@ -28,7 +28,7 @@ DEFAULT_MINOR=0
|
||||
DEFAULT_BRANCH=${FLAGS_FALSE}
|
||||
DEFAULT_BRANCH_PROJECTS=
|
||||
|
||||
CURRENT_VERSION=( ${COREOS_VERSION_ID//./ } )
|
||||
CURRENT_VERSION=( ${FLATCAR_VERSION_ID//./ } )
|
||||
|
||||
# Detect if we are on a branch or still tracking master.
|
||||
DEFAULT_MANIFEST=$(readlink "${REPO_MANIFESTS_DIR}/default.xml") \
|
||||
@ -48,8 +48,8 @@ fi
|
||||
DEFINE_integer major ${DEFAULT_MAJOR} "Branch major version (aka 'build')"
|
||||
DEFINE_integer minor ${DEFAULT_MINOR} "Branch revision or minor version"
|
||||
DEFINE_integer patch 0 "Branch patch id, normally 0"
|
||||
DEFINE_string sdk_version "${COREOS_VERSION_ID}" \
|
||||
"SDK version to use, or 'keep'. (current: ${COREOS_SDK_VERSION})"
|
||||
DEFINE_string sdk_version "${FLATCAR_VERSION_ID}" \
|
||||
"SDK version to use, or 'keep'. (current: ${FLATCAR_SDK_VERSION})"
|
||||
DEFINE_boolean branch ${DEFAULT_BRANCH} "Release branch, diverge from master"
|
||||
DEFINE_string branch_projects "${DEFAULT_BRANCH_PROJECTS}" \
|
||||
"Branch the named projects (with a 'coreos/' prefix) in the manifest."
|
||||
@ -82,7 +82,7 @@ TAG_NAME="v${BRANCH_VERSION}"
|
||||
|
||||
if [[ "${FLAGS_sdk_version}" == keep || "${FLAGS_sdk_version}" == current ]]
|
||||
then
|
||||
FLAGS_sdk_version="${COREOS_SDK_VERSION}"
|
||||
FLAGS_sdk_version="${FLATCAR_SDK_VERSION}"
|
||||
fi
|
||||
|
||||
if [[ "${FLAGS_sdk_version}" == "${BRANCH_VERSION}" ]]; then
|
||||
@ -92,9 +92,9 @@ if [[ "${FLAGS_sdk_version}" == "${BRANCH_VERSION}" ]]; then
|
||||
fi
|
||||
|
||||
# Verify that the specified SDK version exists
|
||||
COREOS_SDK_VERSION="${FLAGS_sdk_version}"
|
||||
FLATCAR_SDK_VERSION="${FLAGS_sdk_version}"
|
||||
. "${SCRIPT_ROOT}/sdk_lib/sdk_util.sh"
|
||||
if ! curl --head --fail --silent "${COREOS_SDK_URL}" > /dev/null ; then
|
||||
if ! curl --head --fail --silent "${FLATCAR_SDK_URL}" > /dev/null ; then
|
||||
die_notrace "SDK version does not exist." \
|
||||
"Try --sdk_version keep to use the existing SDK."
|
||||
fi
|
||||
@ -140,10 +140,10 @@ if [[ ${FLAGS_branch} -eq ${FLAGS_TRUE} ]]; then
|
||||
fi
|
||||
|
||||
tee version.txt <<EOF
|
||||
COREOS_VERSION=${BRANCH_VERSION}
|
||||
COREOS_VERSION_ID=${BRANCH_VERSION}
|
||||
COREOS_BUILD_ID=""
|
||||
COREOS_SDK_VERSION=${FLAGS_sdk_version}
|
||||
FLATCAR_VERSION=${BRANCH_VERSION}
|
||||
FLATCAR_VERSION_ID=${BRANCH_VERSION}
|
||||
FLATCAR_BUILD_ID=""
|
||||
FLATCAR_SDK_VERSION=${FLAGS_sdk_version}
|
||||
EOF
|
||||
git add version.txt
|
||||
|
||||
@ -154,7 +154,7 @@ export GPG_TTY
|
||||
info "Creating ${BRANCH_NAME} and tag ${TAG_NAME}"
|
||||
git commit -m "${BRANCH_NAME}: release ${TAG_NAME}"
|
||||
git branch -f "${BRANCH_NAME}"
|
||||
git tag "${sign_args[@]}" -m "CoreOS ${TAG_NAME}" "${TAG_NAME}"
|
||||
git tag "${sign_args[@]}" -m "Flatcar ${TAG_NAME}" "${TAG_NAME}"
|
||||
|
||||
# Unpin and branch the important projects, if requested and they are pinned.
|
||||
if [[ -n "${FLAGS_branch_projects}" ]]; then
|
||||
|
@ -159,14 +159,14 @@ fi
|
||||
|
||||
info "Updating chroot:"
|
||||
info " chroot version: $OLDVER"
|
||||
info " CoreOS version: $COREOS_VERSION"
|
||||
info " Flatcar version: $FLATCAR_VERSION"
|
||||
|
||||
# Updates should be of the form 1.2.3_desc.sh
|
||||
for update_script in ${SCRIPTS_DIR}/sdk_lib/updates/*.sh; do
|
||||
update_name="${update_script##*/}"
|
||||
update_ver="${update_name%%_*}"
|
||||
# Run newer updates but don't pass our current version
|
||||
if ! cmp_ver le "$update_ver" "$COREOS_VERSION"; then
|
||||
if ! cmp_ver le "$update_ver" "$FLATCAR_VERSION"; then
|
||||
warn "Skipping update from the future: $update_name"
|
||||
warn "Perhaps it is time to run a repo sync?"
|
||||
elif ! cmp_ver ge "$OLDVER" "$update_ver"; then
|
||||
|
Loading…
Reference in New Issue
Block a user