Server : Apache/2.4.41 (Ubuntu) System : Linux journalup 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /snap/lxd/29619/snap/ |
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 assumes: - snapd2.39 base: core20 confinement: strict contact: [email protected] 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.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] - openvswitch.builtin: Run a snap-specific OVS daemon [default=false] - openvswitch.external: Use the system's OVS tools (ignores openvswitch.builtin) [default=false] - shiftfs.enable: Enable shiftfs support [default=auto] 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: organize: sbin/: bin/ plugin: nil prime: - bin/btrfs - bin/btrfstune - bin/mkfs.btrfs source: snapcraft/empty stage-packages: - btrfs-progs ceph: organize: usr/bin/: bin/ usr/lib/: lib/ plugin: nil prime: - bin/ceph - bin/rbd - lib/*/ceph - lib/*/libatomic.so* - lib/*/libboost_iostreams.so* - lib/*/libboost_program_options.so* - lib/*/libboost_thread.so* - lib/*/libcephfs* - lib/*/libibverbs.so* - lib/*/librados.so* - lib/*/librbd.so* - lib/*/librdmacm.so* - lib/*/libsnappy.so* - lib/python3 source: snapcraft/empty stage-packages: - ceph-common criu: 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.17.1 source-type: git stage-packages: - libnet1 - libprotobuf-c1 dqlite: after: - raft - sqlite autotools-configure-parameters: - --prefix= build-packages: - libuv1-dev organize: usr/lib/: lib/ plugin: autotools prime: - lib/libdqlite*so* - lib/*/libuv* source: https://github.com/canonical/dqlite source-commit: 50ee9af350b2fb4e79f9eb58db22c8a0927138de source-depth: 1 source-type: git stage-packages: - libuv1 edk2: after: - nasm build-packages: - on amd64: - acpica-tools - nasm - uuid-dev - on arm64: - acpica-tools - nasm - 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 "[email protected]" 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= 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= 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.4 source-type: git libseccomp: autotools-configure-parameters: - --prefix= 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.4 source-type: git liburing: autotools-configure-parameters: - --prefix= 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.3 source-type: git libusb: autotools-configure-parameters: - --prefix= 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: 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: 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 autotools-configure-parameters: - --prefix= - --disable-api-docs - --disable-bash - --disable-doc - --disable-examples - --disable-memfd-rexec - --disable-tests - --disable-tools - --enable-apparmor - --enable-seccomp - --enable-selinux - --enable-capabilities - --with-rootfs-path=/var/snap/lxd/common/lxc/ - --libexecdir=/snap/lxd/current/libexec/ build-packages: - libapparmor-dev - libcap-dev - libgnutls28-dev - libselinux1-dev - pkg-config organize: share/lxc/hooks: lxc/hooks snap/lxd/current/libexec: libexec snap/lxd/current/lxc: lxc override-build: | set -ex git config user.email "[email protected]" git config user.name "LXD snap builder" git cherry-pick ca4c25c6e9ebb92f9e241ef9a231d4a715cb812d # lxc-net: don't start by default inside lxc git cherry-pick f314419d1e054f7833b6976ec5ed32373aace622 # lxc-checkconfig: Fix bashism git cherry-pick 71ba7f65616e72a313e2a41615e449178da9daf2 # doc: Fix reverse allowlist/denylist git cherry-pick f7446b4e10d71f79f9f3952255608268842ee1f3 # cgroups: check that opened file descriptor is a cgroup filesystem git cherry-pick f1c4a17e7df5d819b1b170917865e2e458c8e5db # cgroups: log fd of newly created cgroup git cherry-pick 8ef019a6ce2555f7b438b3841ab5216e5d6973ba # doc: Fix reverse allowlist/denylist in Japanese man page git cherry-pick 3b9f84fd2397d06782bbf67dc8421463c43ab139 # ttys: ensure container_ttys= env variable is set correctly git cherry-pick 5ba5725cb4a210c25707beeca64fde5f561d1c71 # cgroups: modify cgroup2 attach logic 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 sed -i "s#includedir=.*#includedir=$SNAPCRAFT_PART_INSTALL/include#g" $SNAPCRAFT_PART_INSTALL/lib/pkgconfig/lxc.pc sed -i "s#libdir=.*#libdir=$SNAPCRAFT_PART_INSTALL/lib#g" $SNAPCRAFT_PART_INSTALL/lib/pkgconfig/lxc.pc plugin: autotools 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-4.0.12 source-type: git lxcfs: autotools-configure-parameters: - --prefix= - --datarootdir=/snap/lxd/current/ - --localstatedir=/var/snap/lxd/common/var/ build-packages: - libfuse-dev - libpam0g-dev - pkg-config organize: lib/lxcfs: lib snap/lxd/current/lxc: lxc snap/lxd/current/lxcfs: lxcfs override-build: | set -ex git config user.email "[email protected]" git config user.name "LXD snap builder" set +ex snapcraftctl build set -ex sed -i "s#\${LXC_ROOTFS_MOUNT}/var/snap/lxd/common/var/lib/lxcfs/#\${LXC_ROOTFS_MOUNT}/var/lib/lxcfs/#g" $SNAPCRAFT_PART_INSTALL/snap/lxd/current/lxcfs/lxc.mount.hook patch -p1 $SNAPCRAFT_PART_INSTALL/snap/lxd/current/lxcfs/lxc.mount.hook < "${SNAPCRAFT_PROJECT_DIR}/patches/lxcfs-0001-hook.patch" plugin: autotools prime: - bin/fusermount - lib/*/libfuse.so.* - bin/lxcfs - lib/liblxcfs.so - lxc - lxcfs source: https://github.com/lxc/lxcfs source-tag: lxcfs-4.0.12 source-type: git stage-packages: - fuse lxd: after: - lxc - dqlite - sqlite build-packages: - libacl1-dev - libudev-dev - pkg-config build-snaps: - go/1.18/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 "[email protected]" git config user.name "LXD snap builder" # 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 # 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/unsquashfs - 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 source: https://github.com/canonical/lxd source-commit: 2eacddbb65acf10b2fcea4ee92374a90d2376dc4 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-snaps: - go/1.18/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/ nano: organize: usr/bin/: bin/ plugin: nil prime: - bin/nano - etc/nanorc source: snapcraft/empty stage-packages: - nano nasm: autotools-configure-parameters: - --prefix= 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-packages: - libedit-dev - libjansson-dev - libreadline-dev organize: sbin/: bin/ usr/lib/: lib/ override-build: | set -ex git config user.email "[email protected]" 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.5 source-type: git stage-packages: - libjansson4 nvidia-container: after: - libseccomp 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 "[email protected]" 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.11.0 source-type: git openvswitch: autotools-configure-parameters: - --enable-ssl - --prefix= organize: sbin/: bin/ usr/bin/: bin/ override-build: | set -ex git config user.email "[email protected]" 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.0.1 source-type: git stage-packages: - uuid-runtime 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-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 v7.1.0 plugin: autotools prime: - bin/genisoimage* - bin/mkisofs* - bin/qemu-system-* - bin/qemu-img* - bin/virtfs-proxy-helper* - bin/virtiofsd* - 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 - libmagic1 - libnuma1 - libpixman-1-0 - libusbredirhost1 - libusbredirparser1 qemu-ovmf-secureboot: after: - edk2 - qemu 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-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-commit: abf9c42a9bb63c24920ab9f0bfbc4b7a47e7e5f4 source-depth: 1 source-type: git stage-packages: - libuv1 - liblz4-1 shmounts: plugin: make prime: - bin/setup-shmounts source: shmounts/ snap-query: build-snaps: - go/1.18/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: 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-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.1 source-type: git stage-packages: - libjpeg-turbo8 - libpixman-1-0 sqlite: autotools-configure-parameters: - --prefix= build-packages: - tcl plugin: autotools prime: - bin/sqlite3 - lib/libsqlite3*so* source: https://github.com/sqlite/sqlite source-depth: 1 source-tag: version-3.40.0 source-type: git squashfs-tools-ng: autotools-configure-parameters: - --prefix= 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.1.4 source-type: git strip: after: - btrfs - ceph - dqlite - libseccomp - logrotate - lvm - nano - nvidia-container - openvswitch - raft - sqlite - squashfs-tools-ng - vim - xfs - xz - zfs-0-6 - zfs-0-7 - zfs-0-8 - zfs-2-0 - zfs-2-1 - lxc - lxcfs - criu - lxd - lxd-migrate - shmounts - snap-query override-prime: | set -x # 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/liblxc* strip -s ${SNAPCRAFT_PRIME}/lib/libdqlite* strip -s ${SNAPCRAFT_PRIME}/lib/libsqlite* for zfs in zfs-0.6 zfs-0.7 zfs-0.8 zfs-2.0 zfs-2.1; do [ ! -d "${SNAPCRAFT_PRIME}/${zfs}" ] && continue strip -s ${SNAPCRAFT_PRIME}/${zfs}/bin/* ${SNAPCRAFT_PRIME}/${zfs}/lib/* done [ -e "${SNAPCRAFT_PRIME}/criu/criu" ] && strip -s ${SNAPCRAFT_PRIME}/criu/criu exit 0 plugin: nil source: snapcraft/empty vim: organize: usr/bin/: bin/ usr/share/vim/vim*/debian.vim: etc/vimrc plugin: nil prime: - bin/vim.tiny - etc/vimrc source: snapcraft/empty stage-packages: - vim-common - vim-tiny wrappers: organize: hooks/: snap/hooks/ wrappers/editor: bin/ wrappers/remote-viewer: bin/ plugin: dump source: snapcraft/ xfs: 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: 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: 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-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 "[email protected]" 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-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-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-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-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.15 source-type: git zstd: 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: 4.0.10-e664786 website: https://ubuntu.com/lxd