From e724bb7018a482640c4f194f88b554af2c59d76e Mon Sep 17 00:00:00 2001 From: Mark Benvenuto Date: Wed, 20 Sep 2017 11:50:02 -0400 Subject: [PATCH] SERVER-30857 Support unknown Linux distributions --- src/mongo/rpc/metadata/client_metadata.cpp | 6 ------ src/mongo/util/processinfo_linux.cpp | 9 ++++++--- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/src/mongo/rpc/metadata/client_metadata.cpp b/src/mongo/rpc/metadata/client_metadata.cpp index 845a315dd74..a959a4e31e9 100644 --- a/src/mongo/rpc/metadata/client_metadata.cpp +++ b/src/mongo/rpc/metadata/client_metadata.cpp @@ -302,9 +302,6 @@ void ClientMetadata::serializePrivate(StringData driverName, StringData osArchitecture, StringData osVersion, BSONObjBuilder* builder) { - invariant(!driverName.empty() && !driverVersion.empty() && !osType.empty() && !osName.empty() && - !osArchitecture.empty() && !osVersion.empty()); - BSONObjBuilder metaObjBuilder(builder->subobjStart(kMetadataDocumentName)); { @@ -347,9 +344,6 @@ Status ClientMetadata::serializePrivate(StringData driverName, StringData osVersion, StringData appName, BSONObjBuilder* builder) { - invariant(!driverName.empty() && !driverVersion.empty() && !osType.empty() && !osName.empty() && - !osArchitecture.empty() && !osVersion.empty()); - if (appName.size() > kMaxApplicationNameByteLength) { return Status(ErrorCodes::ClientMetadataAppNameTooLarge, str::stream() << "The '" << kApplication << "." << kName diff --git a/src/mongo/util/processinfo_linux.cpp b/src/mongo/util/processinfo_linux.cpp index c3debf377bd..c2813b026b0 100644 --- a/src/mongo/util/processinfo_linux.cpp +++ b/src/mongo/util/processinfo_linux.cpp @@ -376,10 +376,13 @@ class LinuxSysHelper { if ((nl = name.find('\n', nl)) != string::npos) // stop at first newline name.erase(nl); - // no standard format for name and version. use kernel version - version = "Kernel "; - version += LinuxSysHelper::readLineFromFile("/proc/sys/kernel/osrelease"); + } else { + name = "unknown"; } + + // There is no standard format for name and version so use the kernel version. + version = "Kernel "; + version += LinuxSysHelper::readLineFromFile("/proc/sys/kernel/osrelease"); } /** > 2019-03-17guix build: '--with-commit' makes recursive checkouts.Ludovic Courtès This was an omission from commit 024a6bfba906742c136a47b4099f06880f1d3f15. * guix/scripts/build.scm (transform-package-source-commit): Add 'recursive?' field to SOURCE. * tests/scripts-build.scm ("options->transformation, with-branch") ("options->transformation, with-commit"): New tests. 2019-03-17guix build: Transformation options match packages by spec.Ludovic Courtès This allows us to combine several transformations on a given package, in particular '--with-git-url' and '--with-branch'. Previously transformations would ignore each other since they would all take (specification->package SOURCE) as their replacement source, compare it by identity, which doesn't work if a previous transformation has already changed SOURCE. * guix/scripts/build.scm (evaluate-replacement-specs): Adjust to produce an alist as expected by 'package-input-rewriting/spec', with a package spec as the first element of each pair. (evaluate-git-replacement-specs): Likewise. (transform-package-inputs): Adjust accordingly and use 'package-input-rewriting/spec'. (transform-package-inputs/graft): Likewise. (transform-package-source-branch, transform-package-source-commit): Use 'package-input-rewriting/spec'. (transform-package-source-git-url): Likewise, and adjust the REPLACEMENTS alist accordingly. (options->transformation): Iterate over OPTS instead of over %TRANSFORMATIONS. Invoke transformations one by one. * tests/scripts-build.scm ("options->transformation, with-input"): Adjust test to compare packages by name rather than by identity. ("options->transformation, with-git-url + with-branch"): New test. 2019-03-17guix build: Add '--with-git-url'.Ludovic Courtès * guix/scripts/build.scm (%not-equal): New variable. (evaluate-git-replacement-specs): Use it instead of local variable 'not-equal'. (transform-package-source-git-url): New procedure. (%transformations): Add 'with-git-url'. (%transformation-options, show-transformation-options-help): Add '--with-git-url'. * tests/scripts-build.scm ("options->transformation, with-git-url"): New test.