diff options
Diffstat (limited to 'pkgs/tools/virtualization')
15 files changed, 303 insertions, 96 deletions
diff --git a/pkgs/tools/virtualization/cloud-init/default.nix b/pkgs/tools/virtualization/cloud-init/default.nix index 6bc070d2cbbfc..9da4290dadded 100644 --- a/pkgs/tools/virtualization/cloud-init/default.nix +++ b/pkgs/tools/virtualization/cloud-init/default.nix @@ -1,11 +1,14 @@ { lib +, nixosTests , buildPythonApplication , cloud-utils , dmidecode , fetchFromGitHub +, iproute2 , openssh , python3 , shadow +, systemd }: python3.pkgs.buildPythonApplication rec { @@ -25,6 +28,13 @@ python3.pkgs.buildPythonApplication rec { prePatch = '' substituteInPlace setup.py \ --replace /lib/systemd $out/lib/systemd + + substituteInPlace cloudinit/net/networkd.py \ + --replace "['/usr/sbin', '/bin']" "['/usr/sbin', '/bin', '${iproute2}/bin', '${systemd}/bin']" + + substituteInPlace tests/unittests/test_net_activators.py \ + --replace "['/usr/sbin', '/bin']" \ + "['/usr/sbin', '/bin', '${iproute2}/bin', '${systemd}/bin']" ''; postInstall = '' @@ -108,6 +118,8 @@ python3.pkgs.buildPythonApplication rec { "cloudinit" ]; + passthru.tests.cloud-init = nixosTests.cloud-init; + meta = with lib; { homepage = "https://cloudinit.readthedocs.org"; description = "Provides configuration and customization of cloud instance"; diff --git a/pkgs/tools/virtualization/cri-tools/default.nix b/pkgs/tools/virtualization/cri-tools/default.nix index 16a7ecffa0435..846e2ee279445 100644 --- a/pkgs/tools/virtualization/cri-tools/default.nix +++ b/pkgs/tools/virtualization/cri-tools/default.nix @@ -6,13 +6,13 @@ buildGoModule rec { pname = "cri-tools"; - version = "1.22.0"; + version = "1.23.0"; src = fetchFromGitHub { owner = "kubernetes-sigs"; repo = pname; rev = "v${version}"; - sha256 = "sha256-+36lGLpNnTQnwwmXoVNPt3RMcnE46AdXOpghvhP0Bq0="; + sha256 = "sha256-b65GY08vykVp/PUBmBXKIfykyPEJRgGjgu7zBoXx3K0="; }; vendorSha256 = null; diff --git a/pkgs/tools/virtualization/ec2-utils/default.nix b/pkgs/tools/virtualization/ec2-utils/default.nix deleted file mode 100644 index 283219108424e..0000000000000 --- a/pkgs/tools/virtualization/ec2-utils/default.nix +++ /dev/null @@ -1,47 +0,0 @@ -{ stdenv, lib, rpmextract, fetchurl, python2, tree }: - -stdenv.mkDerivation { - pname = "ec2-utils"; - version = "0.5.1"; - - # The url can be determined by booting an "Amazon Linux 2" and running: - # > yumdownloader --urls ec2-utils - src = fetchurl { - url = "http://amazonlinux.ap-northeast-1.amazonaws.com/blobstore/a3b4d2c35c2300518fe10381a05b3bd7936ff5cdd3d351143a11bf84073d9e00/ec2-utils-0.5-1.amzn2.0.1.noarch.rpm"; - sha256 = "004y7l3q9gqi78a53lykrpsnz4yp7dds1083w67m2013bk1x5d53"; - }; - - nativeBuildInputs = [ rpmextract ]; - - buildInputs = [ python2 ]; - - unpackPhase = '' - mkdir source - cd source - rpmextract "$src" - ''; - - installPhase = '' - mkdir $out - - mv --target-directory $out \ - etc sbin usr/bin usr/lib - ''; - - postFixup = '' - for i in $out/etc/udev/rules.d/*.rules; do - substituteInPlace "$i" \ - --replace '/sbin' "$out/bin" - done - - substituteInPlace "$out/etc/udev/rules.d/70-ec2-nvme-devices.rules" \ - --replace 'ec2nvme-nsid' "$out/lib/udev/ec2nvme-nsid" - ''; - - meta = { - description = "A set of tools for running in EC2"; - homepage = "https://aws.amazon.com/amazon-linux-ami/"; - license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ thefloweringash ]; - }; -} diff --git a/pkgs/tools/virtualization/ec2instanceconnectcli/default.nix b/pkgs/tools/virtualization/ec2instanceconnectcli/default.nix index 16c10b5ae7f0e..1ce3c5d2f1b4e 100644 --- a/pkgs/tools/virtualization/ec2instanceconnectcli/default.nix +++ b/pkgs/tools/virtualization/ec2instanceconnectcli/default.nix @@ -19,7 +19,7 @@ buildPythonPackage rec { meta = with lib; { description = "Command Line Interface for AWS EC2 Instance Connect"; homepage = "https://github.com/aws/aws-ec2-instance-connect-cli"; - license = licenses.apsl20; + license = licenses.asl20; maintainers = with maintainers; [ yurrriq ]; }; } diff --git a/pkgs/tools/virtualization/euca2ools/default.nix b/pkgs/tools/virtualization/euca2ools/default.nix deleted file mode 100644 index 88e83f42733e5..0000000000000 --- a/pkgs/tools/virtualization/euca2ools/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ lib, fetchgit, python2Packages }: - -let - inherit (python2Packages) buildPythonApplication boto m2crypto; -in buildPythonApplication { - pname = "euca2ools"; - version = "2.1.4"; - - src = fetchgit { - url = "https://github.com/eucalyptus/euca2ools.git"; - rev = "19cb7eac34dd7efe3a56e4841b9692c03458bf3b"; - sha256 = "0grsgn5gbvk1hlfa8qx7ppz7iyfyi2pdhxy8njr8lm60w4amfiyq"; - }; - - propagatedBuildInputs = [ boto m2crypto ]; - - meta = { - homepage = "https://github.com/eucalyptus/euca2ools"; - description = "Tools for interacting with Amazon EC2/S3-compatible cloud computing services"; - maintainers = [ lib.maintainers.eelco ]; - platforms = lib.platforms.linux; - }; -} diff --git a/pkgs/tools/virtualization/google-guest-agent/default.nix b/pkgs/tools/virtualization/google-guest-agent/default.nix new file mode 100644 index 0000000000000..a4ebd2db8f546 --- /dev/null +++ b/pkgs/tools/virtualization/google-guest-agent/default.nix @@ -0,0 +1,53 @@ +{ buildGoModule, fetchFromGitHub, fetchpatch, lib, coreutils, makeWrapper +, google-guest-configs, google-guest-oslogin, iproute2, dhcp, procps +}: + +buildGoModule rec { + pname = "guest-agent"; + version = "20220104.00"; + + src = fetchFromGitHub { + owner = "GoogleCloudPlatform"; + repo = pname; + rev = version; + sha256 = "sha256-BC2qpnGJU/D0z8jlmAEwvmFwBk1n0ZvqPBB6Zon9N/U="; + }; + + vendorSha256 = "sha256-YcWKSiN715Z9lmNAQx+sHEgxWnhFhenCNXBS7gdMV4M="; + + patches = [ ./disable-etc-mutation.patch ]; + + nativeBuildInputs = [ makeWrapper ]; + + postPatch = '' + substitute ${./fix-paths.patch} fix-paths.patch \ + --subst-var out \ + --subst-var-by true "${coreutils}/bin/true" + patch -p1 < ./fix-paths.patch + ''; + + # We don't add `shadow` here; it's added to PATH if `mutableUsers` is enabled. + binPath = lib.makeBinPath [ google-guest-configs google-guest-oslogin iproute2 dhcp procps ]; + + # Skip tests which require networking. + preCheck = '' + rm google_guest_agent/wsfc_test.go + ''; + + postInstall = '' + mkdir -p $out/etc/systemd/system + cp *.service $out/etc/systemd/system + install -Dm644 instance_configs.cfg $out/etc/default/instance_configs.cfg + + wrapProgram $out/bin/google_guest_agent \ + --prefix PATH ":" "$binPath" + ''; + + meta = with lib; { + homepage = "https://github.com/GoogleCloudPlatform/guest-agent"; + description = "Guest Agent for Google Compute Engine"; + license = licenses.asl20; + platforms = platforms.linux; + maintainers = with maintainers; [ abbradar ]; + }; +} diff --git a/pkgs/tools/virtualization/google-guest-agent/disable-etc-mutation.patch b/pkgs/tools/virtualization/google-guest-agent/disable-etc-mutation.patch new file mode 100644 index 0000000000000..fe076baacd20e --- /dev/null +++ b/pkgs/tools/virtualization/google-guest-agent/disable-etc-mutation.patch @@ -0,0 +1,54 @@ +From 2e8060f9ade13ba18ae5930c0781227bfcce11a5 Mon Sep 17 00:00:00 2001 +From: Nikolay Amiantov <ab@fmap.me> +Date: Mon, 10 Jan 2022 22:16:38 +0300 +Subject: [PATCH] Disable accounts setup phase and oslogin + +On NixOS we set up necessary groups and sudoers rules declaratively, +and have most of `/etc` directory read-only. This creates (harmless) +error messages when trying to create google-sudoers file. + +"oslogin" daemon sets up configuration necessary for OS Login to +work, including PAM, NSS and sudoers. On NixOS we perform all this +configuration declaratively and have most of /etc mounted read-only. +This creates (harmless) error messages when running the daemon. +--- + google_guest_agent/non_windows_accounts.go | 9 --------- + google_guest_agent/oslogin.go | 2 +- + 2 files changed, 1 insertion(+), 10 deletions(-) + +diff --git a/google_guest_agent/non_windows_accounts.go b/google_guest_agent/non_windows_accounts.go +index 81013e3..05b830f 100644 +--- a/google_guest_agent/non_windows_accounts.go ++++ b/google_guest_agent/non_windows_accounts.go +@@ -104,15 +104,6 @@ func (a *accountsMgr) set() error { + sshKeys = make(map[string][]string) + } + +- logger.Debugf("create sudoers file if needed") +- if err := createSudoersFile(); err != nil { +- logger.Errorf("Error creating google-sudoers file: %v.", err) +- } +- logger.Debugf("create sudoers group if needed") +- if err := createSudoersGroup(); err != nil { +- logger.Errorf("Error creating google-sudoers group: %v.", err) +- } +- + mdkeys := newMetadata.Instance.Attributes.SSHKeys + if !newMetadata.Instance.Attributes.BlockProjectKeys { + mdkeys = append(mdkeys, newMetadata.Project.Attributes.SSHKeys...) +diff --git a/google_guest_agent/oslogin.go b/google_guest_agent/oslogin.go +index d05f733..980e84c 100644 +--- a/google_guest_agent/oslogin.go ++++ b/google_guest_agent/oslogin.go +@@ -76,7 +76,7 @@ func (o *osloginMgr) timeout() bool { + } + + func (o *osloginMgr) disabled(os string) bool { +- return os == "windows" ++ return true + } + + func (o *osloginMgr) set() error { +-- +2.34.1 + diff --git a/pkgs/tools/virtualization/google-guest-agent/fix-paths.patch b/pkgs/tools/virtualization/google-guest-agent/fix-paths.patch new file mode 100644 index 0000000000000..07bb112ae289d --- /dev/null +++ b/pkgs/tools/virtualization/google-guest-agent/fix-paths.patch @@ -0,0 +1,43 @@ +diff --git a/google-guest-agent.service b/google-guest-agent.service +index 79b8e39..a39097b 100644 +--- a/google-guest-agent.service ++++ b/google-guest-agent.service +@@ -14,7 +14,7 @@ PartOf=network.service networking.service NetworkManager.service systemd-network + + [Service] + Type=notify +-ExecStart=/usr/bin/google_guest_agent ++ExecStart=@out@/bin/google_guest_agent + OOMScoreAdjust=-999 + Restart=always + +diff --git a/google-shutdown-scripts.service b/google-shutdown-scripts.service +index 16bb9c2..ae02067 100644 +--- a/google-shutdown-scripts.service ++++ b/google-shutdown-scripts.service +@@ -5,10 +5,10 @@ After=network-online.target rsyslog.service + + [Service] + Type=oneshot +-ExecStart=/bin/true ++ExecStart=@true@ + RemainAfterExit=true + # This service does nothing on start, and runs shutdown scripts on stop. +-ExecStop=/usr/bin/google_metadata_script_runner shutdown ++ExecStop=@out@/bin/google_metadata_script_runner shutdown + TimeoutStopSec=0 + KillMode=process + +diff --git a/google-startup-scripts.service b/google-startup-scripts.service +index dfc9838..2465265 100644 +--- a/google-startup-scripts.service ++++ b/google-startup-scripts.service +@@ -6,7 +6,7 @@ Before=apt-daily.service + + [Service] + Type=oneshot +-ExecStart=/usr/bin/google_metadata_script_runner startup ++ExecStart=@out@/bin/google_metadata_script_runner startup + #TimeoutStartSec is ignored for Type=oneshot service units. + KillMode=process + diff --git a/pkgs/tools/virtualization/google-guest-configs/default.nix b/pkgs/tools/virtualization/google-guest-configs/default.nix new file mode 100644 index 0000000000000..dd3c01c6229a0 --- /dev/null +++ b/pkgs/tools/virtualization/google-guest-configs/default.nix @@ -0,0 +1,52 @@ +{ stdenv, lib, fetchFromGitHub, makeWrapper, substituteAll +, ipcalc, iproute2, util-linux, coreutils, ethtool, gnugrep, gnused, nvme-cli }: + +stdenv.mkDerivation rec { + pname = "google-guest-configs"; + version = "20211116.00"; + + src = fetchFromGitHub { + owner = "GoogleCloudPlatform"; + repo = "guest-configs"; + rev = version; + sha256 = "sha256-0SRu6p/DsHNNI20mkXJitt/Ee5S2ooiy5hNmD+ndecM="; + }; + + binDeps = lib.makeBinPath [ coreutils util-linux gnugrep gnused ethtool ipcalc iproute2 ]; + + nativeBuildInputs = [ makeWrapper ]; + + dontConfigure = true; + dontBuild = true; + + postPatch = '' + substitute ${./fix-paths.patch} fix-paths.patch \ + --subst-var out \ + --subst-var-by nvme "${nvme-cli}/bin/nvme" \ + --subst-var-by sh "${stdenv.shell}" \ + --subst-var-by umount "${util-linux}/bin/umount" \ + --subst-var-by logger "${util-linux}/bin/logger" + patch -p1 < ./fix-paths.patch + ''; + + installPhase = '' + mkdir -p $out/{bin,etc,lib} + cp -r src/etc/{modprobe.d,sysctl.d} $out/etc + cp -r src/lib/udev $out/lib + cp -r src/sbin/* $out/bin + cp -r src/usr/bin/* $out/bin + + for i in $out/bin/* $out/lib/udev/google_nvme_id; do + wrapProgram "$i" \ + --prefix "PATH" ":" "$binDeps" + done + ''; + + meta = with lib; { + homepage = "https://github.com/GoogleCloudPlatform/guest-configs"; + description = "Linux Guest Environment for Google Compute Engine"; + license = licenses.asl20; + platforms = platforms.linux; + maintainers = with maintainers; [ abbradar ]; + }; +} diff --git a/pkgs/tools/virtualization/google-guest-configs/fix-paths.patch b/pkgs/tools/virtualization/google-guest-configs/fix-paths.patch new file mode 100644 index 0000000000000..7c9a86f106014 --- /dev/null +++ b/pkgs/tools/virtualization/google-guest-configs/fix-paths.patch @@ -0,0 +1,61 @@ +diff -ru3 source.old/src/lib/udev/google_nvme_id source.new/src/lib/udev/google_nvme_id +--- source.old/src/lib/udev/google_nvme_id 1970-01-01 03:00:01.000000000 +0300 ++++ source.new/src/lib/udev/google_nvme_id 2022-02-05 13:30:00.986242869 +0300 +@@ -17,7 +17,7 @@ + # the metadata server + + # Locations of the script's dependencies +-readonly nvme_cli_bin=/usr/sbin/nvme ++readonly nvme_cli_bin=@nvme@ + + # Bash regex to parse device paths and controller identification + readonly NAMESPACE_NUMBER_REGEX="/dev/nvme[[:digit:]]+n([[:digit:]]+).*" +diff -ru3 source.old/src/lib/udev/rules.d/64-gce-disk-removal.rules source.new/src/lib/udev/rules.d/64-gce-disk-removal.rules +--- source.old/src/lib/udev/rules.d/64-gce-disk-removal.rules 1970-01-01 03:00:01.000000000 +0300 ++++ source.new/src/lib/udev/rules.d/64-gce-disk-removal.rules 2022-02-05 13:27:42.635300567 +0300 +@@ -14,4 +14,4 @@ + # + # When a disk is removed, unmount any remaining attached volumes. + +-ACTION=="remove", SUBSYSTEM=="block", KERNEL=="sd*|vd*|nvme*", RUN+="/bin/sh -c '/bin/umount -fl /dev/$name && /usr/bin/logger -p daemon.warn -s WARNING: hot-removed /dev/$name that was still mounted, data may have been corrupted'" ++ACTION=="remove", SUBSYSTEM=="block", KERNEL=="sd*|vd*|nvme*", RUN+="@sh@ -c '@umount@ -fl /dev/$name && @logger@ -p daemon.warn -s WARNING: hot-removed /dev/$name that was still mounted, data may have been corrupted'" +diff -ru3 source.old/src/lib/udev/rules.d/65-gce-disk-naming.rules source.new/src/lib/udev/rules.d/65-gce-disk-naming.rules +--- source.old/src/lib/udev/rules.d/65-gce-disk-naming.rules 1970-01-01 03:00:01.000000000 +0300 ++++ source.new/src/lib/udev/rules.d/65-gce-disk-naming.rules 2022-02-05 13:27:05.053107964 +0300 +@@ -21,11 +21,11 @@ + KERNEL=="sd*|vd*", IMPORT{program}="scsi_id --export --whitelisted -d $tempnode" + + # NVME Local SSD naming +-KERNEL=="nvme*n*", ATTRS{model}=="nvme_card", PROGRAM="/bin/sh -c 'nsid=$$(echo %k|sed -re s/nvme[0-9]+n\([0-9]+\).\*/\\1/); echo $$((nsid-1))'", ENV{ID_SERIAL_SHORT}="local-nvme-ssd-%c" ++KERNEL=="nvme*n*", ATTRS{model}=="nvme_card", PROGRAM="@sh@ -c 'nsid=$$(echo %k|sed -re s/nvme[0-9]+n\([0-9]+\).\*/\\1/); echo $$((nsid-1))'", ENV{ID_SERIAL_SHORT}="local-nvme-ssd-%c" + KERNEL=="nvme*", ATTRS{model}=="nvme_card", ENV{ID_SERIAL}="Google_EphemeralDisk_$env{ID_SERIAL_SHORT}" + + # NVME Persistent Disk Naming +-KERNEL=="nvme*n*", ATTRS{model}=="nvme_card-pd", IMPORT{program}="google_nvme_id -d $tempnode" ++KERNEL=="nvme*n*", ATTRS{model}=="nvme_card-pd", IMPORT{program}="@out@/lib/udev/google_nvme_id -d $tempnode" + + # Symlinks + KERNEL=="sd*|vd*|nvme*", ENV{DEVTYPE}=="disk", SYMLINK+="disk/by-id/google-$env{ID_SERIAL_SHORT}" +diff -ru3 source.old/src/sbin/google-dhclient-script source.new/src/sbin/google-dhclient-script +--- source.old/src/sbin/google-dhclient-script 1970-01-01 03:00:01.000000000 +0300 ++++ source.new/src/sbin/google-dhclient-script 2022-02-05 13:29:37.430058984 +0300 +@@ -31,7 +31,6 @@ + # This script is found in EL 7 and used to fix local routing in EL 6. + # ---------- + +-PATH=/bin:/usr/bin:/sbin + # scripts in dhclient.d/ use $SAVEDIR (#833054) + SAVEDIR=/var/lib/dhclient + +@@ -58,9 +57,9 @@ + if need_hostname; then + status=1 + if [ -n "${new_ip_address}" ]; then +- eval $(/bin/ipcalc --silent --hostname ${new_ip_address} ; echo "status=$?") ++ eval $(ipcalc --silent --hostname ${new_ip_address} ; echo "status=$?") + elif [ -n "${new_ip6_address}" ]; then +- eval $(/bin/ipcalc --silent --hostname ${new_ip6_address} ; echo "status=$?") ++ eval $(ipcalc --silent --hostname ${new_ip6_address} ; echo "status=$?") + fi + + if [ ${status} -eq 0 ]; then diff --git a/pkgs/tools/virtualization/google-compute-engine-oslogin/default.nix b/pkgs/tools/virtualization/google-guest-oslogin/default.nix index 0718e437b06b2..50ead9de726f2 100644 --- a/pkgs/tools/virtualization/google-compute-engine-oslogin/default.nix +++ b/pkgs/tools/virtualization/google-guest-oslogin/default.nix @@ -9,38 +9,39 @@ }: stdenv.mkDerivation rec { - pname = "google-compute-engine-oslogin"; - version = "20210429.00"; + pname = "google-guest-oslogin"; + version = "20220205.00"; src = fetchFromGitHub { owner = "GoogleCloudPlatform"; repo = "guest-oslogin"; rev = version; - sha256 = "eHAg9K5oxcygEzqaac81jSFHF+zsW6uB7q2Kfo9hSrA="; + sha256 = "sha256-CVJAWda8bn5MPO8ACLtosVvZzuxPbOj377WaysZdhDU="; }; postPatch = '' # change sudoers dir from /var/google-sudoers.d to /run/google-sudoers.d (managed through systemd-tmpfiles) substituteInPlace src/pam/pam_oslogin_admin.cc --replace /var/google-sudoers.d /run/google-sudoers.d # fix "User foo not allowed because shell /bin/bash does not exist" - substituteInPlace src/include/compat.h --replace /bin/bash ${bashInteractive}/bin/bash + substituteInPlace src/include/compat.h --replace /bin/bash /run/current-system/sw/bin/bash ''; - buildInputs = [ curl.dev pam ]; + buildInputs = [ curl.dev pam json_c ]; - NIX_CFLAGS_COMPILE = "-I${json_c.dev}/include/json-c"; - NIX_CFLAGS_LINK = "-L${json_c}/lib"; + NIX_CFLAGS_COMPILE = [ "-I${json_c.dev}/include/json-c" ]; makeFlags = [ "VERSION=${version}" - "DESTDIR=${placeholder "out"}" - "PREFIX=/" - "BINDIR=/bin" - "LIBDIR=/lib" - "PAMDIR=/lib" - "MANDIR=/share/man" + "PREFIX=$(out)" + "MANDIR=$(out)/share/man" + "SYSTEMDDIR=$(out)/etc/systemd/system" + "PRESETDIR=$(out)/etc/systemd/system-preset" ]; + postInstall = '' + sed -i "s,/usr/bin/,$out/bin/,g" $out/etc/systemd/system/google-oslogin-cache.service + ''; + enableParallelBuilding = true; passthru.tests = { @@ -51,6 +52,7 @@ stdenv.mkDerivation rec { homepage = "https://github.com/GoogleCloudPlatform/compute-image-packages"; description = "OS Login Guest Environment for Google Compute Engine"; license = licenses.asl20; + platforms = platforms.linux; maintainers = with maintainers; [ flokli ]; }; } diff --git a/pkgs/tools/virtualization/linode-cli/default.nix b/pkgs/tools/virtualization/linode-cli/default.nix index 5704922955429..31a3e5dac4c70 100644 --- a/pkgs/tools/virtualization/linode-cli/default.nix +++ b/pkgs/tools/virtualization/linode-cli/default.nix @@ -11,10 +11,10 @@ }: let - sha256 = "10mlkkprky7qqjrkv43v1lzmlgdjpkzy3729k9xxdm5mpq5bjdwj"; + sha256 = "1f0nrdg8hf650qxz79i3a1d2zyf24niyrcnbnhc9i7hzbnqbp5qg"; # specVersion taken from: https://www.linode.com/docs/api/openapi.yaml at `info.version`. - specVersion = "4.112.0"; - specSha256 = "1z509qf5iidn6q5x3p7m8aifxn4bmwifx36wv8ii3nn7l4s9aymr"; + specVersion = "4.115.0"; + specSha256 = "1s9pis1jl6d8znkb8hwsv89wzf38bhjing4x4q9ggy038y7xkkwg"; spec = fetchurl { url = "https://raw.githubusercontent.com/linode/linode-api-docs/v${specVersion}/openapi.yaml"; sha256 = specSha256; @@ -24,7 +24,7 @@ in buildPythonApplication rec { pname = "linode-cli"; - version = "5.14.0"; + version = "5.17.1"; src = fetchFromGitHub { owner = "linode"; diff --git a/pkgs/tools/virtualization/lxd-image-server/default.nix b/pkgs/tools/virtualization/lxd-image-server/default.nix index 3992f425a3cd0..3a1d32247a40c 100644 --- a/pkgs/tools/virtualization/lxd-image-server/default.nix +++ b/pkgs/tools/virtualization/lxd-image-server/default.nix @@ -40,7 +40,7 @@ python3.pkgs.buildPythonApplication rec { meta = with lib; { description = "Creates and manages a simplestreams lxd image server on top of nginx"; homepage = "https://github.com/Avature/lxd-image-server"; - license = licenses.apsl20; + license = licenses.asl20; platforms = platforms.unix; maintainers = with maintainers; [ mkg20001 ]; }; diff --git a/pkgs/tools/virtualization/shipyard/default.nix b/pkgs/tools/virtualization/shipyard/default.nix index 6994cc25b3845..7407c3dc68ab7 100644 --- a/pkgs/tools/virtualization/shipyard/default.nix +++ b/pkgs/tools/virtualization/shipyard/default.nix @@ -2,15 +2,15 @@ buildGoModule rec { pname = "shipyard"; - version = "0.3.30"; + version = "0.3.44"; src = fetchFromGitHub { rev = "v${version}"; owner = "shipyard-run"; repo = pname; - sha256 = "sha256-NaCG0oG9j1yoXOsfnQXFd+PdZfJTOdvYndFIftIAnxE="; + sha256 = "sha256-ShL/j0vyKfbNcq/cAgEUCln6T7UE/qmPZOMw129210o="; }; - vendorSha256 = "sha256-YClNdtnakJJOEytTbopTXeZy218N4vHP3tQLavLgPbg="; + vendorSha256 = "sha256-mXYnmDppVqhjlkGVkvp1YaEwBEkHBUddxLof389huMQ="; ldflags = [ "-s" "-w" "-X main.version=${version}" diff --git a/pkgs/tools/virtualization/xe-guest-utilities/default.nix b/pkgs/tools/virtualization/xe-guest-utilities/default.nix index ab3c9b1e71cdc..2497cc6a9df0f 100644 --- a/pkgs/tools/virtualization/xe-guest-utilities/default.nix +++ b/pkgs/tools/virtualization/xe-guest-utilities/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, bzip2, lzo, zlib, xz, bash, python, gnutar, gnused, gnugrep, which }: +{ lib, stdenv, fetchurl, bzip2, lzo, zlib, xz, bash, python2, gnutar, gnused, gnugrep, which }: stdenv.mkDerivation (rec { pname = "xe-guest-utilities"; @@ -14,7 +14,7 @@ stdenv.mkDerivation (rec { url = "https://sources.archlinux.org/other/community/xe-guest-utilities/xe-guest-utilities_${version}-1120.tar.gz"; sha256 = "f9593cd9588188f80253e736f48d8dd94c5b517abb18316085f86acffab48794"; }; - buildInputs = [ bzip2 gnutar gnused python lzo zlib xz stdenv gnugrep which ]; + buildInputs = [ bzip2 gnutar gnused python2 lzo zlib xz stdenv gnugrep which ]; patches = [ ./ip-address.patch ]; postPatch = '' tar xf "$NIX_BUILD_TOP/$name/xenstore-sources.tar.bz2" |