]> git.pld-linux.org Git - packages/lxd.git/commitdiff
- up to 4.24 master auto/th/lxd-4.24-1
authormis <mis@pld-linux.org>
Tue, 22 Nov 2022 10:58:48 +0000 (11:58 +0100)
committermis <mis@pld-linux.org>
Tue, 22 Nov 2022 10:58:48 +0000 (11:58 +0100)
glibc2_36.patch [new file with mode: 0644]
lxd.init
lxd.spec

diff --git a/glibc2_36.patch b/glibc2_36.patch
new file mode 100644 (file)
index 0000000..cfef656
--- /dev/null
@@ -0,0 +1,69 @@
+--- a/shared/idmap/shift_linux.go      2022-03-11 04:52:20.000000000 +0100
++++ b/shared/idmap/shift_linux.go      2022-11-22 09:18:23.513333279 +0100
+@@ -314,7 +314,7 @@
+ static int create_detached_idmapped_mount(const char *path)
+ {
+       __do_close int fd_tree = -EBADF, fd_userns = -EBADF;
+-      struct lxc_mount_attr attr = {
++      struct mount_attr attr = {
+           .attr_set           = MOUNT_ATTR_IDMAP,
+           .propagation        = MS_SLAVE,
+--- a/lxd/include/syscall_wrappers.h   2022-11-22 09:10:03.053333289 +0100
++++ b/lxd/include/syscall_wrappers.h   2022-11-22 09:20:55.586666611 +0100
+@@ -11,7 +11,7 @@
+ #include <sys/syscall.h>
+ #include <sys/types.h>
+ #include <unistd.h>
+-
++#include <sys/mount.h>
+ #include "syscall_numbers.h"
+ #ifndef CLOSE_RANGE_UNSHARE
+@@ -27,7 +27,7 @@
+       return syscall(__NR_close_range, fd, max_fd, flags);
+ }
+-static inline int open_tree(int dfd, const char *filename, unsigned int flags)
++static inline int xopen_tree(int dfd, const char *filename, unsigned int flags)
+ {
+       return syscall(__NR_open_tree, dfd, filename, flags);
+ }
+@@ -42,13 +42,13 @@
+       __u64 userns_fd;
+ };
+-static inline int mount_setattr(int dfd, const char *path, unsigned int flags,
++static inline int xmount_setattr(int dfd, const char *path, unsigned int flags,
+                               struct lxc_mount_attr *attr, size_t size)
+ {
+       return syscall(__NR_mount_setattr, dfd, path, flags, attr, size);
+ }
+-static inline int move_mount(int from_dfd, const char *from_pathname, int to_dfd,
++static inline int xmove_mount(int from_dfd, const char *from_pathname, int to_dfd,
+                            const char *to_pathname, unsigned int flags)
+ {
+       return syscall(__NR_move_mount, from_dfd, from_pathname, to_dfd,
+--- a/lxd/main_checkfeature.go 2022-03-11 04:52:20.000000000 +0100
++++ b/lxd/main_checkfeature.go 2022-11-22 10:54:47.506666609 +0100
+@@ -563,7 +563,7 @@
+ static bool kernel_supports_idmapped_mounts(void)
+ {
+       __do_close int fd_devnull = -EBADF, fd_tree = -EBADF;
+-      struct lxc_mount_attr attr = {
++      struct mount_attr attr = {
+           .attr_set           = MOUNT_ATTR_IDMAP,
+       };
+--- a/lxd/main_nsexec.go       2022-03-11 04:52:20.000000000 +0100
++++ b/lxd/main_nsexec.go       2022-11-22 10:59:03.776666604 +0100
+@@ -298,7 +298,7 @@
+ int mount_detach_idmap(const char *path, int fd_userns)
+ {
+       __do_close int fd_tree = -EBADF;
+-      struct lxc_mount_attr attr = {
++      struct mount_attr attr = {
+           .attr_set           = MOUNT_ATTR_IDMAP,
+       };
index 1ed4147deaeb7dc763c364c5f993942ad28f890c..1404f8c4328e06e3da81f511dfe3dd2806a17abc 100755 (executable)
--- a/lxd.init
+++ b/lxd.init
@@ -43,14 +43,11 @@ start() {
        # lxd does not write pidfile, so create one
        show "Checking lxd daemon status"
        busy
-       pid=""
-       ntry=0
-       while [ -z "$pid" -a $ntry -lt 5 ]; do
-               [ -z "$pid" ] && sleep 1
-               pid=$(lxc info 2>/dev/null | awk '/server_pid:/{print $2}')
-               [ -n "$pid" ] && echo $pid > $pidfile
-               ntry=$(($ntry+1))
-       done
+       
+       if lxd waitready --timeout=16 2>/dev/null; then
+           pid=$(lxc info 2>/dev/null | awk '/server_pid:/{print $2}')
+           [ -n "$pid" ] && echo $pid > $pidfile
+       fi 
 
        if [ -n "$pid" ]; then
                touch /var/lock/subsys/lxd
index ef5066c92bd1468c10de096d7598779173bfcdd3..8ade43d3f5fc191e390ab63d8ce96afd585d5b62 100644 (file)
--- a/lxd.spec
+++ b/lxd.spec
@@ -1,27 +1,28 @@
 Summary:       Fast, dense and secure container and virtual machine management
 Name:          lxd
-Version:       3.22
+Version:       4.24
 Release:       1
 License:       Apache v2.0
 Group:         Applications/System
 Source0:       https://linuxcontainers.org/downloads/lxd/%{name}-%{version}.tar.gz
-# Source0-md5: 3bbcfd764058f0383dfb599df635e0bb
+# Source0-md5: 85313ed5ded11aad00e6376a8f140cc7
 Source1:       %{name}.service
 Source2:       %{name}.init
 Source3:       %{name}.sysconfig
 Source4:       %{name}.sh
+Patch1:                glibc2_36.patch
 URL:           http://linuxcontainers.org/
 BuildRequires: acl-devel
 %ifarch %{x8664} arm aarch64 ppc64
 BuildRequires: criu-devel >= 1.7
 %endif
-BuildRequires: dqlite-devel >= 1.4.0
-BuildRequires: golang >= 1.5
+BuildRequires: dqlite-devel >= 1.10.0
+BuildRequires: golang >= 1.18
 BuildRequires: libco-devel
 BuildRequires: libuv-devel
 BuildRequires: lxc-devel >= 3.0
 BuildRequires: pkgconfig
-BuildRequires: raft-devel
+BuildRequires: raft-devel >= 0.14.0
 BuildRequires: rpmbuild(macros) >= 1.228
 BuildRequires: udev-devel
 Requires(post,preun):  /sbin/chkconfig
@@ -37,6 +38,7 @@ Requires:     squashfs
 # for sqfs2tar
 Requires:      squashfs-tools-ng
 Requires:      tar
+Requires:      uidmap
 Requires:      uname(release) >= 4.1
 Requires:      xz
 Provides:      group(lxd)
@@ -45,7 +47,7 @@ BuildRoot:    %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                _enable_debug_packages 0
 %define                gobuild(o:) go build -ldflags "${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n')" -a -v -x %{?**};
-%define                goinstall go install -ldflags "${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n')" -a -v -x
+%define                goinstall go install -ldflags "${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n')" -a -v
 %define                gopath          %{_libdir}/golang
 %define                import_path     github.com/lxc/lxd
 %define                _libexecdir     %{_prefix}/lib
@@ -77,6 +79,12 @@ Summary:     LXD Agent
 This package contains lxd-agent program to be used inside virtual
 machines (not containers) managed by LXD.
 
+%package tools
+Summary:       LXD Tools
+
+%description tools
+This package contains lxd extra tools
+
 %package -n bash-completion-%{name}
 Summary:       bash-completion for %{name}
 Summary(pl.UTF-8):     Bashowe dopełnianie parametrów dla %{name}
@@ -93,14 +101,21 @@ Bashowe dopełnianie parametrów dla %{name}
 
 %prep
 %setup -q
+%patch1 -p1
 
 %build
 export GOPATH=$(pwd)/_dist
 export GOBIN=$GOPATH/bin
+# flags from ArchLinux package
+export GOFLAGS="-buildmode=pie -trimpath"
+export CGO_LDFLAGS_ALLOW="-Wl,-z,now"
 
 %goinstall -tags libsqlite3 ./...
-CGO_ENABLED=0 %goinstall -tags netgo ./lxd-p2c
-%goinstall -tags agent ./lxd-agent
+CGO_ENABLED=0 %goinstall -tags netgo ./lxd-migrate/...
+%goinstall -tags agent ./lxd-agent/...
+
+# conflict
+mv doc/README.md doc/README.doc.md
 
 %install
 rm -rf $RPM_BUILD_ROOT
@@ -113,8 +128,8 @@ install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_mandir}/man1,/etc/{rc.d/ini
 # lxd refuses to start containter without this directory
 install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/rootfs
 
-install -p _dist/bin/{lxd,lxd-agent,lxc-to-lxd,lxd-p2c} $RPM_BUILD_ROOT%{_sbindir}
-install -p _dist/bin/{lxc,fuidshift} $RPM_BUILD_ROOT%{_bindir}
+install -p _dist/bin/{lxd,lxd-user,lxd-agent} $RPM_BUILD_ROOT%{_sbindir}
+install -p _dist/bin/{lxc,fuidshift,lxc-to-lxd,lxd-benchmark,lxd-migrate} $RPM_BUILD_ROOT%{_bindir}
 
 # FIXME: it seems that bash completions must be named as command (lxc), so
 # it conflicts with lxc completions (bash-completion-lxc)
@@ -157,10 +172,8 @@ rm -rf $RPM_BUILD_ROOT
 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
 %attr(754,root,root) /etc/rc.d/init.d/%{name}
 %attr(755,root,root) %{_bindir}/lxc
-%attr(755,root,root) %{_bindir}/fuidshift
 %attr(755,root,root) %{_sbindir}/lxd
-%attr(755,root,root) %{_sbindir}/lxd-p2c
-%attr(755,root,root) %{_sbindir}/lxc-to-lxd
+%attr(755,root,root) %{_sbindir}/lxd-user
 %{systemdunitdir}/%{name}.service
 %dir %attr(750,root,root) %{_libdir}/%{name}
 %dir %attr(750,root,root) %{_libdir}/%{name}/rootfs
@@ -179,6 +192,13 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_sbindir}/lxd-agent
 
+%files tools
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/fuidshift
+%attr(755,root,root) %{_bindir}/lxc-to-lxd
+%attr(755,root,root) %{_bindir}/lxd-benchmark
+%attr(755,root,root) %{_bindir}/lxd-migrate
+
 %files -n bash-completion-%{name}
 %defattr(644,root,root,755)
 %{bash_compdir}/lxc
This page took 0.526134 seconds and 4 git commands to generate.