$OpenBSD: patch-lib_googlecloudsdk_core_util_platforms_py,v 1.6 2017/03/25 17:36:29 ajacoutot Exp $
--- lib/googlecloudsdk/core/util/platforms.py.orig	Tue Jan  1 09:00:00 1980
+++ lib/googlecloudsdk/core/util/platforms.py	Sat Mar 25 18:31:24 2017
@@ -66,7 +66,8 @@ class OperatingSystem(object):
   LINUX = _OS('LINUX', 'Linux', 'linux')
   CYGWIN = _OS('CYGWIN', 'Cygwin', 'cygwin')
   MSYS = _OS('MSYS', 'Msys', 'msys')
-  _ALL = [WINDOWS, MACOSX, LINUX, CYGWIN, MSYS]
+  OPENBSD = _OS('OPENBSD', 'OpenBSD', 'openbsd')
+  _ALL = [WINDOWS, MACOSX, LINUX, CYGWIN, MSYS, OPENBSD]
 
   @staticmethod
   def AllValues():
@@ -119,6 +120,8 @@ class OperatingSystem(object):
       return OperatingSystem.MACOSX
     elif 'cygwin' in sys.platform:
       return OperatingSystem.CYGWIN
+    elif 'openbsd' in sys.platform:
+      return OperatingSystem.OPENBSD
     # TODO(b/36035294): More reliable handling of OS types
     # TODO(b/36039277): What happens when we use jython, does it actually use
     # the 'java' os name?
@@ -264,6 +267,9 @@ class Platform(object):
                      if self.architecture == Architecture.ppc else 'Intel')
       return format_string.format(
           name=arch_string, version=platform.release())
+    elif self.operating_system == OperatingSystem.OPENBSD:
+      return '({name} {version})'.format(
+          name=self.operating_system.name, version=platform.release())
     else:
       return '()'
 
