Subject: bug#27452: closed (Re: [bug#27452] [PATCH] gnu: ansible: Apply experimental patch to deal with wrapping of ansible script.)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 29 Jun 2017 12:56:02 +0000

Your bug report

#27452: [PATCH] gnu: ansible: Apply experimental patch to deal with wrapping of ansible script.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
27452: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=27452
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#27452] [PATCH] gnu: ansible: Apply experimental patch to deal with wrapping of ansible script.
From: [email-masked] (Ludovic Courtès)
To: Jelle Licht <[email-masked]>
Cc: Jelle Licht <[email-masked]>, [email-masked]
Date: Thu, 29 Jun 2017 14:55:13 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Jelle Licht <[email-masked]> skribis:

>>>From 1c5ac5bac497f415e20540a193e36dc02d012bf2 Mon Sep 17 00:00:00 2001
> From: Jelle Licht <[email-masked]>
> Date: Thu, 22 Jun 2017 21:26:49 +0200
> Subject: [PATCH] gnu: ansible: Apply experimental patch to deal with wrapping
>  of ansible script.
>
> See <http://lists.gnu.org/archive/html/bug-guix/2017-05/msg00015.html> for the
> rationale.
>
> * gnu/packages/patches/ansible-wrap-program-hack.patch: New file.
> * gnu/local.mk (dist_patch_DATA): Add it.
> * gnu/packages/admin.scm (ansible)[source]: Use it.

Committed, thanks!

Ludo'.

Subject: [PATCH] gnu: ansible: Apply experimental patch to deal with wrapping of ansible script.
From: Jelle Licht <[email-masked]>
To: [email-masked]
Cc: Jelle Licht <[email-masked]>
Date: Thu, 22 Jun 2017 21:36:20 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

See <http://lists.gnu.org/archive/html/bug-guix/2017-05/msg00015.html> for the
rationale.

* gnu/packages/patches/ansible-wrap-program-hack.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/admin.scm (ansible)[source]: Use it.
---
 gnu/local.mk                                         |  1 +
 gnu/packages/admin.scm                               |  5 ++++-
 gnu/packages/patches/ansible-wrap-program-hack.patch | 17 +++++++++++++++++
 3 files changed, 22 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/ansible-wrap-program-hack.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 88ea8daf4..bed24a841 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -501,6 +501,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/aegis-test-fixup-1.patch            	\
   %D%/packages/patches/aegis-test-fixup-2.patch            	\
   %D%/packages/patches/agg-am_c_prototype.patch			\
+  %D%/packages/patches/ansible-wrap-program-hack.patch		\
   %D%/packages/patches/antiword-CVE-2014-8123.patch			\
   %D%/packages/patches/apr-skip-getservbyname-test.patch	\
   %D%/packages/patches/aspell-default-dict-dir.patch		\
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 35679495f..81a53413f 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -1366,7 +1366,10 @@ of supported upstream metrics systems simultaneously.")
        (uri (pypi-uri "ansible" version))
        (sha256
         (base32
-         "1xdr82fy8gahxh3586wm5k1bxksys7yl1f2n24shrk8gf99qyjyd"))))
+         "1xdr82fy8gahxh3586wm5k1bxksys7yl1f2n24shrk8gf99qyjyd"))
+       ;; FIXME: Remove once wrapping ansible works properly
+       ;; See http://lists.gnu.org/archive/html/bug-guix/2017-05/msg00015.html
+       (patches (search-patches "ansible-wrap-program-hack.patch"))))
     (build-system python-build-system)
     (native-inputs
      `(("python2-pycrypto" ,python2-pycrypto)
diff --git a/gnu/packages/patches/ansible-wrap-program-hack.patch b/gnu/packages/patches/ansible-wrap-program-hack.patch
new file mode 100644
index 000000000..bc7eb9d31
--- /dev/null
+++ b/gnu/packages/patches/ansible-wrap-program-hack.patch
@@ -0,0 +1,17 @@
+--- ansible-2.3.0.0/bin/ansible	2017-04-12 16:08:05.000000000 +0200
++++ ansible-2.3.0.0-fixed/bin/ansible	2017-05-21 20:11:18.720872385 +0200
+@@ -75,7 +75,13 @@
+             # sometimes add that
+             target = target[:-1]
+
+-        if len(target) > 1:
++        if target[-1] == "real" and target[0].startswith('.'):
++            target = target[:-1]
++            target[0] = target[0][1:]
++        if len(target) > 1 and target[1] != "real" :
++            sub = target[1]
++            myclass = "%sCLI" % sub.capitalize()
++        elif len(target) > 2 and target[2] == "real" :
+             sub = target[1]
+             myclass = "%sCLI" % sub.capitalize()
+         elif target[0] == 'ansible':
-- 
2.13.1