summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/debops-debops-defaults-fall-back-to-less.patch
diff options
context:
space:
mode:
authorHartmut Goebel <h.goebel@crazy-compilers.com>2019-08-01 15:27:28 +0200
committerHartmut Goebel <h.goebel@crazy-compilers.com>2019-09-26 17:18:23 +0200
commit6eb1d20b682d1256bb4561517daa616b15fec22b (patch)
tree5a80c52e3636b7f9afd18727dd7a367594b083e1 /gnu/packages/patches/debops-debops-defaults-fall-back-to-less.patch
parent8581b40d097bf7c0b3016435e0985cf56a003afb (diff)
downloadguix-patches-6eb1d20b682d1256bb4561517daa616b15fec22b.tar
guix-patches-6eb1d20b682d1256bb4561517daa616b15fec22b.tar.gz
gnu: Add debops.
* gnu/packages/admin.scm (debops): New variable. * gnu/packages/patches/debops-constants-for-external-program-names.patch, gnu/packages/patches/debops-debops-defaults-fall-back-to-less.patch: New files. * gnu/local.mk: Add them.
Diffstat (limited to 'gnu/packages/patches/debops-debops-defaults-fall-back-to-less.patch')
-rw-r--r--gnu/packages/patches/debops-debops-defaults-fall-back-to-less.patch45
1 files changed, 45 insertions, 0 deletions
diff --git a/gnu/packages/patches/debops-debops-defaults-fall-back-to-less.patch b/gnu/packages/patches/debops-debops-defaults-fall-back-to-less.patch
new file mode 100644
index 0000000000..bbb6b7c08e
--- /dev/null
+++ b/gnu/packages/patches/debops-debops-defaults-fall-back-to-less.patch
@@ -0,0 +1,45 @@
+From 5059daf8bd59a83f520c14731173ea76ce8b8661 Mon Sep 17 00:00:00 2001
+From: Hartmut Goebel <h.goebel@crazy-compilers.com>
+Date: Sun, 8 Sep 2019 13:09:15 +0200
+Subject: [PATCH] [debops-defaults] If `view` is not available, try less, etc.
+
+---
+ bin/debops-defaults | 21 +++++++++++++++------
+ 1 file changed, 15 insertions(+), 6 deletions(-)
+
+diff --git a/bin/debops-defaults b/bin/debops-defaults
+index 9dd87fe0a..3e3db4c41 100755
+--- a/bin/debops-defaults
++++ b/bin/debops-defaults
+@@ -96,13 +96,22 @@ def main(role_list):
+ config = read_config(project_root)
+ playbooks_path = find_playbookpath(config, project_root, required=True)
+
+- # Make sure required commands are present
+- require_commands('view')
+-
+- if sys.stdout.isatty():
++ # Check if one of the output commands is present
++ sys.stdout = io.BytesIO() # suppress error message, if any
++ for cmd_args in (('view', '+set ft=yaml', '-'),
++ ('less', '-'),
++ ('more', '-')):
++ try:
++ require_commands(cmd_args[0])
++ break
++ except SystemExit:
++ # this command was not found
++ cmd_args = None
++ sys.stdout = sys.__stdout__
++
++ if cmd_args and sys.stdout.isatty():
+ # if script is run as standalone, redirect to view
+- view = subprocess.Popen(['view', '+set ft=yaml', '-'],
+- stdin=subprocess.PIPE)
++ view = subprocess.Popen(cmd_args, stdin=subprocess.PIPE)
+ try:
+ aggregate_defaults(playbooks_path, role_list, view.stdin)
+ except IOError as e:
+--
+2.21.0
+