buildroot:lxd-lts
LXD-LTS
Daemon based on liblxc offering a REST API to manage containers
| runtime dependencies | dnsmasq (Networking applications) |
|---|---|
| iptables (Networking applications) | |
| libuv (Libraries/Other) | |
| lxcfs (System tools) | |
| lxc (System tools) | |
| squashfs (Filesystem and flash utilities) | |
| dqlite | |
| make dependencies | apparmor (Security) |
| git (Development tools) | |
| lxc (System tools) | |
| dqlite | |
| go | |
| libuv1-dev | |
| libsqlite3-dev |
mkdir /data/buildroot/package/lxd-lts
cat > /data/buildroot/package/lxd-lts/Config.in<< 'EOF'
config BR2_PACKAGE_LXD_LTS
bool "lxd-lts"
depends on BR2_PACKAGE_LXC
depends on BR2_PACKAGE_SQUASHFS
depends on BR2_PACKAGE_DNSMASQ
depends on BR2_PACKAGE_DQLITE
select BR2_PACKAGE_GO
help
REST API, command line tool and OpenStack integration plugin for LXC.
EOF
cat > /data/buildroot/package/lxd-lts/lxd-lts.mk<< 'EOF'
#############################################################
#
# lxd-lts
#
#############################################################
LXD_LTS_VERSION = 4.24
LXD_LTS_SITE = $(call github,lxc,lxd,$(LXD_LTS_VERSION))
$(eval $(golang-package))
EOF
cat > /data/buildroot/package/lxd-lts/lxd-lts.mk<< 'EOF'
#############################################################
#
# lxd-lts
# https://github.com/lxc/$_gitpkgname/archive/$_gitpkgname-$pkgver.tar.gz
# md5sums= 'cd7a65106aa7205081646bd7cb96610a'
# + "lxd.service" 'a95280cf05920bd561cae451acb5b27d'
# + "lxd.socket" 'dfa7033fc39632af0f2c7e26ee966789'
# + "dnsmasq-lxd.conf" 'b1fd16933c1b24aaa9ccc8f5a0e6478c'
# + "dnsmasq@lxd.service" '15ae1bc51684d611bded2839ca55a37b'
# + "lxd.netctl" '52c641ea0ba5477f5c1a1b857c03dda9'
# + "dbus-dnsmasq-lxd.conf" 'c86b8c441ab014340186acc7799096f2'
# + "networkmanager-dnsmasq-lxd.conf" '427926fddb1537f7a65d0a7274106df5'
#############################################################
LXD_LTS_VERSION = 4.24
LXD_LTS_SOURCE = lxd-$(LXD_LTS_VERSION).tar.gz
LXD_LTS_SITE = https://github.com/lxc/lxd/archive/refs/tags
LXD_LTS_DEPENDENCIES = lxc squashfs dnsmasq dqlite
LXD_LTS_BIN_ARCH_EXCLUDE = /usr/lib
define LXD_LTS_CONFIGURE_CMDS
wget https://go.dev/dl/go1.18.linux-arm64.tar.gz -O /go1.18.linux-arm64.tar.gz
cd / &&\
tar -zxf go1.18.linux-arm64.tar.gz && \
mkdir $(@D)/go
export PATH=$(PATH):/go/bin
endef
define LXD_LTS_BUILD_CMDS
cd "$(@D)/" && \
git clone https://aur.archlinux.org/lxd-lts.git && \
GOROOT=/go GOPATH=$(@D)/go PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig/" make
endef
define LXD_LTS_INSTALL_TARGET_CMDS
mkdir -p "$(TARGET_DIR)/usr/bin"
mkdir -p "$(TARGET_DIR)/usr/lib/lxd"
mkdir -p "$(TARGET_DIR)/usr/share/bash-completion/completions"
install -p -m755 "/go/bin/"* "$(TARGET_DIR)/usr/bin"
install -p -m755 "$(@D)/go/bin/"* "$(TARGET_DIR)/usr/bin"
install -D -m644 "$(@D)/lxd-lts/lxd.service" \
"$(TARGET_DIR)/usr/lib/systemd/system/lxd.service"
install -D -m644 "$(@D)/lxd-lts/lxd.socket" \
"$(TARGET_DIR)/usr/lib/systemd/system/lxd.socket"
install -p -m755 "$(@D)/scripts/bash/lxd-client" \
"$(TARGET_DIR)/usr/share/bash-completion/completions/lxd"
mkdir -p "$(TARGET_DIR)/usr/share/lxd/"
mkdir -p "$(TARGET_DIR)/usr/share/lxd/systemd/system/"
mkdir -p "$(TARGET_DIR)/usr/share/lxd/netctl/"
mkdir -p "$(TARGET_DIR)/usr/share/lxd/dbus-1/system.d/"
mkdir -p "$(TARGET_DIR)/usr/share/lxd/NetworkManager/dnsmasq.d/"
install -Dm644 "$(@D)/lxd-lts/dnsmasq-lxd.conf" \
"$(TARGET_DIR)/usr/share/lxd/dnsmasq-lxd.conf"
install -Dm644 "$(@D)/lxd-lts/dnsmasq@lxd.service" \
"$(TARGET_DIR)/usr/share/lxd/systemd/system/dnsmasq@lxd.service"
install -Dm644 "$(@D)/lxd-lts/lxd.netctl" \
"$(TARGET_DIR)/usr/share/lxd/netctl/lxd"
install -Dm644 "$(@D)/lxd-lts/dbus-dnsmasq-lxd.conf" \
"$(TARGET_DIR)/usr/share/lxd/dbus-1/system.d/dnsmasq-lxd.conf"
install -Dm644 "$(@D)/lxd-lts/networkmanager-dnsmasq-lxd.conf" \
"$(TARGET_DIR)/usr/share/lxd/NetworkManager/dnsmasq.d/lxd.conf"
endef
$(eval $(generic-package))
EOF
sed -i '/menu "Custom packages"/a source "package/lxd-lts/Config.in"' /data/buildroot/package/Config.in
buildroot/lxd-lts.txt · Last modified: 2025/02/19 10:59 by 127.0.0.1
