diff options
author | Adam Stephens <adam@valkor.net> | 2024-04-22 08:37:13 -0400 |
---|---|---|
committer | Adam Stephens <adam@valkor.net> | 2024-04-22 08:40:18 -0400 |
commit | 7e73ead5d0ab1fce66c3122c5e8b9c5bc5bb608a (patch) | |
tree | d0df11073a6a7be26f2d39da73c62f776e5ccc94 /pkgs/os-specific/linux/lxc | |
parent | f171f4ffd47a3cc3ad571a70f265bb9c5e73503b (diff) |
lxc: 5.0.3 -> 6.0.0, pin to lts, move/format
Diffstat (limited to 'pkgs/os-specific/linux/lxc')
-rw-r--r-- | pkgs/os-specific/linux/lxc/add-meson-options.patch | 153 | ||||
-rw-r--r-- | pkgs/os-specific/linux/lxc/default.nix | 91 | ||||
-rw-r--r-- | pkgs/os-specific/linux/lxc/docbook-hack.patch | 21 |
3 files changed, 0 insertions, 265 deletions
diff --git a/pkgs/os-specific/linux/lxc/add-meson-options.patch b/pkgs/os-specific/linux/lxc/add-meson-options.patch deleted file mode 100644 index 01aea4df27473..0000000000000 --- a/pkgs/os-specific/linux/lxc/add-meson-options.patch +++ /dev/null @@ -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') diff --git a/pkgs/os-specific/linux/lxc/default.nix b/pkgs/os-specific/linux/lxc/default.nix deleted file mode 100644 index e525c9c3f5f7d..0000000000000 --- a/pkgs/os-specific/linux/lxc/default.nix +++ /dev/null @@ -1,91 +0,0 @@ -{ - lib, - stdenv, - fetchFromGitHub, - docbook2x, - libapparmor, - libcap, - libseccomp, - libselinux, - meson, - ninja, - nix-update-script, - nixosTests, - openssl, - pkg-config, - systemd, -}: - -stdenv.mkDerivation rec { - pname = "lxc"; - version = "5.0.3"; - - src = fetchFromGitHub { - owner = "lxc"; - repo = "lxc"; - rev = "refs/tags/lxc-${version}"; - hash = "sha256-lnLmLgWXt3pI2S+4OeHRlPP5gui7S7ZXXClFt+n/8sY="; - }; - - nativeBuildInputs = [ - docbook2x - meson - ninja - pkg-config - ]; - - buildInputs = [ - libapparmor - libcap - libseccomp - libselinux - openssl - systemd - ]; - - patches = [ - # make build more nix compatible - ./add-meson-options.patch - - # fix docbook2man version detection - ./docbook-hack.patch - ]; - - mesonFlags = [ - "-Dinstall-init-files=false" - "-Dinstall-state-dirs=false" - "-Dspecfile=false" - ]; - - enableParallelBuilding = true; - - doCheck = true; - - passthru = { - tests = { - incus-legacy-init = nixosTests.incus.container-legacy-init; - incus-systemd-init = nixosTests.incus.container-systemd-init; - }; - updateScript = nix-update-script { - extraArgs = [ - "-vr" - "lxc-(.*)" - ]; - }; - }; - - meta = { - homepage = "https://linuxcontainers.org/"; - description = "Userspace tools for Linux Containers, a lightweight virtualization system"; - license = lib.licenses.gpl2; - - longDescription = '' - LXC containers are often considered as something in the middle between a chroot and a - full fledged virtual machine. The goal of LXC is to create an environment as close as - possible to a standard Linux installation but without the need for a separate kernel. - ''; - - platforms = lib.platforms.linux; - maintainers = lib.teams.lxc.members; - }; -} diff --git a/pkgs/os-specific/linux/lxc/docbook-hack.patch b/pkgs/os-specific/linux/lxc/docbook-hack.patch deleted file mode 100644 index f758014efbaa2..0000000000000 --- a/pkgs/os-specific/linux/lxc/docbook-hack.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/meson.build b/meson.build -index d1527679e..360824994 100644 ---- a/meson.build -+++ b/meson.build -@@ -320,15 +320,7 @@ docconf.set('LXC_USERNIC_CONF', lxc_user_network_conf) - docconf.set('LXC_USERNIC_DB', lxc_user_network_db) - docconf.set('PACKAGE_VERSION', version_data.get('LXC_VERSION')) - docconf.set('docdtd', '"-//OASIS//DTD DocBook XML" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"') --sgml2man = find_program('docbook2X2man', 'docbook2x-man', 'db2x_docbook2man', 'docbook2man', 'docbook-to-man', required: false, version: '>=0.8') --if not sgml2man.found() -- sgml2man = find_program('docbook2man', required: false, version: '<0.8') -- if sgml2man.found() -- docconf.set('docdtd', '"-//Davenport//DTD DocBook V3.0//EN"') -- elif want_mans -- error('missing required docbook2x or docbook-utils dependency') -- endif --endif -+sgml2man = find_program('docbook2X2man', 'docbook2x-man', 'db2x_docbook2man', 'docbook2man', 'docbook-to-man', required: false) - - ## Threads. - threads = dependency('threads') |