lxd: move to by-name and format

+148 -124
+148
pkgs/by-name/lx/lxd/package.nix
···
··· 1 + { 2 + lib, 3 + lxd-unwrapped, 4 + linkFarm, 5 + makeWrapper, 6 + stdenv, 7 + symlinkJoin, 8 + writeShellScriptBin, 9 + acl, 10 + apparmor-parser, 11 + apparmor-profiles, 12 + attr, 13 + bash, 14 + btrfs-progs, 15 + cdrkit, 16 + criu, 17 + dnsmasq, 18 + e2fsprogs, 19 + getent, 20 + gnutar, 21 + gptfdisk, 22 + gzip, 23 + iproute2, 24 + iptables, 25 + kmod, 26 + lvm2, 27 + minio, 28 + nftables, 29 + OVMF, 30 + qemu_kvm, 31 + qemu-utils, 32 + rsync, 33 + spice-gtk, 34 + squashfsTools, 35 + thin-provisioning-tools, 36 + util-linux, 37 + virtiofsd, 38 + xz, 39 + }: 40 + let 41 + binPath = lib.makeBinPath [ 42 + acl 43 + attr 44 + bash 45 + btrfs-progs 46 + cdrkit 47 + criu 48 + dnsmasq 49 + e2fsprogs 50 + getent 51 + gnutar 52 + gptfdisk 53 + gzip 54 + iproute2 55 + iptables 56 + kmod 57 + lvm2 58 + minio 59 + nftables 60 + qemu_kvm 61 + qemu-utils 62 + rsync 63 + squashfsTools 64 + thin-provisioning-tools 65 + util-linux 66 + virtiofsd 67 + xz 68 + 69 + (writeShellScriptBin "apparmor_parser" '' 70 + exec '${apparmor-parser}/bin/apparmor_parser' -I '${apparmor-profiles}/etc/apparmor.d' "$@" 71 + '') 72 + ]; 73 + 74 + clientBinPath = [ spice-gtk ]; 75 + 76 + ovmf-2mb = OVMF.override { 77 + secureBoot = true; 78 + fdSize2MB = true; 79 + }; 80 + 81 + ovmf-4mb = OVMF.override { 82 + secureBoot = true; 83 + fdSize4MB = true; 84 + }; 85 + 86 + ovmf-prefix = if stdenv.hostPlatform.isAarch64 then "AAVMF" else "OVMF"; 87 + 88 + # mimic ovmf from https://github.com/canonical/lxd-pkg-snap/blob/3abebe1dfeb20f9b7729556960c7e9fe6ad5e17c/snapcraft.yaml#L378 89 + # also found in /snap/lxd/current/share/qemu/ on a snap install 90 + ovmf = linkFarm "lxd-ovmf" [ 91 + { 92 + name = "OVMF_CODE.2MB.fd"; 93 + path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_CODE.fd"; 94 + } 95 + { 96 + name = "OVMF_CODE.4MB.fd"; 97 + path = "${ovmf-4mb.fd}/FV/${ovmf-prefix}_CODE.fd"; 98 + } 99 + { 100 + name = "OVMF_CODE.fd"; 101 + path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_CODE.fd"; 102 + } 103 + 104 + { 105 + name = "OVMF_VARS.2MB.fd"; 106 + path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_VARS.fd"; 107 + } 108 + { 109 + name = "OVMF_VARS.2MB.ms.fd"; 110 + path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_VARS.fd"; 111 + } 112 + { 113 + name = "OVMF_VARS.4MB.fd"; 114 + path = "${ovmf-4mb.fd}/FV/${ovmf-prefix}_VARS.fd"; 115 + } 116 + { 117 + name = "OVMF_VARS.4MB.ms.fd"; 118 + path = "${ovmf-4mb.fd}/FV/${ovmf-prefix}_VARS.fd"; 119 + } 120 + { 121 + name = "OVMF_VARS.fd"; 122 + path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_VARS.fd"; 123 + } 124 + { 125 + name = "OVMF_VARS.ms.fd"; 126 + path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_VARS.fd"; 127 + } 128 + ]; 129 + in 130 + symlinkJoin { 131 + name = "lxd-${lxd-unwrapped.version}"; 132 + 133 + paths = [ lxd-unwrapped ]; 134 + 135 + nativeBuildInputs = [ makeWrapper ]; 136 + 137 + postBuild = '' 138 + wrapProgram $out/bin/lxd --prefix PATH : ${lib.escapeShellArg binPath}:${qemu_kvm}/libexec:$out/bin --set LXD_OVMF_PATH ${ovmf} 139 + 140 + wrapProgram $out/bin/lxc --prefix PATH : ${lib.makeBinPath clientBinPath} 141 + ''; 142 + 143 + passthru = { 144 + inherit (lxd-unwrapped) tests ui; 145 + }; 146 + 147 + inherit (lxd-unwrapped) meta pname version; 148 + }
-122
pkgs/tools/admin/lxd/wrapper.nix
··· 1 - { lib 2 - , lxd-unwrapped 3 - , linkFarm 4 - , makeWrapper 5 - , stdenv 6 - , symlinkJoin 7 - , writeShellScriptBin 8 - , acl 9 - , apparmor-parser 10 - , apparmor-profiles 11 - , attr 12 - , bash 13 - , btrfs-progs 14 - , cdrkit 15 - , criu 16 - , dnsmasq 17 - , e2fsprogs 18 - , getent 19 - , gnutar 20 - , gptfdisk 21 - , gzip 22 - , iproute2 23 - , iptables 24 - , kmod 25 - , lvm2 26 - , minio 27 - , nftables 28 - , OVMF 29 - , qemu_kvm 30 - , qemu-utils 31 - , rsync 32 - , spice-gtk 33 - , squashfsTools 34 - , thin-provisioning-tools 35 - , util-linux 36 - , virtiofsd 37 - , xz 38 - }: 39 - let 40 - binPath = lib.makeBinPath [ 41 - acl 42 - attr 43 - bash 44 - btrfs-progs 45 - cdrkit 46 - criu 47 - dnsmasq 48 - e2fsprogs 49 - getent 50 - gnutar 51 - gptfdisk 52 - gzip 53 - iproute2 54 - iptables 55 - kmod 56 - lvm2 57 - minio 58 - nftables 59 - qemu_kvm 60 - qemu-utils 61 - rsync 62 - squashfsTools 63 - thin-provisioning-tools 64 - util-linux 65 - virtiofsd 66 - xz 67 - 68 - (writeShellScriptBin "apparmor_parser" '' 69 - exec '${apparmor-parser}/bin/apparmor_parser' -I '${apparmor-profiles}/etc/apparmor.d' "$@" 70 - '') 71 - ]; 72 - 73 - clientBinPath = [ 74 - spice-gtk 75 - ]; 76 - 77 - ovmf-2mb = OVMF.override { 78 - secureBoot = true; 79 - fdSize2MB = true; 80 - }; 81 - 82 - ovmf-4mb = OVMF.override { 83 - secureBoot = true; 84 - fdSize4MB = true; 85 - }; 86 - 87 - ovmf-prefix = if stdenv.hostPlatform.isAarch64 then "AAVMF" else "OVMF"; 88 - 89 - # mimic ovmf from https://github.com/canonical/lxd-pkg-snap/blob/3abebe1dfeb20f9b7729556960c7e9fe6ad5e17c/snapcraft.yaml#L378 90 - # also found in /snap/lxd/current/share/qemu/ on a snap install 91 - ovmf = linkFarm "lxd-ovmf" [ 92 - { name = "OVMF_CODE.2MB.fd"; path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_CODE.fd"; } 93 - { name = "OVMF_CODE.4MB.fd"; path = "${ovmf-4mb.fd}/FV/${ovmf-prefix}_CODE.fd"; } 94 - { name = "OVMF_CODE.fd"; path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_CODE.fd"; } 95 - 96 - { name = "OVMF_VARS.2MB.fd"; path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_VARS.fd"; } 97 - { name = "OVMF_VARS.2MB.ms.fd"; path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_VARS.fd"; } 98 - { name = "OVMF_VARS.4MB.fd"; path = "${ovmf-4mb.fd}/FV/${ovmf-prefix}_VARS.fd"; } 99 - { name = "OVMF_VARS.4MB.ms.fd"; path = "${ovmf-4mb.fd}/FV/${ovmf-prefix}_VARS.fd"; } 100 - { name = "OVMF_VARS.fd"; path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_VARS.fd"; } 101 - { name = "OVMF_VARS.ms.fd"; path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_VARS.fd"; } 102 - ]; 103 - in 104 - symlinkJoin { 105 - name = "lxd-${lxd-unwrapped.version}"; 106 - 107 - paths = [ lxd-unwrapped ]; 108 - 109 - nativeBuildInputs = [ makeWrapper ]; 110 - 111 - postBuild = '' 112 - wrapProgram $out/bin/lxd --prefix PATH : ${lib.escapeShellArg binPath}:${qemu_kvm}/libexec:$out/bin --set LXD_OVMF_PATH ${ovmf} 113 - 114 - wrapProgram $out/bin/lxc --prefix PATH : ${lib.makeBinPath clientBinPath} 115 - ''; 116 - 117 - passthru = { 118 - inherit (lxd-unwrapped) tests ui; 119 - }; 120 - 121 - inherit (lxd-unwrapped) meta pname version; 122 - }
···
-2
pkgs/top-level/all-packages.nix
··· 10576 10577 lxc = callPackage ../os-specific/linux/lxc { }; 10578 10579 - lxd = callPackage ../tools/admin/lxd/wrapper.nix { }; 10580 - 10581 lxd-image-server = callPackage ../tools/virtualization/lxd-image-server { }; 10582 10583 lzfse = callPackage ../tools/compression/lzfse { };
··· 10576 10577 lxc = callPackage ../os-specific/linux/lxc { }; 10578 10579 lxd-image-server = callPackage ../tools/virtualization/lxd-image-server { }; 10580 10581 lzfse = callPackage ../tools/compression/lzfse { };