Linux lhjmq-records 5.15.0-118-generic #128-Ubuntu SMP Fri Jul 5 09:28:59 UTC 2024 x86_64
Your IP : 3.146.37.242
Current Path : /snap/lxd/31333/snap/ |
| Current File : //snap/lxd/31333/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:
apparmor:
build-attributes:
- core22-step-dependencies
build-packages:
- g++
- bison
- flex
- autoconf-archive
- gettext
override-build: |-
set -ex
cd ./libraries/libapparmor
sh ./autogen.sh
sh ./configure --prefix=/
make
make install
cd ../../parser
make
make install
mkdir "${SNAPCRAFT_PART_INSTALL}/bin"
cp /sbin/apparmor_parser "${SNAPCRAFT_PART_INSTALL}/bin/"
mkdir "${SNAPCRAFT_PART_INSTALL}/lib"
cp /lib/libapparmor.so* "${SNAPCRAFT_PART_INSTALL}/lib/"
mkdir "${SNAPCRAFT_PART_INSTALL}/lib/pkgconfig"
cp /lib/pkgconfig/libapparmor.pc "${SNAPCRAFT_PART_INSTALL}/lib/pkgconfig/"
set +ex
plugin: autotools
prime:
- bin/apparmor_parser
- lib/libapparmor.so.1
- lib/libapparmor.so.1.*
source: https://gitlab.com/apparmor/apparmor.git
source-commit: 84a6bc1b6dcdfeabb1ed3597f01e314f3bcee5c1
source-depth: 1
source-type: git
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-commit: f8b14286b092853a4485813e1efd564109df9123
source-depth: 1
source-type: git
stage-packages:
- libnet1
- libprotobuf-c1
dqlite:
after:
- sqlite
autotools-configure-parameters:
- --prefix=
- --enable-build-raft
build-attributes:
- core22-step-dependencies
build-packages:
- liblz4-dev
- libuv1-dev
organize:
usr/lib/: lib/
plugin: autotools
prime:
- lib/libdqlite*so*
- lib/*/libuv*
source: https://github.com/canonical/dqlite
source-commit: 769a5ae21156ea7b1f01a937f80a3da60eb6a1bb
source-depth: 1
source-type: git
stage-packages:
- liblz4-1
- 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
# 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
# Pull submodules after switching to source-commit
git submodule update --init --recursive
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-commit: 493aacf2ec9cc61a5b30d77cd55ec248f033bc74
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-commit: 116e95aa7b6358c917de8c69f6f173874030b46b
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-commit: f0b04ab0b4fc0bc2cde6da1f407b4a487fe6d78f
source-depth: 1
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-commit: f8c2dc7e12a730dcca4220d7ac5ad86d13dfd630
source-depth: 1
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-commit: d52e355daa09f17ce64819122cb067b8a2ee0d4b
source-depth: 1
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:
- apparmor
- libseccomp
build-attributes:
- core22-step-dependencies
build-packages:
- 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-commit: cb8e38aca27a23964941f0f011a8919aab8bebab
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-commit: c1e2f51fbd97f042434f098d1d0f8e47ade5ad2a
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.23/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"
# 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"
# Switch dqlite to 1.16.5 and go-dqlite to 1.21.0 (known good from LXD v5.21.2)
# whilst crashes with go-dqlite v2 or dqlite 1.17 LTS are resolved.
git config user.email "noreply@lists.canonical.com"
git config user.name "LXD snap builder"
git revert e8a5357c63fb51b814e5d262479cc928fcba710d # Revert switch to go-dqlite v2
go get github.com/canonical/go-dqlite@v1.21.0 # Switch back to go-dqlite v1
go mod tidy
# Download the dependencies
go get -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-commit: 2101d7f6efdaa7762e6593c857cb524bfcd2859b
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.23/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-depth: 1
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-commit: d946842f576b422972212a2b83601bbd6204337c
source-type: git
stage-packages:
- libjansson4
nvidia-container:
after:
- libseccomp
build-attributes:
- core22-step-dependencies
build-environment:
- GIT_TAG: 1.16.1
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-commit: 4c2494f16573b585788a42e9c7bee76ecd48c73d
source-depth: 1
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-commit: 6c4da8cc29565506beacca16ac97645ae851009a
source-depth: 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-commit: 41836afafd99d579bb277f638a31bffd5cf3efa3
source-depth: 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
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.23/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-commit: 6f453a775d87087c6ba59fc180c1a1e466631a47
source-depth: 1
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-commit: 0c2c1413a8b387ea597a95b6c867470a7c56c8ab
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-commit: f3d536d37825302e31ed0eddd811c689f38f85a3
source-depth: 1
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-commit: 8f9966c8ea3ea8a854941d041e7fcb9eb4f772fb
source-depth: 1
source-type: git
strip:
after:
- btrfs
- ceph
- dqlite
- libseccomp
- logrotate
- lvm
- nano
- nvidia-container
- openvswitch
- ovn
- 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-commit: f756ee8a281ddff7e09b49e1ef00d5cbb42abb63
source-depth: 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-commit: d20f4d698c14ada07ea9ff5cb7050c2c4703ff66
source-depth: 1
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-commit: 2bc71fa976bf34b41313928fd42e4d41f0c9cd1a
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-commit: a8c2b7ebc64d23ffe15e2b168aa0bea7a4897133
source-depth: 1
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-commit: 2bc66898b7056140108a4937a6557d9fe27cafc6
source-depth: 1
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-commit: ad81baab7779cd2113669d30de72bb925e684525
source-depth: 1
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-commit: fb6d532066f23458f768a97ae94b158c42cbe484
source-depth: 1
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-commit: baa50314567afd986a00838f0fa65fdacbd12daf
source-depth: 1
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.4-497fe1e
website: https://ubuntu.com/lxd
|