diff --git a/.ansible-lint-ignore b/.ansible-lint-ignore new file mode 100644 index 00000000..1f278c20 --- /dev/null +++ b/.ansible-lint-ignore @@ -0,0 +1,100 @@ +# This file contains ignores rule violations for ansible-lint +bootstrap/playbook.yml name[play] +bootstrap/roles/appliance-build.bootstrap role-name +bootstrap/roles/appliance-build.bootstrap/tasks/main.yml fqcn[action-core] +bootstrap/roles/appliance-build.bootstrap/tasks/main.yml fqcn[action] +bootstrap/roles/appliance-build.bootstrap/tasks/main.yml name[missing] +bootstrap/roles/appliance-build.bootstrap/tasks/main.yml yaml[truthy] +live-build/misc/ansible-roles/appliance-build.buildserver-internal/tasks/main.yml fqcn[action-core] +live-build/misc/ansible-roles/appliance-build.buildserver-internal/tasks/main.yml name[missing] +live-build/misc/ansible-roles/appliance-build.dcenter/tasks/main.yml command-instead-of-module +live-build/misc/ansible-roles/appliance-build.dcenter/tasks/main.yml fqcn[action-core] +live-build/misc/ansible-roles/appliance-build.dcenter/tasks/main.yml fqcn[action] +live-build/misc/ansible-roles/appliance-build.dcenter/tasks/main.yml name[missing] +live-build/misc/ansible-roles/appliance-build.dcenter/tasks/main.yml no-changed-when +live-build/misc/ansible-roles/appliance-build.dcenter/tasks/main.yml risky-file-permissions +live-build/misc/ansible-roles/appliance-build.dcenter/tasks/main.yml yaml[truthy] +live-build/misc/ansible-roles/appliance-build.dct-common/tasks/main.yml fqcn[action-core] +live-build/misc/ansible-roles/appliance-build.dct-common/tasks/main.yml name[missing] +live-build/misc/ansible-roles/appliance-build.delphix-autofs/tasks/main.yml fqcn[action-core] +live-build/misc/ansible-roles/appliance-build.delphix-autofs/tasks/main.yml name[missing] +live-build/misc/ansible-roles/appliance-build.delphix-autofs/tasks/main.yml yaml[octal-values] +live-build/misc/ansible-roles/appliance-build.delphix-ldap/tasks/main.yml fqcn[action-core] +live-build/misc/ansible-roles/appliance-build.delphix-ldap/tasks/main.yml literal-compare +live-build/misc/ansible-roles/appliance-build.delphix-ldap/tasks/main.yml name[missing] +live-build/misc/ansible-roles/appliance-build.delphix-ldap/tasks/main.yml yaml[octal-values] +live-build/misc/ansible-roles/appliance-build.delphix-ldap/tasks/main.yml yaml[truthy] +live-build/misc/ansible-roles/appliance-build.devops-development/tasks/main.yml fqcn[action-core] +live-build/misc/ansible-roles/appliance-build.devops-development/tasks/main.yml name[missing] +live-build/misc/ansible-roles/appliance-build.devops-development/tasks/main.yml yaml[truthy] +live-build/misc/ansible-roles/appliance-build.masking-common/tasks/main.yml fqcn[action-core] +live-build/misc/ansible-roles/appliance-build.masking-common/tasks/main.yml name[missing] +live-build/misc/ansible-roles/appliance-build.masking-development/tasks/main.yml fqcn[action-core] +live-build/misc/ansible-roles/appliance-build.masking-development/tasks/main.yml name[missing] +live-build/misc/ansible-roles/appliance-build.masking-development/tasks/main.yml risky-file-permissions +live-build/misc/ansible-roles/appliance-build.masking-development/tasks/main.yml yaml[truthy] +live-build/misc/ansible-roles/appliance-build.minimal-common/tasks/main.yml command-instead-of-shell +live-build/misc/ansible-roles/appliance-build.minimal-common/tasks/main.yml fqcn[action-core] +live-build/misc/ansible-roles/appliance-build.minimal-common/tasks/main.yml name[missing] +live-build/misc/ansible-roles/appliance-build.minimal-common/tasks/main.yml no-changed-when +live-build/misc/ansible-roles/appliance-build.minimal-common/tasks/main.yml yaml[octal-values] +live-build/misc/ansible-roles/appliance-build.minimal-common/tasks/main.yml yaml[truthy] +live-build/misc/ansible-roles/appliance-build.minimal-development/tasks/main.yml fqcn[action-core] +live-build/misc/ansible-roles/appliance-build.minimal-development/tasks/main.yml name[missing] +live-build/misc/ansible-roles/appliance-build.minimal-development/tasks/main.yml yaml[octal-values] +live-build/misc/ansible-roles/appliance-build.minimal-internal/tasks/main.yml fqcn[action-core] +live-build/misc/ansible-roles/appliance-build.minimal-internal/tasks/main.yml name[missing] +live-build/misc/ansible-roles/appliance-build.minimal-internal/tasks/main.yml yaml[octal-values] +live-build/misc/ansible-roles/appliance-build.qa-internal/handlers/main.yml fqcn[action-core] +live-build/misc/ansible-roles/appliance-build.qa-internal/handlers/main.yml name[missing] +live-build/misc/ansible-roles/appliance-build.qa-internal/handlers/main.yml no-changed-when +live-build/misc/ansible-roles/appliance-build.qa-internal/handlers/main.yml yaml[new-line-at-end-of-file] +live-build/misc/ansible-roles/appliance-build.qa-internal/tasks/main.yml fqcn[action-core] +live-build/misc/ansible-roles/appliance-build.qa-internal/tasks/main.yml name[missing] +live-build/misc/ansible-roles/appliance-build.qa-internal/tasks/main.yml yaml[octal-values] +live-build/misc/ansible-roles/appliance-build.recovery-environment/tasks/main.yml fqcn[action-core] +live-build/misc/ansible-roles/appliance-build.recovery-environment/tasks/main.yml name[missing] +live-build/misc/ansible-roles/appliance-build.recovery-environment/tasks/main.yml yaml[empty-lines] +live-build/misc/ansible-roles/appliance-build.unittest-internal/tasks/main.yml fqcn[action-core] +live-build/misc/ansible-roles/appliance-build.unittest-internal/tasks/main.yml fqcn[action] +live-build/misc/ansible-roles/appliance-build.unittest-internal/tasks/main.yml name[missing] +live-build/misc/ansible-roles/appliance-build.virtualization-common/tasks/main.yml command-instead-of-module +live-build/misc/ansible-roles/appliance-build.virtualization-common/tasks/main.yml fqcn[action-core] +live-build/misc/ansible-roles/appliance-build.virtualization-common/tasks/main.yml name[missing] +live-build/misc/ansible-roles/appliance-build.virtualization-common/tasks/main.yml no-changed-when +live-build/misc/ansible-roles/appliance-build.virtualization-common/tasks/main.yml risky-file-permissions +live-build/misc/ansible-roles/appliance-build.virtualization-common/tasks/main.yml yaml[truthy] +live-build/misc/ansible-roles/appliance-build.virtualization-development/tasks/main.yml fqcn[action-core] +live-build/misc/ansible-roles/appliance-build.virtualization-development/tasks/main.yml fqcn[action] +live-build/misc/ansible-roles/appliance-build.virtualization-development/tasks/main.yml key-order[task] +live-build/misc/ansible-roles/appliance-build.virtualization-development/tasks/main.yml name[missing] +live-build/misc/ansible-roles/appliance-build.virtualization-development/tasks/main.yml risky-file-permissions +live-build/misc/ansible-roles/appliance-build.virtualization-development/tasks/main.yml yaml[truthy] +live-build/misc/ansible-roles/appliance-build.zfsonlinux-development/tasks/main.yml fqcn[action-core] +live-build/misc/ansible-roles/appliance-build.zfsonlinux-development/tasks/main.yml name[missing] +live-build/misc/ansible-roles/appliance-build.zfsonlinux-development/tasks/main.yml risky-file-permissions +live-build/misc/ansible-roles/appliance-build.zfsonlinux-development/tasks/main.yml yaml[truthy] +live-build/variants/external-dct/ansible/playbook.yml name[play] +live-build/variants/external-dct/ansible/playbook.yml yaml[truthy] +live-build/variants/external-standard/ansible/playbook.yml name[play] +live-build/variants/external-standard/ansible/playbook.yml yaml[truthy] +live-build/variants/internal-buildserver/ansible/playbook.yml name[play] +live-build/variants/internal-buildserver/ansible/playbook.yml yaml[truthy] +live-build/variants/internal-dcenter/ansible/playbook.yml name[play] +live-build/variants/internal-dcenter/ansible/playbook.yml yaml[truthy] +live-build/variants/internal-dct/ansible/playbook.yml name[play] +live-build/variants/internal-dct/ansible/playbook.yml yaml[truthy] +live-build/variants/internal-dev/ansible/playbook.yml name[play] +live-build/variants/internal-dev/ansible/playbook.yml yaml[truthy] +live-build/variants/internal-minimal/ansible/playbook.yml name[play] +live-build/variants/internal-minimal/ansible/playbook.yml yaml[truthy] +live-build/variants/internal-package-mirror/ansible/playbook.yml name[play] +live-build/variants/internal-package-mirror/ansible/playbook.yml yaml[truthy] +live-build/variants/internal-qa/ansible/playbook.yml name[play] +live-build/variants/internal-qa/ansible/playbook.yml yaml[truthy] +live-build/variants/internal-unittest/ansible/playbook.yml name[play] +live-build/variants/internal-unittest/ansible/playbook.yml yaml[truthy] +live-build/misc/ansible-roles/appliance-build.dcenter/tasks/main.yml syntax-check[unknown-module] +live-build/misc/ansible-roles/appliance-build.virtualization-development/tasks/main.yml syntax-check[unknown-module] +live-build/misc/ansible-roles/appliance-build.unittest-internal/tasks/main.yml syntax-check[unknown-module] +bootstrap/roles/appliance-build.bootstrap/tasks/main.yml syntax-check[unknown-module] diff --git a/.github/scripts/install-ansible-lint.sh b/.github/scripts/install-ansible-lint.sh deleted file mode 100755 index 79d78dcd..00000000 --- a/.github/scripts/install-ansible-lint.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash -ex - -sudo apt-get install ansible - -git clone https://github.com/willthames/ansible-lint /opt/ansible-lint -cd /opt/ansible-lint -git checkout v3.4.21 - -# -# GitHub Actions exposes the GITHUB_ENV file that can be used to -# manipulate the environment of the job that's running. In this case, we -# use it to modify the environment of the job, to edit the PATH and -# PYTHONPATH global variables. -# -echo "PATH=${PATH}:/opt/ansible-lint/bin" >> ${GITHUB_ENV} -echo "PYTHONPATH=${PYTHONPATH}:/opt/ansible-lint/lib" >> ${GITHUB_ENV} diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 66932d81..72b7e7b3 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -2,12 +2,16 @@ on: [push, pull_request] jobs: check-ansible: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 steps: - - uses: actions/checkout@v1 - - run: sudo ./.github/scripts/install-gradle.sh - - run: sudo -E ./.github/scripts/install-ansible-lint.sh - - run: /opt/gradle-5.1/bin/gradle ansibleCheck + - uses: actions/checkout@v4 + - name: Run ansible-lint + uses: ansible/ansible-lint@main + with: + args: "" + setup_python: "true" + working_directory: "" + requirements_file: "" check-shellcheck: runs-on: ubuntu-20.04 steps: diff --git a/bootstrap/roles/appliance-build.bootstrap/tasks/main.yml b/bootstrap/roles/appliance-build.bootstrap/tasks/main.yml index a2b2fbb4..d7319d65 100644 --- a/bootstrap/roles/appliance-build.bootstrap/tasks/main.yml +++ b/bootstrap/roles/appliance-build.bootstrap/tasks/main.yml @@ -15,6 +15,11 @@ # --- +# The VSDK plugin requires python3.8. The deadsnakes PPA provides python3.8 on 24.04. +- apt_repository: + repo: ppa:deadsnakes/ppa + state: present + - apt: update_cache: yes @@ -22,10 +27,10 @@ name: - ansible - aptly - - awscli - bc - coreutils - devscripts + - docker.io - equivs - gdisk - git @@ -36,15 +41,38 @@ - livecd-rootfs - make - man - - openjdk-8-jre-headless + - openjdk-8-jdk - pigz - - qemu + # The VSDK plugin requires python3.8 + - python3.8 + - qemu-system - rename - shellcheck - vim - zfsutils-linux state: present +- systemd: + name: unattended-upgrades + state: stopped + register: result_systemd_stop + failed_when: "result_systemd_stop is failed and 'Could not find the requested service' not in result_systemd_stop.msg" + +- apt: + name: + - unattended-upgrades + state: absent + purge: true + +- snap: + name: aws-cli + classic: yes + - modprobe: name: zfs state: present + +- user: + name: delphix + groups: docker + append: true diff --git a/build.gradle b/build.gradle index 10c2fbf2..487ca0b7 100644 --- a/build.gradle +++ b/build.gradle @@ -105,13 +105,7 @@ task shellCheck(type: Exec) { commandLine(["shellcheck", "--exclude=SC1090,SC1091"] + shellScripts.getFiles()) } -task ansibleCheck(type: Exec) { - def ansibleFiles = fileTree("bootstrap").include("**/playbook.yml") + - fileTree("live-build/variants").include("**/playbook.yml") - commandLine(["ansible-lint", "--exclude=SC1090,SC1091"] + ansibleFiles.getFiles()) -} - -tasks.check.dependsOn shellCheck, shfmtCheck, ansibleCheck +tasks.check.dependsOn shellCheck, shfmtCheck task format() { dependsOn shfmt diff --git a/live-build/auto/config b/live-build/auto/config index ff65ae1c..985c8afd 100755 --- a/live-build/auto/config +++ b/live-build/auto/config @@ -35,7 +35,7 @@ lb config noauto \ --bootstrap-flavour minimal \ --chroot-filesystem none \ --architectures amd64 \ - --distribution focal \ + --distribution noble \ --binary-images none \ --bootloader none \ --system normal \ diff --git a/live-build/config/archives/delphix-secondary-mirror.list.in b/live-build/config/archives/delphix-secondary-mirror.list.in index 9a0d395f..29d224ce 100644 --- a/live-build/config/archives/delphix-secondary-mirror.list.in +++ b/live-build/config/archives/delphix-secondary-mirror.list.in @@ -1,5 +1,5 @@ # -# Copyright 2019 Delphix +# Copyright 2019, 2024 Delphix # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -14,6 +14,6 @@ # limitations under the License. # -deb @@URL@@ focal main multiverse universe contrib stable -deb @@URL@@ focal-updates main multiverse universe -deb @@URL@@ focal-pgdg main +deb @@URL@@ noble main multiverse universe contrib stable +deb @@URL@@ noble-pgdg main +deb @@URL@@ stable main diff --git a/live-build/config/archives/localhost.list b/live-build/config/archives/localhost.list index 7c633275..693fb4a5 100644 --- a/live-build/config/archives/localhost.list +++ b/live-build/config/archives/localhost.list @@ -22,4 +22,4 @@ # used to serve the repository. # -deb [trusted=yes] http://localhost:8080 focal main +deb [trusted=yes] http://localhost:8080 noble main diff --git a/live-build/misc/ansible-roles/appliance-build.buildserver-internal/tasks/main.yml b/live-build/misc/ansible-roles/appliance-build.buildserver-internal/tasks/main.yml index b6f81ec3..d2c054d2 100644 --- a/live-build/misc/ansible-roles/appliance-build.buildserver-internal/tasks/main.yml +++ b/live-build/misc/ansible-roles/appliance-build.buildserver-internal/tasks/main.yml @@ -17,7 +17,7 @@ --- - apt: name: - - adoptopenjdk-java8-jdk + - openjdk-8-jdk - curl - docker.io - git diff --git a/live-build/misc/ansible-roles/appliance-build.unittest-internal/tasks/main.yml b/live-build/misc/ansible-roles/appliance-build.unittest-internal/tasks/main.yml index daaf3028..0a0ebeae 100644 --- a/live-build/misc/ansible-roles/appliance-build.unittest-internal/tasks/main.yml +++ b/live-build/misc/ansible-roles/appliance-build.unittest-internal/tasks/main.yml @@ -17,7 +17,7 @@ --- - apt: name: - - adoptopenjdk-java8-jdk + - openjdk-8-jdk - ant - bash - build-essential diff --git a/live-build/variants/internal-dcenter/package-lists/dcenter.list.chroot b/live-build/variants/internal-dcenter/package-lists/dcenter.list.chroot index 39d83657..d53f7351 100644 --- a/live-build/variants/internal-dcenter/package-lists/dcenter.list.chroot +++ b/live-build/variants/internal-dcenter/package-lists/dcenter.list.chroot @@ -14,7 +14,7 @@ # limitations under the License. # -adoptopenjdk-java8-jdk +openjdk-8-jdk bind9 dnsutils git diff --git a/scripts/aptly-repo-from-debs.sh b/scripts/aptly-repo-from-debs.sh index 4141545d..3ba7e60d 100755 --- a/scripts/aptly-repo-from-debs.sh +++ b/scripts/aptly-repo-from-debs.sh @@ -79,6 +79,6 @@ rm -rf "$WORK_DIRECTORY" # # Generate an Aptly/APT repository # -aptly repo create -distribution=focal -component=delphix upgrade-repository +aptly repo create -distribution=noble -component=delphix upgrade-repository aptly repo add upgrade-repository debs aptly publish repo -skip-contents -skip-signing upgrade-repository diff --git a/scripts/aptly-repo-from-image-diff.sh b/scripts/aptly-repo-from-image-diff.sh index 2e1e37b7..580a0fe6 100755 --- a/scripts/aptly-repo-from-image-diff.sh +++ b/scripts/aptly-repo-from-image-diff.sh @@ -93,7 +93,7 @@ popd &>/dev/null || die "'popd' failed" # system (e.g. "upgrade-image-from-aptly-repo.sh"). # -aptly repo create -distribution=focal -component=delphix upgrade-repository || +aptly repo create -distribution=noble -component=delphix upgrade-repository || die "failed to create repository: 'upgrade-repository'" aptly repo search image-a | xargs aptly repo copy image-a upgrade-repository || die "failed to copy packages to repository: 'upgrade-repository'" diff --git a/scripts/build-ancillary-repository.sh b/scripts/build-ancillary-repository.sh index 4c033b55..34d20835 100755 --- a/scripts/build-ancillary-repository.sh +++ b/scripts/build-ancillary-repository.sh @@ -47,7 +47,7 @@ function build_ancillary_repository() { rm -rf "$HOME/.aptly" aptly repo create \ - -distribution=focal -component=main ancillary-repository + -distribution=noble -component=main ancillary-repository aptly repo add ancillary-repository "$pkg_directory" aptly publish repo -skip-contents -skip-signing ancillary-repository diff --git a/scripts/common.sh b/scripts/common.sh index 7fb6507a..6198e55b 100644 --- a/scripts/common.sh +++ b/scripts/common.sh @@ -186,3 +186,15 @@ function get_upstream_or_fail_if_unset() { echo "$UPSTREAM_PRODUCT_BRANCH" fi } + +function check_env() { + # + # When the job is ran manually for testing purposes, we do not expect + # all environment to be set, so skip the env check. + # + [[ -n "$JENKINS_URL" ]] || return 0 + + local val="${!1}" + [[ -n "$val" ]] || die "check_env: $1 must be non-empty" + return 0 +} diff --git a/scripts/create-build-info-package.sh b/scripts/create-build-info-package.sh index 4ebacb28..1973b93d 100755 --- a/scripts/create-build-info-package.sh +++ b/scripts/create-build-info-package.sh @@ -68,18 +68,6 @@ mkdir "$target/appliance-build" cd "$TOP" git rev-parse HEAD >"$target/appliance-build/GIT_HASH" -function check_env() { - # - # When the job is ran manually for testing purposes, we do not expect - # all environment to be set, so skip the env check. - # - [[ -n "$JENKINS_URL" ]] || return 0 - - local val="${!1}" - [[ -n "$val" ]] || die "check_env: $1 must be non-empty" - return 0 -} - check_env APPLIANCE_BUILD_GIT_URL echo "$APPLIANCE_BUILD_GIT_URL" >"$target/appliance-build/GIT_URL" check_env APPLIANCE_BUILD_GIT_BRANCH diff --git a/scripts/run-live-build.sh b/scripts/run-live-build.sh index 2e5943eb..568ea90d 100755 --- a/scripts/run-live-build.sh +++ b/scripts/run-live-build.sh @@ -17,6 +17,8 @@ . "${BASH_SOURCE%/*}/common.sh" +check_env DELPHIX_PACKAGE_MIRROR_MAIN DELPHIX_PACKAGE_MIRROR_SECONDARY + TOP=$(git rev-parse --show-toplevel 2>/dev/null) if [[ -z "$TOP" ]]; then @@ -129,7 +131,7 @@ APTLY_SERVE_PID=$! set +o errexit attempts=0 while ! curl --output /dev/null --silent --head --fail \ - "http://localhost:8080/dists/focal/Release"; do + "http://localhost:8080/dists/noble/Release"; do ((attempts++)) if [[ $attempts -gt 30 ]]; then echo "Timed out waiting for ancillary repository." 1>&2 @@ -140,86 +142,32 @@ while ! curl --output /dev/null --silent --head --fail \ sleep 1 done -pkg_mirror_secondary='' -if [[ -n "$DELPHIX_PACKAGE_MIRROR_SECONDARY" ]]; then - pkg_mirror_secondary="$DELPHIX_PACKAGE_MIRROR_SECONDARY" -else - # - # Set UPSTREAM_BRANCH. This will determine which version of the linux package - # mirror is used. - # - UPSTREAM_BRANCH=$(get_upstream_or_fail_if_unset) || exit 1 - echo "Running with UPSTREAM_BRANCH set to ${UPSTREAM_BRANCH}" - - # - # If no secondary package mirror is provided, then pull in the latest - # mirror dataset for the build. If no latest dataset is found, then fail. - # - source_url="http://linux-package-mirror.delphix.com/$UPSTREAM_BRANCH/latest/" - if ! pkg_mirror_secondary=$(curl -fLSs -o /dev/null -w '%{url_effective}' "$source_url"); then - kill -9 $APTLY_SERVE_PID - echo "No URL found for PPA packages at ${source_url}." - exit 1 - fi - - # The mirror hosts secondary packages in the "ppas" subdirectory. - pkg_mirror_secondary+="ppas" -fi - -sed "s|@@URL@@|$pkg_mirror_secondary|" \ +sed "s|@@URL@@|$DELPHIX_PACKAGE_MIRROR_SECONDARY|" \ config/archives/delphix-secondary-mirror.list -pkg_mirror_main='' -if [[ -n "$DELPHIX_PACKAGE_MIRROR_MAIN" ]]; then - pkg_mirror_main="$DELPHIX_PACKAGE_MIRROR_MAIN" -else - # - # Set UPSTREAM_BRANCH. This will determine which version of the linux package - # mirror is used. - # - UPSTREAM_BRANCH=$(get_upstream_or_fail_if_unset) || exit 1 - echo "Running with UPSTREAM_BRANCH set to ${UPSTREAM_BRANCH}" - - # - # If no main package mirror is provided, then pull in the latest mirror - # dataset for the build. If no latest dataset is found, then fail. - # - source_url="http://linux-package-mirror.delphix.com/$UPSTREAM_BRANCH/latest/" - if ! pkg_mirror_main=$(curl -fLSs -o /dev/null -w '%{url_effective}' "$source_url"); then - kill -9 $APTLY_SERVE_PID - echo "No mirror URL found for ubuntu archive packages at ${source_url}." - exit 1 - fi - - # - # The internal mirror hosts the primary ubuntu package repository in the - # "ubuntu" subdirectory. - # - pkg_mirror_main+="ubuntu" -fi set -o errexit lb config \ --apt-recommends false \ - --parent-mirror-bootstrap "$pkg_mirror_main" \ - --parent-mirror-chroot "$pkg_mirror_main" \ - --parent-mirror-chroot-security "$pkg_mirror_main" \ - --parent-mirror-chroot-volatile "$pkg_mirror_main" \ - --parent-mirror-chroot-backports "$pkg_mirror_main" \ - --parent-mirror-binary "$pkg_mirror_main" \ - --parent-mirror-binary-security "$pkg_mirror_main" \ - --parent-mirror-binary-volatile "$pkg_mirror_main" \ - --parent-mirror-binary-backports "$pkg_mirror_main" \ - --mirror-bootstrap "$pkg_mirror_main" \ - --mirror-chroot "$pkg_mirror_main" \ - --mirror-chroot-security "$pkg_mirror_main" \ - --mirror-chroot-volatile "$pkg_mirror_main" \ - --mirror-chroot-backports "$pkg_mirror_main" \ - --mirror-binary "$pkg_mirror_main" \ - --mirror-binary-security "$pkg_mirror_main" \ - --mirror-binary-volatile "$pkg_mirror_main" \ - --mirror-binary-backports "$pkg_mirror_main" + --parent-mirror-bootstrap "$DELPHIX_PACKAGE_MIRROR_MAIN" \ + --parent-mirror-chroot "$DELPHIX_PACKAGE_MIRROR_MAIN" \ + --parent-mirror-chroot-security "$DELPHIX_PACKAGE_MIRROR_MAIN" \ + --parent-mirror-chroot-volatile "$DELPHIX_PACKAGE_MIRROR_MAIN" \ + --parent-mirror-chroot-backports "$DELPHIX_PACKAGE_MIRROR_MAIN" \ + --parent-mirror-binary "$DELPHIX_PACKAGE_MIRROR_MAIN" \ + --parent-mirror-binary-security "$DELPHIX_PACKAGE_MIRROR_MAIN" \ + --parent-mirror-binary-volatile "$DELPHIX_PACKAGE_MIRROR_MAIN" \ + --parent-mirror-binary-backports "$DELPHIX_PACKAGE_MIRROR_MAIN" \ + --mirror-bootstrap "$DELPHIX_PACKAGE_MIRROR_MAIN" \ + --mirror-chroot "$DELPHIX_PACKAGE_MIRROR_MAIN" \ + --mirror-chroot-security "$DELPHIX_PACKAGE_MIRROR_MAIN" \ + --mirror-chroot-volatile "$DELPHIX_PACKAGE_MIRROR_MAIN" \ + --mirror-chroot-backports "$DELPHIX_PACKAGE_MIRROR_MAIN" \ + --mirror-binary "$DELPHIX_PACKAGE_MIRROR_MAIN" \ + --mirror-binary-security "$DELPHIX_PACKAGE_MIRROR_MAIN" \ + --mirror-binary-volatile "$DELPHIX_PACKAGE_MIRROR_MAIN" \ + --mirror-binary-backports "$DELPHIX_PACKAGE_MIRROR_MAIN" lb build diff --git a/upgrade/upgrade-scripts/execute b/upgrade/upgrade-scripts/execute index a624b5c8..c97eb006 100755 --- a/upgrade/upgrade-scripts/execute +++ b/upgrade/upgrade-scripts/execute @@ -192,7 +192,7 @@ if [[ -f /etc/apt/sources.list ]]; then fi cat </etc/apt/sources.list || -deb [trusted=yes] file://$IMAGE_PATH focal delphix +deb [trusted=yes] file://$IMAGE_PATH noble delphix EOF die "failed to configure apt sources" diff --git a/upgrade/upgrade-scripts/upgrade-container b/upgrade/upgrade-scripts/upgrade-container index 63d04b0d..cf668885 100755 --- a/upgrade/upgrade-scripts/upgrade-container +++ b/upgrade/upgrade-scripts/upgrade-container @@ -306,7 +306,7 @@ function create_upgrade_container() { # debootstrap --no-check-gpg --variant=minbase \ --components=delphix --include=ntp,systemd-container \ - focal "$DIRECTORY" "file://$IMAGE_PATH" 1>&2 || + noble "$DIRECTORY" "file://$IMAGE_PATH" 1>&2 || die "failed to debootstrap upgrade filesystem" #