Your IP : 216.73.216.101


Current Path : /snap/core26/646/snap/
Upload File :
Current File : //snap/core26/646/snap/manifest.yaml

snapcraft-version: 9.1.2
snapcraft-started-at: '2026-09-25T03:11:16.561191Z'
snapcraft-os-release-id: ubuntu
snapcraft-os-release-version-id: '26.04'
name: core26
version: '20260925'
summary: Runtime environment based on Ubuntu 26.04
description: |
  The base snap based on the Ubuntu 26.04 release.
base: null
grade: stable
confinement: strict
apps: null
parts:
  build-env:
    plugin: nil
    source: .
    override-pull: "# We use a file with env vars in /build/core26 to decide whether\
      \ to\n# include cloud-init or not. This file can be manually created for local\n\
      # builds, or created here if we are running from a launchpad recipe with\n#\
      \ suffix -cloud-init. This is detected by looking at the\n# SNAPCRAFT_IMAGE_INFO\
      \ env var injected in LP, which tells us the build\n# url and has a form like:\n\
      #\n# {\n#   \"build-request-id\": \"lp-<id>\",\n#   \"build-request-timestamp\"\
      : \"<time>\",\n#   \"build_url\": \"https://launchpad.net/~ubuntu-core-service/+snap/core26-cloud-init/+build/<build_id>\"\
      \n# }\n#\n# (although in one line).\nif ! [ -e \"/build/core26\"/build-env ];\
      \ then\n  (\n      cd \"${CRAFT_PART_SRC}\"\n      touch build-env\n      #\
      \ parse the snap name from the url, and remove the prefix \"core26-\" and \n\
      \      # suffix \"/+build\" to get the variant name, if any.\n      if [ -n\
      \ \"${SNAPCRAFT_IMAGE_INFO+x}\" ]; then\n        SNAP_BUILD_VARIANT=$(printf\
      \ '%s' \"$SNAPCRAFT_IMAGE_INFO\" | grep -oP '(?<=core26-)[^/]*(?=/\\+build)'\
      \ || true)\n        if [ -n \"$SNAP_BUILD_VARIANT\" ]; then\n            echo\
      \ \"SNAP_BUILD_VARIANT=$SNAP_BUILD_VARIANT\" > build-env\n        fi\n     \
      \ fi\n  )\nelse\n  # copy to install dir so that we can use it in the build\
      \ step\n  cp \"/build/core26\"/build-env \"${CRAFT_PART_SRC}\"/build-env\nfi\n\
      \ndate_tag=$(\"/build/core26\"/get-version.sh)\n\n# make sure we load the build-env\
      \ here, especially if we're using\n# the locally sourced one.\n. \"${CRAFT_PART_SRC}\"\
      /build-env\nSNAP_BUILD_VARIANT=${SNAP_BUILD_VARIANT:-}\n\n# handle build variants\n\
      if [ -n \"$SNAP_BUILD_VARIANT\" ]; then\n  craftctl set version=\"${date_tag}+$SNAP_BUILD_VARIANT\"\
      \n  echo \"SNAP_BUILD_NAME=core26-$SNAP_BUILD_VARIANT\" >> \"${CRAFT_PART_SRC}\"\
      /build-env\nelse\n  craftctl set version=\"${date_tag}\"\n  echo \"SNAP_BUILD_NAME=core26\"\
      \ > \"${CRAFT_PART_SRC}\"/build-env\nfi\n"
    override-build: |
      cp "${CRAFT_PART_SRC}"/build-env "${CRAFT_PART_INSTALL}"/build-env
    prime:
    - -build-env
    stage-packages: []
    stage: []
    build-packages: []
  chisel-libs:
    after:
    - build-env
    plugin: nil
    build-packages:
    - golang
    - file
    source: https://github.com/canonical/chisel-ubuntu-core.git
    source-type: git
    source-branch: '26.04'
    override-build: "go install github.com/canonical/chisel/cmd/chisel@latest\n\n\
      # Define the system utilities that we want to include in the base\n# These are\
      \ the ones where we can probably slim down the number of binaries\n# later on,\
      \ but for now we include them all to ensure maximum compatibility.\nUTILS=(\n\
      \  apparmor_bins\n  bash_bins\n  bzip2_scripts\n  coreutils-from-uutils_bins\n\
      \  diffutils_bins\n  dosfstools_bins\n  debianutils_which\n  debianutils_ischroot\n\
      \  debianutils_run-parts\n  file_bins\n  gdbserver_bins\n  gnu-coreutils_bins\n\
      \  gnutls-bin_bins\n  gpgv_bins\n  grep_bins\n  gzip_scripts\n  hostname_bins\n\
      \  iptables_bins\n  iputils-ping_bins\n  less_bins\n  login_bins\n  mawk_bins\n\
      \  ncurses-bin_bins\n  polkitd_bins\n  rfkill_bins\n  sed_bins\n  sudo-rs_bins\n\
      \  sysvinit-utils_scripts\n  squashfs-tools_bins\n  tar_bins\n  util-linux_bins\n\
      \  util-linux_nsenter\n  util-linux-extra_pivot-root\n  util-linux-extra_hardware\n\
      \  util-linux-extra_process\n  util-linux-extra_login\n  vim-tiny_bins\n)\n\n\
      # Define the system libraries and services that we want to include in the base\n\
      # \nSLICES=(\n  apparmor_systemd\n  base-files_motd\n  base-files_release-info\n\
      \  base-files_root-defaults\n  bash-completion_config\n  bash-completion_completions\n\
      \  ca-certificates_data-with-certs\n  cracklib-runtime_bins\n  cryptsetup_bins\n\
      \  cryptsetup-bin_bins\n  dbus_services\n  dbus-user-session_services\n  dhcpcd-base_standard\n\
      \  distro-info-data_data\n  dmsetup_rules\n  e2fsprogs_services\n  e2fsprogs_standard\n\
      \  fdisk_bins\n  fonts-ubuntu_all\n  fonts-ubuntu_config\n  finalrd_services\n\
      \  iproute2_bins\n  kmod_bins\n  kmod_config\n\n  libc6_config\n  libc6_gconv\n\
      \  libc-bin_iconv\n  libc-bin_nsswitch\n  libc-bin_ldconfig\n  libc-bin_locale\n\
      \  libc-bin_getconf\n  libc-bin_getent\n\n  libpam-modules_config\n  libpam-modules_pam-config\n\
      \  libpam-pwquality_pam-config\n  libpam-modules-bin_standard\n  libpam-modules-bin_extrausers\n\
      \  libpam-modules-bin_namespace\n  libpam-modules-bin_timestamp\n  libpam-systemd_libs\n\
      \  libengine-pkcs11-openssl_libs\n  libgnutls30t64_config\n  libopts25_libs\n\
      \  libp11-3t64_libs\n  libnss-mdns_mdns4-minimal\n  libnss-extrausers_libs\n\
      \  libpam-pwquality_libs\n  libpciaccess0_libs\n  libwrap0_host-files\n  libx11-data_xerrordb\n\
      \  locales_standard\n\n  netcat-openbsd_bins\n  netplan.io_bins\n  ncurses-base_terminfo\n\
      \n  openssh-client_config\n  openssh-client_services\n  openssh-server_bins\n\
      \  openssh-server_config\n  openssh-server_services\n  openssl_bins\n  opensc_bins\n\
      \  p11-kit_bins\n  passwd_pam-config\n  polkitd_services\n  procps_bins\n  plymouth_bins\n\
      \  plymouth-label-ft_libs\n  procps_config\n\n  udev_services\n  util-linux_services\n\
      \  systemd_bash-completions\n  systemd_extras\n  systemd_run0\n  systemd_kernel-parameters\n\
      \  systemd_udev-rules\n  systemd_tpm2\n  systemd_standard\n  systemd_user-services\n\
      \  systemd-bootchart_services\n  systemd-coredump_bins\n  systemd-cryptsetup_bins\n\
      \  systemd-cryptsetup_services\n  systemd-resolved_bins\n  systemd-sysv_bins\n\
      \  systemd-timesyncd_services\n  systemd-zram-generator_services\n  \n  tzdata_zoneinfo\n\
      \  wpasupplicant_services\n)\n\n. \"/build/core26/stage\"/build-env\nSNAP_BUILD_VARIANT=${SNAP_BUILD_VARIANT:-}\n\
      if [ \"$SNAP_BUILD_VARIANT\" = cloud-init ]; then\n    SLICES+=(cloud-init_bins)\n\
      fi\n\n# TODO: not sure about FIPS yet, this will have to come later, chisel\
      \ has builtin\n# support for ESM, meaning it's something we can request chisel\
      \ to do for us.\n# if [ \"$SNAP_BUILD_VARIANT\" = fips ]; then\n#   # Ensure\
      \ vital crypt packages are refreshed / downgraded and downloaded\n#   # from\
      \ the FIPS ppa. This should also contain openssh-server, but we already\n# \
      \  # have that one listed above.\n#   SLICES+=(libgcrypt20 libgnutls30t64 openssl-fips-module-3\
      \ ssh)\n# fi\n\n# add architecture specific slices\ncase \"$(dpkg --print-architecture)\"\
      \ in\n    amd64|arm64)\n        SLICES+=(secureboot-db_services nvidia-kernel-common-595_bins\
      \ nvidia-kernel-common-595_modprobe-d-kms)\n        ;;\n    i386)\n        SLICES+=(secureboot-db_services)\n\
      \        ;;\n    riscv64)\n        SLICES+=(gdbserver_bins systemd-bootchart_services)\n\
      \        ;;\nesac\n\n# create the rootfs directory we install slices into\n\
      mkdir -p \"${CRAFT_PART_INSTALL}\"/base\n\n# Cut the initial slices into the\
      \ rootfs\nchisel cut \\\n  --release=\"${CRAFT_PART_SRC}\" \\\n  --root \"${CRAFT_PART_INSTALL}\"\
      /base \\\n  \"${SLICES[@]}\" \"${UTILS[@]}\" \\\n  base-files_chisel\n\n# Cut\
      \ foreign libraries we also need\ncase \"$(dpkg --print-architecture)\" in\n\
      \    amd64)\n        chisel cut \\\n          --arch=i386 \\\n          --release=\"\
      ${CRAFT_PART_SRC}\" \\\n          --root \"${CRAFT_PART_INSTALL}\"/base \\\n\
      \          libnss-mdns_mdns4-minimal libc6_libs libc6_gconv libc6_config libgcc-s1_libs\n\
      \        ;;\nesac\n\n# https://documentation.ubuntu.com/chisel/en/latest/reference/manifest/\n\
      # chisel automatically generates a manifest for the cut slices here:\n# $rootfs/var/lib/chisel/manifest.wall\n\
      # this is zstd compressed, and must therefor be uncompressed\n# unzstd ./manifest.wall\
      \ -o manifest.json\n"
    override-prime: |
      # No files from this step in prime
    stage-packages: []
    stage: []
    prime: []
  snapd-files:
    plugin: nil
    source: .
    build-packages:
    - snapd
    after:
    - chisel-libs
    override-build: |
      mkdir -p "${CRAFT_PART_INSTALL}"/base/usr/lib/systemd/system-generators
      cp /usr/lib/systemd/system-generators/snapd-generator "${CRAFT_PART_INSTALL}"/base/usr/lib/systemd/system-generators/snapd-generator
      mkdir -p "${CRAFT_PART_INSTALL}"/base/usr/lib/tmpfiles.d
      cp /usr/lib/tmpfiles.d/snapd.conf "${CRAFT_PART_INSTALL}"/base/usr/lib/tmpfiles.d/snapd.conf
    override-prime: |
      # No files from this step in prime
    stage-packages: []
    stage: []
    prime: []
  generators:
    plugin: nil
    source: generators/
    build-packages:
    - cargo
    - rustc
    override-build: |
      cd "${CRAFT_PART_SRC}"
      cargo build --release
      strip target/release/ubuntu-core-generator
      mkdir -p "${CRAFT_PART_INSTALL}/usr/lib/core"
      install -m 755 target/release/ubuntu-core-generator \
        "${CRAFT_PART_INSTALL}/usr/lib/core/ubuntu-core-generator"
    stage-packages: []
    stage: []
    prime: []
  splash-theme:
    plugin: dump
    source: https://github.com/snapcore/plymouth-theme-ubuntu-core.git
    source-type: git
    organize:
      ubuntu-core: usr/share/plymouth/themes/ubuntu-core
      copyright: usr/share/doc/plymouth-theme-ubuntu-core/copyright
    stage:
    - -README.md
    stage-packages: []
    prime: []
    build-packages: []
  hooks:
    after:
    - chisel-libs
    - snapd-files
    - splash-theme
    - build-env
    plugin: make
    source: .
    build-packages:
    - shellcheck
    - distro-info
    override-prime: |
      craftctl default

      # ensure build-in tests are run
      make -C ${CRAFT_PART_SRC} test TESTDIR=/build/core26/prime
    stage-packages: []
    stage: []
    prime: []
  generate-changelog:
    after:
    - hooks
    plugin: make
    source: .
    build-packages:
    - python3-debian
    - python3-requests
    - python3-yaml
    build-snaps:
    - core26/beta
    override-build: |
      cd ${CRAFT_PART_SRC}

      # Generate the dpkg.yaml for compatability purposes. Scanning tools still expect
      # this file to be present, and they move slowly in terms of support for the new chisel format.
      mkdir -p "${CRAFT_PART_INSTALL}/usr/share/snappy"
      python3 ./tools/wall2dpkg.py "/build/core26/stage/var/lib/chisel/manifest.wall" "${CRAFT_PART_INSTALL}/usr/share/snappy/dpkg.yaml"

      # When building through spread there is no .git, which means we cannot
      # generate the changelog in this case, ensure that the current folder is
      # a git repository, additionally check that the snap we are building a changelog
      # against has the dpkg.yaml.
      if git rev-parse HEAD && [ -e "/snap/core26/current/usr/share/snappy/dpkg.yaml" ]; then
        CHG_PARAMS=
        if [ -e /build/core26 ]; then
          CHG_PARAMS=--launchpad
        fi
        mkdir -p "${CRAFT_PART_INSTALL}/usr/share/doc"
        ./tools/generate-changelog.py "/snap/core26/current" "${CRAFT_PART_INSTALL}" core26 $CHG_PARAMS
      else
        echo "WARNING: changelog will not be generated for this build"
      fi
    stage-packages: []
    stage: []
    prime: []
  publish-artifacts-lp:
    after:
    - generate-changelog
    plugin: nil
    override-prime: |
      # copy dpkg.yaml, chisel manifest and changelog files for lp build
      if [ -e /build/core26 ]; then
        DATEFMT="$(date +%Y%m%d%H%M)"
        /bin/cp /build/core26/prime/usr/share/snappy/dpkg.yaml /build/core26/core26-$(DATEFMT)_amd64.dpkg.yaml
        /bin/cp /build/core26/prime/var/lib/chisel/manifest.wall /build/core26/core26-$(DATEFMT)_amd64.manifest.wall
        /bin/cp /build/core26/prime/usr/share/doc/ChangeLog /build/core26/core26-$(DATEFMT)_amd64.ChangeLog
      fi
    stage-packages: []
    stage: []
    prime: []
    build-packages: []
architectures:
- amd64
image-info:
  build_url: https://launchpad.net/~ubuntu-core-service/+snap/core26/+build/3292799
build-packages: []
build-snaps: []
primed-stage-packages: []