From 91a3a6a29b689d447ed05f4bcde028593e94af0c Mon Sep 17 00:00:00 2001 From: Adam Stephens Date: Mon, 1 Apr 2024 23:25:42 -0400 Subject: [PATCH 1/4] lxd-ui: move to standalone by-name and format --- nixos/modules/virtualisation/lxd.nix | 2 +- .../ui.nix => by-name/lx/lxd-ui/package.nix} | 17 +++++++++-------- pkgs/tools/admin/lxd/default.nix | 1 - 3 files changed, 10 insertions(+), 10 deletions(-) rename pkgs/{tools/admin/lxd/ui.nix => by-name/lx/lxd-ui/package.nix} (92%) diff --git a/nixos/modules/virtualisation/lxd.nix b/nixos/modules/virtualisation/lxd.nix index e0d61b175494..48d7af434eec 100644 --- a/nixos/modules/virtualisation/lxd.nix +++ b/nixos/modules/virtualisation/lxd.nix @@ -139,7 +139,7 @@ in { ui = { enable = lib.mkEnableOption (lib.mdDoc "(experimental) LXD UI"); - package = lib.mkPackageOption pkgs [ "lxd-unwrapped" "ui" ] { }; + package = lib.mkPackageOption pkgs [ "lxd-ui" ] { }; }; }; }; diff --git a/pkgs/tools/admin/lxd/ui.nix b/pkgs/by-name/lx/lxd-ui/package.nix similarity index 92% rename from pkgs/tools/admin/lxd/ui.nix rename to pkgs/by-name/lx/lxd-ui/package.nix index 138e99d26890..817636666275 100644 --- a/pkgs/tools/admin/lxd/ui.nix +++ b/pkgs/by-name/lx/lxd-ui/package.nix @@ -1,11 +1,12 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchYarnDeps -, nodejs -, prefetch-yarn-deps -, yarn -, nixosTests +{ + lib, + stdenv, + fetchFromGitHub, + fetchYarnDeps, + nodejs, + prefetch-yarn-deps, + yarn, + nixosTests, }: stdenv.mkDerivation rec { diff --git a/pkgs/tools/admin/lxd/default.nix b/pkgs/tools/admin/lxd/default.nix index d66fd7cb3a45..1ac34c7a1be9 100644 --- a/pkgs/tools/admin/lxd/default.nix +++ b/pkgs/tools/admin/lxd/default.nix @@ -77,7 +77,6 @@ buildGoModule rec { passthru.tests.lxd = nixosTests.lxd; passthru.tests.lxd-to-incus = nixosTests.incus.lxd-to-incus; - passthru.ui = callPackage ./ui.nix { }; passthru.updateScript = gitUpdater { url = "https://github.com/canonical/lxd.git"; rev-prefix = "lxd-"; From 5ebdf63b8639187a63389e8c02986a6b0fbd8189 Mon Sep 17 00:00:00 2001 From: Adam Stephens Date: Mon, 1 Apr 2024 23:30:51 -0400 Subject: [PATCH 2/4] lxd-unwrapped: move to by-name and format --- .../lx/lxd-unwrapped/package.nix} | 73 ++++++++++++------- pkgs/top-level/all-packages.nix | 3 - 2 files changed, 45 insertions(+), 31 deletions(-) rename pkgs/{tools/admin/lxd/default.nix => by-name/lx/lxd-unwrapped/package.nix} (70%) diff --git a/pkgs/tools/admin/lxd/default.nix b/pkgs/by-name/lx/lxd-unwrapped/package.nix similarity index 70% rename from pkgs/tools/admin/lxd/default.nix rename to pkgs/by-name/lx/lxd-unwrapped/package.nix index 1ac34c7a1be9..1471f623307b 100644 --- a/pkgs/tools/admin/lxd/default.nix +++ b/pkgs/by-name/lx/lxd-unwrapped/package.nix @@ -1,22 +1,23 @@ -{ lib -, hwdata -, pkg-config -, lxc -, buildGoModule -, fetchurl -, acl -, libcap -, dqlite -, raft-canonical -, sqlite -, udev -, installShellFiles -, nixosTests -, gitUpdater -, callPackage +{ + lib, + hwdata, + pkg-config, + lxc, + buildGo122Module, + fetchurl, + acl, + libcap, + dqlite, + raft-canonical, + sqlite, + udev, + installShellFiles, + nixosTests, + gitUpdater, + callPackage, }: -buildGoModule rec { +buildGo122Module rec { pname = "lxd-unwrapped"; version = "5.21.0"; @@ -32,9 +33,17 @@ buildGoModule rec { --replace "/usr/share/misc/usb.ids" "${hwdata}/share/hwdata/usb.ids" ''; - excludedPackages = [ "test" "lxd/db/generate" "lxd-agent" "lxd-migrate" ]; + excludedPackages = [ + "test" + "lxd/db/generate" + "lxd-agent" + "lxd-migrate" + ]; - nativeBuildInputs = [ installShellFiles pkg-config ]; + nativeBuildInputs = [ + installShellFiles + pkg-config + ]; buildInputs = [ lxc acl @@ -45,7 +54,10 @@ buildGoModule rec { udev.dev ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; tags = [ "libsqlite3" ]; preBuild = '' @@ -59,13 +71,15 @@ buildGoModule rec { ''; preCheck = - let skippedTests = [ - "TestValidateConfig" - "TestConvertNetworkConfig" - "TestConvertStorageConfig" - "TestSnapshotCommon" - "TestContainerTestSuite" - ]; in + let + skippedTests = [ + "TestValidateConfig" + "TestConvertNetworkConfig" + "TestConvertStorageConfig" + "TestSnapshotCommon" + "TestContainerTestSuite" + ]; + in '' # Disable tests requiring local operations buildFlagsArray+=("-run" "[^(${builtins.concatStringsSep "|" skippedTests})]") @@ -86,7 +100,10 @@ buildGoModule rec { description = "Daemon based on liblxc offering a REST API to manage containers"; homepage = "https://ubuntu.com/lxd"; changelog = "https://github.com/canonical/lxd/releases/tag/lxd-${version}"; - license = with licenses; [ asl20 agpl3Plus ]; + license = with licenses; [ + asl20 + agpl3Plus + ]; maintainers = teams.lxc.members; platforms = platforms.linux; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d977766a928a..85fbdd5ff5cf 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10577,9 +10577,6 @@ with pkgs; lxc = callPackage ../os-specific/linux/lxc { }; lxd = callPackage ../tools/admin/lxd/wrapper.nix { }; - lxd-unwrapped = callPackage ../tools/admin/lxd { - buildGoModule = buildGo122Module; - }; lxd-image-server = callPackage ../tools/virtualization/lxd-image-server { }; From 20ab45931c8d99622cd8db033087b77136884e55 Mon Sep 17 00:00:00 2001 From: Adam Stephens Date: Mon, 1 Apr 2024 23:31:54 -0400 Subject: [PATCH 3/4] lxd: move to by-name and format --- .../lx/lxd/package.nix} | 124 +++++++++++------- pkgs/top-level/all-packages.nix | 2 - 2 files changed, 75 insertions(+), 51 deletions(-) rename pkgs/{tools/admin/lxd/wrapper.nix => by-name/lx/lxd/package.nix} (50%) diff --git a/pkgs/tools/admin/lxd/wrapper.nix b/pkgs/by-name/lx/lxd/package.nix similarity index 50% rename from pkgs/tools/admin/lxd/wrapper.nix rename to pkgs/by-name/lx/lxd/package.nix index 9edfefd57ccd..e2c337351dd5 100644 --- a/pkgs/tools/admin/lxd/wrapper.nix +++ b/pkgs/by-name/lx/lxd/package.nix @@ -1,40 +1,41 @@ -{ lib -, lxd-unwrapped -, linkFarm -, makeWrapper -, stdenv -, symlinkJoin -, writeShellScriptBin -, acl -, apparmor-parser -, apparmor-profiles -, attr -, bash -, btrfs-progs -, cdrkit -, criu -, dnsmasq -, e2fsprogs -, getent -, gnutar -, gptfdisk -, gzip -, iproute2 -, iptables -, kmod -, lvm2 -, minio -, nftables -, OVMF -, qemu_kvm -, qemu-utils -, rsync -, spice-gtk -, squashfsTools -, thin-provisioning-tools -, util-linux -, virtiofsd -, xz +{ + lib, + lxd-unwrapped, + linkFarm, + makeWrapper, + stdenv, + symlinkJoin, + writeShellScriptBin, + acl, + apparmor-parser, + apparmor-profiles, + attr, + bash, + btrfs-progs, + cdrkit, + criu, + dnsmasq, + e2fsprogs, + getent, + gnutar, + gptfdisk, + gzip, + iproute2, + iptables, + kmod, + lvm2, + minio, + nftables, + OVMF, + qemu_kvm, + qemu-utils, + rsync, + spice-gtk, + squashfsTools, + thin-provisioning-tools, + util-linux, + virtiofsd, + xz, }: let binPath = lib.makeBinPath [ @@ -70,9 +71,7 @@ let '') ]; - clientBinPath = [ - spice-gtk - ]; + clientBinPath = [ spice-gtk ]; ovmf-2mb = OVMF.override { secureBoot = true; @@ -89,16 +88,43 @@ let # mimic ovmf from https://github.com/canonical/lxd-pkg-snap/blob/3abebe1dfeb20f9b7729556960c7e9fe6ad5e17c/snapcraft.yaml#L378 # also found in /snap/lxd/current/share/qemu/ on a snap install ovmf = linkFarm "lxd-ovmf" [ - { name = "OVMF_CODE.2MB.fd"; path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_CODE.fd"; } - { name = "OVMF_CODE.4MB.fd"; path = "${ovmf-4mb.fd}/FV/${ovmf-prefix}_CODE.fd"; } - { name = "OVMF_CODE.fd"; path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_CODE.fd"; } + { + name = "OVMF_CODE.2MB.fd"; + path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_CODE.fd"; + } + { + name = "OVMF_CODE.4MB.fd"; + path = "${ovmf-4mb.fd}/FV/${ovmf-prefix}_CODE.fd"; + } + { + name = "OVMF_CODE.fd"; + path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_CODE.fd"; + } - { name = "OVMF_VARS.2MB.fd"; path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_VARS.fd"; } - { name = "OVMF_VARS.2MB.ms.fd"; path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_VARS.fd"; } - { name = "OVMF_VARS.4MB.fd"; path = "${ovmf-4mb.fd}/FV/${ovmf-prefix}_VARS.fd"; } - { name = "OVMF_VARS.4MB.ms.fd"; path = "${ovmf-4mb.fd}/FV/${ovmf-prefix}_VARS.fd"; } - { name = "OVMF_VARS.fd"; path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_VARS.fd"; } - { name = "OVMF_VARS.ms.fd"; path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_VARS.fd"; } + { + name = "OVMF_VARS.2MB.fd"; + path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_VARS.fd"; + } + { + name = "OVMF_VARS.2MB.ms.fd"; + path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_VARS.fd"; + } + { + name = "OVMF_VARS.4MB.fd"; + path = "${ovmf-4mb.fd}/FV/${ovmf-prefix}_VARS.fd"; + } + { + name = "OVMF_VARS.4MB.ms.fd"; + path = "${ovmf-4mb.fd}/FV/${ovmf-prefix}_VARS.fd"; + } + { + name = "OVMF_VARS.fd"; + path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_VARS.fd"; + } + { + name = "OVMF_VARS.ms.fd"; + path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_VARS.fd"; + } ]; in symlinkJoin { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 85fbdd5ff5cf..67dd6f629f63 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10576,8 +10576,6 @@ with pkgs; lxc = callPackage ../os-specific/linux/lxc { }; - lxd = callPackage ../tools/admin/lxd/wrapper.nix { }; - lxd-image-server = callPackage ../tools/virtualization/lxd-image-server { }; lzfse = callPackage ../tools/compression/lzfse { }; From 893be2587bcd04da4911754bdaa22822d8d36696 Mon Sep 17 00:00:00 2001 From: Adam Stephens Date: Mon, 1 Apr 2024 23:59:10 -0400 Subject: [PATCH 4/4] lxd: rename to lxd-lts --- nixos/modules/virtualisation/lxd.nix | 2 +- pkgs/by-name/lx/{lxd => lxd-lts}/package.nix | 10 +++++----- .../{lxd-unwrapped => lxd-unwrapped-lts}/package.nix | 5 +++-- pkgs/development/libraries/dqlite/default.nix | 4 ++-- pkgs/development/libraries/raft-canonical/default.nix | 4 ++-- pkgs/top-level/aliases.nix | 2 ++ 6 files changed, 15 insertions(+), 12 deletions(-) rename pkgs/by-name/lx/{lxd => lxd-lts}/package.nix (93%) rename pkgs/by-name/lx/{lxd-unwrapped => lxd-unwrapped-lts}/package.nix (95%) diff --git a/nixos/modules/virtualisation/lxd.nix b/nixos/modules/virtualisation/lxd.nix index 48d7af434eec..aa692cfff904 100644 --- a/nixos/modules/virtualisation/lxd.nix +++ b/nixos/modules/virtualisation/lxd.nix @@ -33,7 +33,7 @@ in { ''; }; - package = lib.mkPackageOption pkgs "lxd" { }; + package = lib.mkPackageOption pkgs "lxd-lts" { }; lxcPackage = lib.mkPackageOption pkgs "lxc" { extraDescription = '' diff --git a/pkgs/by-name/lx/lxd/package.nix b/pkgs/by-name/lx/lxd-lts/package.nix similarity index 93% rename from pkgs/by-name/lx/lxd/package.nix rename to pkgs/by-name/lx/lxd-lts/package.nix index e2c337351dd5..67dda7437b8f 100644 --- a/pkgs/by-name/lx/lxd/package.nix +++ b/pkgs/by-name/lx/lxd-lts/package.nix @@ -1,6 +1,6 @@ { lib, - lxd-unwrapped, + lxd-unwrapped-lts, linkFarm, makeWrapper, stdenv, @@ -128,9 +128,9 @@ let ]; in symlinkJoin { - name = "lxd-${lxd-unwrapped.version}"; + name = "lxd-${lxd-unwrapped-lts.version}"; - paths = [ lxd-unwrapped ]; + paths = [ lxd-unwrapped-lts ]; nativeBuildInputs = [ makeWrapper ]; @@ -141,8 +141,8 @@ symlinkJoin { ''; passthru = { - inherit (lxd-unwrapped) tests ui; + inherit (lxd-unwrapped-lts) tests ui; }; - inherit (lxd-unwrapped) meta pname version; + inherit (lxd-unwrapped-lts) meta pname version; } diff --git a/pkgs/by-name/lx/lxd-unwrapped/package.nix b/pkgs/by-name/lx/lxd-unwrapped-lts/package.nix similarity index 95% rename from pkgs/by-name/lx/lxd-unwrapped/package.nix rename to pkgs/by-name/lx/lxd-unwrapped-lts/package.nix index 1471f623307b..c11ece294dc1 100644 --- a/pkgs/by-name/lx/lxd-unwrapped/package.nix +++ b/pkgs/by-name/lx/lxd-unwrapped-lts/package.nix @@ -18,7 +18,8 @@ }: buildGo122Module rec { - pname = "lxd-unwrapped"; + pname = "lxd-unwrapped-lts"; + # major/minor are used in updateScript to pin to LTS version = "5.21.0"; src = fetchurl { @@ -93,7 +94,7 @@ buildGo122Module rec { passthru.tests.lxd-to-incus = nixosTests.incus.lxd-to-incus; passthru.updateScript = gitUpdater { url = "https://github.com/canonical/lxd.git"; - rev-prefix = "lxd-"; + rev-prefix = "lxd-5.21"; }; meta = with lib; { diff --git a/pkgs/development/libraries/dqlite/default.nix b/pkgs/development/libraries/dqlite/default.nix index 2746c53e6a01..b5bb2de2c986 100644 --- a/pkgs/development/libraries/dqlite/default.nix +++ b/pkgs/development/libraries/dqlite/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, file, libuv -, raft-canonical, sqlite, lxd }: +, raft-canonical, sqlite, lxd-lts }: stdenv.mkDerivation rec { pname = "dqlite"; @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { outputs = [ "dev" "out" ]; passthru.tests = { - inherit lxd; + inherit lxd-lts; }; meta = with lib; { diff --git a/pkgs/development/libraries/raft-canonical/default.nix b/pkgs/development/libraries/raft-canonical/default.nix index a1ce524be2f0..65f4b899d747 100644 --- a/pkgs/development/libraries/raft-canonical/default.nix +++ b/pkgs/development/libraries/raft-canonical/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, file, libuv, lz4, lxd }: +{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, file, libuv, lz4, lxd-lts }: stdenv.mkDerivation rec { pname = "raft-canonical"; @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { outputs = [ "dev" "out" ]; passthru.tests = { - inherit lxd; + inherit lxd-lts; }; meta = with lib; { diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 068e2a670cb9..f3512858b219 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -747,6 +747,8 @@ mapAliases ({ lobster-two = google-fonts; # Added 2021-07-22 luxcorerender = throw "'luxcorerender' has been removed as it's unmaintained and broken in nixpkgs since a while ago"; # Added 2023-06-07 + lxd = lib.warn "lxd has been renamed to lxd-lts" lxd-lts; # Added 2024-04-01 + lxd-unwrapped = lib.warn "lxd-unwrapped has been renamed to lxd-unwrapped-lts" lxd-unwrapped-lts; # Added 2024-04-01 lzma = xz; # moved from top-level 2021-03-14 ### M ###