%PDF- %PDF-
Direktori : /snap/lxd/current/snap/ |
Current File : //snap/lxd/current/snap/snapcraft.yaml |
apps: activate: command: commands/daemon.activate daemon: oneshot plugs: - lxd-support - system-observe benchmark: command: commands/lxd-benchmark plugs: - lxd-support - system-observe buginfo: command: commands/buginfo plugs: - lxd-support - system-observe check-kernel: command: commands/lxd-check-kernel plugs: - lxd-support - system-observe daemon: command: commands/daemon.start daemon: simple plugs: - lxd-support - network-bind - system-observe reload-command: commands/daemon.reload restart-condition: on-failure slots: - lxd sockets: unix: listen-stream: $SNAP_COMMON/lxd/unix.socket socket-mode: 432 stop-command: commands/daemon.stop stop-timeout: 600s lxc: command: commands/lxc completer: etc/bash_completion.d/snap.lxd.lxc plugs: - lxd-support - system-observe lxc-to-lxd: command: commands/lxc-to-lxd plugs: - lxd-support - system-observe lxd: command: commands/lxd plugs: - lxd-support - system-observe migrate: command: commands/lxd-migrate plugs: - lxd-support - system-observe user-daemon: command: commands/lxd-user daemon: simple plugs: - lxd-support - network-bind - system-observe restart-condition: on-failure sockets: unix: listen-stream: $SNAP_COMMON/lxd-user/unix.socket socket-mode: 432 stop-timeout: 600s assumes: - snapd2.39 base: core20 confinement: strict contact: lxd@lists.canonical.com description: |- LXD is a system container and virtual machine manager. It offers a simple CLI and REST API to manage local or remote instances, uses an image based workflow and support for a variety of advanced features. Images are available for all Ubuntu releases and architectures as well as for a wide number of other Linux distributions. Existing integrations with many deployment and operation tools, makes it work just like a public cloud, except everything is under your control. LXD containers are lightweight, secure by default and a great alternative to virtual machines when running Linux on Linux. LXD virtual machines are modern and secure, using UEFI and secure-boot by default and a great choice when a different kernel or operating system is needed. With clustering, up to 50 LXD servers can be easily joined and managed together with the same tools and APIs and without needing any external dependencies. Supported configuration options for the snap (snap set lxd [<key>=<value>...]): - ceph.builtin: Use snap-specific Ceph configuration [default=false] - ceph.external: Use the system's ceph tools (ignores ceph.builtin) [default=false] - criu.enable: Enable experimental live-migration support [default=false] - daemon.debug: Increase logging to debug level [default=false] - daemon.group: Set group of users that have full control over LXD [default=lxd] - daemon.user.group: Set group of users that have restricted LXD access [default=lxd] - daemon.preseed: Pass a YAML configuration to `lxd init` on initial start - daemon.syslog: Send LXD log events to syslog [default=false] - daemon.verbose: Increase logging to verbose level [default=false] - lvm.external: Use the system's LVM tools [default=false] - lxcfs.pidfd: Start per-container process tracking [default=false] - lxcfs.loadavg: Start tracking per-container load average [default=false] - lxcfs.cfs: Consider CPU shares for CPU usage [default=false] - lxcfs.debug: Increase logging to debug level [default=false] - openvswitch.builtin: Run a snap-specific OVS daemon [default=false] - openvswitch.external: Use the system's OVS tools (ignores openvswitch.builtin) [default=false] - ovn.builtin: Use snap-specific OVN configuration [default=false] - shiftfs.enable: Enable shiftfs support [default=auto] - ui.enable: Enable the web interface [default=false] For system-wide configuration of the CLI, place your configuration in /var/snap/lxd/common/global-conf/ (config.yml and servercerts) grade: stable hooks: configure: plugs: - lxd-support - network - system-observe remove: plugs: - lxd-support - system-observe issues: https://github.com/canonical/lxd/issues name: lxd parts: btrfs: build-attributes: - core22-step-dependencies organize: sbin/: bin/ plugin: nil prime: - bin/btrfs - bin/btrfstune - bin/mkfs.btrfs source: snapcraft/empty stage-packages: - btrfs-progs ceph: build-attributes: - core22-step-dependencies organize: usr/bin/: bin/ usr/lib/: lib/ plugin: nil prime: - bin/ceph - bin/radosgw-admin - bin/rbd - lib/*/ceph - lib/*/libasn1.so* - lib/*/libatomic.so* - lib/*/libboost_context.so* - lib/*/libboost_iostreams.so* - lib/*/libboost_program_options.so* - lib/*/libboost_thread.so* - lib/*/libbrotlicommon.so* - lib/*/libbrotlidec.so* - lib/*/libcephfs* - lib/*/libcurl-gnutls* - lib/*/libgssapi.so* - lib/*/libhcrypto.so* - lib/*/libheimbase.so* - lib/*/libheimntlm.so* - lib/*/libhx509.so* - lib/*/libibverbs.so* - lib/*/libkrb5.so* - lib/*/liblber-2.4.so* - lib/*/libldap_r-2.4.so* - lib/*/libnghttp2.so* - lib/*/libpsl.so* - lib/*/librabbitmq.so* - lib/*/librados.so* - lib/*/librbd.so* - lib/*/librdmacm.so* - lib/*/libroken.so* - lib/*/librtmp.so* - lib/*/libsasl2.so* - lib/*/libsnappy.so* - lib/*/libssh.so* - lib/*/libwind.so* - lib/liboath.so* - lib/python3 source: snapcraft/empty stage-packages: - ceph-common criu: build-attributes: - core22-step-dependencies build-packages: - asciidoc - libcap-dev - libnet1-dev - libnl-3-dev - libprotobuf-c-dev - libprotobuf-dev - protobuf-c-compiler - protobuf-compiler - xmlto organize: usr/lib/: lib/ override-build: | set -ex [ "$(uname -m)" != "x86_64" ] && \ [ "$(uname -m)" != "armv7l" ] && \ [ "$(uname -m)" != "aarch64" ] && \ [ "$(uname -m)" != "s390x" ] && \ [ "$(uname -m)" != "ppc64le" ] && exit 0 make mkdir -p "${SNAPCRAFT_PART_INSTALL}/criu/" cp criu/criu "${SNAPCRAFT_PART_INSTALL}/criu/" plugin: nil prime: - criu/* - lib/*/libnet* - lib/*/libproto* source: https://github.com/checkpoint-restore/criu source-depth: 1 source-tag: v3.19 source-type: git stage-packages: - libnet1 - libprotobuf-c1 dqlite: after: - raft - sqlite autotools-configure-parameters: - --prefix= build-attributes: - core22-step-dependencies build-packages: - libuv1-dev organize: usr/lib/: lib/ plugin: autotools prime: - lib/libdqlite*so* - lib/*/libuv* source: https://github.com/canonical/dqlite source-depth: 1 source-tag: v1.15.1 source-type: git stage-packages: - libuv1 edk2: after: - nasm build-attributes: - core22-step-dependencies build-packages: - on amd64: - acpica-tools - uuid-dev - on arm64: - acpica-tools - uuid-dev override-build: |- [ "$(uname -m)" != "x86_64" ] && [ "$(uname -m)" != "aarch64" ] && exit 0 # Fix submodules sed -i "s#https://git.cryptomilk.org/projects/cmocka#https://gitlab.com/cmocka/cmocka#g" .gitmodules git submodule update --init --recursive # Apply patches patch -p1 < "${SNAPCRAFT_PROJECT_DIR}/patches/edk2-0001-force-DUID-LLT.patch" cp "${SNAPCRAFT_PROJECT_DIR}/patches/edk2-0002-logo.bmp" MdeModulePkg/Logo/Logo.bmp patch -p1 < "${SNAPCRAFT_PROJECT_DIR}/patches/edk2-0003-boot-delay.patch" patch -p1 < "${SNAPCRAFT_PROJECT_DIR}/patches/edk2-0004-gcc-errors.patch" ARCH="X64" PKG="OvmfPkg/OvmfPkgX64.dsc" FV_CODE="OVMF_CODE" FV_VARS="OVMF_VARS" if [ "$(uname -m)" = "aarch64" ]; then ARCH="AARCH64" PKG="ArmVirtPkg/ArmVirtQemu.dsc" FV_CODE="QEMU_EFI" FV_VARS="QEMU_VARS" fi # Run in a bash sub-shell as edksetup.sh requires it set -ex ( cat << EOF . ./edksetup.sh make -C BaseTools ARCH=${ARCH} build -a ${ARCH} -t GCC49 -b RELEASE -p ${PKG} \ -DSECURE_BOOT_ENABLE=TRUE \ -DNETWORK_IP4_ENABLE=TRUE \ -DNETWORK_IP6_ENABLE=TRUE \ -DNETWORK_TLS_ENABLE=TRUE \ -DNETWORK_HTTP_BOOT_ENABLE=TRUE \ -DFD_SIZE_2MB \ -DTPM_ENABLE=TRUE \ -DTPM_CONFIG_ENABLE=TRUE \ -DTPM2_ENABLE=TRUE \ -DTPM2_CONFIG_ENABLE=TRUE EOF ) | bash -e mkdir -p "${SNAPCRAFT_PART_INSTALL}/share/qemu/" cp Build/*/*/FV/${FV_CODE}.fd "${SNAPCRAFT_PART_INSTALL}/share/qemu/OVMF_CODE.fd" cp Build/*/*/FV/${FV_VARS}.fd "${SNAPCRAFT_PART_INSTALL}/share/qemu/OVMF_VARS.fd" if [ "$(uname -m)" = "aarch64" ]; then truncate -s 64m "${SNAPCRAFT_PART_INSTALL}/share/qemu/OVMF_CODE.fd" truncate -s 64m "${SNAPCRAFT_PART_INSTALL}/share/qemu/OVMF_VARS.fd" fi override-pull: |- [ "$(uname -m)" != "x86_64" ] && [ "$(uname -m)" != "aarch64" ] && exit 0 set -ex git clone https://github.com/tianocore/edk2 . -b edk2-stable202208 git config user.email "noreply@lists.canonical.com" git config user.name "LXD snap builder" plugin: nil prime: - share/qemu/* source: https://github.com/tianocore/edk2 source-depth: 1 source-tag: IRRELEVANT source-type: git libmnl: autotools-configure-parameters: - --prefix= build-attributes: - core22-step-dependencies organize: usr/lib/: lib/ plugin: autotools prime: - lib/libmnl*so* source: https://git.netfilter.org/libmnl source-tag: libmnl-1.0.5 source-type: git libnftnl: after: - libmnl autotools-configure-parameters: - --prefix= build-attributes: - core22-step-dependencies organize: usr/lib/: lib/ override-build: | snapcraftctl build sed -i "s# /lib/libmnl.la# ${SNAPCRAFT_STAGE}/lib/libmnl.la#g" "${SNAPCRAFT_PART_INSTALL}/lib/libnftnl.la" plugin: autotools prime: - lib/libnftnl*so* source: https://git.netfilter.org/libnftnl source-tag: libnftnl-1.2.6 source-type: git libseccomp: autotools-configure-parameters: - --prefix= build-attributes: - core22-step-dependencies build-packages: - gperf organize: usr/lib/: lib/ plugin: autotools prime: - lib/libseccomp*so* source: https://github.com/seccomp/libseccomp source-depth: 1 source-tag: v2.5.5 source-type: git libtpms: autotools-configure-parameters: - --prefix= - --with-tpm2 - --with-openssl build-attributes: - core22-step-dependencies organize: usr/lib/: lib/ plugin: autotools prime: - lib/libtpms*so* source: https://github.com/stefanberger/libtpms source-depth: 1 source-tag: v0.9.6 source-type: git liburing: autotools-configure-parameters: - --prefix= build-attributes: - core22-step-dependencies organize: usr/lib/: lib/ override-build: |- [ "$(uname -m)" != "x86_64" ] && [ "$(uname -m)" != "aarch64" ] && [ "$(uname -m)" != "ppc64le" ] && [ "$(uname -m)" != "s390x" ] && exit 0 snapcraftctl build plugin: autotools prime: - lib/liburing*so* source: https://github.com/axboe/liburing source-depth: 1 source-tag: liburing-2.5 source-type: git libusb: autotools-configure-parameters: - --prefix= build-attributes: - core22-step-dependencies organize: usr/lib/: lib/ plugin: autotools prime: - lib/libusb*so* source: https://github.com/libusb/libusb source-depth: 1 source-tag: v1.0.26 source-type: git logrotate: build-attributes: - core22-step-dependencies organize: usr/bin/: bin/ usr/lib/: lib/ usr/sbin/: bin/ plugin: nil prime: - bin/logrotate source: snapcraft/empty stage: - bin/logrotate stage-packages: - logrotate lvm: build-attributes: - core22-step-dependencies organize: sbin/: bin/ usr/lib/: lib/ usr/sbin/: bin/ plugin: nil prime: - bin/cache_* - bin/dmeventd - bin/era_* - bin/lv* - bin/pdata_tools - bin/pv* - bin/thin_* - bin/vg* - -bin/vgimportclone - -bin/lvmconf - -bin/lvmdump - -bin/lvmetad - -bin/lvmpolld - etc/lvm/lvm.conf - lib/*/device-mapper/* - lib/*/libaio.so* - lib/*/libdevmapper* - lib/*/liblvm* - lib/*/libreadline.so* source: snapcraft/empty stage-packages: - dmeventd - lvm2 - thin-provisioning-tools lxc: after: - libseccomp build-attributes: - core22-step-dependencies build-packages: - libapparmor-dev - libcap-dev - libdbus-1-dev - libgnutls28-dev - libselinux1-dev - pkg-config meson-parameters: - --prefix=/ - -Dexamples=false - -Dman=false - -Dtools=false - -Dtests=false - -Dmemfd-rexec=false - -Dapparmor=true - -Dseccomp=true - -Dselinux=true - -Dcapabilities=true - -Drootfs-mount-path=/var/snap/lxd/common/lxc/ - -Dlibexecdir=/snap/lxd/current/libexec/ organize: share/lxc/hooks: lxc/hooks snap/lxd/current/libexec: libexec snap/lxd/current/lxc: lxc override-build: | set -ex cd ../src git config user.email "noreply@lists.canonical.com" git config user.name "LXD snap builder" cd ../build set +ex snapcraftctl build set -ex mkdir -p $SNAPCRAFT_PART_INSTALL/lxc/config/common.conf.d/ ln -s /var/snap/lxd/common/lxc/local.conf $SNAPCRAFT_PART_INSTALL/lxc/config/common.conf.d/01-local.conf plugin: meson prime: - bin/lxc-checkconfig - lib/*/liblxc.so.1 - lib/*/liblxc.so.1.* - lxc/config/common.conf.d - lxc/hooks/nvidia source: https://github.com/lxc/lxc source-tag: lxc-5.0.3 source-type: git lxcfs: build-packages: - libfuse3-dev - libpam0g-dev - pkg-config - python3-jinja2 meson-parameters: - --prefix=/ - --datadir=/snap/lxd/current/ - --localstatedir=/var/snap/lxd/common/var/ - -Ddocs=false - -Dtests=false organize: lib/*/lxcfs/liblxcfs.so: lib/ snap/lxd/current/lxc/config/common.conf.d/*: lxc/config/common.conf.d/ snap/lxd/current/lxcfs/: lxcfs/ usr/lib/: lib/ override-build: | set -ex # Git cherry-picks cd ../src git config user.email "noreply@lists.canonical.com" git config user.name "LXD snap builder" set +ex snapcraftctl build set -ex patch -p1 $SNAPCRAFT_PART_INSTALL/snap/lxd/current/lxcfs/lxc.mount.hook < "${SNAPCRAFT_PROJECT_DIR}/patches/lxcfs-0001-hook.patch" plugin: meson prime: - bin/fusermount - bin/fusermount3 - lib/*/libfuse3.so.* - bin/lxcfs - lib/liblxcfs.so - lxc/config/common.conf.d/00-lxcfs.conf - lxcfs/ source: https://github.com/lxc/lxcfs source-tag: lxcfs-5.0.4 source-type: git stage-packages: - fuse3 lxd: after: - lxc - dqlite - sqlite build-attributes: - core22-step-dependencies build-packages: - libacl1-dev - libudev-dev - pkg-config build-snaps: - go/1.21/stable organize: sbin/: bin/ usr/bin/: bin/ usr/lib/: lib/ usr/sbin/: bin/ usr/share/misc/: share/misc/ var/lib/usbutils/usb.ids: share/misc/ override-build: | set -ex # Git cherry-picks cd ../src git config user.email "noreply@lists.canonical.com" git config user.name "LXD snap builder" git cherry-pick -x 827f1fce57898467b6b5d6eb909a5eb639e95c3c # lxd/storage/drivers/ceph: Restore the filesystems UUID on the volume git cherry-pick -x 53e017a1db6a7f0667c55855b50220479f6fb827 # test/suites/storage: Add check for UUID generation on restore git cherry-pick -x b737ae50e2590c7aa367254237f89ddc4d388ffb # lxd/storage/drivers/ceph: Restore the VM block filesystem volume too git cherry-pick -x b61ffddda691d553eab3fbf23fb25ef2185ed6de # lxd/storage/drivers/lvm: Restore the VM block filesystem volume for thin-pools too git cherry-pick -x 59cdc0a758b627083f729cd4b81dbb69035cb04d # lxd/storage/drivers/ceph: Double check the volumes content type git cherry-pick -x fe71f2135bdc3aa6ea28de7ed1ac324f7d689ed6 # shared/simplestreams/products: Fix regression in parsing version files git cherry-pick -x d3253e4cbc85b97e3bc6dba9a27fd2ab0c4d8685 # shared/simplestreams/simplestreams: Improve error messages git cherry-pick -x 55bd4024dbfc315c0f57da57f2f9bd9c5c97dad1 # shared/simplestreams/products: Search only for lxd archives git cherry-pick -x f1c377195a1febda39d6d99ecfbc647ffcd5d740 # lxd/rsync: Merge sendSetup and Send functions git cherry-pick -x e1a37a5c240e068ffaff4fe20fa8af612e4143fe # lxd/rsync: Add description of cleanup function to RunWrappers git cherry-pick -x 0fefac32ccd543494c07008eddb0bb621c94b19d # lxd/instance/drivers/driver/qemu: Don't leak file descriptor when probing for Direct I/O support git cherry-pick -x 8e22091af07f29c0c626b1746689491c8bedbaa8 # incusd/instance/qemu: Cap hotplug CPU slots to 64 git cherry-pick -x eff4a63e9b5804066437df995fbc4fbcddf4daf0 # incusd/instance/qemu: Fix handling of > 64 limits.cpu git cherry-pick -x 67705c0681301a2574bfbc9eef56b55c9bdccb88 # lxd: Update instance types URL git cherry-pick -x ea99778d412f7cb3995844fcf905e0695ba9291a # lxc/config/default: Add images remote for images.lxd.canonical.com git cherry-pick -x 8a43bac4ae9e278f2197b0eaaa229ec3c242dd02 # lxd/config/default: Add images to DefaultRemotes git cherry-pick -x 43dfdce8d90bd029a503fe94d7609cb34359c1c2 # instance/drivers/driver_lxc: do not set "soft" limit when hard limit is set git cherry-pick -x 79dcfe6bced1998fdf1c213a6bbad17fce6e540a # lxd/instance: Reject limits.kernel config for VMs git cherry-pick -x 2b62f940826bfe2e18112f19e827a61f8b659c9d # lxd/device/device_utils_disk: fix diskAddRootUserNSEntry to add root mapping only if it's required git cherry-pick -x 482241ed1f692be3c0bd45161dd0a8beca7e85c5 # lxd/network/acl: Change protocol field for ovn logs git cherry-pick -x c35ac36962dd5cf691ff2b464055648ff8bcf463 # lxd/device/nic_ovn: Only stop device if network is populated git cherry-pick -x 551c252d1653360ccfda981b7a9a42fc8eed5370 # lxd/storage/drivers: Always use default block.filesysem for VM volumes git cherry-pick -x 6ae9c4e522c226efed94af447dd9e92ef658e28a # doc: pin version of myst-parser git cherry-pick -x 6e96624b1cf707cfc5b511dd6f91b5a34d4db9a3 # lxd/storage/drivers: Add volume param to roundVolumeBlockSizeBytes git cherry-pick -x a6e08cc8b897ea149ee5fa395cb9e242749f7db1 # lxd/storage/drivers/zfs: Round to zfs.blocksize or 16KiB git cherry-pick -x 33d712497bfc5d6a8892bd8f6e1ddb3583bee1eb # lxd/storage/drivers: Refactor volume size rounding logic git cherry-pick -x a7477c4cb0056efeb2ba781fad9f51230e21a664 # lxd/storage/drivers: Fix linter errors git cherry-pick -x 3d90268df9774994a7f2807d6e3deff06a8fe145 # lxd/storage/drivers/zfs: Wait for device to appear when activating a volume git cherry-pick -x 98c3f36f64d9f03740a3216fe7c68861e57fd917 # lxd/storage/drivers/zfs: Check for non /dev/zvol/* paths git cherry-pick -x 27ad4c72b0ef44c70ac17267a955842f2f2e30e9 # lxd/util: Split CheckTrustState into two functions. git cherry-pick -x 578bf456c04bc05a7b8496f6eb8fadb9d9c9c61d # lxd/cluster: Update calls to util.CheckTrustState git cherry-pick -x dd16b59f84638d1268474fb31ccb510c84db65d3 # lxd-agent: Update calls to util.CheckTrustState. git cherry-pick -x 879ebd254145cee5af5f51d98eee988e4eebddba # lxd: Update calls to util.CheckTrustState. git cherry-pick -x 7af75b2749639e7a4634d6d6de6b781aa9dd1ed4 # lxd: Refactor `(*Daemon).Authenticate` method. git cherry-pick -x dfae473d6cd8ee0df0b90c8e74a66ca4645a2b84 # lxd: Update comment on server certificate mTLS checks. git cherry-pick -x fb0525e1bdd6a99c4eedacbe9e6c2c7b8e0d9a89 # lxd: Disallow certificate creation in CA mode if cert is not signed by CA. git cherry-pick -x 356268c34eb17bebb8de740aaa82740d6a68ee5d # lxd/util: Update info log to indicate CA restriction applies to clients. git cherry-pick -x 45126f2a54079799066abf6477a252605709b8e5 # shared: Set `GetClientCertificate` in TLS config. git cherry-pick -x 52eaf3efa780d68fa51a74d9631f3c5e7a7fc879 # shared: Add comments to exported functions (revive: exported). git cherry-pick -x 75fbdaeebea454fd074c9efac7a2c584a78762c7 # test/suites: Improve PKI test coverage. git cherry-pick -x ce66fe3c1404c82183711bf7e35889bf19cfd5b9 # lxd/instance/exec: Only use keepalives on TCP sockets # Setup build environment export GOPATH=$(realpath ./.go) export CGO_CFLAGS="-I${SNAPCRAFT_STAGE}/include/ -I${SNAPCRAFT_STAGE}/usr/local/include/" export CGO_LDFLAGS="-L${SNAPCRAFT_STAGE}/lib/ -L${SNAPCRAFT_STAGE}/usr/local/lib/" export CGO_LDFLAGS_ALLOW="(-Wl,-wrap,pthread_create)|(-Wl,-z,now)" # Build the binaries go build -o "${SNAPCRAFT_PART_INSTALL}/bin/lxc" github.com/canonical/lxd/lxc go build -o "${SNAPCRAFT_PART_INSTALL}/bin/lxc-to-lxd" github.com/canonical/lxd/lxc-to-lxd go build -o "${SNAPCRAFT_PART_INSTALL}/bin/lxd" -tags=libsqlite3 github.com/canonical/lxd/lxd CGO_ENABLED=0 go build -o "${SNAPCRAFT_PART_INSTALL}/bin/lxd-agent" -tags=agent,netgo github.com/canonical/lxd/lxd-agent go build -o "${SNAPCRAFT_PART_INSTALL}/bin/lxd-benchmark" github.com/canonical/lxd/lxd-benchmark go build -o "${SNAPCRAFT_PART_INSTALL}/bin/lxd-user" github.com/canonical/lxd/lxd-user # Setup bash completion mkdir -p ${SNAPCRAFT_PART_INSTALL}/etc/bash_completion.d/ cp scripts/bash/lxd-client ${SNAPCRAFT_PART_INSTALL}/etc/bash_completion.d/snap.lxd.lxc override-pull: | snapcraftctl pull set -ex # Setup build environment export GOPATH=$(realpath ./.go) # Setup the GOPATH rm -Rf "${GOPATH}" mkdir -p "${GOPATH}/src/github.com/canonical" ln -s "$(pwd)" "${GOPATH}/src/github.com/canonical/lxd" # Download the dependencies go get -d -v ./... plugin: nil prime: - bin/dnsmasq - bin/getfattr - bin/setfattr - bin/iw - bin/pigz - bin/rsync - bin/setfacl - bin/sgdisk - bin/xdelta3 - lib/*/libidn.so.* - etc/bash_completion.d/snap.lxd.lxc - share/misc - bin/lxc - bin/lxc-to-lxd - bin/lxd - bin/lxd-agent - bin/lxd-benchmark - bin/lxd-user source: https://github.com/canonical/lxd source-tag: lxd-5.0.3 source-type: git stage-packages: - acl - attr - dnsmasq-base - gdisk - iw - netbase - pciutils - pigz - rsync - squashfs-tools - usbutils - xdelta3 lxd-migrate: after: - lxd - sqlite build-attributes: - core22-step-dependencies build-snaps: - go/1.21/stable override-build: | set -ex # Setup build environment export GOPATH=$(realpath ./.go) export CGO_CFLAGS="-I${SNAPCRAFT_STAGE}/include/ -I${SNAPCRAFT_STAGE}/usr/local/include/" export CGO_LDFLAGS="-L${SNAPCRAFT_STAGE}/lib/ -L${SNAPCRAFT_STAGE}/usr/local/lib/" # Build the binaries go build -o "${SNAPCRAFT_PART_INSTALL}/bin/lxd-migrate" -tags=libsqlite3 ./ # Install bridge script mkdir -p ${SNAPCRAFT_PART_INSTALL}/bin/ cp scripts/upgrade-bridge ${SNAPCRAFT_PART_INSTALL}/bin/upgrade-bridge override-pull: | snapcraftctl pull set -ex # Setup build environment export GOPATH=$(realpath ./.go) # Download the dependencies go get -d -v ./... plugin: nil prime: - bin/lxd-migrate - bin/upgrade-bridge source: lxd-migrate/ lxd-ui: override-build: | [ "$(uname -m)" = "riscv64" ] && exit 0 set -ex patch -p1 < "${SNAPCRAFT_PROJECT_DIR}/patches/lxd-ui-0.5-lxd-5.0-compat.patch" npm install yarn --global yarn install yarn build mkdir -p "${SNAPCRAFT_PART_INSTALL}/share" cp -R build/ui "${SNAPCRAFT_PART_INSTALL}/share/lxd-ui/" override-pull: | [ "$(uname -m)" = "riscv64" ] && exit 0 snapcraftctl pull set -ex snap install node --channel=18/stable --classic || true plugin: nil prime: - share/lxd-ui* source: https://github.com/canonical/lxd-ui source-tag: "0.5" source-type: git nano: build-attributes: - core22-step-dependencies organize: usr/bin/: bin/ plugin: nil prime: - bin/nano - etc/nanorc source: snapcraft/empty stage-packages: - nano nasm: autotools-configure-parameters: - --prefix= build-attributes: - core22-step-dependencies organize: usr/bin/: bin/ override-build: | patch -p1 < "${SNAPCRAFT_PROJECT_DIR}/patches/nasm-0000-disable-manpages.patch" snapcraftctl build plugin: autotools prime: - bin/nasm source: https://github.com/netwide-assembler/nasm source-depth: 1 source-tag: nasm-2.15.05 source-type: git nftables: after: - libmnl - libnftnl autotools-configure-parameters: - --prefix= - --with-json build-attributes: - core22-step-dependencies build-packages: - libedit-dev - libjansson-dev - libreadline-dev organize: sbin/: bin/ usr/lib/: lib/ override-build: | set -ex git config user.email "noreply@lists.canonical.com" git config user.name "LXD snap builder" set +ex snapcraftctl build set -ex plugin: autotools prime: - bin/nft - lib/*/libjansson*so* - lib/libnftables*so* source: https://git.netfilter.org/nftables source-tag: v1.0.9 source-type: git stage-packages: - libjansson4 nvidia-container: after: - libseccomp build-attributes: - core22-step-dependencies build-packages: - bmake - curl - lsb-release organize: usr/local/bin/nvidia-container-cli: bin/nvidia-container-cli.real usr/local/lib: lib/ override-build: |- set -ex [ "$(uname -m)" != "x86_64" ] && [ "$(uname -m)" != "aarch64" ] && exit 0 git config user.email "noreply@lists.canonical.com" git config user.name "LXD snap builder" mkdir -p "${SNAPCRAFT_PART_INSTALL}/bin/" cp ${SNAPCRAFT_PROJECT_DIR}/snapcraft/wrappers/nvidia-container-cli "${SNAPCRAFT_PART_INSTALL}/bin/" set +ex snapcraftctl build plugin: make prime: - bin/nvidia-container-cli* - lib/libnvidia-container*.so* source: https://github.com/NVIDIA/libnvidia-container source-depth: 1 source-tag: v1.14.3 source-type: git openvswitch: autotools-configure-parameters: - --enable-ssl - --prefix= build-attributes: - core22-step-dependencies organize: sbin/: bin/ usr/bin/: bin/ override-build: | set -ex git config user.email "noreply@lists.canonical.com" git config user.name "LXD snap builder" set +ex snapcraftctl build set -ex plugin: autotools prime: - bin/ovs-appctl - bin/ovs-vsctl - bin/ovs-vswitchd - bin/ovsdb-* - bin/uuidgen - share/openvswitch/ source: https://github.com/openvswitch/ovs source-depth: 1 source-tag: v3.2.1 source-type: git stage-packages: - uuid-runtime ovn: after: - openvswitch autotools-configure-parameters: - --enable-ssl - --prefix= - --with-ovs-source=../../openvswitch/build/ build-attributes: - core22-step-dependencies plugin: autotools prime: - bin/ovn-nbctl - bin/ovn-sbctl source: https://github.com/ovn-org/ovn source-depth: 1 source-tag: v23.09.1 source-type: git pull-meson-early: override-build: | # No-op true override-pull: | # Fetch meson early to cause all downloads at the beginning of the build. python3 -m pip install -U meson override-stage: | # No-op true plugin: nil source: snapcraft/empty qemu: after: - libseccomp - liburing - libusb - spice-protocol - spice-server autotools-configure-parameters: - --disable-bochs - --disable-cloop - --disable-dmg - --disable-docs - --disable-guest-agent - --disable-parallels - --disable-qed - --disable-slirp - --disable-user - --disable-vdi - --disable-vnc - --disable-xen - --enable-attr - --enable-cap-ng - --enable-kvm - --enable-libusb - --enable-usb-redir - --enable-linux-aio - --enable-linux-io-uring - --enable-numa - --enable-pie - --enable-rbd - --enable-seccomp - --enable-spice - --enable-system - --enable-tcg - --enable-tools - --enable-vhost-crypto - --enable-vhost-kernel - --enable-vhost-net - --enable-vhost-user - --enable-virtfs - --firmwarepath=/snap/lxd/current/share/qemu/ - --localstatedir=/var/ build-attributes: - core22-step-dependencies build-packages: - bison - flex - pkg-config - libaio-dev - libcap-ng-dev - libglib2.0-dev - libnuma-dev - libpixman-1-dev - librbd-dev - libusbredirhost-dev organize: usr/bin/: bin/ usr/lib/: lib/ usr/local/bin/: bin/ usr/local/lib/: lib/ usr/local/libexec/: bin/ usr/local/share/: share/ override-build: |- [ "$(uname -m)" != "x86_64" ] && [ "$(uname -m)" != "aarch64" ] && [ "$(uname -m)" != "ppc64le" ] && [ "$(uname -m)" != "s390x" ] && exit 0 set -ex # Mangle the configure a bit QEMUARCH="$(uname -m)" [ "${QEMUARCH}" = "ppc64le" ] && QEMUARCH="ppc64" sed -i "s/^unset target_list$/target_list=\"${QEMUARCH}-softmmu\"/" configure sed -i 's#libseccomp_minver=".*#libseccomp_minver="0.0"#g' configure set +ex snapcraftctl build override-pull: |- [ "$(uname -m)" != "x86_64" ] && [ "$(uname -m)" != "aarch64" ] && [ "$(uname -m)" != "ppc64le" ] && [ "$(uname -m)" != "s390x" ] && exit 0 set -ex git clone https://gitlab.com/qemu/qemu . -b v8.0.5 plugin: autotools prime: - bin/genisoimage* - bin/mkisofs* - bin/qemu-system-* - bin/qemu-img* - bin/virtfs-proxy-helper* - lib/*/libatomic.so* - lib/*/libmagic*so* - lib/*/libnuma*so* - lib/*/libpixman*so* - lib/*/libusbredir*so* - share/qemu/keymaps* - share/qemu/efi-virtio.rom* - share/qemu/kvmvapic.bin* - share/qemu/s390-*.img* - share/qemu/slof.bin* - share/qemu/vgabios-*.bin* source: IRRELEVANT source-depth: 1 source-tag: IRRELEVANT source-type: git stage-packages: - genisoimage - libatomic1 - libmagic1 - libnuma1 - libpixman-1-0 - libusbredirhost1 - libusbredirparser1 qemu-ovmf-secureboot: after: - edk2 - qemu build-attributes: - core22-step-dependencies build-packages: - xorriso override-build: |- [ "$(uname -m)" != "x86_64" ] && [ "$(uname -m)" != "aarch64" ] && exit 0 export ARCH="$(basename $(readlink -f ${SNAPCRAFT_STAGE}/lib/*-linux-gnu*/))" export LD_LIBRARY_PATH="${SNAPCRAFT_STAGE}/lib:${SNAPCRAFT_STAGE}/lib/${ARCH}" set -ex rm -Rf iso-root vfat-root shell.iso mkdir -p iso-root vfat-root/efi/boot cp ../../edk2/build/Build/*/*/*/Shell.efi vfat-root/efi/boot/bootx64.efi cp ../../edk2/build/Build/*/*/*/EnrollDefaultKeys.efi vfat-root/ "${SNAPCRAFT_STAGE}/bin/qemu-img" convert --image-opts driver=vvfat,floppy=on,fat-type=12,label=UEFI_SHELL,dir=vfat-root iso-root/shell.img xorriso --as mkisofs -input-charset ASCII -J -rational-rock -e shell.img -no-emul-boot -o shell.iso iso-root/ # Basic aarch64 support if [ "$(uname -m)" = "aarch64" ]; then sed -i ovmf-vars-generator \ -e "s/'-machine', machinetype,/'-machine', 'virt', '-cpu', 'cortex-a57',/" \ -e "/charserial1/d" \ -e "s/ide-cd/scsi-cd/" \ -e "s/'-device',$/'-device', 'virtio-scsi-pci,id=scsi', '-device',/" elif [ "$(uname -m)" = "x86_64" ]; then cp -f "${SNAPCRAFT_STAGE}/share/qemu/kvmvapic.bin" . fi mkdir -p "${SNAPCRAFT_PART_INSTALL}/share/qemu/" python3 ovmf-vars-generator \ --qemu-binary "${SNAPCRAFT_STAGE}/bin/qemu-system-$(uname -m)" \ --print-output --disable-smm --skip-testing \ --oem-string "$(cat ${SNAPCRAFT_PROJECT_DIR}/snapcraft/etc/ubuntu-sb.crt)" \ --ovmf-binary "${SNAPCRAFT_STAGE}/share/qemu/OVMF_CODE.fd" \ --ovmf-template-vars "${SNAPCRAFT_STAGE}/share/qemu/OVMF_VARS.fd" \ --uefi-shell-iso shell.iso \ "${SNAPCRAFT_PART_INSTALL}/share/qemu/OVMF_VARS.ms.fd" plugin: nil prime: - share/qemu/* source: https://github.com/puiterwijk/qemu-ovmf-secureboot source-commit: 4da81a4cbdd6d96b7a653239865d3b1d92cc6117 source-depth: 1 source-type: git raft: autotools-configure-parameters: - --prefix= build-attributes: - core22-step-dependencies build-packages: - libuv1-dev - liblz4-dev organize: usr/lib/: lib/ plugin: autotools prime: - lib/libraft*so* - lib/*/libuv.so* source: https://github.com/canonical/raft source-depth: 1 source-tag: v0.18.0 source-type: git stage-packages: - libuv1 - liblz4-1 shmounts: build-attributes: - core22-step-dependencies plugin: make prime: - bin/setup-shmounts source: shmounts/ snap-query: build-attributes: - core22-step-dependencies build-snaps: - go/1.21/stable override-build: | set -ex # Setup build environment export GOPATH=$(realpath ./.go) # Build the binaries go build -o "${SNAPCRAFT_PART_INSTALL}/bin/snap-query" snap-query.go plugin: nil prime: - bin/snap-query source: snap-query/ spice-protocol: build-attributes: - core22-step-dependencies plugin: meson prime: [] source: https://gitlab.freedesktop.org/spice/spice-protocol source-depth: 1 source-tag: v0.14.4 source-type: git spice-server: after: - spice-protocol build-attributes: - core22-step-dependencies build-packages: - libjpeg-turbo8-dev - python3-pyparsing - python3-six meson-parameters: - --prefix=/ - -Dgstreamer=no - -Dmanual=false - -Dlz4=false - -Dsasl=false - -Dopus=disabled - -Dsmartcard=disabled - -Dtests=false organize: sbin/: bin/ usr/lib: lib/ usr/local/lib/: lib/ plugin: meson prime: - lib/*/libjpeg*so* - lib/*/libspice-server*so* - lib/*/libpixman*so* source: https://gitlab.freedesktop.org/spice/spice source-depth: 1 source-tag: v0.15.2 source-type: git stage-packages: - libjpeg-turbo8 - libpixman-1-0 sqlite: autotools-configure-parameters: - --prefix= build-attributes: - core22-step-dependencies build-packages: - tcl plugin: autotools prime: - bin/sqlite3 - lib/libsqlite3*so* source: https://github.com/sqlite/sqlite source-depth: 1 source-tag: version-3.44.2 source-type: git squashfs-tools-ng: autotools-configure-parameters: - --prefix= build-attributes: - core22-step-dependencies build-packages: - liblzma-dev plugin: autotools prime: - bin/sqfs2tar - bin/tar2sqfs - lib/libsquashfs.so* source: https://github.com/AgentD/squashfs-tools-ng source-depth: 1 source-tag: v1.2.0 source-type: git strip: after: - btrfs - ceph - dqlite - libseccomp - logrotate - lvm - nano - nvidia-container - openvswitch - ovn - raft - sqlite - squashfs-tools-ng - swtpm - virtiofsd - xfs - xz - wrappers - xtables - zfs-0-6 - zfs-0-7 - zfs-0-8 - zfs-2-0 - zfs-2-1 - zfs-2-2 - zstd - lxc - lxcfs - criu - lxd - lxd-migrate - shmounts - snap-query build-attributes: - core22-step-dependencies override-prime: | set -x # XXX: remove unneeded files/directories rm -rf "${SNAPCRAFT_PRIME}/usr/local/" # Strip some of the heavy bits strip -s ${SNAPCRAFT_PRIME}/bin/lxc strip -s ${SNAPCRAFT_PRIME}/bin/lxd* strip -s ${SNAPCRAFT_PRIME}/bin/snap* strip -s ${SNAPCRAFT_PRIME}/lib/libdqlite* strip -s ${SNAPCRAFT_PRIME}/lib/libsqlite* # Strip binaries (excluding shell scripts) find "${SNAPCRAFT_PRIME}"/bin -type f \ -not -path "${SNAPCRAFT_PRIME}/bin/ceph" \ -not -path "${SNAPCRAFT_PRIME}/bin/editor" \ -not -path "${SNAPCRAFT_PRIME}/bin/lxc-checkconfig" \ -not -path "${SNAPCRAFT_PRIME}/bin/nvidia-container-cli" \ -not -path "${SNAPCRAFT_PRIME}/bin/remote-viewer" \ -not -path "${SNAPCRAFT_PRIME}/bin/sshfs" \ -not -path "${SNAPCRAFT_PRIME}/bin/upgrade-bridge" \ -not -path "${SNAPCRAFT_PRIME}/bin/xfs_admin" \ -exec strip -s {} + # Strip binaries not under bin/ due to being dynamically # added to the path with `snap set lxd`, like `criu.enable=true` for binary in "${SNAPCRAFT_PRIME}/criu/criu"; do [ -e "${binary}" ] || continue strip -s "${binary}" done # Strip all versions of zfs utils for v in "${SNAPCRAFT_PRIME}"/zfs-*; do [ -d "${v}" ] || continue find "${v}/" -type f -exec strip -s {} + done # Strip libraries (excluding python3 scripts) find "${SNAPCRAFT_PRIME}"/lib -type f \ -not -path "${SNAPCRAFT_PRIME}/lib/python3/*" \ -exec strip -s {} + # XXX: look for broken symlinks indicating missing/invalid prime broken_symlinks="$(find "${SNAPCRAFT_PRIME}/" -xtype l \ -not -path "${SNAPCRAFT_PRIME}/lxc/config/common.conf.d/*")" if [ -n "${broken_symlinks}" ]; then echo "Found broken symlinks:" echo "${broken_symlinks}" exit 1 fi exit 0 plugin: nil source: snapcraft/empty swtpm: after: - libseccomp - libtpms autotools-configure-parameters: - --prefix= - --with-seccomp - --with-openssl - --without-cuse build-attributes: - core22-step-dependencies build-packages: - expect - gawk - iproute2 - libjson-glib-dev - python3-cryptography - python3-setuptools - socat organize: lib/swtpm/: lib/ usr/bin/: bin/ usr/lib/: lib/ plugin: autotools prime: - bin/swtpm - lib/libswtpm*so* - lib/*/libjson-glib-1.0.so* source: https://github.com/stefanberger/swtpm source-depth: 1 source-tag: v0.8.1 source-type: git stage-packages: - libjson-glib-1.0-0 virtiofsd: build-attributes: - core22-step-dependencies build-packages: - cargo - libseccomp-dev - rustc organize: usr/bin: bin/ override-build: |- [ "$(uname -m)" != "x86_64" ] && [ "$(uname -m)" != "aarch64" ] && [ "$(uname -m)" != "ppc64le" ] && [ "$(uname -m)" != "s390x" ] && exit 0 snapcraftctl build override-pull: |- [ "$(uname -m)" != "x86_64" ] && [ "$(uname -m)" != "aarch64" ] && [ "$(uname -m)" != "ppc64le" ] && [ "$(uname -m)" != "s390x" ] && exit 0 snapcraftctl pull plugin: rust prime: - bin/virtiofsd* source: https://gitlab.com/virtio-fs/virtiofsd source-depth: 1 source-tag: v1.8.0 source-type: git wrappers: build-attributes: - core22-step-dependencies organize: hooks/: snap/hooks/ wrappers/editor: bin/ wrappers/remote-viewer: bin/ wrappers/sshfs: bin/ plugin: dump source: snapcraft/ xfs: build-attributes: - core22-step-dependencies organize: sbin/: bin/ usr/sbin/: bin/ plugin: nil prime: - bin/xfs_admin - bin/xfs_db - bin/xfs_growfs - bin/xfs_repair - bin/mkfs.xfs source: snapcraft/empty stage-packages: - xfsprogs xtables: build-attributes: - core22-step-dependencies organize: usr/lib/ebtables/: lib/ usr/sbin/: bin/ plugin: nil prime: - bin/arptables-legacy - bin/ebtables-legacy - etc/ethertypes - etc/protocols - lib/libebtc.so.* source: snapcraft/empty stage-packages: - arptables - ebtables xz: build-attributes: - core22-step-dependencies organize: usr/bin/: bin/ usr/lib/: lib/ usr/sbin/: bin/ override-build: | snapcraftctl build # Include the lzma symlink ln -s xz "${SNAPCRAFT_PART_INSTALL}/usr/bin/lzma" plugin: nil prime: - bin/lzma - bin/xz - lib/*/liblzma*so* source: snapcraft/empty stage-packages: - xz-utils zfs-0-6: autotools-configure-parameters: - --prefix=/ - --with-config=user build-attributes: - core22-step-dependencies build-packages: - uuid-dev - zlib1g-dev override-build: | set -ex [ "$(uname -m)" != "x86_64" ] && \ [ "$(uname -m)" != "aarch64" ] && \ [ "$(uname -m)" != "s390x" ] && \ [ "$(uname -m)" != "ppc64le" ] && exit 0 git config user.email "noreply@linuxcontainers.org" git config user.name "LXD snap builder" git cherry-pick fb963d33ee0dd350143ba1c9cd35d5f7d86910d2 # Fix endian build problem on ppc64el set +ex snapcraftctl build set -ex mv "${SNAPCRAFT_PART_INSTALL}" "${SNAPCRAFT_PART_INSTALL}.tmp" mkdir -p "${SNAPCRAFT_PART_INSTALL}/zfs-0.6/bin" "${SNAPCRAFT_PART_INSTALL}/zfs-0.6/lib" mv "${SNAPCRAFT_PART_INSTALL}.tmp/sbin/zfs" "${SNAPCRAFT_PART_INSTALL}/zfs-0.6/bin/" mv "${SNAPCRAFT_PART_INSTALL}.tmp/sbin/zpool" "${SNAPCRAFT_PART_INSTALL}/zfs-0.6/bin/" mv "${SNAPCRAFT_PART_INSTALL}.tmp/lib/udev/zvol_id" "${SNAPCRAFT_PART_INSTALL}/zfs-0.6/bin/" mv "${SNAPCRAFT_PART_INSTALL}.tmp/lib/"*so* "${SNAPCRAFT_PART_INSTALL}/zfs-0.6/lib/" rm -Rf "${SNAPCRAFT_PART_INSTALL}.tmp" plugin: autotools source: https://github.com/openzfs/zfs source-tag: zfs-0.6.5.11 source-type: git zfs-0-7: autotools-configure-parameters: - --prefix=/ - --with-config=user build-attributes: - core22-step-dependencies build-packages: - libblkid-dev - uuid-dev - zlib1g-dev override-build: | set -ex [ "$(uname -m)" != "x86_64" ] && \ [ "$(uname -m)" != "aarch64" ] && \ [ "$(uname -m)" != "s390x" ] && \ [ "$(uname -m)" != "ppc64le" ] && exit 0 set +ex snapcraftctl build set -ex mv "${SNAPCRAFT_PART_INSTALL}" "${SNAPCRAFT_PART_INSTALL}.tmp" mkdir -p "${SNAPCRAFT_PART_INSTALL}/zfs-0.7/bin" "${SNAPCRAFT_PART_INSTALL}/zfs-0.7/lib" mv "${SNAPCRAFT_PART_INSTALL}.tmp/sbin/zfs" "${SNAPCRAFT_PART_INSTALL}/zfs-0.7/bin/" mv "${SNAPCRAFT_PART_INSTALL}.tmp/sbin/zpool" "${SNAPCRAFT_PART_INSTALL}/zfs-0.7/bin/" mv "${SNAPCRAFT_PART_INSTALL}.tmp/lib/udev/zvol_id" "${SNAPCRAFT_PART_INSTALL}/zfs-0.7/bin/" mv "${SNAPCRAFT_PART_INSTALL}.tmp/lib/"*so* "${SNAPCRAFT_PART_INSTALL}/zfs-0.7/lib/" rm -Rf "${SNAPCRAFT_PART_INSTALL}.tmp" plugin: autotools source: https://github.com/openzfs/zfs source-depth: 1 source-tag: zfs-0.7.13 source-type: git zfs-0-8: autotools-configure-parameters: - --prefix=/ - --with-config=user build-attributes: - core22-step-dependencies build-packages: - libblkid-dev - libssl-dev - uuid-dev - zlib1g-dev override-build: | set -ex [ "$(uname -m)" != "x86_64" ] && \ [ "$(uname -m)" != "aarch64" ] && \ [ "$(uname -m)" != "s390x" ] && \ [ "$(uname -m)" != "ppc64le" ] && exit 0 set +ex snapcraftctl build set -ex mv "${SNAPCRAFT_PART_INSTALL}" "${SNAPCRAFT_PART_INSTALL}.tmp" mkdir -p "${SNAPCRAFT_PART_INSTALL}/zfs-0.8/bin" "${SNAPCRAFT_PART_INSTALL}/zfs-0.8/lib" mv "${SNAPCRAFT_PART_INSTALL}.tmp/sbin/zfs" "${SNAPCRAFT_PART_INSTALL}/zfs-0.8/bin/" mv "${SNAPCRAFT_PART_INSTALL}.tmp/sbin/zpool" "${SNAPCRAFT_PART_INSTALL}/zfs-0.8/bin/" mv "${SNAPCRAFT_PART_INSTALL}.tmp/lib/udev/zvol_id" "${SNAPCRAFT_PART_INSTALL}/zfs-0.8/bin/" mv "${SNAPCRAFT_PART_INSTALL}.tmp/lib/"*so* "${SNAPCRAFT_PART_INSTALL}/zfs-0.8/lib/" rm -Rf "${SNAPCRAFT_PART_INSTALL}.tmp" plugin: autotools source: https://github.com/openzfs/zfs source-depth: 1 source-tag: zfs-0.8.6 source-type: git zfs-2-0: autotools-configure-parameters: - --prefix=/ - --with-config=user build-attributes: - core22-step-dependencies build-packages: - libblkid-dev - libssl-dev - uuid-dev - zlib1g-dev override-build: | set -ex [ "$(uname -m)" != "x86_64" ] && \ [ "$(uname -m)" != "aarch64" ] && \ [ "$(uname -m)" != "s390x" ] && \ [ "$(uname -m)" != "ppc64le" ] && exit 0 set +ex snapcraftctl build set -ex mv "${SNAPCRAFT_PART_INSTALL}" "${SNAPCRAFT_PART_INSTALL}.tmp" mkdir -p "${SNAPCRAFT_PART_INSTALL}/zfs-2.0/bin" "${SNAPCRAFT_PART_INSTALL}/zfs-2.0/lib" mv "${SNAPCRAFT_PART_INSTALL}.tmp/sbin/zfs" "${SNAPCRAFT_PART_INSTALL}/zfs-2.0/bin/" mv "${SNAPCRAFT_PART_INSTALL}.tmp/sbin/zpool" "${SNAPCRAFT_PART_INSTALL}/zfs-2.0/bin/" mv "${SNAPCRAFT_PART_INSTALL}.tmp/lib/udev/zvol_id" "${SNAPCRAFT_PART_INSTALL}/zfs-2.0/bin/" mv "${SNAPCRAFT_PART_INSTALL}.tmp/lib/"*so* "${SNAPCRAFT_PART_INSTALL}/zfs-2.0/lib/" rm -Rf "${SNAPCRAFT_PART_INSTALL}.tmp" plugin: autotools source: https://github.com/openzfs/zfs source-depth: 1 source-tag: zfs-2.0.7 source-type: git zfs-2-1: autotools-configure-parameters: - --prefix=/ - --with-config=user build-attributes: - core22-step-dependencies build-packages: - libblkid-dev - libssl-dev - uuid-dev - zlib1g-dev override-build: | set -ex [ "$(uname -m)" != "x86_64" ] && \ [ "$(uname -m)" != "aarch64" ] && \ [ "$(uname -m)" != "s390x" ] && \ [ "$(uname -m)" != "ppc64le" ] && exit 0 set +ex snapcraftctl build set -ex mv "${SNAPCRAFT_PART_INSTALL}" "${SNAPCRAFT_PART_INSTALL}.tmp" mkdir -p "${SNAPCRAFT_PART_INSTALL}/zfs-2.1/bin" "${SNAPCRAFT_PART_INSTALL}/zfs-2.1/lib" mv "${SNAPCRAFT_PART_INSTALL}.tmp/sbin/zfs" "${SNAPCRAFT_PART_INSTALL}/zfs-2.1/bin/" mv "${SNAPCRAFT_PART_INSTALL}.tmp/sbin/zpool" "${SNAPCRAFT_PART_INSTALL}/zfs-2.1/bin/" mv "${SNAPCRAFT_PART_INSTALL}.tmp/lib/udev/zvol_id" "${SNAPCRAFT_PART_INSTALL}/zfs-2.1/bin/" mv "${SNAPCRAFT_PART_INSTALL}.tmp/lib/"*so* "${SNAPCRAFT_PART_INSTALL}/zfs-2.1/lib/" rm -Rf "${SNAPCRAFT_PART_INSTALL}.tmp" plugin: autotools source: https://github.com/openzfs/zfs source-depth: 1 source-tag: zfs-2.1.14 source-type: git zfs-2-2: autotools-configure-parameters: - --prefix=/ - --with-config=user build-attributes: - core22-step-dependencies build-packages: - libblkid-dev - libssl-dev - uuid-dev - zlib1g-dev override-build: |- [ "$(uname -m)" != "x86_64" ] && \ [ "$(uname -m)" != "aarch64" ] && \ [ "$(uname -m)" != "s390x" ] && \ [ "$(uname -m)" != "ppc64le" ] && exit 0 snapcraftctl build set -ex ZFS_VER="2.2" mv "${SNAPCRAFT_PART_INSTALL}" "${SNAPCRAFT_PART_INSTALL}.tmp" mkdir -p "${SNAPCRAFT_PART_INSTALL}/zfs-${ZFS_VER}/bin" "${SNAPCRAFT_PART_INSTALL}/zfs-${ZFS_VER}/lib" mv "${SNAPCRAFT_PART_INSTALL}.tmp/sbin/zfs" "${SNAPCRAFT_PART_INSTALL}/zfs-${ZFS_VER}/bin/" mv "${SNAPCRAFT_PART_INSTALL}.tmp/sbin/zpool" "${SNAPCRAFT_PART_INSTALL}/zfs-${ZFS_VER}/bin/" mv "${SNAPCRAFT_PART_INSTALL}.tmp/lib/udev/zvol_id" "${SNAPCRAFT_PART_INSTALL}/zfs-${ZFS_VER}/bin/" mv "${SNAPCRAFT_PART_INSTALL}.tmp/lib/"*so* "${SNAPCRAFT_PART_INSTALL}/zfs-${ZFS_VER}/lib/" rm -Rf "${SNAPCRAFT_PART_INSTALL}.tmp" override-pull: |- [ "$(uname -m)" != "x86_64" ] && \ [ "$(uname -m)" != "aarch64" ] && \ [ "$(uname -m)" != "s390x" ] && \ [ "$(uname -m)" != "ppc64le" ] && exit 0 snapcraftctl pull plugin: autotools source: https://github.com/openzfs/zfs source-depth: 1 source-tag: zfs-2.2.2 source-type: git zstd: build-attributes: - core22-step-dependencies organize: usr/bin/: bin/ plugin: nil prime: - bin/pzstd - bin/zstd source: snapcraft/empty stage-packages: - zstd source-code: https://github.com/canonical/lxd summary: LXD - container and VM manager version: 5.0.3-80aeff7 website: https://ubuntu.com/lxd