lxc: 5.0.3 -> 6.0.0, pin to lts, move/format
This commit is contained in:
parent
f171f4ffd4
commit
7e73ead5d0
78
pkgs/by-name/lx/lxc/4428.diff
Normal file
78
pkgs/by-name/lx/lxc/4428.diff
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
|
||||||
|
index 92d6f01c3d..d2b67d8d6f 100644
|
||||||
|
--- a/.github/workflows/build.yml
|
||||||
|
+++ b/.github/workflows/build.yml
|
||||||
|
@@ -50,6 +50,7 @@ jobs:
|
||||||
|
meson setup build \
|
||||||
|
-Dtests=true \
|
||||||
|
-Dpam-cgroup=true \
|
||||||
|
+ -Dtools-multicall=true \
|
||||||
|
-Dwerror=true \
|
||||||
|
-Db_lto_mode=default
|
||||||
|
ninja -C build
|
||||||
|
diff --git a/src/lxc/cmd/meson.build b/src/lxc/cmd/meson.build
|
||||||
|
index 3ed3670e4b..edfb986622 100644
|
||||||
|
--- a/src/lxc/cmd/meson.build
|
||||||
|
+++ b/src/lxc/cmd/meson.build
|
||||||
|
@@ -46,7 +46,7 @@ cmd_lxc_init_static_sources = files(
|
||||||
|
'../string_utils.c',
|
||||||
|
'../string_utils.h') + include_sources
|
||||||
|
|
||||||
|
-cmd_lxc_monitord_sources = files('lxc_monitord.c') + include_sources + netns_ifaddrs_sources
|
||||||
|
+cmd_lxc_monitord_sources = files('lxc_monitord.c')
|
||||||
|
cmd_lxc_user_nic_sources = files('lxc_user_nic.c') + cmd_common_sources + netns_ifaddrs_sources
|
||||||
|
cmd_lxc_usernsexec_sources = files('lxc_usernsexec.c') + cmd_common_sources + netns_ifaddrs_sources
|
||||||
|
|
||||||
|
@@ -88,8 +88,8 @@ cmd_programs += executable(
|
||||||
|
'lxc-monitord',
|
||||||
|
cmd_lxc_monitord_sources,
|
||||||
|
include_directories: liblxc_includes,
|
||||||
|
- dependencies: liblxc_dep,
|
||||||
|
- link_with: [liblxc_static],
|
||||||
|
+ dependencies: liblxc_dependencies,
|
||||||
|
+ link_whole: [liblxc_static],
|
||||||
|
install: true,
|
||||||
|
install_dir: lxclibexec)
|
||||||
|
|
||||||
|
diff --git a/src/lxc/tools/meson.build b/src/lxc/tools/meson.build
|
||||||
|
index 00a863d936..6d317fc80b 100644
|
||||||
|
--- a/src/lxc/tools/meson.build
|
||||||
|
+++ b/src/lxc/tools/meson.build
|
||||||
|
@@ -1,6 +1,7 @@
|
||||||
|
# SPDX-License-Identifier: LGPL-2.1+
|
||||||
|
|
||||||
|
-tools_common_sources = files('arguments.c', 'arguments.h') + include_sources + netns_ifaddrs_sources
|
||||||
|
+tools_common_sources = files('arguments.c', 'arguments.h') + include_sources
|
||||||
|
+tools_common_sources_for_dynamic_link = tools_common_sources + netns_ifaddrs_sources
|
||||||
|
|
||||||
|
tools_commands_dynamic_link = ['attach', 'autostart', 'cgroup', 'checkpoint', 'config',
|
||||||
|
'console', 'copy', 'create', 'destroy', 'device', 'execute', 'freeze',
|
||||||
|
@@ -15,7 +16,7 @@ if want_tools
|
||||||
|
foreach cmd : tools_commands_dynamic_link
|
||||||
|
public_programs += executable(
|
||||||
|
'lxc-' + cmd,
|
||||||
|
- files('lxc_' + cmd + '.c') + tools_common_sources + liblxc_ext_sources,
|
||||||
|
+ files('lxc_' + cmd + '.c') + tools_common_sources_for_dynamic_link + liblxc_ext_sources,
|
||||||
|
dependencies: liblxc_dependencies,
|
||||||
|
include_directories: liblxc_includes,
|
||||||
|
c_args: ['-DNO_LXC_CONF'],
|
||||||
|
@@ -26,16 +27,16 @@ if want_tools
|
||||||
|
foreach cmd : tools_commands_static_link
|
||||||
|
public_programs += executable(
|
||||||
|
'lxc-' + cmd,
|
||||||
|
- files('lxc_' + cmd + '.c') + tools_common_sources,
|
||||||
|
+ files('lxc_' + cmd + '.c') + files('arguments.c', 'arguments.h'),
|
||||||
|
dependencies: liblxc_dependencies,
|
||||||
|
include_directories: liblxc_includes,
|
||||||
|
- link_with: [liblxc_static],
|
||||||
|
+ link_whole: [liblxc_static],
|
||||||
|
install: true)
|
||||||
|
endforeach
|
||||||
|
endif
|
||||||
|
|
||||||
|
if want_tools_multicall
|
||||||
|
- tools_all_sources = files('lxc_multicall.c') + tools_common_sources
|
||||||
|
+ tools_all_sources = files('lxc_multicall.c') + tools_common_sources_for_dynamic_link
|
||||||
|
foreach cmd : tools_commands
|
||||||
|
tools_all_sources += files('lxc_' + cmd + '.c')
|
||||||
|
endforeach
|
|
@ -2,6 +2,7 @@
|
||||||
lib,
|
lib,
|
||||||
stdenv,
|
stdenv,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
|
dbus,
|
||||||
docbook2x,
|
docbook2x,
|
||||||
libapparmor,
|
libapparmor,
|
||||||
libcap,
|
libcap,
|
||||||
|
@ -9,22 +10,22 @@
|
||||||
libselinux,
|
libselinux,
|
||||||
meson,
|
meson,
|
||||||
ninja,
|
ninja,
|
||||||
nix-update-script,
|
|
||||||
nixosTests,
|
nixosTests,
|
||||||
openssl,
|
openssl,
|
||||||
pkg-config,
|
pkg-config,
|
||||||
systemd,
|
systemd,
|
||||||
|
nix-update-script,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "lxc";
|
pname = "lxc";
|
||||||
version = "5.0.3";
|
version = "6.0.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "lxc";
|
owner = "lxc";
|
||||||
repo = "lxc";
|
repo = "lxc";
|
||||||
rev = "refs/tags/lxc-${version}";
|
rev = "refs/tags/v${finalAttrs.version}";
|
||||||
hash = "sha256-lnLmLgWXt3pI2S+4OeHRlPP5gui7S7ZXXClFt+n/8sY=";
|
hash = "sha256-D994gekFgW/1Q4iVFM/3Zi0JXKn9Ghfd3UcjckVfoFY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -35,6 +36,7 @@ stdenv.mkDerivation rec {
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
dbus
|
||||||
libapparmor
|
libapparmor
|
||||||
libcap
|
libcap
|
||||||
libseccomp
|
libseccomp
|
||||||
|
@ -44,17 +46,19 @@ stdenv.mkDerivation rec {
|
||||||
];
|
];
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
# make build more nix compatible
|
|
||||||
./add-meson-options.patch
|
|
||||||
|
|
||||||
# fix docbook2man version detection
|
# fix docbook2man version detection
|
||||||
./docbook-hack.patch
|
./docbook-hack.patch
|
||||||
|
|
||||||
|
# fix linking
|
||||||
|
./4428.diff
|
||||||
];
|
];
|
||||||
|
|
||||||
mesonFlags = [
|
mesonFlags = [
|
||||||
"-Dinstall-init-files=false"
|
"-Dinstall-init-files=false"
|
||||||
"-Dinstall-state-dirs=false"
|
"-Dinstall-state-dirs=false"
|
||||||
"-Dspecfile=false"
|
"-Dspecfile=false"
|
||||||
|
# re-enable when fixed https://github.com/lxc/lxc/issues/4427
|
||||||
|
# "-Dtools-multicall=true"
|
||||||
];
|
];
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
@ -65,11 +69,13 @@ stdenv.mkDerivation rec {
|
||||||
tests = {
|
tests = {
|
||||||
incus-legacy-init = nixosTests.incus.container-legacy-init;
|
incus-legacy-init = nixosTests.incus.container-legacy-init;
|
||||||
incus-systemd-init = nixosTests.incus.container-systemd-init;
|
incus-systemd-init = nixosTests.incus.container-systemd-init;
|
||||||
|
lxd = nixosTests.lxd.container;
|
||||||
};
|
};
|
||||||
|
|
||||||
updateScript = nix-update-script {
|
updateScript = nix-update-script {
|
||||||
extraArgs = [
|
extraArgs = [
|
||||||
"-vr"
|
"--version-regex"
|
||||||
"lxc-(.*)"
|
"v(6.0.*)"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -88,4 +94,4 @@ stdenv.mkDerivation rec {
|
||||||
platforms = lib.platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
maintainers = lib.teams.lxc.members;
|
maintainers = lib.teams.lxc.members;
|
||||||
};
|
};
|
||||||
}
|
})
|
|
@ -1,153 +0,0 @@
|
||||||
diff --git a/meson.build b/meson.build
|
|
||||||
index 21a8705d0..f12b81442 100644
|
|
||||||
--- a/meson.build
|
|
||||||
+++ b/meson.build
|
|
||||||
@@ -50,7 +50,7 @@ rootfsmount = get_option('rootfs-mount-path')
|
|
||||||
user_network_db_opt = get_option('usernet-db-path')
|
|
||||||
user_network_conf_opt = get_option('usernet-config-path')
|
|
||||||
|
|
||||||
-bashcompletiondir = join_paths('/', 'usr', 'share', 'bash-completion', 'completions')
|
|
||||||
+bashcompletiondir = join_paths(prefixdir, get_option('datadir'), 'bash-completion', 'completions')
|
|
||||||
bindir = join_paths(prefixdir, get_option('bindir'))
|
|
||||||
datadir = join_paths(prefixdir, get_option('datadir'))
|
|
||||||
mandir = join_paths(prefixdir, get_option('mandir'))
|
|
||||||
@@ -123,22 +123,6 @@ conf.set('PACKAGE_VERSION', meson.project_version())
|
|
||||||
conf.set('RUNTIME_PATH', runtimepath)
|
|
||||||
conf.set('SYSCONFDIR', sysconfdir)
|
|
||||||
|
|
||||||
-# Set sysconfdir
|
|
||||||
-fs = import('fs')
|
|
||||||
-distrosysconfdir = get_option('distrosysconfdir')
|
|
||||||
-if distrosysconfdir != ''
|
|
||||||
- distrosysconfdir = join_paths(sysconfdir, distrosysconfdir)
|
|
||||||
- conf.set('LXC_DISTRO_SYSCONF', distrosysconfdir)
|
|
||||||
-elif fs.is_dir('/etc/sysconfig')
|
|
||||||
- distrosysconfdir = join_paths(sysconfdir, 'sysconfig')
|
|
||||||
- conf.set('LXC_DISTRO_SYSCONF', distrosysconfdir)
|
|
||||||
-elif fs.is_dir('/etc/default')
|
|
||||||
- distrosysconfdir = join_paths(sysconfdir, 'default')
|
|
||||||
- conf.set('LXC_DISTRO_SYSCONF', distrosysconfdir)
|
|
||||||
-else
|
|
||||||
- error('"distrosysconfdir" is not set')
|
|
||||||
-endif
|
|
||||||
-
|
|
||||||
# Cross-compile on Android.
|
|
||||||
srcconf.set10('IS_BIONIC', host_machine.system() == 'android')
|
|
||||||
|
|
||||||
@@ -148,6 +132,7 @@ coverity = get_option('coverity-build')
|
|
||||||
init_script = get_option('init-script')
|
|
||||||
sanitize = get_option('b_sanitize')
|
|
||||||
want_examples = get_option('examples')
|
|
||||||
+want_install_init = get_option('install-init-files')
|
|
||||||
want_io_uring = get_option('io-uring-event-loop')
|
|
||||||
want_pam_cgroup = get_option('pam-cgroup')
|
|
||||||
want_mans = get_option('man')
|
|
||||||
@@ -160,10 +145,30 @@ want_openssl = get_option('openssl')
|
|
||||||
want_selinux = get_option('selinux')
|
|
||||||
want_oss_fuzz = get_option('oss-fuzz')
|
|
||||||
want_seccomp = get_option('seccomp')
|
|
||||||
+want_spec = get_option('specfile')
|
|
||||||
+want_state_dirs = get_option('install-state-dirs')
|
|
||||||
want_thread_safety = get_option('thread-safety')
|
|
||||||
want_memfd_rexec = get_option('memfd-rexec')
|
|
||||||
want_sd_bus = get_option('sd-bus')
|
|
||||||
|
|
||||||
+# Set sysconfdir
|
|
||||||
+fs = import('fs')
|
|
||||||
+if want_install_init
|
|
||||||
+ distrosysconfdir = get_option('distrosysconfdir')
|
|
||||||
+ if distrosysconfdir != ''
|
|
||||||
+ distrosysconfdir = join_paths(sysconfdir, distrosysconfdir)
|
|
||||||
+ conf.set('LXC_DISTRO_SYSCONF', distrosysconfdir)
|
|
||||||
+ elif fs.is_dir('/etc/sysconfig')
|
|
||||||
+ distrosysconfdir = join_paths(sysconfdir, 'sysconfig')
|
|
||||||
+ conf.set('LXC_DISTRO_SYSCONF', distrosysconfdir)
|
|
||||||
+ elif fs.is_dir('/etc/default')
|
|
||||||
+ distrosysconfdir = join_paths(sysconfdir, 'default')
|
|
||||||
+ conf.set('LXC_DISTRO_SYSCONF', distrosysconfdir)
|
|
||||||
+ else
|
|
||||||
+ error('"distrosysconfdir" is not set')
|
|
||||||
+ endif
|
|
||||||
+endif
|
|
||||||
+
|
|
||||||
srcconf.set_quoted('DEFAULT_CGROUP_PATTERN', cgrouppattern)
|
|
||||||
if coverity
|
|
||||||
srcconf.set('ENABLE_COVERITY_BUILD', 1)
|
|
||||||
@@ -926,14 +931,16 @@ if want_apparmor
|
|
||||||
endif
|
|
||||||
subdir('config/bash')
|
|
||||||
subdir('config/etc')
|
|
||||||
-subdir('config/init/common')
|
|
||||||
-subdir('config/init/systemd')
|
|
||||||
-subdir('config/init/sysvinit')
|
|
||||||
-subdir('config/init/upstart')
|
|
||||||
+if want_install_init
|
|
||||||
+ subdir('config/init/common')
|
|
||||||
+ subdir('config/init/systemd')
|
|
||||||
+ subdir('config/init/sysvinit')
|
|
||||||
+ subdir('config/init/upstart')
|
|
||||||
+ subdir('config/sysconfig')
|
|
||||||
+endif
|
|
||||||
if want_selinux
|
|
||||||
subdir('config/selinux')
|
|
||||||
endif
|
|
||||||
-subdir('config/sysconfig')
|
|
||||||
subdir('config/templates')
|
|
||||||
subdir('config/templates/common.conf.d')
|
|
||||||
subdir('config/yum')
|
|
||||||
@@ -963,21 +970,25 @@ pkg_config_file = pkgconfig.generate(liblxc,
|
|
||||||
)
|
|
||||||
|
|
||||||
# Empty dirs.
|
|
||||||
-install_emptydir(join_paths(localstatedir, 'cache', 'lxc'))
|
|
||||||
-install_emptydir(join_paths(localstatedir, 'lib', 'lxc'))
|
|
||||||
+if want_state_dirs
|
|
||||||
+ install_emptydir(join_paths(localstatedir, 'cache', 'lxc'))
|
|
||||||
+ install_emptydir(join_paths(localstatedir, 'lib', 'lxc'))
|
|
||||||
+endif
|
|
||||||
|
|
||||||
# RPM spec file.
|
|
||||||
-specconf = configuration_data()
|
|
||||||
-specconf.set('LXC_VERSION_BASE', meson.project_version())
|
|
||||||
-specconf.set('LXC_VERSION_BETA', version_data.get('LXC_VERSION_BETA'))
|
|
||||||
-specconf.set('PACKAGE', meson.project_name())
|
|
||||||
-specconf.set('LXC_DISTRO_SYSCONF', conf.get('LXC_DISTRO_SYSCONF'))
|
|
||||||
-
|
|
||||||
-configure_file(
|
|
||||||
- configuration: specconf,
|
|
||||||
- input: 'lxc.spec.in',
|
|
||||||
- output: 'lxc.spec',
|
|
||||||
- install: false)
|
|
||||||
+if want_spec
|
|
||||||
+ specconf = configuration_data()
|
|
||||||
+ specconf.set('LXC_VERSION_BASE', meson.project_version())
|
|
||||||
+ specconf.set('LXC_VERSION_BETA', version_data.get('LXC_VERSION_BETA'))
|
|
||||||
+ specconf.set('PACKAGE', meson.project_name())
|
|
||||||
+ specconf.set('LXC_DISTRO_SYSCONF', conf.get('LXC_DISTRO_SYSCONF'))
|
|
||||||
+
|
|
||||||
+ configure_file(
|
|
||||||
+ configuration: specconf,
|
|
||||||
+ input: 'lxc.spec.in',
|
|
||||||
+ output: 'lxc.spec',
|
|
||||||
+ install: false)
|
|
||||||
+endif
|
|
||||||
|
|
||||||
# Build overview.
|
|
||||||
status = [
|
|
||||||
diff --git a/meson_options.txt b/meson_options.txt
|
|
||||||
index 9803473d2..84a6d45b5 100644
|
|
||||||
--- a/meson_options.txt
|
|
||||||
+++ b/meson_options.txt
|
|
||||||
@@ -120,3 +120,12 @@ option('memfd-rexec', type : 'boolean', value : 'true',
|
|
||||||
|
|
||||||
option('distrosysconfdir', type : 'string', value: '',
|
|
||||||
description: 'relative path to sysconfdir for distro default configuration')
|
|
||||||
+
|
|
||||||
+option('specfile', type : 'boolean', value: true,
|
|
||||||
+ description: 'whether to prepare RPM spec')
|
|
||||||
+
|
|
||||||
+option('install-init-files', type : 'boolean', value: true,
|
|
||||||
+ description: 'whether to install init files for local init (e.g. systemd, sysvinit)')
|
|
||||||
+
|
|
||||||
+option('install-state-dirs', type : 'boolean', value: true,
|
|
||||||
+ description: 'whether to create state directories on install')
|
|
|
@ -10551,8 +10551,6 @@ with pkgs;
|
||||||
|
|
||||||
lwc = callPackage ../tools/misc/lwc { };
|
lwc = callPackage ../tools/misc/lwc { };
|
||||||
|
|
||||||
lxc = callPackage ../os-specific/linux/lxc { };
|
|
||||||
|
|
||||||
lxd-image-server = callPackage ../tools/virtualization/lxd-image-server { };
|
lxd-image-server = callPackage ../tools/virtualization/lxd-image-server { };
|
||||||
|
|
||||||
lzfse = callPackage ../tools/compression/lzfse { };
|
lzfse = callPackage ../tools/compression/lzfse { };
|
||||||
|
|
Loading…
Reference in New Issue
Block a user