Unverified Commit 13b41a1e authored by Fernando Rodrigues's avatar Fernando Rodrigues
Browse files

xen: fix meta.longDescription



The description was mangled in search.nixos.org. It recommended using
qemu_xen with a Xen that already included QEMU, and there were edge
cases where there wouldn't be enough newlines to properly display the
full description.

Signed-off-by: default avatarFernando Rodrigues <alpha@sigmasquadron.net>
parent 7d7fc690
Loading
Loading
Loading
Loading
+13 −13
Original line number Diff line number Diff line
@@ -631,11 +631,11 @@ stdenv.mkDerivation (finalAttrs: {
    longDescription =
      # Starts with the longDescription from ./packages.nix.
      (packageDefinition.meta.longDescription or "")
      +
        lib.strings.optionalString (!withInternalQEMU)
      + lib.strings.optionalString (!withInternalQEMU) (
        "\nUse with `qemu_xen_${lib.stringAsChars (x: if x == "." then "_" else x) branch}`"
        + lib.strings.optionalString latest " or `qemu_xen`"
      + "."
        + ".\n"
      )
      # Then, if any of the optional with* components are being built, add the "Includes:" string.
      +
        lib.strings.optionalString
@@ -648,22 +648,22 @@ stdenv.mkDerivation (finalAttrs: {
            || withFlask
          )
          (
            "\nIncludes:\n"
            "\nIncludes:"
            # Originally, this was a call for the complicated withPrefetchedSources. Since there aren't
            # that many optional components, we just use lib.strings.optionalString, because it's simpler.
            # Optional components that aren't being built are automatically hidden.
            + lib.strings.optionalString withEFI "* `xen.efi`: Xen's [EFI binary](https://xenbits.xenproject.org/docs/${branch}-testing/misc/efi.html), available on the `boot` output of this package.\n"
            + lib.strings.optionalString withFlask "* `xsm-flask`: The [FLASK Xen Security Module](https://wiki.xenproject.org/wiki/Xen_Security_Modules_:_XSM-FLASK). The `xenpolicy-${version}` file is available on the `boot` output of this package.\n"
            + lib.strings.optionalString withInternalQEMU "* `qemu-xen`: Xen's mirror of [QEMU](https://www.qemu.org/).\n"
            + lib.strings.optionalString withInternalSeaBIOS "* `seabios-xen`: Xen's mirror of [SeaBIOS](https://www.seabios.org/SeaBIOS).\n"
            + lib.strings.optionalString withInternalOVMF "* `ovmf-xen`: Xen's mirror of [OVMF](https://github.com/tianocore/tianocore.github.io/wiki/OVMF).\n"
            + lib.strings.optionalString withInternalIPXE "* `ipxe-xen`: Xen's pinned version of [iPXE](https://ipxe.org/).\n"
            + lib.strings.optionalString withEFI "\n* `xen.efi`: Xen's [EFI binary](https://xenbits.xenproject.org/docs/${branch}-testing/misc/efi.html), available on the `boot` output of this package."
            + lib.strings.optionalString withFlask "\n* `xsm-flask`: The [FLASK Xen Security Module](https://wiki.xenproject.org/wiki/Xen_Security_Modules_:_XSM-FLASK). The `xenpolicy-${version}` file is available on the `boot` output of this package."
            + lib.strings.optionalString withInternalQEMU "\n* `qemu-xen`: Xen's mirror of [QEMU](https://www.qemu.org/)."
            + lib.strings.optionalString withInternalSeaBIOS "\n* `seabios-xen`: Xen's mirror of [SeaBIOS](https://www.seabios.org/SeaBIOS)."
            + lib.strings.optionalString withInternalOVMF "\n* `ovmf-xen`: Xen's mirror of [OVMF](https://github.com/tianocore/tianocore.github.io/wiki/OVMF)."
            + lib.strings.optionalString withInternalIPXE "\n* `ipxe-xen`: Xen's pinned version of [iPXE](https://ipxe.org/)."
          )
      # Finally, we write a notice explaining which vulnerabilities this Xen is NOT vulnerable to.
      # This will hopefully give users the peace of mind that their Xen is secure, without needing
      # to search the source code for the XSA patches.
      + lib.strings.optionalString (writeAdvisoryDescription != [ ]) (
        "\nThis Xen (${version}) has been patched against the following known security vulnerabilities:\n"
        "\n\nThis Xen (${version}) has been patched against the following known security vulnerabilities:\n"
        + lib.strings.removeSuffix "\n" (lib.strings.concatLines writeAdvisoryDescription)
      );
    homepage = "https://xenproject.org/";