From b2c37bacf0b6b0e53a2dda83604b312c654af7a837466d41602b8c29436e5394 Mon Sep 17 00:00:00 2001 From: Aleksa Sarai Date: Thu, 9 Sep 2021 00:48:07 +0000 Subject: [PATCH] Accepting request 917628 from home:cyphar:lxc - Update to LXD 4.18. The full upstream changelog is available from: https://discuss.linuxcontainers.org/t/lxd-4-18-has-been-released/12068/2 boo#1190323 + Network forwards (floating IPs) + Native BGP support * NAT address customization with OVN * lxd cluster edit for cluster disaster recovery + Refresh support for custom volume copies + Additional device restrictions for projects * --minimal option for lxd init * Additional network counters in instance state OBS-URL: https://build.opensuse.org/request/show/917628 OBS-URL: https://build.opensuse.org/package/show/Virtualization:containers/lxd?expand=0&rev=101 --- lxd-4.17.tar.gz | 3 --- lxd-4.17.tar.gz.asc | 16 ---------------- lxd-4.18.tar.gz | 3 +++ lxd-4.18.tar.gz.asc | 16 ++++++++++++++++ lxd-rpmlintrc | 4 ++-- lxd.changes | 16 ++++++++++++++++ lxd.spec | 42 ++++++++++++++---------------------------- 7 files changed, 51 insertions(+), 49 deletions(-) delete mode 100644 lxd-4.17.tar.gz delete mode 100644 lxd-4.17.tar.gz.asc create mode 100644 lxd-4.18.tar.gz create mode 100644 lxd-4.18.tar.gz.asc diff --git a/lxd-4.17.tar.gz b/lxd-4.17.tar.gz deleted file mode 100644 index c35781b..0000000 --- a/lxd-4.17.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:54524a25398e366d7ff20726e3bd59a3ac9a4da34b49a370e27ff0599e7ff5cf -size 15930575 diff --git a/lxd-4.17.tar.gz.asc b/lxd-4.17.tar.gz.asc deleted file mode 100644 index db6cb42..0000000 --- a/lxd-4.17.tar.gz.asc +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCgAdFiEEYC9WdmPlk7y9FPM4xjiXTWR5LWcFAmEMf/MACgkQxjiXTWR5 -LWehyhAAyGRifHxqjgLQq+2WVRrUdB4bftLC3khAF0VXKWWnymQkc4v6bDQeMb4n -GPHzJKr6N8tmheF8MSaVXPiC9InjAAspJODUxNoD0KwSFHAxtp5UVVQaeoHzppoL -Q/BZMohZJjE+sKRYvUyuWSFQuj0L1eo67fbtTBuqzXuo6ZMh/rbIBlq8freXt/i1 -iDpCZQiMygzOElsrC9OC+riW6pqIWFZjrSrrHFZbZjY29HR+mgew0GCkyRvGkIwb -4CaG5dgJT7RFHBicGo9aGL2c2KnWAvBeW9BwZ7GsJIIfNmJW/KIb9Tu5fcJW6qpZ -tunFWIkbhn6iwofWY72kTEqmGeqYjzJmgVfrIqOopsrxDDhAuZc0nvSqaQv3dXkn -oxJRTon5/k4gU6zSlcoQAIw1vngUgFv5uXhavuu8rjnHv1ArN8d1k/6oCKz7fL0T -xqthbwNNDOD7nW1wlVpCAKlE5IjpfHZ6bzrxjjIRxZkQSXuNRWvvhH8LhKDn8Am2 -TNeXkgbu1zfcm2tLAi9tt/Kwd3AB2gba/pyETFqxcv9ubnUaxjlYrgYkBOGOtAzw -qxapXNGKC/mJBUOHRa/QTWTP0dsTJ15QBe1MgERwmTTvac+ZDv3F9fEv63iQpj0U -EGyaAMrsZ8ZddRgmqctOLMvpydSsNcBAuJpLMarUCSIiW6E0fug= -=Wf1x ------END PGP SIGNATURE----- diff --git a/lxd-4.18.tar.gz b/lxd-4.18.tar.gz new file mode 100644 index 0000000..73e3ae8 --- /dev/null +++ b/lxd-4.18.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b60e09e4d349eebfedff8f1ca493533fb7353aceb43cbbcd7f4e340715a5f3a5 +size 11433877 diff --git a/lxd-4.18.tar.gz.asc b/lxd-4.18.tar.gz.asc new file mode 100644 index 0000000..13db634 --- /dev/null +++ b/lxd-4.18.tar.gz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEEYC9WdmPlk7y9FPM4xjiXTWR5LWcFAmExk98ACgkQxjiXTWR5 +LWdy3Q/+M0BNQB5p39FpVYB4652psSdzeT79d5x2AewdIysDgiL++T14byup0WQq +xWBcBsohmWEazS4ZhTyfi8oAWvhmxLTBsyodBVDvPl/57HhcCj29yOryCGjJQxIs +p2zM6Oa2kOoNPEPLK7a2p2HcdUzBAO3pvrl+mD2qiUjB2t3ow6HGlguADrQ4mByP +wbG4IE7P5Fo2bX07tOeQgJ33B2aaMcsZ4ct760SA9jd4z1Me563NaEDG/Y+G1kEM +nOr+FjirTTPPB3InJ+ZHK5N/WgGOSO/91e9bcDybH6tWdN3no/0aebZwERtSsCIg +BO6YW2+dF8ghN0RfPbFwkCQd/jkcvIw/xyT+Qfb8EZGZozxbcOyj7/aM8J3orkAf +6oyaLDthLjuCVoGWzDFOkIz1y2DSzypSZ0m+ki7wgJKYy40L1MYs8aB75biEIsvx +5XgjLCUeMNOqJAjRwgq382LekEoSGX6Pgdew1UBnIKsdA9zgxshoEvGfz9RIfRZC +xXdp656yEokfSgZhkQdvMzm1ufYuPd0IShVkJzOCt0sZ6bBw7uojc4XAIwVMY9/d +euKwoxCP47aWlxM5ua9ZSW/Y3q1oDHEFcv4GppOjUwshn1yp9TinW7srdblYFtWD +UnBW4puM6dKKnPvLq/r9wvs1/74NGkI21qlt3EHrfMVWsmyDb1o= +=ZxCK +-----END PGP SIGNATURE----- diff --git a/lxd-rpmlintrc b/lxd-rpmlintrc index 24c85cb..ef33556 100644 --- a/lxd-rpmlintrc +++ b/lxd-rpmlintrc @@ -4,5 +4,5 @@ addFilter ("^lxd.* E: invalid-filepath-dependency .* /usr/lib(32|64)?/lxd/") # We need lxd-agent and lxd-p2c to be statically linked. -addFilter ("^lxd.*: W: statically-linked-binary /usr/bin/lxd-(agent|p2c)") -addFilter ("^lxd.*: W: position-independent-executable-suggested /usr/bin/lxd-(agent|p2c)") +addFilter ("^lxd.*: [EW]: statically-linked-binary /usr/bin/lxd-(agent|p2c)") +addFilter ("^lxd.*: [EW]: position-independent-executable-suggested /usr/bin/lxd-(agent|p2c)") diff --git a/lxd.changes b/lxd.changes index 25829b4..160847d 100644 --- a/lxd.changes +++ b/lxd.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Sun Sep 5 06:43:47 UTC 2021 - Aleksa Sarai + +- Update to LXD 4.18. The full upstream changelog is available from: + https://discuss.linuxcontainers.org/t/lxd-4-18-has-been-released/12068/2 + boo#1190323 + + + Network forwards (floating IPs) + + Native BGP support + * NAT address customization with OVN + * lxd cluster edit for cluster disaster recovery + + Refresh support for custom volume copies + + Additional device restrictions for projects + * --minimal option for lxd init + * Additional network counters in instance state + ------------------------------------------------------------------- Fri Aug 20 11:59:37 UTC 2021 - Aleksa Sarai diff --git a/lxd.spec b/lxd.spec index 51d0a23..bba8b49 100644 --- a/lxd.spec +++ b/lxd.spec @@ -14,11 +14,8 @@ # Please submit bugfixes or comments via https://bugs.opensuse.org/ # -# nodebuginfo -%go_nostrip - %define _buildshell /bin/bash %define import_path github.com/lxc/lxd @@ -34,7 +31,7 @@ %endif Name: lxd -Version: 4.17 +Version: 4.18 Release: 0 Summary: Container hypervisor based on LXC License: Apache-2.0 @@ -114,7 +111,7 @@ similar to virtual machines but uses Linux containers (LXC) instead. Summary: Bash Completion for %{name} Group: System/Management Requires: %{name} = %{version} -Supplements: packageand(%{name}:bash-completion) +Supplements: (%{name} and bash-completion) BuildArch: noarch %description bash-completion @@ -123,23 +120,12 @@ Bash command line completion support for %{name}. %prep %setup -q -# Create fake "go mod"-like import paths. This is going to be really fun to -# maintain but it's unfortunately necessary because openSUSE doesn't have nice -# "go mod" support in OBS... -ln -s . _dist/src/github.com/cpuguy83/go-md2man/v2 - %build # Make sure any leftover go build caches are gone. go clean -cache -# Set up GOPATH. -export GOPATH="$PWD/.gopath" -export PKGDIR="$GOPATH/src/%{import_path}" -mkdir -p "$PKGDIR" -cp -a * "$PKGDIR" - # Set up temporary installation paths. -export INSTALL_ROOT="$PKGDIR/.install" +export INSTALL_ROOT="$PWD/.install" export INSTALL_INCLUDEDIR="$INSTALL_ROOT/%{_includedir}" export INSTALL_LIBDIR="$INSTALL_ROOT/%{_libdir}/%{name}" @@ -155,7 +141,7 @@ export PKG_CONFIG_PATH="$INSTALL_LIBDIR/pkgconfig" export CPPFLAGS="-I$INSTALL_INCLUDEDIR" # raft -pushd "$PKGDIR/_dist/deps/raft" +pushd "vendor/raft" autoreconf -fiv %configure \ --libdir="%{_libdir}/%{name}" \ @@ -165,7 +151,7 @@ make DESTDIR="$INSTALL_ROOT" install popd # dqlite -pushd "$PKGDIR/_dist/deps/dqlite" +pushd "vendor/dqlite" ( autoreconf -fiv %configure \ @@ -183,9 +169,6 @@ readarray -t mainpkgs \ awk -F: '$1 == "main" { print $2 }' | \ grep -Ev '^github.com/lxc/lxd/(test|shared)')" -# _dist/src is effectively an old-school "vendor/" tree, so add it to GOPATH. -export GOPATH="$GOPATH:$PKGDIR/_dist" - # Needed because lxd and deps use funky #cgo LDFLAGS that Go blocks by default. export CGO_LDFLAGS_ALLOW="(-Wl,-wrap,pthread_create)|(-Wl,-z,now)" @@ -232,8 +215,8 @@ done # This part is quite ugly, so I apologise upfront. # -# We want to have our _dist/deps/* libraries be dylibs so that we don't bloat -# our lxd binary. Unfortunately, we are presented with a few challenges: +# We want to have our vendor/* libraries be dylibs so that we don't bloat our +# lxd binary. Unfortunately, we are presented with a few challenges: # # * Doing this naively (put it in {_libdir}) results in sqlite3 package # conflicts -- and we aren't going to maintain sqlite3 for all of openSUSE @@ -247,7 +230,7 @@ done # # So, the only reasonable choice left is to use absolute paths as DT_NEEDED # entries -- which bypasses the need for RUNPATH and allows us to set garbage -# sonames for our _dist/deps/* libraries. Absolute paths for DT_NEEDED is +# sonames for our vendor/* libraries. Absolute paths for DT_NEEDED is # *slightly* undefined behaviour, but glibc has had this behaviour for a very # long time -- and others have considered using it in a similar manner[1]. # @@ -297,6 +280,11 @@ do name="$(basename "$(readlink "$lib")" | sed -E 's/\.[0-9]+\.[0-9]+$//')" patchelf --replace-needed {,%{_libdir}/%{name}/}"$name" "$target" done + + # TODO: For some reason, BRP isn't auto-stripping our binaries even though + # we've dropped go_nostrip. So just strip them manually until I can figure + # out why that's happening. + strip "$target" done # Generate man pages. @@ -323,9 +311,7 @@ done popd %install -export GOPATH="$PWD/.gopath" -export PKGDIR="$GOPATH/src/%{import_path}" -export INSTALL_LIBDIR="$PKGDIR/.install/%{_libdir}/%{name}" +export INSTALL_LIBDIR="$PWD/.install/%{_libdir}/%{name}" install -d -m 0755 %{buildroot}%{_libdir}/%{name} # We can't use install because *.so.$n are symlinks.