[-- Attachment #1: Type: text/plain, Size: 1435 bytes --] There is a new pull request by CameronNemo against master on the void-packages repository https://github.com/CameronNemo/void-packages lxd https://github.com/void-linux/void-packages/pull/36824 lxd - lxd-lts: remove package - raft: update to 0.13.0 - dqlite: update to 1.10.0 - lxd: update to 5.0.0 <!-- Uncomment relevant sections and delete options which are not applicable --> #### Testing the changes - I tested the changes in this PR: **YES** I tested creating/launching an Ubuntu container, including a container created prior to the upgrade from LXD 4.19. I tested on x86_64 only. <!-- #### New package - This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): **YES**|**NO** --> <!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration and test at least one native build and, if supported, at least one cross build. Ignore this section if this PR is not skipping CI. --> <!-- #### Local build testing - I built this PR locally for my native architecture, (ARCH-LIBC) - I built this PR locally for these architectures (if supported. mark crossbuilds): - aarch64-musl - armv7l - armv6l-musl --> A patch file from https://github.com/void-linux/void-packages/pull/36824.patch is attached [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: github-pr-lxd-36824.patch --] [-- Type: text/x-diff, Size: 8302 bytes --] From 57f94677c5627b7af96ff6fe3f0643a3670364cb Mon Sep 17 00:00:00 2001 From: Cameron Nemo <cnemo@tutanota.com> Date: Fri, 22 Apr 2022 19:42:22 -0700 Subject: [PATCH 1/4] lxd-lts: remove package I do not have the bandwidth to maintain two versions, and the LTS version has a conflicting dependency with the non-LTS version. --- srcpkgs/lxd-lts/INSTALL.msg | 11 --------- srcpkgs/lxd-lts/files/lxd/run | 9 ------- srcpkgs/lxd-lts/template | 39 ------------------------------- srcpkgs/removed-packages/template | 3 ++- 4 files changed, 2 insertions(+), 60 deletions(-) delete mode 100755 srcpkgs/lxd-lts/INSTALL.msg delete mode 100755 srcpkgs/lxd-lts/files/lxd/run delete mode 100644 srcpkgs/lxd-lts/template diff --git a/srcpkgs/lxd-lts/INSTALL.msg b/srcpkgs/lxd-lts/INSTALL.msg deleted file mode 100755 index 966174f8132d..000000000000 --- a/srcpkgs/lxd-lts/INSTALL.msg +++ /dev/null @@ -1,11 +0,0 @@ -Start lxd service: - - $ sudo ln -s /etc/sv/lxd /var/service - -Run LXD initialization: - - $ sudo lxd init - -To use lxd client your user must be added to the 'lxd' group: - - $ sudo usermod -aG lxd <username> diff --git a/srcpkgs/lxd-lts/files/lxd/run b/srcpkgs/lxd-lts/files/lxd/run deleted file mode 100755 index 147eb64e74dc..000000000000 --- a/srcpkgs/lxd-lts/files/lxd/run +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh -_systemd_cgrp="/sys/fs/cgroup/systemd" -if [ ! -d ${_systemd_cgrp} ]; then - mkdir ${_systemd_cgrp} -fi -if ! mountpoint -q "${_systemd_cgrp}"; then - mount -t cgroup -o none,name=systemd cgroup ${_systemd_cgrp} -fi -exec lxd --group lxd 2>&1 diff --git a/srcpkgs/lxd-lts/template b/srcpkgs/lxd-lts/template deleted file mode 100644 index 42e8a958093f..000000000000 --- a/srcpkgs/lxd-lts/template +++ /dev/null @@ -1,39 +0,0 @@ -# Template file for 'lxd-lts' -pkgname=lxd-lts -version=4.0.4 -revision=1 -wrksrc="lxd-$version" -build_style=go -go_import_path="github.com/lxc/lxd" -go_build_tags="libsqlite3" -go_package="${go_import_path}/lxd ${go_import_path}/lxc - ${go_import_path}/lxd-p2c ${go_import_path}/fuidshift" -hostmakedepends="pkg-config" -makedepends="lxc-devel acl-devel dqlite-devel eudev-libudev-devel" -depends="lxc acl acl-progs rsync squashfs-tools xz dnsmasq iptables" -short_desc="Next generation system container manager (long term support channel)" -maintainer="Cameron Nemo <cnemo@tutanota.com>" -license="Apache-2.0" -homepage="https://linuxcontainers.org/lxd" -distfiles="https://linuxcontainers.org/downloads/lxd/${wrksrc}.tar.gz" -checksum=372a666b84c7cbcb7ccbffbf4aa04a05b2fe22e5e0aafa022b700bbf211557f6 -conflicts="lxd" -provides="lxd-${version}_${revision}" -system_groups="lxd" - -do_configure() { - # the LXD tarball packages up the required dependencies - ln -s "$wrksrc/_dist" "$GOPATH" -} - -do_build() { - # don't go-get the dependencies, just install with what's there - cd "$GOSRCPATH" - go_package=${go_package:-$go_import_path} - go install -tags "${go_build_tags}" -ldflags "${go_ldflags}" ${go_package} -} - -post_install() { - vinstall scripts/bash/lxd-client 644 /usr/share/bash-completion/completions lxd - vsv lxd -} diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template index 0923c53cfc05..72191ecdbf85 100644 --- a/srcpkgs/removed-packages/template +++ b/srcpkgs/removed-packages/template @@ -1,7 +1,7 @@ # Template file for 'removed-packages' pkgname=removed-packages version=0.1 -revision=69 +revision=70 build_style=meta short_desc="Uninstalls packages removed from repository" maintainer="Piotr Wójcik <chocimier@tlen.pl>" @@ -244,6 +244,7 @@ replaces=" luxmark<=3.1_9 luxrays-devel<=3.1_18 luxrays<=3.1_18 + lxd-lts<=4.0.4_1 mac<=3.99u4b5s7_3 mailpile<=0.5.2_4 masterpassword-cli<=2.6_5 From dd6bc90a09544a8f2f2d14dd262fb01b5873bd7e Mon Sep 17 00:00:00 2001 From: Cameron Nemo <cnemo@tutanota.com> Date: Fri, 22 Apr 2022 19:43:07 -0700 Subject: [PATCH 2/4] raft: update to 0.13.0 --- common/shlibs | 2 +- srcpkgs/raft/template | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/common/shlibs b/common/shlibs index 11328b15a9cc..c9a904bf65d1 100644 --- a/common/shlibs +++ b/common/shlibs @@ -3888,7 +3888,7 @@ libigraph.so.0 igraph-0.9.4_1 libgtk-layer-shell.so.0 gtk-layer-shell-0.1.0_1 librdkafka.so.1 librdkafka-1.4.4_3 librdkafka++.so.1 librdkafka-1.4.4_3 -libraft.so.0 raft-0.9.16_1 +libraft.so.2 raft-0.13.0_1 libmdnsd.so.1 libmdnsd-0.9_1 libosdGPU.so.3.4.3 OpenSubdiv-3.4.3_1 libosdCPU.so.3.4.3 OpenSubdiv-3.4.3_1 diff --git a/srcpkgs/raft/template b/srcpkgs/raft/template index 85f12e9dd445..6c5ab3c635b4 100644 --- a/srcpkgs/raft/template +++ b/srcpkgs/raft/template @@ -1,6 +1,6 @@ # Template file for 'raft' pkgname=raft -version=0.11.2 +version=0.13.0 revision=1 build_style=gnu-configure configure_args="--enable-example=no" @@ -11,7 +11,7 @@ maintainer="Julio Galvan <juliogalvan@protonmail.com>" license="custom:LGPL-3.0-only-linking-exception" homepage="https://github.com/canonical/raft" distfiles="https://github.com/canonical/raft/archive/v${version}.tar.gz" -checksum=c89fd6a6fa3c9e6d670b74e389b2d028dfd39d1eec2b18661fae73a9bfd6b89d +checksum=91b2b0437f443a60498cdf8c53da8a5934a51eee983d2f6eb6f0c8e40af07a8c make_check=ci-skip pre_configure() { From 04f9abb800782a184d6100dff3deee4c774edc42 Mon Sep 17 00:00:00 2001 From: Cameron Nemo <cnemo@tutanota.com> Date: Fri, 22 Apr 2022 19:43:20 -0700 Subject: [PATCH 3/4] dqlite: update to 1.10.0 --- srcpkgs/dqlite/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/dqlite/template b/srcpkgs/dqlite/template index 41af8cde377d..e7bccbc107aa 100644 --- a/srcpkgs/dqlite/template +++ b/srcpkgs/dqlite/template @@ -1,6 +1,6 @@ # Template file for 'dqlite' pkgname=dqlite -version=1.9.0 +version=1.10.0 revision=1 build_style=gnu-configure hostmakedepends="pkg-config automake libtool" @@ -10,7 +10,7 @@ maintainer="Cameron Nemo <cnemo@tutanota.com>" license="custom:LGPL-3.0-only-linking-exception" homepage="https://github.com/canonical/dqlite" distfiles="${homepage}/archive/v${version}.tar.gz" -checksum=b3f23019bcdc030b8f1d97ef585a34b24128414d6c2e79fcf729e053578d80a7 +checksum=46f57036bd5ac4c67b76c07ef3ce58b674458eb1564131c80f11a2d5ec7db962 pre_configure() { autoreconf -i From e5bdb082fb851dfa2fe462347a2bcdec7418f845 Mon Sep 17 00:00:00 2001 From: Cameron Nemo <cnemo@tutanota.com> Date: Fri, 22 Apr 2022 19:43:31 -0700 Subject: [PATCH 4/4] lxd: update to 5.0.0 --- srcpkgs/lxd/template | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/srcpkgs/lxd/template b/srcpkgs/lxd/template index d216d7bb7f7c..df07ba816559 100644 --- a/srcpkgs/lxd/template +++ b/srcpkgs/lxd/template @@ -1,12 +1,16 @@ # Template file for 'lxd' pkgname=lxd -version=4.19 +version=5.0.0 revision=1 build_style=go go_import_path=github.com/lxc/lxd go_build_tags=libsqlite3 -go_package="${go_import_path}/lxd ${go_import_path}/lxc - ${go_import_path}/lxd-p2c ${go_import_path}/fuidshift" +go_package="${go_import_path}/lxd + ${go_import_path}/lxc + ${go_import_path}/lxc-to-lxd + ${go_import_path}/fuidshift + ${go_import_path}/lxd-benchmark + ${go_import_path}/lxd-user" hostmakedepends="pkg-config git" makedepends="lxc-devel acl-devel dqlite-devel eudev-libudev-devel" depends="lxc acl acl-progs rsync squashfs-tools xz dnsmasq iptables attr-progs" @@ -16,12 +20,18 @@ license="Apache-2.0" homepage="https://linuxcontainers.org/lxd" changelog="https://github.com/lxc/lxd/releases" distfiles="https://linuxcontainers.org/downloads/lxd/lxd-${version}.tar.gz" -checksum=6e4cf6cb1549e1b56802d64ad24d812914e0c0102bfcf146bb18a8dcd1fbab57 +checksum=a99b7edfb52c8195b2de4988844d32d73be6426f6cff28408250517b238fdef9 system_groups="lxd" # whitelist dqlite LDFLAGS export CGO_LDFLAGS_ALLOW='-Wl,-z,now' +post_build() { + # these need special tags and/or LDFLAGS + CGO_LDFLAGS="$CGO_LDFLAGS -static" go install -p "$XBPS_MAKEJOBS" -mod=vendor -x -tags "agent" -ldflags "${go_ldflags}" "${go_import_path}/lxd-agent" + go install -p "$XBPS_MAKEJOBS" -mod=vendor -x -tags "netgo" -ldflags "${go_ldflags}" "${go_import_path}/lxd-migrate" +} + post_install() { vinstall scripts/bash/lxd-client 644 /usr/share/bash-completion/completions lxd vsv lxd
[-- Attachment #1: Type: text/plain, Size: 1440 bytes --] There is an updated pull request by CameronNemo against master on the void-packages repository https://github.com/CameronNemo/void-packages lxd https://github.com/void-linux/void-packages/pull/36824 lxd - lxd-lts: remove package - raft: update to 0.13.0 - dqlite: update to 1.10.0 - lxd: update to 5.0.0 <!-- Uncomment relevant sections and delete options which are not applicable --> #### Testing the changes - I tested the changes in this PR: **YES** I tested creating/launching an Ubuntu container, including a container created prior to the upgrade from LXD 4.19. I tested on x86_64 only. <!-- #### New package - This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): **YES**|**NO** --> <!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration and test at least one native build and, if supported, at least one cross build. Ignore this section if this PR is not skipping CI. --> <!-- #### Local build testing - I built this PR locally for my native architecture, (ARCH-LIBC) - I built this PR locally for these architectures (if supported. mark crossbuilds): - aarch64-musl - armv7l - armv6l-musl --> A patch file from https://github.com/void-linux/void-packages/pull/36824.patch is attached [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: github-pr-lxd-36824.patch --] [-- Type: text/x-diff, Size: 8384 bytes --] From 57f94677c5627b7af96ff6fe3f0643a3670364cb Mon Sep 17 00:00:00 2001 From: Cameron Nemo <cnemo@tutanota.com> Date: Fri, 22 Apr 2022 19:42:22 -0700 Subject: [PATCH 1/4] lxd-lts: remove package I do not have the bandwidth to maintain two versions, and the LTS version has a conflicting dependency with the non-LTS version. --- srcpkgs/lxd-lts/INSTALL.msg | 11 --------- srcpkgs/lxd-lts/files/lxd/run | 9 ------- srcpkgs/lxd-lts/template | 39 ------------------------------- srcpkgs/removed-packages/template | 3 ++- 4 files changed, 2 insertions(+), 60 deletions(-) delete mode 100755 srcpkgs/lxd-lts/INSTALL.msg delete mode 100755 srcpkgs/lxd-lts/files/lxd/run delete mode 100644 srcpkgs/lxd-lts/template diff --git a/srcpkgs/lxd-lts/INSTALL.msg b/srcpkgs/lxd-lts/INSTALL.msg deleted file mode 100755 index 966174f8132d..000000000000 --- a/srcpkgs/lxd-lts/INSTALL.msg +++ /dev/null @@ -1,11 +0,0 @@ -Start lxd service: - - $ sudo ln -s /etc/sv/lxd /var/service - -Run LXD initialization: - - $ sudo lxd init - -To use lxd client your user must be added to the 'lxd' group: - - $ sudo usermod -aG lxd <username> diff --git a/srcpkgs/lxd-lts/files/lxd/run b/srcpkgs/lxd-lts/files/lxd/run deleted file mode 100755 index 147eb64e74dc..000000000000 --- a/srcpkgs/lxd-lts/files/lxd/run +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh -_systemd_cgrp="/sys/fs/cgroup/systemd" -if [ ! -d ${_systemd_cgrp} ]; then - mkdir ${_systemd_cgrp} -fi -if ! mountpoint -q "${_systemd_cgrp}"; then - mount -t cgroup -o none,name=systemd cgroup ${_systemd_cgrp} -fi -exec lxd --group lxd 2>&1 diff --git a/srcpkgs/lxd-lts/template b/srcpkgs/lxd-lts/template deleted file mode 100644 index 42e8a958093f..000000000000 --- a/srcpkgs/lxd-lts/template +++ /dev/null @@ -1,39 +0,0 @@ -# Template file for 'lxd-lts' -pkgname=lxd-lts -version=4.0.4 -revision=1 -wrksrc="lxd-$version" -build_style=go -go_import_path="github.com/lxc/lxd" -go_build_tags="libsqlite3" -go_package="${go_import_path}/lxd ${go_import_path}/lxc - ${go_import_path}/lxd-p2c ${go_import_path}/fuidshift" -hostmakedepends="pkg-config" -makedepends="lxc-devel acl-devel dqlite-devel eudev-libudev-devel" -depends="lxc acl acl-progs rsync squashfs-tools xz dnsmasq iptables" -short_desc="Next generation system container manager (long term support channel)" -maintainer="Cameron Nemo <cnemo@tutanota.com>" -license="Apache-2.0" -homepage="https://linuxcontainers.org/lxd" -distfiles="https://linuxcontainers.org/downloads/lxd/${wrksrc}.tar.gz" -checksum=372a666b84c7cbcb7ccbffbf4aa04a05b2fe22e5e0aafa022b700bbf211557f6 -conflicts="lxd" -provides="lxd-${version}_${revision}" -system_groups="lxd" - -do_configure() { - # the LXD tarball packages up the required dependencies - ln -s "$wrksrc/_dist" "$GOPATH" -} - -do_build() { - # don't go-get the dependencies, just install with what's there - cd "$GOSRCPATH" - go_package=${go_package:-$go_import_path} - go install -tags "${go_build_tags}" -ldflags "${go_ldflags}" ${go_package} -} - -post_install() { - vinstall scripts/bash/lxd-client 644 /usr/share/bash-completion/completions lxd - vsv lxd -} diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template index 0923c53cfc05..72191ecdbf85 100644 --- a/srcpkgs/removed-packages/template +++ b/srcpkgs/removed-packages/template @@ -1,7 +1,7 @@ # Template file for 'removed-packages' pkgname=removed-packages version=0.1 -revision=69 +revision=70 build_style=meta short_desc="Uninstalls packages removed from repository" maintainer="Piotr Wójcik <chocimier@tlen.pl>" @@ -244,6 +244,7 @@ replaces=" luxmark<=3.1_9 luxrays-devel<=3.1_18 luxrays<=3.1_18 + lxd-lts<=4.0.4_1 mac<=3.99u4b5s7_3 mailpile<=0.5.2_4 masterpassword-cli<=2.6_5 From a22c74d66f86a87900790a97b23e397482a110d6 Mon Sep 17 00:00:00 2001 From: Cameron Nemo <cnemo@tutanota.com> Date: Fri, 22 Apr 2022 19:43:07 -0700 Subject: [PATCH 2/4] raft: update to 0.13.0 --- common/shlibs | 2 +- srcpkgs/raft/template | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/common/shlibs b/common/shlibs index 11328b15a9cc..c9a904bf65d1 100644 --- a/common/shlibs +++ b/common/shlibs @@ -3888,7 +3888,7 @@ libigraph.so.0 igraph-0.9.4_1 libgtk-layer-shell.so.0 gtk-layer-shell-0.1.0_1 librdkafka.so.1 librdkafka-1.4.4_3 librdkafka++.so.1 librdkafka-1.4.4_3 -libraft.so.0 raft-0.9.16_1 +libraft.so.2 raft-0.13.0_1 libmdnsd.so.1 libmdnsd-0.9_1 libosdGPU.so.3.4.3 OpenSubdiv-3.4.3_1 libosdCPU.so.3.4.3 OpenSubdiv-3.4.3_1 diff --git a/srcpkgs/raft/template b/srcpkgs/raft/template index 85f12e9dd445..98ecc91fc144 100644 --- a/srcpkgs/raft/template +++ b/srcpkgs/raft/template @@ -1,6 +1,6 @@ # Template file for 'raft' pkgname=raft -version=0.11.2 +version=0.13.0 revision=1 build_style=gnu-configure configure_args="--enable-example=no" @@ -11,7 +11,8 @@ maintainer="Julio Galvan <juliogalvan@protonmail.com>" license="custom:LGPL-3.0-only-linking-exception" homepage="https://github.com/canonical/raft" distfiles="https://github.com/canonical/raft/archive/v${version}.tar.gz" -checksum=c89fd6a6fa3c9e6d670b74e389b2d028dfd39d1eec2b18661fae73a9bfd6b89d +checksum=91b2b0437f443a60498cdf8c53da8a5934a51eee983d2f6eb6f0c8e40af07a8c +# https://github.com/void-linux/void-packages/pull/33347#issuecomment-937392150 make_check=ci-skip pre_configure() { From 5d3edf9d024d40552890e87c2761c98dfd820357 Mon Sep 17 00:00:00 2001 From: Cameron Nemo <cnemo@tutanota.com> Date: Fri, 22 Apr 2022 19:43:20 -0700 Subject: [PATCH 3/4] dqlite: update to 1.10.0 --- srcpkgs/dqlite/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/dqlite/template b/srcpkgs/dqlite/template index 41af8cde377d..e7bccbc107aa 100644 --- a/srcpkgs/dqlite/template +++ b/srcpkgs/dqlite/template @@ -1,6 +1,6 @@ # Template file for 'dqlite' pkgname=dqlite -version=1.9.0 +version=1.10.0 revision=1 build_style=gnu-configure hostmakedepends="pkg-config automake libtool" @@ -10,7 +10,7 @@ maintainer="Cameron Nemo <cnemo@tutanota.com>" license="custom:LGPL-3.0-only-linking-exception" homepage="https://github.com/canonical/dqlite" distfiles="${homepage}/archive/v${version}.tar.gz" -checksum=b3f23019bcdc030b8f1d97ef585a34b24128414d6c2e79fcf729e053578d80a7 +checksum=46f57036bd5ac4c67b76c07ef3ce58b674458eb1564131c80f11a2d5ec7db962 pre_configure() { autoreconf -i From 8419e1c9baa2df6fb739ac9a2c626dffebfa299e Mon Sep 17 00:00:00 2001 From: Cameron Nemo <cnemo@tutanota.com> Date: Fri, 22 Apr 2022 19:43:31 -0700 Subject: [PATCH 4/4] lxd: update to 5.0.0 --- srcpkgs/lxd/template | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/srcpkgs/lxd/template b/srcpkgs/lxd/template index d216d7bb7f7c..df07ba816559 100644 --- a/srcpkgs/lxd/template +++ b/srcpkgs/lxd/template @@ -1,12 +1,16 @@ # Template file for 'lxd' pkgname=lxd -version=4.19 +version=5.0.0 revision=1 build_style=go go_import_path=github.com/lxc/lxd go_build_tags=libsqlite3 -go_package="${go_import_path}/lxd ${go_import_path}/lxc - ${go_import_path}/lxd-p2c ${go_import_path}/fuidshift" +go_package="${go_import_path}/lxd + ${go_import_path}/lxc + ${go_import_path}/lxc-to-lxd + ${go_import_path}/fuidshift + ${go_import_path}/lxd-benchmark + ${go_import_path}/lxd-user" hostmakedepends="pkg-config git" makedepends="lxc-devel acl-devel dqlite-devel eudev-libudev-devel" depends="lxc acl acl-progs rsync squashfs-tools xz dnsmasq iptables attr-progs" @@ -16,12 +20,18 @@ license="Apache-2.0" homepage="https://linuxcontainers.org/lxd" changelog="https://github.com/lxc/lxd/releases" distfiles="https://linuxcontainers.org/downloads/lxd/lxd-${version}.tar.gz" -checksum=6e4cf6cb1549e1b56802d64ad24d812914e0c0102bfcf146bb18a8dcd1fbab57 +checksum=a99b7edfb52c8195b2de4988844d32d73be6426f6cff28408250517b238fdef9 system_groups="lxd" # whitelist dqlite LDFLAGS export CGO_LDFLAGS_ALLOW='-Wl,-z,now' +post_build() { + # these need special tags and/or LDFLAGS + CGO_LDFLAGS="$CGO_LDFLAGS -static" go install -p "$XBPS_MAKEJOBS" -mod=vendor -x -tags "agent" -ldflags "${go_ldflags}" "${go_import_path}/lxd-agent" + go install -p "$XBPS_MAKEJOBS" -mod=vendor -x -tags "netgo" -ldflags "${go_ldflags}" "${go_import_path}/lxd-migrate" +} + post_install() { vinstall scripts/bash/lxd-client 644 /usr/share/bash-completion/completions lxd vsv lxd
[-- Attachment #1: Type: text/plain, Size: 487 bytes --] New comment by CameronNemo on void-packages repository https://github.com/void-linux/void-packages/pull/36824#issuecomment-1107351056 Comment: CI is failing on "verify repository state", but I do not understand why (the package with unresolved libs was removed/replaced): ``` lxd-lts-4.0.4_1: broken, unresolvable shlib `libraft.so.0' Transaction aborted due to unresolved shlibs. Failed to install 'dqlite' and 'lxd-lts-4.0.4_1' Error: Process completed with exit code 1. ```
[-- Attachment #1: Type: text/plain, Size: 1440 bytes --] There is an updated pull request by CameronNemo against master on the void-packages repository https://github.com/CameronNemo/void-packages lxd https://github.com/void-linux/void-packages/pull/36824 lxd - lxd-lts: remove package - raft: update to 0.13.0 - dqlite: update to 1.10.0 - lxd: update to 5.0.0 <!-- Uncomment relevant sections and delete options which are not applicable --> #### Testing the changes - I tested the changes in this PR: **YES** I tested creating/launching an Ubuntu container, including a container created prior to the upgrade from LXD 4.19. I tested on x86_64 only. <!-- #### New package - This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): **YES**|**NO** --> <!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration and test at least one native build and, if supported, at least one cross build. Ignore this section if this PR is not skipping CI. --> <!-- #### Local build testing - I built this PR locally for my native architecture, (ARCH-LIBC) - I built this PR locally for these architectures (if supported. mark crossbuilds): - aarch64-musl - armv7l - armv6l-musl --> A patch file from https://github.com/void-linux/void-packages/pull/36824.patch is attached [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: github-pr-lxd-36824.patch --] [-- Type: text/x-diff, Size: 8384 bytes --] From 9da4c112d4712c73ab2444b1b837378388de7560 Mon Sep 17 00:00:00 2001 From: Cameron Nemo <cnemo@tutanota.com> Date: Fri, 22 Apr 2022 19:42:22 -0700 Subject: [PATCH 1/4] lxd-lts: remove package I do not have the bandwidth to maintain two versions, and the LTS version has a conflicting dependency with the non-LTS version. --- srcpkgs/lxd-lts/INSTALL.msg | 11 --------- srcpkgs/lxd-lts/files/lxd/run | 9 ------- srcpkgs/lxd-lts/template | 39 ------------------------------- srcpkgs/removed-packages/template | 3 ++- 4 files changed, 2 insertions(+), 60 deletions(-) delete mode 100755 srcpkgs/lxd-lts/INSTALL.msg delete mode 100755 srcpkgs/lxd-lts/files/lxd/run delete mode 100644 srcpkgs/lxd-lts/template diff --git a/srcpkgs/lxd-lts/INSTALL.msg b/srcpkgs/lxd-lts/INSTALL.msg deleted file mode 100755 index 966174f8132d..000000000000 --- a/srcpkgs/lxd-lts/INSTALL.msg +++ /dev/null @@ -1,11 +0,0 @@ -Start lxd service: - - $ sudo ln -s /etc/sv/lxd /var/service - -Run LXD initialization: - - $ sudo lxd init - -To use lxd client your user must be added to the 'lxd' group: - - $ sudo usermod -aG lxd <username> diff --git a/srcpkgs/lxd-lts/files/lxd/run b/srcpkgs/lxd-lts/files/lxd/run deleted file mode 100755 index 147eb64e74dc..000000000000 --- a/srcpkgs/lxd-lts/files/lxd/run +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh -_systemd_cgrp="/sys/fs/cgroup/systemd" -if [ ! -d ${_systemd_cgrp} ]; then - mkdir ${_systemd_cgrp} -fi -if ! mountpoint -q "${_systemd_cgrp}"; then - mount -t cgroup -o none,name=systemd cgroup ${_systemd_cgrp} -fi -exec lxd --group lxd 2>&1 diff --git a/srcpkgs/lxd-lts/template b/srcpkgs/lxd-lts/template deleted file mode 100644 index 42e8a958093f..000000000000 --- a/srcpkgs/lxd-lts/template +++ /dev/null @@ -1,39 +0,0 @@ -# Template file for 'lxd-lts' -pkgname=lxd-lts -version=4.0.4 -revision=1 -wrksrc="lxd-$version" -build_style=go -go_import_path="github.com/lxc/lxd" -go_build_tags="libsqlite3" -go_package="${go_import_path}/lxd ${go_import_path}/lxc - ${go_import_path}/lxd-p2c ${go_import_path}/fuidshift" -hostmakedepends="pkg-config" -makedepends="lxc-devel acl-devel dqlite-devel eudev-libudev-devel" -depends="lxc acl acl-progs rsync squashfs-tools xz dnsmasq iptables" -short_desc="Next generation system container manager (long term support channel)" -maintainer="Cameron Nemo <cnemo@tutanota.com>" -license="Apache-2.0" -homepage="https://linuxcontainers.org/lxd" -distfiles="https://linuxcontainers.org/downloads/lxd/${wrksrc}.tar.gz" -checksum=372a666b84c7cbcb7ccbffbf4aa04a05b2fe22e5e0aafa022b700bbf211557f6 -conflicts="lxd" -provides="lxd-${version}_${revision}" -system_groups="lxd" - -do_configure() { - # the LXD tarball packages up the required dependencies - ln -s "$wrksrc/_dist" "$GOPATH" -} - -do_build() { - # don't go-get the dependencies, just install with what's there - cd "$GOSRCPATH" - go_package=${go_package:-$go_import_path} - go install -tags "${go_build_tags}" -ldflags "${go_ldflags}" ${go_package} -} - -post_install() { - vinstall scripts/bash/lxd-client 644 /usr/share/bash-completion/completions lxd - vsv lxd -} diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template index 0923c53cfc05..72191ecdbf85 100644 --- a/srcpkgs/removed-packages/template +++ b/srcpkgs/removed-packages/template @@ -1,7 +1,7 @@ # Template file for 'removed-packages' pkgname=removed-packages version=0.1 -revision=69 +revision=70 build_style=meta short_desc="Uninstalls packages removed from repository" maintainer="Piotr Wójcik <chocimier@tlen.pl>" @@ -244,6 +244,7 @@ replaces=" luxmark<=3.1_9 luxrays-devel<=3.1_18 luxrays<=3.1_18 + lxd-lts<=4.0.4_1 mac<=3.99u4b5s7_3 mailpile<=0.5.2_4 masterpassword-cli<=2.6_5 From 60a9524632cd85510de47d1807fef953bf60f620 Mon Sep 17 00:00:00 2001 From: Cameron Nemo <cnemo@tutanota.com> Date: Fri, 22 Apr 2022 19:43:07 -0700 Subject: [PATCH 2/4] raft: update to 0.13.0 --- common/shlibs | 2 +- srcpkgs/raft/template | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/common/shlibs b/common/shlibs index 784375c7c9aa..0a966e0eb121 100644 --- a/common/shlibs +++ b/common/shlibs @@ -3892,7 +3892,7 @@ libigraph.so.0 igraph-0.9.4_1 libgtk-layer-shell.so.0 gtk-layer-shell-0.1.0_1 librdkafka.so.1 librdkafka-1.4.4_3 librdkafka++.so.1 librdkafka-1.4.4_3 -libraft.so.0 raft-0.9.16_1 +libraft.so.2 raft-0.13.0_1 libmdnsd.so.1 libmdnsd-0.9_1 libosdGPU.so.3.4.3 OpenSubdiv-3.4.3_1 libosdCPU.so.3.4.3 OpenSubdiv-3.4.3_1 diff --git a/srcpkgs/raft/template b/srcpkgs/raft/template index 85f12e9dd445..98ecc91fc144 100644 --- a/srcpkgs/raft/template +++ b/srcpkgs/raft/template @@ -1,6 +1,6 @@ # Template file for 'raft' pkgname=raft -version=0.11.2 +version=0.13.0 revision=1 build_style=gnu-configure configure_args="--enable-example=no" @@ -11,7 +11,8 @@ maintainer="Julio Galvan <juliogalvan@protonmail.com>" license="custom:LGPL-3.0-only-linking-exception" homepage="https://github.com/canonical/raft" distfiles="https://github.com/canonical/raft/archive/v${version}.tar.gz" -checksum=c89fd6a6fa3c9e6d670b74e389b2d028dfd39d1eec2b18661fae73a9bfd6b89d +checksum=91b2b0437f443a60498cdf8c53da8a5934a51eee983d2f6eb6f0c8e40af07a8c +# https://github.com/void-linux/void-packages/pull/33347#issuecomment-937392150 make_check=ci-skip pre_configure() { From 18a326619d95028528066bdb581f9077ebc7577a Mon Sep 17 00:00:00 2001 From: Cameron Nemo <cnemo@tutanota.com> Date: Fri, 22 Apr 2022 19:43:20 -0700 Subject: [PATCH 3/4] dqlite: update to 1.10.0 --- srcpkgs/dqlite/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/dqlite/template b/srcpkgs/dqlite/template index 41af8cde377d..e7bccbc107aa 100644 --- a/srcpkgs/dqlite/template +++ b/srcpkgs/dqlite/template @@ -1,6 +1,6 @@ # Template file for 'dqlite' pkgname=dqlite -version=1.9.0 +version=1.10.0 revision=1 build_style=gnu-configure hostmakedepends="pkg-config automake libtool" @@ -10,7 +10,7 @@ maintainer="Cameron Nemo <cnemo@tutanota.com>" license="custom:LGPL-3.0-only-linking-exception" homepage="https://github.com/canonical/dqlite" distfiles="${homepage}/archive/v${version}.tar.gz" -checksum=b3f23019bcdc030b8f1d97ef585a34b24128414d6c2e79fcf729e053578d80a7 +checksum=46f57036bd5ac4c67b76c07ef3ce58b674458eb1564131c80f11a2d5ec7db962 pre_configure() { autoreconf -i From 97bd429c8e9a7e3b4fb2b87a7864659a1ad488d4 Mon Sep 17 00:00:00 2001 From: Cameron Nemo <cnemo@tutanota.com> Date: Fri, 22 Apr 2022 19:43:31 -0700 Subject: [PATCH 4/4] lxd: update to 5.0.0 --- srcpkgs/lxd/template | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/srcpkgs/lxd/template b/srcpkgs/lxd/template index d216d7bb7f7c..df07ba816559 100644 --- a/srcpkgs/lxd/template +++ b/srcpkgs/lxd/template @@ -1,12 +1,16 @@ # Template file for 'lxd' pkgname=lxd -version=4.19 +version=5.0.0 revision=1 build_style=go go_import_path=github.com/lxc/lxd go_build_tags=libsqlite3 -go_package="${go_import_path}/lxd ${go_import_path}/lxc - ${go_import_path}/lxd-p2c ${go_import_path}/fuidshift" +go_package="${go_import_path}/lxd + ${go_import_path}/lxc + ${go_import_path}/lxc-to-lxd + ${go_import_path}/fuidshift + ${go_import_path}/lxd-benchmark + ${go_import_path}/lxd-user" hostmakedepends="pkg-config git" makedepends="lxc-devel acl-devel dqlite-devel eudev-libudev-devel" depends="lxc acl acl-progs rsync squashfs-tools xz dnsmasq iptables attr-progs" @@ -16,12 +20,18 @@ license="Apache-2.0" homepage="https://linuxcontainers.org/lxd" changelog="https://github.com/lxc/lxd/releases" distfiles="https://linuxcontainers.org/downloads/lxd/lxd-${version}.tar.gz" -checksum=6e4cf6cb1549e1b56802d64ad24d812914e0c0102bfcf146bb18a8dcd1fbab57 +checksum=a99b7edfb52c8195b2de4988844d32d73be6426f6cff28408250517b238fdef9 system_groups="lxd" # whitelist dqlite LDFLAGS export CGO_LDFLAGS_ALLOW='-Wl,-z,now' +post_build() { + # these need special tags and/or LDFLAGS + CGO_LDFLAGS="$CGO_LDFLAGS -static" go install -p "$XBPS_MAKEJOBS" -mod=vendor -x -tags "agent" -ldflags "${go_ldflags}" "${go_import_path}/lxd-agent" + go install -p "$XBPS_MAKEJOBS" -mod=vendor -x -tags "netgo" -ldflags "${go_ldflags}" "${go_import_path}/lxd-migrate" +} + post_install() { vinstall scripts/bash/lxd-client 644 /usr/share/bash-completion/completions lxd vsv lxd
[-- Attachment #1: Type: text/plain, Size: 1440 bytes --] There is an updated pull request by CameronNemo against master on the void-packages repository https://github.com/CameronNemo/void-packages lxd https://github.com/void-linux/void-packages/pull/36824 lxd - lxd-lts: remove package - raft: update to 0.13.0 - dqlite: update to 1.10.0 - lxd: update to 5.0.0 <!-- Uncomment relevant sections and delete options which are not applicable --> #### Testing the changes - I tested the changes in this PR: **YES** I tested creating/launching an Ubuntu container, including a container created prior to the upgrade from LXD 4.19. I tested on x86_64 only. <!-- #### New package - This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): **YES**|**NO** --> <!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration and test at least one native build and, if supported, at least one cross build. Ignore this section if this PR is not skipping CI. --> <!-- #### Local build testing - I built this PR locally for my native architecture, (ARCH-LIBC) - I built this PR locally for these architectures (if supported. mark crossbuilds): - aarch64-musl - armv7l - armv6l-musl --> A patch file from https://github.com/void-linux/void-packages/pull/36824.patch is attached [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: github-pr-lxd-36824.patch --] [-- Type: text/x-diff, Size: 8380 bytes --] From 9da4c112d4712c73ab2444b1b837378388de7560 Mon Sep 17 00:00:00 2001 From: Cameron Nemo <cnemo@tutanota.com> Date: Fri, 22 Apr 2022 19:42:22 -0700 Subject: [PATCH 1/4] lxd-lts: remove package I do not have the bandwidth to maintain two versions, and the LTS version has a conflicting dependency with the non-LTS version. --- srcpkgs/lxd-lts/INSTALL.msg | 11 --------- srcpkgs/lxd-lts/files/lxd/run | 9 ------- srcpkgs/lxd-lts/template | 39 ------------------------------- srcpkgs/removed-packages/template | 3 ++- 4 files changed, 2 insertions(+), 60 deletions(-) delete mode 100755 srcpkgs/lxd-lts/INSTALL.msg delete mode 100755 srcpkgs/lxd-lts/files/lxd/run delete mode 100644 srcpkgs/lxd-lts/template diff --git a/srcpkgs/lxd-lts/INSTALL.msg b/srcpkgs/lxd-lts/INSTALL.msg deleted file mode 100755 index 966174f8132d..000000000000 --- a/srcpkgs/lxd-lts/INSTALL.msg +++ /dev/null @@ -1,11 +0,0 @@ -Start lxd service: - - $ sudo ln -s /etc/sv/lxd /var/service - -Run LXD initialization: - - $ sudo lxd init - -To use lxd client your user must be added to the 'lxd' group: - - $ sudo usermod -aG lxd <username> diff --git a/srcpkgs/lxd-lts/files/lxd/run b/srcpkgs/lxd-lts/files/lxd/run deleted file mode 100755 index 147eb64e74dc..000000000000 --- a/srcpkgs/lxd-lts/files/lxd/run +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh -_systemd_cgrp="/sys/fs/cgroup/systemd" -if [ ! -d ${_systemd_cgrp} ]; then - mkdir ${_systemd_cgrp} -fi -if ! mountpoint -q "${_systemd_cgrp}"; then - mount -t cgroup -o none,name=systemd cgroup ${_systemd_cgrp} -fi -exec lxd --group lxd 2>&1 diff --git a/srcpkgs/lxd-lts/template b/srcpkgs/lxd-lts/template deleted file mode 100644 index 42e8a958093f..000000000000 --- a/srcpkgs/lxd-lts/template +++ /dev/null @@ -1,39 +0,0 @@ -# Template file for 'lxd-lts' -pkgname=lxd-lts -version=4.0.4 -revision=1 -wrksrc="lxd-$version" -build_style=go -go_import_path="github.com/lxc/lxd" -go_build_tags="libsqlite3" -go_package="${go_import_path}/lxd ${go_import_path}/lxc - ${go_import_path}/lxd-p2c ${go_import_path}/fuidshift" -hostmakedepends="pkg-config" -makedepends="lxc-devel acl-devel dqlite-devel eudev-libudev-devel" -depends="lxc acl acl-progs rsync squashfs-tools xz dnsmasq iptables" -short_desc="Next generation system container manager (long term support channel)" -maintainer="Cameron Nemo <cnemo@tutanota.com>" -license="Apache-2.0" -homepage="https://linuxcontainers.org/lxd" -distfiles="https://linuxcontainers.org/downloads/lxd/${wrksrc}.tar.gz" -checksum=372a666b84c7cbcb7ccbffbf4aa04a05b2fe22e5e0aafa022b700bbf211557f6 -conflicts="lxd" -provides="lxd-${version}_${revision}" -system_groups="lxd" - -do_configure() { - # the LXD tarball packages up the required dependencies - ln -s "$wrksrc/_dist" "$GOPATH" -} - -do_build() { - # don't go-get the dependencies, just install with what's there - cd "$GOSRCPATH" - go_package=${go_package:-$go_import_path} - go install -tags "${go_build_tags}" -ldflags "${go_ldflags}" ${go_package} -} - -post_install() { - vinstall scripts/bash/lxd-client 644 /usr/share/bash-completion/completions lxd - vsv lxd -} diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template index 0923c53cfc05..72191ecdbf85 100644 --- a/srcpkgs/removed-packages/template +++ b/srcpkgs/removed-packages/template @@ -1,7 +1,7 @@ # Template file for 'removed-packages' pkgname=removed-packages version=0.1 -revision=69 +revision=70 build_style=meta short_desc="Uninstalls packages removed from repository" maintainer="Piotr Wójcik <chocimier@tlen.pl>" @@ -244,6 +244,7 @@ replaces=" luxmark<=3.1_9 luxrays-devel<=3.1_18 luxrays<=3.1_18 + lxd-lts<=4.0.4_1 mac<=3.99u4b5s7_3 mailpile<=0.5.2_4 masterpassword-cli<=2.6_5 From 60a9524632cd85510de47d1807fef953bf60f620 Mon Sep 17 00:00:00 2001 From: Cameron Nemo <cnemo@tutanota.com> Date: Fri, 22 Apr 2022 19:43:07 -0700 Subject: [PATCH 2/4] raft: update to 0.13.0 --- common/shlibs | 2 +- srcpkgs/raft/template | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/common/shlibs b/common/shlibs index 784375c7c9aa..0a966e0eb121 100644 --- a/common/shlibs +++ b/common/shlibs @@ -3892,7 +3892,7 @@ libigraph.so.0 igraph-0.9.4_1 libgtk-layer-shell.so.0 gtk-layer-shell-0.1.0_1 librdkafka.so.1 librdkafka-1.4.4_3 librdkafka++.so.1 librdkafka-1.4.4_3 -libraft.so.0 raft-0.9.16_1 +libraft.so.2 raft-0.13.0_1 libmdnsd.so.1 libmdnsd-0.9_1 libosdGPU.so.3.4.3 OpenSubdiv-3.4.3_1 libosdCPU.so.3.4.3 OpenSubdiv-3.4.3_1 diff --git a/srcpkgs/raft/template b/srcpkgs/raft/template index 85f12e9dd445..98ecc91fc144 100644 --- a/srcpkgs/raft/template +++ b/srcpkgs/raft/template @@ -1,6 +1,6 @@ # Template file for 'raft' pkgname=raft -version=0.11.2 +version=0.13.0 revision=1 build_style=gnu-configure configure_args="--enable-example=no" @@ -11,7 +11,8 @@ maintainer="Julio Galvan <juliogalvan@protonmail.com>" license="custom:LGPL-3.0-only-linking-exception" homepage="https://github.com/canonical/raft" distfiles="https://github.com/canonical/raft/archive/v${version}.tar.gz" -checksum=c89fd6a6fa3c9e6d670b74e389b2d028dfd39d1eec2b18661fae73a9bfd6b89d +checksum=91b2b0437f443a60498cdf8c53da8a5934a51eee983d2f6eb6f0c8e40af07a8c +# https://github.com/void-linux/void-packages/pull/33347#issuecomment-937392150 make_check=ci-skip pre_configure() { From 18a326619d95028528066bdb581f9077ebc7577a Mon Sep 17 00:00:00 2001 From: Cameron Nemo <cnemo@tutanota.com> Date: Fri, 22 Apr 2022 19:43:20 -0700 Subject: [PATCH 3/4] dqlite: update to 1.10.0 --- srcpkgs/dqlite/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/dqlite/template b/srcpkgs/dqlite/template index 41af8cde377d..e7bccbc107aa 100644 --- a/srcpkgs/dqlite/template +++ b/srcpkgs/dqlite/template @@ -1,6 +1,6 @@ # Template file for 'dqlite' pkgname=dqlite -version=1.9.0 +version=1.10.0 revision=1 build_style=gnu-configure hostmakedepends="pkg-config automake libtool" @@ -10,7 +10,7 @@ maintainer="Cameron Nemo <cnemo@tutanota.com>" license="custom:LGPL-3.0-only-linking-exception" homepage="https://github.com/canonical/dqlite" distfiles="${homepage}/archive/v${version}.tar.gz" -checksum=b3f23019bcdc030b8f1d97ef585a34b24128414d6c2e79fcf729e053578d80a7 +checksum=46f57036bd5ac4c67b76c07ef3ce58b674458eb1564131c80f11a2d5ec7db962 pre_configure() { autoreconf -i From fe92f10503276b088a1060ec8925573c22159e30 Mon Sep 17 00:00:00 2001 From: Cameron Nemo <cnemo@tutanota.com> Date: Fri, 22 Apr 2022 19:43:31 -0700 Subject: [PATCH 4/4] lxd: update to 5.1 --- srcpkgs/lxd/template | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/srcpkgs/lxd/template b/srcpkgs/lxd/template index d216d7bb7f7c..7f0518321d20 100644 --- a/srcpkgs/lxd/template +++ b/srcpkgs/lxd/template @@ -1,12 +1,16 @@ # Template file for 'lxd' pkgname=lxd -version=4.19 +version=5.1 revision=1 build_style=go go_import_path=github.com/lxc/lxd go_build_tags=libsqlite3 -go_package="${go_import_path}/lxd ${go_import_path}/lxc - ${go_import_path}/lxd-p2c ${go_import_path}/fuidshift" +go_package="${go_import_path}/lxd + ${go_import_path}/lxc + ${go_import_path}/lxc-to-lxd + ${go_import_path}/fuidshift + ${go_import_path}/lxd-benchmark + ${go_import_path}/lxd-user" hostmakedepends="pkg-config git" makedepends="lxc-devel acl-devel dqlite-devel eudev-libudev-devel" depends="lxc acl acl-progs rsync squashfs-tools xz dnsmasq iptables attr-progs" @@ -16,12 +20,18 @@ license="Apache-2.0" homepage="https://linuxcontainers.org/lxd" changelog="https://github.com/lxc/lxd/releases" distfiles="https://linuxcontainers.org/downloads/lxd/lxd-${version}.tar.gz" -checksum=6e4cf6cb1549e1b56802d64ad24d812914e0c0102bfcf146bb18a8dcd1fbab57 +checksum=319f4e93506e2144edaa280b0185fb37c4374cf7d7468a5e5c8c1b678189250a system_groups="lxd" # whitelist dqlite LDFLAGS export CGO_LDFLAGS_ALLOW='-Wl,-z,now' +post_build() { + # these need special tags and/or LDFLAGS + CGO_LDFLAGS="$CGO_LDFLAGS -static" go install -p "$XBPS_MAKEJOBS" -mod=vendor -x -tags "agent" -ldflags "${go_ldflags}" "${go_import_path}/lxd-agent" + go install -p "$XBPS_MAKEJOBS" -mod=vendor -x -tags "netgo" -ldflags "${go_ldflags}" "${go_import_path}/lxd-migrate" +} + post_install() { vinstall scripts/bash/lxd-client 644 /usr/share/bash-completion/completions lxd vsv lxd
[-- Attachment #1: Type: text/plain, Size: 411 bytes --] New comment by ericonr on void-packages repository https://github.com/void-linux/void-packages/pull/36824#issuecomment-1120591422 Comment: @fosslinux any interest in adopting lxd-lts and adding a versioned raft dep? Otherwise I think we can merge. Just please split the `removed-packages` commit; I don't think we can fix that CI step here unless you made it a dummy empty package, which we don't want.
[-- Attachment #1: Type: text/plain, Size: 268 bytes --] New comment by CameronNemo on void-packages repository https://github.com/void-linux/void-packages/pull/36824#issuecomment-1120597237 Comment: I guess another option is to bump lxd-lts to 5.0.0, which is the new LTS version. Then no versioned raft dep is necessary.
[-- Attachment #1: Type: text/plain, Size: 302 bytes --] New comment by CameronNemo on void-packages repository https://github.com/void-linux/void-packages/pull/36824#issuecomment-1120597237 Comment: I guess another option is to bump lxd-lts to 5.0.0, which is the new LTS version. Then no versioned raft dep is necessary. Just sort of realized that today.
[-- Attachment #1: Type: text/plain, Size: 368 bytes --] New comment by fosslinux on void-packages repository https://github.com/void-linux/void-packages/pull/36824#issuecomment-1120941531 Comment: Hm, I wouldn't really like to adopt any packages right now while I redo a bit of my home infra, but possibly in the future. `lxd-lts` to 5.0.0 if @CameronNemo is happy to continue maintaining lxd-lts seems best option to me.
[-- Attachment #1: Type: text/plain, Size: 1440 bytes --] There is an updated pull request by CameronNemo against master on the void-packages repository https://github.com/CameronNemo/void-packages lxd https://github.com/void-linux/void-packages/pull/36824 lxd - lxd-lts: remove package - raft: update to 0.13.0 - dqlite: update to 1.10.0 - lxd: update to 5.0.0 <!-- Uncomment relevant sections and delete options which are not applicable --> #### Testing the changes - I tested the changes in this PR: **YES** I tested creating/launching an Ubuntu container, including a container created prior to the upgrade from LXD 4.19. I tested on x86_64 only. <!-- #### New package - This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): **YES**|**NO** --> <!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration and test at least one native build and, if supported, at least one cross build. Ignore this section if this PR is not skipping CI. --> <!-- #### Local build testing - I built this PR locally for my native architecture, (ARCH-LIBC) - I built this PR locally for these architectures (if supported. mark crossbuilds): - aarch64-musl - armv7l - armv6l-musl --> A patch file from https://github.com/void-linux/void-packages/pull/36824.patch is attached [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: github-pr-lxd-36824.patch --] [-- Type: text/x-diff, Size: 8800 bytes --] From 0f3c75d66604d2727a3c46acfc372e5093cf618a Mon Sep 17 00:00:00 2001 From: Cameron Nemo <cnemo@tutanota.com> Date: Fri, 22 Apr 2022 19:43:07 -0700 Subject: [PATCH 1/4] raft: update to 0.13.0 --- common/shlibs | 2 +- srcpkgs/raft/template | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/common/shlibs b/common/shlibs index 784375c7c9aa..0a966e0eb121 100644 --- a/common/shlibs +++ b/common/shlibs @@ -3892,7 +3892,7 @@ libigraph.so.0 igraph-0.9.4_1 libgtk-layer-shell.so.0 gtk-layer-shell-0.1.0_1 librdkafka.so.1 librdkafka-1.4.4_3 librdkafka++.so.1 librdkafka-1.4.4_3 -libraft.so.0 raft-0.9.16_1 +libraft.so.2 raft-0.13.0_1 libmdnsd.so.1 libmdnsd-0.9_1 libosdGPU.so.3.4.3 OpenSubdiv-3.4.3_1 libosdCPU.so.3.4.3 OpenSubdiv-3.4.3_1 diff --git a/srcpkgs/raft/template b/srcpkgs/raft/template index 85f12e9dd445..98ecc91fc144 100644 --- a/srcpkgs/raft/template +++ b/srcpkgs/raft/template @@ -1,6 +1,6 @@ # Template file for 'raft' pkgname=raft -version=0.11.2 +version=0.13.0 revision=1 build_style=gnu-configure configure_args="--enable-example=no" @@ -11,7 +11,8 @@ maintainer="Julio Galvan <juliogalvan@protonmail.com>" license="custom:LGPL-3.0-only-linking-exception" homepage="https://github.com/canonical/raft" distfiles="https://github.com/canonical/raft/archive/v${version}.tar.gz" -checksum=c89fd6a6fa3c9e6d670b74e389b2d028dfd39d1eec2b18661fae73a9bfd6b89d +checksum=91b2b0437f443a60498cdf8c53da8a5934a51eee983d2f6eb6f0c8e40af07a8c +# https://github.com/void-linux/void-packages/pull/33347#issuecomment-937392150 make_check=ci-skip pre_configure() { From 903969e97382b08caff515654398594172b55073 Mon Sep 17 00:00:00 2001 From: Cameron Nemo <cnemo@tutanota.com> Date: Fri, 22 Apr 2022 19:43:20 -0700 Subject: [PATCH 2/4] dqlite: update to 1.10.0 --- srcpkgs/dqlite/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/dqlite/template b/srcpkgs/dqlite/template index 41af8cde377d..e7bccbc107aa 100644 --- a/srcpkgs/dqlite/template +++ b/srcpkgs/dqlite/template @@ -1,6 +1,6 @@ # Template file for 'dqlite' pkgname=dqlite -version=1.9.0 +version=1.10.0 revision=1 build_style=gnu-configure hostmakedepends="pkg-config automake libtool" @@ -10,7 +10,7 @@ maintainer="Cameron Nemo <cnemo@tutanota.com>" license="custom:LGPL-3.0-only-linking-exception" homepage="https://github.com/canonical/dqlite" distfiles="${homepage}/archive/v${version}.tar.gz" -checksum=b3f23019bcdc030b8f1d97ef585a34b24128414d6c2e79fcf729e053578d80a7 +checksum=46f57036bd5ac4c67b76c07ef3ce58b674458eb1564131c80f11a2d5ec7db962 pre_configure() { autoreconf -i From 03d248b47b10b43ae273db9a2787216a34214aae Mon Sep 17 00:00:00 2001 From: Cameron Nemo <cnemo@tutanota.com> Date: Fri, 22 Apr 2022 19:43:31 -0700 Subject: [PATCH 3/4] lxd: update to 5.1 --- srcpkgs/lxd/files/lxd/run | 4 ---- srcpkgs/lxd/template | 18 ++++++++++++++---- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/srcpkgs/lxd/files/lxd/run b/srcpkgs/lxd/files/lxd/run index 8b02dadb07b9..a32a24389378 100644 --- a/srcpkgs/lxd/files/lxd/run +++ b/srcpkgs/lxd/files/lxd/run @@ -6,10 +6,6 @@ fi if ! mountpoint -q "${_systemd_cgrp}"; then mount -t cgroup -o none,name=systemd cgroup ${_systemd_cgrp} fi -# workaround lxc bug -- next release of lxc should obsolete this -if [ -e /sys/fs/cgroup/cpuset/cgroup.clone_children ]; then - echo 1 > /sys/fs/cgroup/cpuset/cgroup.clone_children 2>/dev/null || : -fi [ -r conf ] && . ./conf exec lxd --group lxd ${OPTS:- --verbose} diff --git a/srcpkgs/lxd/template b/srcpkgs/lxd/template index d216d7bb7f7c..7f0518321d20 100644 --- a/srcpkgs/lxd/template +++ b/srcpkgs/lxd/template @@ -1,12 +1,16 @@ # Template file for 'lxd' pkgname=lxd -version=4.19 +version=5.1 revision=1 build_style=go go_import_path=github.com/lxc/lxd go_build_tags=libsqlite3 -go_package="${go_import_path}/lxd ${go_import_path}/lxc - ${go_import_path}/lxd-p2c ${go_import_path}/fuidshift" +go_package="${go_import_path}/lxd + ${go_import_path}/lxc + ${go_import_path}/lxc-to-lxd + ${go_import_path}/fuidshift + ${go_import_path}/lxd-benchmark + ${go_import_path}/lxd-user" hostmakedepends="pkg-config git" makedepends="lxc-devel acl-devel dqlite-devel eudev-libudev-devel" depends="lxc acl acl-progs rsync squashfs-tools xz dnsmasq iptables attr-progs" @@ -16,12 +20,18 @@ license="Apache-2.0" homepage="https://linuxcontainers.org/lxd" changelog="https://github.com/lxc/lxd/releases" distfiles="https://linuxcontainers.org/downloads/lxd/lxd-${version}.tar.gz" -checksum=6e4cf6cb1549e1b56802d64ad24d812914e0c0102bfcf146bb18a8dcd1fbab57 +checksum=319f4e93506e2144edaa280b0185fb37c4374cf7d7468a5e5c8c1b678189250a system_groups="lxd" # whitelist dqlite LDFLAGS export CGO_LDFLAGS_ALLOW='-Wl,-z,now' +post_build() { + # these need special tags and/or LDFLAGS + CGO_LDFLAGS="$CGO_LDFLAGS -static" go install -p "$XBPS_MAKEJOBS" -mod=vendor -x -tags "agent" -ldflags "${go_ldflags}" "${go_import_path}/lxd-agent" + go install -p "$XBPS_MAKEJOBS" -mod=vendor -x -tags "netgo" -ldflags "${go_ldflags}" "${go_import_path}/lxd-migrate" +} + post_install() { vinstall scripts/bash/lxd-client 644 /usr/share/bash-completion/completions lxd vsv lxd From bc0a5dca5b157fe8c4d44f6e1d6303442f0411c2 Mon Sep 17 00:00:00 2001 From: Cameron Nemo <cnemo@tutanota.com> Date: Mon, 9 May 2022 11:34:59 -0700 Subject: [PATCH 4/4] lxd-lts: upgrade to 5.0.0 --- srcpkgs/lxd-lts/INSTALL.msg | 2 +- srcpkgs/lxd-lts/files/lxd/run | 4 +++- srcpkgs/lxd-lts/template | 38 ++++++++++++++++++----------------- 3 files changed, 24 insertions(+), 20 deletions(-) diff --git a/srcpkgs/lxd-lts/INSTALL.msg b/srcpkgs/lxd-lts/INSTALL.msg index 966174f8132d..5958c9008817 100755 --- a/srcpkgs/lxd-lts/INSTALL.msg +++ b/srcpkgs/lxd-lts/INSTALL.msg @@ -1,6 +1,6 @@ Start lxd service: - $ sudo ln -s /etc/sv/lxd /var/service + $ sudo ln -s /etc/sv/lxd /var/service/ Run LXD initialization: diff --git a/srcpkgs/lxd-lts/files/lxd/run b/srcpkgs/lxd-lts/files/lxd/run index 147eb64e74dc..a32a24389378 100755 --- a/srcpkgs/lxd-lts/files/lxd/run +++ b/srcpkgs/lxd-lts/files/lxd/run @@ -6,4 +6,6 @@ fi if ! mountpoint -q "${_systemd_cgrp}"; then mount -t cgroup -o none,name=systemd cgroup ${_systemd_cgrp} fi -exec lxd --group lxd 2>&1 + +[ -r conf ] && . ./conf +exec lxd --group lxd ${OPTS:- --verbose} diff --git a/srcpkgs/lxd-lts/template b/srcpkgs/lxd-lts/template index 42e8a958093f..5f0f450e5c3a 100644 --- a/srcpkgs/lxd-lts/template +++ b/srcpkgs/lxd-lts/template @@ -1,36 +1,38 @@ # Template file for 'lxd-lts' pkgname=lxd-lts -version=4.0.4 +version=5.0.0 revision=1 wrksrc="lxd-$version" build_style=go -go_import_path="github.com/lxc/lxd" -go_build_tags="libsqlite3" -go_package="${go_import_path}/lxd ${go_import_path}/lxc - ${go_import_path}/lxd-p2c ${go_import_path}/fuidshift" -hostmakedepends="pkg-config" +go_import_path=github.com/lxc/lxd +go_build_tags=libsqlite3 +go_package="${go_import_path}/lxd + ${go_import_path}/lxc + ${go_import_path}/lxc-to-lxd + ${go_import_path}/fuidshift + ${go_import_path}/lxd-benchmark + ${go_import_path}/lxd-user" +hostmakedepends="pkg-config git" makedepends="lxc-devel acl-devel dqlite-devel eudev-libudev-devel" -depends="lxc acl acl-progs rsync squashfs-tools xz dnsmasq iptables" +depends="lxc acl acl-progs rsync squashfs-tools xz dnsmasq iptables attr-progs" short_desc="Next generation system container manager (long term support channel)" maintainer="Cameron Nemo <cnemo@tutanota.com>" license="Apache-2.0" homepage="https://linuxcontainers.org/lxd" -distfiles="https://linuxcontainers.org/downloads/lxd/${wrksrc}.tar.gz" -checksum=372a666b84c7cbcb7ccbffbf4aa04a05b2fe22e5e0aafa022b700bbf211557f6 +changelog="https://github.com/lxc/lxd/releases" +distfiles="https://linuxcontainers.org/downloads/lxd/lxd-${version}.tar.gz" +checksum=a99b7edfb52c8195b2de4988844d32d73be6426f6cff28408250517b238fdef9 conflicts="lxd" provides="lxd-${version}_${revision}" system_groups="lxd" -do_configure() { - # the LXD tarball packages up the required dependencies - ln -s "$wrksrc/_dist" "$GOPATH" -} +# whitelist dqlite LDFLAGS +export CGO_LDFLAGS_ALLOW='-Wl,-z,now' -do_build() { - # don't go-get the dependencies, just install with what's there - cd "$GOSRCPATH" - go_package=${go_package:-$go_import_path} - go install -tags "${go_build_tags}" -ldflags "${go_ldflags}" ${go_package} +post_build() { + # these need special tags and/or LDFLAGS + CGO_LDFLAGS="$CGO_LDFLAGS -static" go install -p "$XBPS_MAKEJOBS" -mod=vendor -x -tags "agent" -ldflags "${go_ldflags}" "${go_import_path}/lxd-agent" + go install -p "$XBPS_MAKEJOBS" -mod=vendor -x -tags "netgo" -ldflags "${go_ldflags}" "${go_import_path}/lxd-migrate" } post_install() {
[-- Attachment #1: Type: text/plain, Size: 1440 bytes --] There is an updated pull request by CameronNemo against master on the void-packages repository https://github.com/CameronNemo/void-packages lxd https://github.com/void-linux/void-packages/pull/36824 lxd - lxd-lts: remove package - raft: update to 0.13.0 - dqlite: update to 1.10.0 - lxd: update to 5.0.0 <!-- Uncomment relevant sections and delete options which are not applicable --> #### Testing the changes - I tested the changes in this PR: **YES** I tested creating/launching an Ubuntu container, including a container created prior to the upgrade from LXD 4.19. I tested on x86_64 only. <!-- #### New package - This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): **YES**|**NO** --> <!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration and test at least one native build and, if supported, at least one cross build. Ignore this section if this PR is not skipping CI. --> <!-- #### Local build testing - I built this PR locally for my native architecture, (ARCH-LIBC) - I built this PR locally for these architectures (if supported. mark crossbuilds): - aarch64-musl - armv7l - armv6l-musl --> A patch file from https://github.com/void-linux/void-packages/pull/36824.patch is attached [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: github-pr-lxd-36824.patch --] [-- Type: text/x-diff, Size: 14618 bytes --] From 0f3c75d66604d2727a3c46acfc372e5093cf618a Mon Sep 17 00:00:00 2001 From: Cameron Nemo <cnemo@tutanota.com> Date: Fri, 22 Apr 2022 19:43:07 -0700 Subject: [PATCH 1/4] raft: update to 0.13.0 --- common/shlibs | 2 +- srcpkgs/raft/template | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/common/shlibs b/common/shlibs index 784375c7c9aa..0a966e0eb121 100644 --- a/common/shlibs +++ b/common/shlibs @@ -3892,7 +3892,7 @@ libigraph.so.0 igraph-0.9.4_1 libgtk-layer-shell.so.0 gtk-layer-shell-0.1.0_1 librdkafka.so.1 librdkafka-1.4.4_3 librdkafka++.so.1 librdkafka-1.4.4_3 -libraft.so.0 raft-0.9.16_1 +libraft.so.2 raft-0.13.0_1 libmdnsd.so.1 libmdnsd-0.9_1 libosdGPU.so.3.4.3 OpenSubdiv-3.4.3_1 libosdCPU.so.3.4.3 OpenSubdiv-3.4.3_1 diff --git a/srcpkgs/raft/template b/srcpkgs/raft/template index 85f12e9dd445..98ecc91fc144 100644 --- a/srcpkgs/raft/template +++ b/srcpkgs/raft/template @@ -1,6 +1,6 @@ # Template file for 'raft' pkgname=raft -version=0.11.2 +version=0.13.0 revision=1 build_style=gnu-configure configure_args="--enable-example=no" @@ -11,7 +11,8 @@ maintainer="Julio Galvan <juliogalvan@protonmail.com>" license="custom:LGPL-3.0-only-linking-exception" homepage="https://github.com/canonical/raft" distfiles="https://github.com/canonical/raft/archive/v${version}.tar.gz" -checksum=c89fd6a6fa3c9e6d670b74e389b2d028dfd39d1eec2b18661fae73a9bfd6b89d +checksum=91b2b0437f443a60498cdf8c53da8a5934a51eee983d2f6eb6f0c8e40af07a8c +# https://github.com/void-linux/void-packages/pull/33347#issuecomment-937392150 make_check=ci-skip pre_configure() { From 903969e97382b08caff515654398594172b55073 Mon Sep 17 00:00:00 2001 From: Cameron Nemo <cnemo@tutanota.com> Date: Fri, 22 Apr 2022 19:43:20 -0700 Subject: [PATCH 2/4] dqlite: update to 1.10.0 --- srcpkgs/dqlite/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/dqlite/template b/srcpkgs/dqlite/template index 41af8cde377d..e7bccbc107aa 100644 --- a/srcpkgs/dqlite/template +++ b/srcpkgs/dqlite/template @@ -1,6 +1,6 @@ # Template file for 'dqlite' pkgname=dqlite -version=1.9.0 +version=1.10.0 revision=1 build_style=gnu-configure hostmakedepends="pkg-config automake libtool" @@ -10,7 +10,7 @@ maintainer="Cameron Nemo <cnemo@tutanota.com>" license="custom:LGPL-3.0-only-linking-exception" homepage="https://github.com/canonical/dqlite" distfiles="${homepage}/archive/v${version}.tar.gz" -checksum=b3f23019bcdc030b8f1d97ef585a34b24128414d6c2e79fcf729e053578d80a7 +checksum=46f57036bd5ac4c67b76c07ef3ce58b674458eb1564131c80f11a2d5ec7db962 pre_configure() { autoreconf -i From ebad8a537290eb8467bec5aae4c10dbc4a88c19f Mon Sep 17 00:00:00 2001 From: Cameron Nemo <cnemo@tutanota.com> Date: Fri, 22 Apr 2022 19:43:31 -0700 Subject: [PATCH 3/4] lxd: update to 5.1 --- srcpkgs/lxd/files/lxd/run | 4 - srcpkgs/lxd/patches/fix-seccomp-32bit.patch | 170 ++++++++++++++++++++ srcpkgs/lxd/template | 18 ++- 3 files changed, 184 insertions(+), 8 deletions(-) create mode 100644 srcpkgs/lxd/patches/fix-seccomp-32bit.patch diff --git a/srcpkgs/lxd/files/lxd/run b/srcpkgs/lxd/files/lxd/run index 8b02dadb07b9..a32a24389378 100644 --- a/srcpkgs/lxd/files/lxd/run +++ b/srcpkgs/lxd/files/lxd/run @@ -6,10 +6,6 @@ fi if ! mountpoint -q "${_systemd_cgrp}"; then mount -t cgroup -o none,name=systemd cgroup ${_systemd_cgrp} fi -# workaround lxc bug -- next release of lxc should obsolete this -if [ -e /sys/fs/cgroup/cpuset/cgroup.clone_children ]; then - echo 1 > /sys/fs/cgroup/cpuset/cgroup.clone_children 2>/dev/null || : -fi [ -r conf ] && . ./conf exec lxd --group lxd ${OPTS:- --verbose} diff --git a/srcpkgs/lxd/patches/fix-seccomp-32bit.patch b/srcpkgs/lxd/patches/fix-seccomp-32bit.patch new file mode 100644 index 000000000000..31f5b3de4486 --- /dev/null +++ b/srcpkgs/lxd/patches/fix-seccomp-32bit.patch @@ -0,0 +1,170 @@ +From fd6845ddda3f80cdd24a8f94c42acce6bff0c41f Mon Sep 17 00:00:00 2001 +From: Thomas Parrott <thomas.parrott@canonical.com> +Date: Fri, 29 Apr 2022 11:12:48 +0100 +Subject: [PATCH] lxd/secommp: Fix sysinfo syscall interception on 32 bit + platforms + +Fixes #10347 + +Signed-off-by: Thomas Parrott <thomas.parrott@canonical.com> +--- + lxd/seccomp/seccomp.go | 22 ++++++++++++++-------- + lxd/seccomp/sysinfo.go | 13 +++++++++++++ + lxd/seccomp/sysinfo_32.go | 19 +++++++++++++++++++ + lxd/seccomp/sysinfo_64.go | 19 +++++++++++++++++++ + 4 files changed, 65 insertions(+), 8 deletions(-) + create mode 100644 lxd/seccomp/sysinfo.go + create mode 100644 lxd/seccomp/sysinfo_32.go + create mode 100644 lxd/seccomp/sysinfo_64.go + +diff --git a/lxd/seccomp/seccomp.go b/lxd/seccomp/seccomp.go +index 03fee3c71a0..203d408a828 100644 +--- a/lxd/seccomp/seccomp.go ++++ b/lxd/seccomp/seccomp.go +@@ -1709,6 +1709,7 @@ func (s *Server) HandleSysinfoSyscall(c Instance, siov *Iovec) int { + + defer l.Debug("Handling sysinfo syscall") + ++ // Pre-fill sysinfo struct with metrics from host system. + info := unix.Sysinfo_t{} + err := unix.Sysinfo(&info) + if err != nil { +@@ -1718,6 +1719,8 @@ func (s *Server) HandleSysinfoSyscall(c Instance, siov *Iovec) int { + return 0 + } + ++ instMetrics := Sysinfo{} // Architecture independent place to hold instance metrics. ++ + cg, err := cgroup.NewFileReadWriter(int(siov.msg.init_pid), liblxc.HasApiExtension("cgroup2")) + if err != nil { + l.Warn("Failed loading cgroup", logger.Ctx{"err": err, "pid": siov.msg.init_pid}) +@@ -1735,7 +1738,7 @@ func (s *Server) HandleSysinfoSyscall(c Instance, siov *Iovec) int { + return 0 + } + +- info.Uptime = int64(time.Now().Sub(f.ModTime()).Seconds()) ++ instMetrics.Uptime = int64(time.Now().Sub(f.ModTime()).Seconds()) + + // Get instance process count. + pids, err := cg.GetTotalProcesses() +@@ -1746,7 +1749,7 @@ func (s *Server) HandleSysinfoSyscall(c Instance, siov *Iovec) int { + return 0 + } + +- info.Procs = uint16(pids) ++ instMetrics.Procs = uint16(pids) + + // Get instance memory stats. + memStats, err := cg.GetMemoryStats() +@@ -1760,9 +1763,9 @@ func (s *Server) HandleSysinfoSyscall(c Instance, siov *Iovec) int { + for k, v := range memStats { + switch k { + case "shmem": +- info.Sharedram = v ++ instMetrics.Sharedram = v + case "cache": +- info.Bufferram = v ++ instMetrics.Bufferram = v + } + } + +@@ -1784,8 +1787,8 @@ func (s *Server) HandleSysinfoSyscall(c Instance, siov *Iovec) int { + return 0 + } + +- info.Totalram = uint64(memoryLimit) +- info.Freeram = info.Totalram - uint64(memoryUsage) - info.Bufferram ++ instMetrics.Totalram = uint64(memoryLimit) ++ instMetrics.Freeram = instMetrics.Totalram - uint64(memoryUsage) - instMetrics.Bufferram + + // Get instance swap info. + if s.s.OS.CGInfo.Supports(cgroup.MemorySwapUsage, cg) { +@@ -1805,14 +1808,17 @@ func (s *Server) HandleSysinfoSyscall(c Instance, siov *Iovec) int { + return 0 + } + +- info.Totalswap = uint64(swapLimit) +- info.Freeswap = info.Totalswap - uint64(swapUsage) ++ instMetrics.Totalswap = uint64(swapLimit) ++ instMetrics.Freeswap = instMetrics.Totalswap - uint64(swapUsage) + } + + // Get writable pointer to buffer of sysinfo syscall result. + const sz = int(unsafe.Sizeof(info)) + var b []byte = (*(*[sz]byte)(unsafe.Pointer(&info)))[:] + ++ // Write instance metrics to native sysinfo struct. ++ instMetrics.ToNative(&info) ++ + // Write sysinfo response into buffer. + _, err = unix.Pwrite(siov.memFd, b, int64(siov.req.data.args[0])) + if err != nil { +diff --git a/lxd/seccomp/sysinfo.go b/lxd/seccomp/sysinfo.go +new file mode 100644 +index 00000000000..b255894af26 +--- /dev/null ++++ b/lxd/seccomp/sysinfo.go +@@ -0,0 +1,13 @@ ++package seccomp ++ ++// Sysinfo architecture independent sysinfo struct. ++type Sysinfo struct { ++ Uptime int64 ++ Totalram uint64 ++ Freeram uint64 ++ Sharedram uint64 ++ Bufferram uint64 ++ Totalswap uint64 ++ Freeswap uint64 ++ Procs uint16 ++} +diff --git a/lxd/seccomp/sysinfo_32.go b/lxd/seccomp/sysinfo_32.go +new file mode 100644 +index 00000000000..e52808300dd +--- /dev/null ++++ b/lxd/seccomp/sysinfo_32.go +@@ -0,0 +1,19 @@ ++//go:build 386 || arm || ppc || s390 || mips || mipsle ++ ++package seccomp ++ ++import ( ++ "golang.org/x/sys/unix" ++) ++ ++// ToNative fills fields from s into native fields. ++func (s *Sysinfo) ToNative(n *unix.Sysinfo_t) { ++ n.Bufferram = uint32(s.Bufferram) ++ n.Freeram = uint32(s.Freeram) ++ n.Freeswap = uint32(s.Freeswap) ++ n.Procs = s.Procs ++ n.Sharedram = uint32(s.Sharedram) ++ n.Totalram = uint32(s.Totalram) ++ n.Totalswap = uint32(s.Totalswap) ++ n.Uptime = int32(s.Uptime) ++} +diff --git a/lxd/seccomp/sysinfo_64.go b/lxd/seccomp/sysinfo_64.go +new file mode 100644 +index 00000000000..84383b1c5a8 +--- /dev/null ++++ b/lxd/seccomp/sysinfo_64.go +@@ -0,0 +1,19 @@ ++//go:build amd64 || ppc64 || ppc64le || arm64 || s390x || mips64 || mips64le || riscv64 ++ ++package seccomp ++ ++import ( ++ "golang.org/x/sys/unix" ++) ++ ++// ToNative fills fields from s into native fields. ++func (s *Sysinfo) ToNative(n *unix.Sysinfo_t) { ++ n.Bufferram = s.Bufferram ++ n.Freeram = s.Freeram ++ n.Freeswap = s.Freeswap ++ n.Procs = s.Procs ++ n.Sharedram = s.Sharedram ++ n.Totalram = s.Totalram ++ n.Totalswap = s.Totalswap ++ n.Uptime = s.Uptime ++} diff --git a/srcpkgs/lxd/template b/srcpkgs/lxd/template index d216d7bb7f7c..7f0518321d20 100644 --- a/srcpkgs/lxd/template +++ b/srcpkgs/lxd/template @@ -1,12 +1,16 @@ # Template file for 'lxd' pkgname=lxd -version=4.19 +version=5.1 revision=1 build_style=go go_import_path=github.com/lxc/lxd go_build_tags=libsqlite3 -go_package="${go_import_path}/lxd ${go_import_path}/lxc - ${go_import_path}/lxd-p2c ${go_import_path}/fuidshift" +go_package="${go_import_path}/lxd + ${go_import_path}/lxc + ${go_import_path}/lxc-to-lxd + ${go_import_path}/fuidshift + ${go_import_path}/lxd-benchmark + ${go_import_path}/lxd-user" hostmakedepends="pkg-config git" makedepends="lxc-devel acl-devel dqlite-devel eudev-libudev-devel" depends="lxc acl acl-progs rsync squashfs-tools xz dnsmasq iptables attr-progs" @@ -16,12 +20,18 @@ license="Apache-2.0" homepage="https://linuxcontainers.org/lxd" changelog="https://github.com/lxc/lxd/releases" distfiles="https://linuxcontainers.org/downloads/lxd/lxd-${version}.tar.gz" -checksum=6e4cf6cb1549e1b56802d64ad24d812914e0c0102bfcf146bb18a8dcd1fbab57 +checksum=319f4e93506e2144edaa280b0185fb37c4374cf7d7468a5e5c8c1b678189250a system_groups="lxd" # whitelist dqlite LDFLAGS export CGO_LDFLAGS_ALLOW='-Wl,-z,now' +post_build() { + # these need special tags and/or LDFLAGS + CGO_LDFLAGS="$CGO_LDFLAGS -static" go install -p "$XBPS_MAKEJOBS" -mod=vendor -x -tags "agent" -ldflags "${go_ldflags}" "${go_import_path}/lxd-agent" + go install -p "$XBPS_MAKEJOBS" -mod=vendor -x -tags "netgo" -ldflags "${go_ldflags}" "${go_import_path}/lxd-migrate" +} + post_install() { vinstall scripts/bash/lxd-client 644 /usr/share/bash-completion/completions lxd vsv lxd From c2e35c81baa0f961b3619083c76fde90398c49ae Mon Sep 17 00:00:00 2001 From: Cameron Nemo <cnemo@tutanota.com> Date: Mon, 9 May 2022 11:34:59 -0700 Subject: [PATCH 4/4] lxd-lts: upgrade to 5.0.0 --- srcpkgs/lxd-lts/INSTALL.msg | 2 +- srcpkgs/lxd-lts/files/lxd/run | 4 +++- srcpkgs/lxd-lts/template | 38 ++++++++++++++++++----------------- 3 files changed, 24 insertions(+), 20 deletions(-) diff --git a/srcpkgs/lxd-lts/INSTALL.msg b/srcpkgs/lxd-lts/INSTALL.msg index 966174f8132d..5958c9008817 100755 --- a/srcpkgs/lxd-lts/INSTALL.msg +++ b/srcpkgs/lxd-lts/INSTALL.msg @@ -1,6 +1,6 @@ Start lxd service: - $ sudo ln -s /etc/sv/lxd /var/service + $ sudo ln -s /etc/sv/lxd /var/service/ Run LXD initialization: diff --git a/srcpkgs/lxd-lts/files/lxd/run b/srcpkgs/lxd-lts/files/lxd/run index 147eb64e74dc..a32a24389378 100755 --- a/srcpkgs/lxd-lts/files/lxd/run +++ b/srcpkgs/lxd-lts/files/lxd/run @@ -6,4 +6,6 @@ fi if ! mountpoint -q "${_systemd_cgrp}"; then mount -t cgroup -o none,name=systemd cgroup ${_systemd_cgrp} fi -exec lxd --group lxd 2>&1 + +[ -r conf ] && . ./conf +exec lxd --group lxd ${OPTS:- --verbose} diff --git a/srcpkgs/lxd-lts/template b/srcpkgs/lxd-lts/template index 42e8a958093f..5f0f450e5c3a 100644 --- a/srcpkgs/lxd-lts/template +++ b/srcpkgs/lxd-lts/template @@ -1,36 +1,38 @@ # Template file for 'lxd-lts' pkgname=lxd-lts -version=4.0.4 +version=5.0.0 revision=1 wrksrc="lxd-$version" build_style=go -go_import_path="github.com/lxc/lxd" -go_build_tags="libsqlite3" -go_package="${go_import_path}/lxd ${go_import_path}/lxc - ${go_import_path}/lxd-p2c ${go_import_path}/fuidshift" -hostmakedepends="pkg-config" +go_import_path=github.com/lxc/lxd +go_build_tags=libsqlite3 +go_package="${go_import_path}/lxd + ${go_import_path}/lxc + ${go_import_path}/lxc-to-lxd + ${go_import_path}/fuidshift + ${go_import_path}/lxd-benchmark + ${go_import_path}/lxd-user" +hostmakedepends="pkg-config git" makedepends="lxc-devel acl-devel dqlite-devel eudev-libudev-devel" -depends="lxc acl acl-progs rsync squashfs-tools xz dnsmasq iptables" +depends="lxc acl acl-progs rsync squashfs-tools xz dnsmasq iptables attr-progs" short_desc="Next generation system container manager (long term support channel)" maintainer="Cameron Nemo <cnemo@tutanota.com>" license="Apache-2.0" homepage="https://linuxcontainers.org/lxd" -distfiles="https://linuxcontainers.org/downloads/lxd/${wrksrc}.tar.gz" -checksum=372a666b84c7cbcb7ccbffbf4aa04a05b2fe22e5e0aafa022b700bbf211557f6 +changelog="https://github.com/lxc/lxd/releases" +distfiles="https://linuxcontainers.org/downloads/lxd/lxd-${version}.tar.gz" +checksum=a99b7edfb52c8195b2de4988844d32d73be6426f6cff28408250517b238fdef9 conflicts="lxd" provides="lxd-${version}_${revision}" system_groups="lxd" -do_configure() { - # the LXD tarball packages up the required dependencies - ln -s "$wrksrc/_dist" "$GOPATH" -} +# whitelist dqlite LDFLAGS +export CGO_LDFLAGS_ALLOW='-Wl,-z,now' -do_build() { - # don't go-get the dependencies, just install with what's there - cd "$GOSRCPATH" - go_package=${go_package:-$go_import_path} - go install -tags "${go_build_tags}" -ldflags "${go_ldflags}" ${go_package} +post_build() { + # these need special tags and/or LDFLAGS + CGO_LDFLAGS="$CGO_LDFLAGS -static" go install -p "$XBPS_MAKEJOBS" -mod=vendor -x -tags "agent" -ldflags "${go_ldflags}" "${go_import_path}/lxd-agent" + go install -p "$XBPS_MAKEJOBS" -mod=vendor -x -tags "netgo" -ldflags "${go_ldflags}" "${go_import_path}/lxd-migrate" } post_install() {
[-- Attachment #1: Type: text/plain, Size: 216 bytes --] New review comment by ericonr on void-packages repository https://github.com/void-linux/void-packages/pull/36824#discussion_r874189762 Comment: ```suggestion # test/unit/uv and test/integration/uv fail on CI ```
[-- Attachment #1: Type: text/plain, Size: 1471 bytes --] There is an updated pull request by CameronNemo against master on the void-packages repository https://github.com/CameronNemo/void-packages lxd https://github.com/void-linux/void-packages/pull/36824 lxd - raft: update to 0.13.0 - dqlite: update to 1.10.0 - lxd: update to 5.1 - lxd-lts: update to 5.0.0 <!-- Uncomment relevant sections and delete options which are not applicable --> #### Testing the changes - I tested the changes in this PR: **YES** I tested creating/launching an Ubuntu container, including a container created prior to the upgrade from LXD 4.19. I tested on x86_64 only. <!-- #### New package - This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): **YES**|**NO** --> <!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration and test at least one native build and, if supported, at least one cross build. Ignore this section if this PR is not skipping CI. --> <!-- #### Local build testing - I built this PR locally for my native architecture, (ARCH-LIBC) - I built this PR locally for these architectures (if supported. mark crossbuilds): - aarch64-musl - armv7l - armv6l-musl --> A patch file from https://github.com/void-linux/void-packages/pull/36824.patch is attached [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: github-pr-lxd-36824.patch --] [-- Type: text/x-diff, Size: 14588 bytes --] From 1ee4144ea9acb1d1c00f2cf58e1351d17b1ba423 Mon Sep 17 00:00:00 2001 From: Cameron Nemo <cnemo@tutanota.com> Date: Fri, 22 Apr 2022 19:43:07 -0700 Subject: [PATCH 1/4] raft: update to 0.13.0 --- common/shlibs | 2 +- srcpkgs/raft/template | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/common/shlibs b/common/shlibs index 8f5670e21484..9160e0ad1ba8 100644 --- a/common/shlibs +++ b/common/shlibs @@ -3892,7 +3892,7 @@ libigraph.so.0 igraph-0.9.4_1 libgtk-layer-shell.so.0 gtk-layer-shell-0.1.0_1 librdkafka.so.1 librdkafka-1.4.4_3 librdkafka++.so.1 librdkafka-1.4.4_3 -libraft.so.0 raft-0.9.16_1 +libraft.so.2 raft-0.13.0_1 libmdnsd.so.1 libmdnsd-0.9_1 libosdGPU.so.3.4.3 OpenSubdiv-3.4.3_1 libosdCPU.so.3.4.3 OpenSubdiv-3.4.3_1 diff --git a/srcpkgs/raft/template b/srcpkgs/raft/template index 85f12e9dd445..b111bcc73758 100644 --- a/srcpkgs/raft/template +++ b/srcpkgs/raft/template @@ -1,6 +1,6 @@ # Template file for 'raft' pkgname=raft -version=0.11.2 +version=0.13.0 revision=1 build_style=gnu-configure configure_args="--enable-example=no" @@ -11,7 +11,8 @@ maintainer="Julio Galvan <juliogalvan@protonmail.com>" license="custom:LGPL-3.0-only-linking-exception" homepage="https://github.com/canonical/raft" distfiles="https://github.com/canonical/raft/archive/v${version}.tar.gz" -checksum=c89fd6a6fa3c9e6d670b74e389b2d028dfd39d1eec2b18661fae73a9bfd6b89d +checksum=91b2b0437f443a60498cdf8c53da8a5934a51eee983d2f6eb6f0c8e40af07a8c +# test/unit/uv and test/integration/uv fail on CI make_check=ci-skip pre_configure() { From f07ac1168581301ac70d8b763e314667ec3ce1b4 Mon Sep 17 00:00:00 2001 From: Cameron Nemo <cnemo@tutanota.com> Date: Fri, 22 Apr 2022 19:43:20 -0700 Subject: [PATCH 2/4] dqlite: update to 1.10.0 --- srcpkgs/dqlite/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/dqlite/template b/srcpkgs/dqlite/template index 41af8cde377d..e7bccbc107aa 100644 --- a/srcpkgs/dqlite/template +++ b/srcpkgs/dqlite/template @@ -1,6 +1,6 @@ # Template file for 'dqlite' pkgname=dqlite -version=1.9.0 +version=1.10.0 revision=1 build_style=gnu-configure hostmakedepends="pkg-config automake libtool" @@ -10,7 +10,7 @@ maintainer="Cameron Nemo <cnemo@tutanota.com>" license="custom:LGPL-3.0-only-linking-exception" homepage="https://github.com/canonical/dqlite" distfiles="${homepage}/archive/v${version}.tar.gz" -checksum=b3f23019bcdc030b8f1d97ef585a34b24128414d6c2e79fcf729e053578d80a7 +checksum=46f57036bd5ac4c67b76c07ef3ce58b674458eb1564131c80f11a2d5ec7db962 pre_configure() { autoreconf -i From 1ada1e62358567bc5c8b2b63ba1be920dcb4218e Mon Sep 17 00:00:00 2001 From: Cameron Nemo <cnemo@tutanota.com> Date: Fri, 22 Apr 2022 19:43:31 -0700 Subject: [PATCH 3/4] lxd: update to 5.1 --- srcpkgs/lxd/files/lxd/run | 4 - srcpkgs/lxd/patches/fix-seccomp-32bit.patch | 170 ++++++++++++++++++++ srcpkgs/lxd/template | 18 ++- 3 files changed, 184 insertions(+), 8 deletions(-) create mode 100644 srcpkgs/lxd/patches/fix-seccomp-32bit.patch diff --git a/srcpkgs/lxd/files/lxd/run b/srcpkgs/lxd/files/lxd/run index 8b02dadb07b9..a32a24389378 100644 --- a/srcpkgs/lxd/files/lxd/run +++ b/srcpkgs/lxd/files/lxd/run @@ -6,10 +6,6 @@ fi if ! mountpoint -q "${_systemd_cgrp}"; then mount -t cgroup -o none,name=systemd cgroup ${_systemd_cgrp} fi -# workaround lxc bug -- next release of lxc should obsolete this -if [ -e /sys/fs/cgroup/cpuset/cgroup.clone_children ]; then - echo 1 > /sys/fs/cgroup/cpuset/cgroup.clone_children 2>/dev/null || : -fi [ -r conf ] && . ./conf exec lxd --group lxd ${OPTS:- --verbose} diff --git a/srcpkgs/lxd/patches/fix-seccomp-32bit.patch b/srcpkgs/lxd/patches/fix-seccomp-32bit.patch new file mode 100644 index 000000000000..31f5b3de4486 --- /dev/null +++ b/srcpkgs/lxd/patches/fix-seccomp-32bit.patch @@ -0,0 +1,170 @@ +From fd6845ddda3f80cdd24a8f94c42acce6bff0c41f Mon Sep 17 00:00:00 2001 +From: Thomas Parrott <thomas.parrott@canonical.com> +Date: Fri, 29 Apr 2022 11:12:48 +0100 +Subject: [PATCH] lxd/secommp: Fix sysinfo syscall interception on 32 bit + platforms + +Fixes #10347 + +Signed-off-by: Thomas Parrott <thomas.parrott@canonical.com> +--- + lxd/seccomp/seccomp.go | 22 ++++++++++++++-------- + lxd/seccomp/sysinfo.go | 13 +++++++++++++ + lxd/seccomp/sysinfo_32.go | 19 +++++++++++++++++++ + lxd/seccomp/sysinfo_64.go | 19 +++++++++++++++++++ + 4 files changed, 65 insertions(+), 8 deletions(-) + create mode 100644 lxd/seccomp/sysinfo.go + create mode 100644 lxd/seccomp/sysinfo_32.go + create mode 100644 lxd/seccomp/sysinfo_64.go + +diff --git a/lxd/seccomp/seccomp.go b/lxd/seccomp/seccomp.go +index 03fee3c71a0..203d408a828 100644 +--- a/lxd/seccomp/seccomp.go ++++ b/lxd/seccomp/seccomp.go +@@ -1709,6 +1709,7 @@ func (s *Server) HandleSysinfoSyscall(c Instance, siov *Iovec) int { + + defer l.Debug("Handling sysinfo syscall") + ++ // Pre-fill sysinfo struct with metrics from host system. + info := unix.Sysinfo_t{} + err := unix.Sysinfo(&info) + if err != nil { +@@ -1718,6 +1719,8 @@ func (s *Server) HandleSysinfoSyscall(c Instance, siov *Iovec) int { + return 0 + } + ++ instMetrics := Sysinfo{} // Architecture independent place to hold instance metrics. ++ + cg, err := cgroup.NewFileReadWriter(int(siov.msg.init_pid), liblxc.HasApiExtension("cgroup2")) + if err != nil { + l.Warn("Failed loading cgroup", logger.Ctx{"err": err, "pid": siov.msg.init_pid}) +@@ -1735,7 +1738,7 @@ func (s *Server) HandleSysinfoSyscall(c Instance, siov *Iovec) int { + return 0 + } + +- info.Uptime = int64(time.Now().Sub(f.ModTime()).Seconds()) ++ instMetrics.Uptime = int64(time.Now().Sub(f.ModTime()).Seconds()) + + // Get instance process count. + pids, err := cg.GetTotalProcesses() +@@ -1746,7 +1749,7 @@ func (s *Server) HandleSysinfoSyscall(c Instance, siov *Iovec) int { + return 0 + } + +- info.Procs = uint16(pids) ++ instMetrics.Procs = uint16(pids) + + // Get instance memory stats. + memStats, err := cg.GetMemoryStats() +@@ -1760,9 +1763,9 @@ func (s *Server) HandleSysinfoSyscall(c Instance, siov *Iovec) int { + for k, v := range memStats { + switch k { + case "shmem": +- info.Sharedram = v ++ instMetrics.Sharedram = v + case "cache": +- info.Bufferram = v ++ instMetrics.Bufferram = v + } + } + +@@ -1784,8 +1787,8 @@ func (s *Server) HandleSysinfoSyscall(c Instance, siov *Iovec) int { + return 0 + } + +- info.Totalram = uint64(memoryLimit) +- info.Freeram = info.Totalram - uint64(memoryUsage) - info.Bufferram ++ instMetrics.Totalram = uint64(memoryLimit) ++ instMetrics.Freeram = instMetrics.Totalram - uint64(memoryUsage) - instMetrics.Bufferram + + // Get instance swap info. + if s.s.OS.CGInfo.Supports(cgroup.MemorySwapUsage, cg) { +@@ -1805,14 +1808,17 @@ func (s *Server) HandleSysinfoSyscall(c Instance, siov *Iovec) int { + return 0 + } + +- info.Totalswap = uint64(swapLimit) +- info.Freeswap = info.Totalswap - uint64(swapUsage) ++ instMetrics.Totalswap = uint64(swapLimit) ++ instMetrics.Freeswap = instMetrics.Totalswap - uint64(swapUsage) + } + + // Get writable pointer to buffer of sysinfo syscall result. + const sz = int(unsafe.Sizeof(info)) + var b []byte = (*(*[sz]byte)(unsafe.Pointer(&info)))[:] + ++ // Write instance metrics to native sysinfo struct. ++ instMetrics.ToNative(&info) ++ + // Write sysinfo response into buffer. + _, err = unix.Pwrite(siov.memFd, b, int64(siov.req.data.args[0])) + if err != nil { +diff --git a/lxd/seccomp/sysinfo.go b/lxd/seccomp/sysinfo.go +new file mode 100644 +index 00000000000..b255894af26 +--- /dev/null ++++ b/lxd/seccomp/sysinfo.go +@@ -0,0 +1,13 @@ ++package seccomp ++ ++// Sysinfo architecture independent sysinfo struct. ++type Sysinfo struct { ++ Uptime int64 ++ Totalram uint64 ++ Freeram uint64 ++ Sharedram uint64 ++ Bufferram uint64 ++ Totalswap uint64 ++ Freeswap uint64 ++ Procs uint16 ++} +diff --git a/lxd/seccomp/sysinfo_32.go b/lxd/seccomp/sysinfo_32.go +new file mode 100644 +index 00000000000..e52808300dd +--- /dev/null ++++ b/lxd/seccomp/sysinfo_32.go +@@ -0,0 +1,19 @@ ++//go:build 386 || arm || ppc || s390 || mips || mipsle ++ ++package seccomp ++ ++import ( ++ "golang.org/x/sys/unix" ++) ++ ++// ToNative fills fields from s into native fields. ++func (s *Sysinfo) ToNative(n *unix.Sysinfo_t) { ++ n.Bufferram = uint32(s.Bufferram) ++ n.Freeram = uint32(s.Freeram) ++ n.Freeswap = uint32(s.Freeswap) ++ n.Procs = s.Procs ++ n.Sharedram = uint32(s.Sharedram) ++ n.Totalram = uint32(s.Totalram) ++ n.Totalswap = uint32(s.Totalswap) ++ n.Uptime = int32(s.Uptime) ++} +diff --git a/lxd/seccomp/sysinfo_64.go b/lxd/seccomp/sysinfo_64.go +new file mode 100644 +index 00000000000..84383b1c5a8 +--- /dev/null ++++ b/lxd/seccomp/sysinfo_64.go +@@ -0,0 +1,19 @@ ++//go:build amd64 || ppc64 || ppc64le || arm64 || s390x || mips64 || mips64le || riscv64 ++ ++package seccomp ++ ++import ( ++ "golang.org/x/sys/unix" ++) ++ ++// ToNative fills fields from s into native fields. ++func (s *Sysinfo) ToNative(n *unix.Sysinfo_t) { ++ n.Bufferram = s.Bufferram ++ n.Freeram = s.Freeram ++ n.Freeswap = s.Freeswap ++ n.Procs = s.Procs ++ n.Sharedram = s.Sharedram ++ n.Totalram = s.Totalram ++ n.Totalswap = s.Totalswap ++ n.Uptime = s.Uptime ++} diff --git a/srcpkgs/lxd/template b/srcpkgs/lxd/template index d216d7bb7f7c..7f0518321d20 100644 --- a/srcpkgs/lxd/template +++ b/srcpkgs/lxd/template @@ -1,12 +1,16 @@ # Template file for 'lxd' pkgname=lxd -version=4.19 +version=5.1 revision=1 build_style=go go_import_path=github.com/lxc/lxd go_build_tags=libsqlite3 -go_package="${go_import_path}/lxd ${go_import_path}/lxc - ${go_import_path}/lxd-p2c ${go_import_path}/fuidshift" +go_package="${go_import_path}/lxd + ${go_import_path}/lxc + ${go_import_path}/lxc-to-lxd + ${go_import_path}/fuidshift + ${go_import_path}/lxd-benchmark + ${go_import_path}/lxd-user" hostmakedepends="pkg-config git" makedepends="lxc-devel acl-devel dqlite-devel eudev-libudev-devel" depends="lxc acl acl-progs rsync squashfs-tools xz dnsmasq iptables attr-progs" @@ -16,12 +20,18 @@ license="Apache-2.0" homepage="https://linuxcontainers.org/lxd" changelog="https://github.com/lxc/lxd/releases" distfiles="https://linuxcontainers.org/downloads/lxd/lxd-${version}.tar.gz" -checksum=6e4cf6cb1549e1b56802d64ad24d812914e0c0102bfcf146bb18a8dcd1fbab57 +checksum=319f4e93506e2144edaa280b0185fb37c4374cf7d7468a5e5c8c1b678189250a system_groups="lxd" # whitelist dqlite LDFLAGS export CGO_LDFLAGS_ALLOW='-Wl,-z,now' +post_build() { + # these need special tags and/or LDFLAGS + CGO_LDFLAGS="$CGO_LDFLAGS -static" go install -p "$XBPS_MAKEJOBS" -mod=vendor -x -tags "agent" -ldflags "${go_ldflags}" "${go_import_path}/lxd-agent" + go install -p "$XBPS_MAKEJOBS" -mod=vendor -x -tags "netgo" -ldflags "${go_ldflags}" "${go_import_path}/lxd-migrate" +} + post_install() { vinstall scripts/bash/lxd-client 644 /usr/share/bash-completion/completions lxd vsv lxd From 995be9cb536ab4f1cac089e57acdca3a4051cfad Mon Sep 17 00:00:00 2001 From: Cameron Nemo <cnemo@tutanota.com> Date: Mon, 9 May 2022 11:34:59 -0700 Subject: [PATCH 4/4] lxd-lts: upgrade to 5.0.0 --- srcpkgs/lxd-lts/INSTALL.msg | 2 +- srcpkgs/lxd-lts/files/lxd/run | 4 +++- srcpkgs/lxd-lts/template | 38 ++++++++++++++++++----------------- 3 files changed, 24 insertions(+), 20 deletions(-) diff --git a/srcpkgs/lxd-lts/INSTALL.msg b/srcpkgs/lxd-lts/INSTALL.msg index 966174f8132d..5958c9008817 100755 --- a/srcpkgs/lxd-lts/INSTALL.msg +++ b/srcpkgs/lxd-lts/INSTALL.msg @@ -1,6 +1,6 @@ Start lxd service: - $ sudo ln -s /etc/sv/lxd /var/service + $ sudo ln -s /etc/sv/lxd /var/service/ Run LXD initialization: diff --git a/srcpkgs/lxd-lts/files/lxd/run b/srcpkgs/lxd-lts/files/lxd/run index 147eb64e74dc..a32a24389378 100755 --- a/srcpkgs/lxd-lts/files/lxd/run +++ b/srcpkgs/lxd-lts/files/lxd/run @@ -6,4 +6,6 @@ fi if ! mountpoint -q "${_systemd_cgrp}"; then mount -t cgroup -o none,name=systemd cgroup ${_systemd_cgrp} fi -exec lxd --group lxd 2>&1 + +[ -r conf ] && . ./conf +exec lxd --group lxd ${OPTS:- --verbose} diff --git a/srcpkgs/lxd-lts/template b/srcpkgs/lxd-lts/template index 42e8a958093f..5f0f450e5c3a 100644 --- a/srcpkgs/lxd-lts/template +++ b/srcpkgs/lxd-lts/template @@ -1,36 +1,38 @@ # Template file for 'lxd-lts' pkgname=lxd-lts -version=4.0.4 +version=5.0.0 revision=1 wrksrc="lxd-$version" build_style=go -go_import_path="github.com/lxc/lxd" -go_build_tags="libsqlite3" -go_package="${go_import_path}/lxd ${go_import_path}/lxc - ${go_import_path}/lxd-p2c ${go_import_path}/fuidshift" -hostmakedepends="pkg-config" +go_import_path=github.com/lxc/lxd +go_build_tags=libsqlite3 +go_package="${go_import_path}/lxd + ${go_import_path}/lxc + ${go_import_path}/lxc-to-lxd + ${go_import_path}/fuidshift + ${go_import_path}/lxd-benchmark + ${go_import_path}/lxd-user" +hostmakedepends="pkg-config git" makedepends="lxc-devel acl-devel dqlite-devel eudev-libudev-devel" -depends="lxc acl acl-progs rsync squashfs-tools xz dnsmasq iptables" +depends="lxc acl acl-progs rsync squashfs-tools xz dnsmasq iptables attr-progs" short_desc="Next generation system container manager (long term support channel)" maintainer="Cameron Nemo <cnemo@tutanota.com>" license="Apache-2.0" homepage="https://linuxcontainers.org/lxd" -distfiles="https://linuxcontainers.org/downloads/lxd/${wrksrc}.tar.gz" -checksum=372a666b84c7cbcb7ccbffbf4aa04a05b2fe22e5e0aafa022b700bbf211557f6 +changelog="https://github.com/lxc/lxd/releases" +distfiles="https://linuxcontainers.org/downloads/lxd/lxd-${version}.tar.gz" +checksum=a99b7edfb52c8195b2de4988844d32d73be6426f6cff28408250517b238fdef9 conflicts="lxd" provides="lxd-${version}_${revision}" system_groups="lxd" -do_configure() { - # the LXD tarball packages up the required dependencies - ln -s "$wrksrc/_dist" "$GOPATH" -} +# whitelist dqlite LDFLAGS +export CGO_LDFLAGS_ALLOW='-Wl,-z,now' -do_build() { - # don't go-get the dependencies, just install with what's there - cd "$GOSRCPATH" - go_package=${go_package:-$go_import_path} - go install -tags "${go_build_tags}" -ldflags "${go_ldflags}" ${go_package} +post_build() { + # these need special tags and/or LDFLAGS + CGO_LDFLAGS="$CGO_LDFLAGS -static" go install -p "$XBPS_MAKEJOBS" -mod=vendor -x -tags "agent" -ldflags "${go_ldflags}" "${go_import_path}/lxd-agent" + go install -p "$XBPS_MAKEJOBS" -mod=vendor -x -tags "netgo" -ldflags "${go_ldflags}" "${go_import_path}/lxd-migrate" } post_install() {
[-- Attachment #1: Type: text/plain, Size: 187 bytes --] New review comment by CameronNemo on void-packages repository https://github.com/void-linux/void-packages/pull/36824#discussion_r874218669 Comment: alright made that change and rebased
[-- Attachment #1: Type: text/plain, Size: 159 bytes --] New comment by CameronNemo on void-packages repository https://github.com/void-linux/void-packages/pull/36824#issuecomment-1133937447 Comment: @ericonr ping
[-- Attachment #1: Type: text/plain, Size: 1471 bytes --] There is an updated pull request by CameronNemo against master on the void-packages repository https://github.com/CameronNemo/void-packages lxd https://github.com/void-linux/void-packages/pull/36824 lxd - raft: update to 0.13.0 - dqlite: update to 1.10.0 - lxd: update to 5.1 - lxd-lts: update to 5.0.0 <!-- Uncomment relevant sections and delete options which are not applicable --> #### Testing the changes - I tested the changes in this PR: **YES** I tested creating/launching an Ubuntu container, including a container created prior to the upgrade from LXD 4.19. I tested on x86_64 only. <!-- #### New package - This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): **YES**|**NO** --> <!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration and test at least one native build and, if supported, at least one cross build. Ignore this section if this PR is not skipping CI. --> <!-- #### Local build testing - I built this PR locally for my native architecture, (ARCH-LIBC) - I built this PR locally for these architectures (if supported. mark crossbuilds): - aarch64-musl - armv7l - armv6l-musl --> A patch file from https://github.com/void-linux/void-packages/pull/36824.patch is attached [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: github-pr-lxd-36824.patch --] [-- Type: text/x-diff, Size: 8770 bytes --] From c207c3ab06b3aa380c7c3514a63ac2485284b196 Mon Sep 17 00:00:00 2001 From: Cameron Nemo <cnemo@tutanota.com> Date: Fri, 22 Apr 2022 19:43:07 -0700 Subject: [PATCH 1/4] raft: update to 0.13.0 --- common/shlibs | 2 +- srcpkgs/raft/template | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/common/shlibs b/common/shlibs index 8ed7c948eed0..40aae9b36c65 100644 --- a/common/shlibs +++ b/common/shlibs @@ -3891,7 +3891,7 @@ libigraph.so.0 igraph-0.9.4_1 libgtk-layer-shell.so.0 gtk-layer-shell-0.1.0_1 librdkafka.so.1 librdkafka-1.4.4_3 librdkafka++.so.1 librdkafka-1.4.4_3 -libraft.so.0 raft-0.9.16_1 +libraft.so.2 raft-0.13.0_1 libmdnsd.so.1 libmdnsd-0.9_1 libosdGPU.so.3.4.3 OpenSubdiv-3.4.3_1 libosdCPU.so.3.4.3 OpenSubdiv-3.4.3_1 diff --git a/srcpkgs/raft/template b/srcpkgs/raft/template index 85f12e9dd445..b111bcc73758 100644 --- a/srcpkgs/raft/template +++ b/srcpkgs/raft/template @@ -1,6 +1,6 @@ # Template file for 'raft' pkgname=raft -version=0.11.2 +version=0.13.0 revision=1 build_style=gnu-configure configure_args="--enable-example=no" @@ -11,7 +11,8 @@ maintainer="Julio Galvan <juliogalvan@protonmail.com>" license="custom:LGPL-3.0-only-linking-exception" homepage="https://github.com/canonical/raft" distfiles="https://github.com/canonical/raft/archive/v${version}.tar.gz" -checksum=c89fd6a6fa3c9e6d670b74e389b2d028dfd39d1eec2b18661fae73a9bfd6b89d +checksum=91b2b0437f443a60498cdf8c53da8a5934a51eee983d2f6eb6f0c8e40af07a8c +# test/unit/uv and test/integration/uv fail on CI make_check=ci-skip pre_configure() { From 2defd0e7c7c9dbbd540581045979d7daba2d8faf Mon Sep 17 00:00:00 2001 From: Cameron Nemo <cnemo@tutanota.com> Date: Fri, 22 Apr 2022 19:43:20 -0700 Subject: [PATCH 2/4] dqlite: update to 1.10.0 --- srcpkgs/dqlite/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/dqlite/template b/srcpkgs/dqlite/template index 41af8cde377d..e7bccbc107aa 100644 --- a/srcpkgs/dqlite/template +++ b/srcpkgs/dqlite/template @@ -1,6 +1,6 @@ # Template file for 'dqlite' pkgname=dqlite -version=1.9.0 +version=1.10.0 revision=1 build_style=gnu-configure hostmakedepends="pkg-config automake libtool" @@ -10,7 +10,7 @@ maintainer="Cameron Nemo <cnemo@tutanota.com>" license="custom:LGPL-3.0-only-linking-exception" homepage="https://github.com/canonical/dqlite" distfiles="${homepage}/archive/v${version}.tar.gz" -checksum=b3f23019bcdc030b8f1d97ef585a34b24128414d6c2e79fcf729e053578d80a7 +checksum=46f57036bd5ac4c67b76c07ef3ce58b674458eb1564131c80f11a2d5ec7db962 pre_configure() { autoreconf -i From 64c589a745cbcd840d982739deb370219aa67664 Mon Sep 17 00:00:00 2001 From: Cameron Nemo <cnemo@tutanota.com> Date: Fri, 22 Apr 2022 19:43:31 -0700 Subject: [PATCH 3/4] lxd: update to 5.2 --- srcpkgs/lxd/files/lxd/run | 4 ---- srcpkgs/lxd/template | 18 ++++++++++++++---- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/srcpkgs/lxd/files/lxd/run b/srcpkgs/lxd/files/lxd/run index 8b02dadb07b9..a32a24389378 100644 --- a/srcpkgs/lxd/files/lxd/run +++ b/srcpkgs/lxd/files/lxd/run @@ -6,10 +6,6 @@ fi if ! mountpoint -q "${_systemd_cgrp}"; then mount -t cgroup -o none,name=systemd cgroup ${_systemd_cgrp} fi -# workaround lxc bug -- next release of lxc should obsolete this -if [ -e /sys/fs/cgroup/cpuset/cgroup.clone_children ]; then - echo 1 > /sys/fs/cgroup/cpuset/cgroup.clone_children 2>/dev/null || : -fi [ -r conf ] && . ./conf exec lxd --group lxd ${OPTS:- --verbose} diff --git a/srcpkgs/lxd/template b/srcpkgs/lxd/template index d216d7bb7f7c..26f69a8b286e 100644 --- a/srcpkgs/lxd/template +++ b/srcpkgs/lxd/template @@ -1,12 +1,16 @@ # Template file for 'lxd' pkgname=lxd -version=4.19 +version=5.2 revision=1 build_style=go go_import_path=github.com/lxc/lxd go_build_tags=libsqlite3 -go_package="${go_import_path}/lxd ${go_import_path}/lxc - ${go_import_path}/lxd-p2c ${go_import_path}/fuidshift" +go_package="${go_import_path}/lxd + ${go_import_path}/lxc + ${go_import_path}/lxc-to-lxd + ${go_import_path}/fuidshift + ${go_import_path}/lxd-benchmark + ${go_import_path}/lxd-user" hostmakedepends="pkg-config git" makedepends="lxc-devel acl-devel dqlite-devel eudev-libudev-devel" depends="lxc acl acl-progs rsync squashfs-tools xz dnsmasq iptables attr-progs" @@ -16,12 +20,18 @@ license="Apache-2.0" homepage="https://linuxcontainers.org/lxd" changelog="https://github.com/lxc/lxd/releases" distfiles="https://linuxcontainers.org/downloads/lxd/lxd-${version}.tar.gz" -checksum=6e4cf6cb1549e1b56802d64ad24d812914e0c0102bfcf146bb18a8dcd1fbab57 +checksum=e22d2b34a1848d33b2080b2b1c82355afb6d36fdfe49e67f44b3749edbc02e4c system_groups="lxd" # whitelist dqlite LDFLAGS export CGO_LDFLAGS_ALLOW='-Wl,-z,now' +post_build() { + # these need special tags and/or LDFLAGS + CGO_LDFLAGS="$CGO_LDFLAGS -static" go install -p "$XBPS_MAKEJOBS" -mod=vendor -x -tags "agent" -ldflags "${go_ldflags}" "${go_import_path}/lxd-agent" + go install -p "$XBPS_MAKEJOBS" -mod=vendor -x -tags "netgo" -ldflags "${go_ldflags}" "${go_import_path}/lxd-migrate" +} + post_install() { vinstall scripts/bash/lxd-client 644 /usr/share/bash-completion/completions lxd vsv lxd From c2e4ff79414441a903b952e6817236820c61d994 Mon Sep 17 00:00:00 2001 From: Cameron Nemo <cnemo@tutanota.com> Date: Mon, 9 May 2022 11:34:59 -0700 Subject: [PATCH 4/4] lxd-lts: upgrade to 5.0.0 --- srcpkgs/lxd-lts/INSTALL.msg | 2 +- srcpkgs/lxd-lts/files/lxd/run | 4 +++- srcpkgs/lxd-lts/template | 38 ++++++++++++++++++----------------- 3 files changed, 24 insertions(+), 20 deletions(-) diff --git a/srcpkgs/lxd-lts/INSTALL.msg b/srcpkgs/lxd-lts/INSTALL.msg index 966174f8132d..5958c9008817 100755 --- a/srcpkgs/lxd-lts/INSTALL.msg +++ b/srcpkgs/lxd-lts/INSTALL.msg @@ -1,6 +1,6 @@ Start lxd service: - $ sudo ln -s /etc/sv/lxd /var/service + $ sudo ln -s /etc/sv/lxd /var/service/ Run LXD initialization: diff --git a/srcpkgs/lxd-lts/files/lxd/run b/srcpkgs/lxd-lts/files/lxd/run index 147eb64e74dc..a32a24389378 100755 --- a/srcpkgs/lxd-lts/files/lxd/run +++ b/srcpkgs/lxd-lts/files/lxd/run @@ -6,4 +6,6 @@ fi if ! mountpoint -q "${_systemd_cgrp}"; then mount -t cgroup -o none,name=systemd cgroup ${_systemd_cgrp} fi -exec lxd --group lxd 2>&1 + +[ -r conf ] && . ./conf +exec lxd --group lxd ${OPTS:- --verbose} diff --git a/srcpkgs/lxd-lts/template b/srcpkgs/lxd-lts/template index 42e8a958093f..5f0f450e5c3a 100644 --- a/srcpkgs/lxd-lts/template +++ b/srcpkgs/lxd-lts/template @@ -1,36 +1,38 @@ # Template file for 'lxd-lts' pkgname=lxd-lts -version=4.0.4 +version=5.0.0 revision=1 wrksrc="lxd-$version" build_style=go -go_import_path="github.com/lxc/lxd" -go_build_tags="libsqlite3" -go_package="${go_import_path}/lxd ${go_import_path}/lxc - ${go_import_path}/lxd-p2c ${go_import_path}/fuidshift" -hostmakedepends="pkg-config" +go_import_path=github.com/lxc/lxd +go_build_tags=libsqlite3 +go_package="${go_import_path}/lxd + ${go_import_path}/lxc + ${go_import_path}/lxc-to-lxd + ${go_import_path}/fuidshift + ${go_import_path}/lxd-benchmark + ${go_import_path}/lxd-user" +hostmakedepends="pkg-config git" makedepends="lxc-devel acl-devel dqlite-devel eudev-libudev-devel" -depends="lxc acl acl-progs rsync squashfs-tools xz dnsmasq iptables" +depends="lxc acl acl-progs rsync squashfs-tools xz dnsmasq iptables attr-progs" short_desc="Next generation system container manager (long term support channel)" maintainer="Cameron Nemo <cnemo@tutanota.com>" license="Apache-2.0" homepage="https://linuxcontainers.org/lxd" -distfiles="https://linuxcontainers.org/downloads/lxd/${wrksrc}.tar.gz" -checksum=372a666b84c7cbcb7ccbffbf4aa04a05b2fe22e5e0aafa022b700bbf211557f6 +changelog="https://github.com/lxc/lxd/releases" +distfiles="https://linuxcontainers.org/downloads/lxd/lxd-${version}.tar.gz" +checksum=a99b7edfb52c8195b2de4988844d32d73be6426f6cff28408250517b238fdef9 conflicts="lxd" provides="lxd-${version}_${revision}" system_groups="lxd" -do_configure() { - # the LXD tarball packages up the required dependencies - ln -s "$wrksrc/_dist" "$GOPATH" -} +# whitelist dqlite LDFLAGS +export CGO_LDFLAGS_ALLOW='-Wl,-z,now' -do_build() { - # don't go-get the dependencies, just install with what's there - cd "$GOSRCPATH" - go_package=${go_package:-$go_import_path} - go install -tags "${go_build_tags}" -ldflags "${go_ldflags}" ${go_package} +post_build() { + # these need special tags and/or LDFLAGS + CGO_LDFLAGS="$CGO_LDFLAGS -static" go install -p "$XBPS_MAKEJOBS" -mod=vendor -x -tags "agent" -ldflags "${go_ldflags}" "${go_import_path}/lxd-agent" + go install -p "$XBPS_MAKEJOBS" -mod=vendor -x -tags "netgo" -ldflags "${go_ldflags}" "${go_import_path}/lxd-migrate" } post_install() {
[-- Attachment #1: Type: text/plain, Size: 1319 bytes --] There's a merged pull request on the void-packages repository lxd: update https://github.com/void-linux/void-packages/pull/36824 Description: - raft: update to 0.13.0 - dqlite: update to 1.10.0 - lxd: update to 5.1 - lxd-lts: update to 5.0.0 <!-- Uncomment relevant sections and delete options which are not applicable --> #### Testing the changes - I tested the changes in this PR: **YES** I tested creating/launching an Ubuntu container, including a container created prior to the upgrade from LXD 4.19. I tested on x86_64 only. <!-- #### New package - This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): **YES**|**NO** --> <!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration and test at least one native build and, if supported, at least one cross build. Ignore this section if this PR is not skipping CI. --> <!-- #### Local build testing - I built this PR locally for my native architecture, (ARCH-LIBC) - I built this PR locally for these architectures (if supported. mark crossbuilds): - aarch64-musl - armv7l - armv6l-musl -->