gnu: ansible: Apply experimental patch to deal with wrapping of ansible script.
authorJelle Licht <jlicht@fsfe.org>
Thu, 22 Jun 2017 19:26:49 +0000 (21:26 +0200)
committerLudovic Courtès <ludo@gnu.org>
Thu, 29 Jun 2017 13:21:18 +0000 (15:21 +0200)
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.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gnu/local.mk
gnu/packages/admin.scm
gnu/packages/patches/ansible-wrap-program-hack.patch [new file with mode: 0644]

index b0690ed..83b0196 100644 (file)
@@ -502,6 +502,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           \
index 96ca6a7..2cc5200 100644 (file)
@@ -1366,7 +1366,8 @@ of supported upstream metrics systems simultaneously.")
        (uri (pypi-uri "ansible" version))
        (sha256
         (base32
-         "1xdr82fy8gahxh3586wm5k1bxksys7yl1f2n24shrk8gf99qyjyd"))))
+         "1xdr82fy8gahxh3586wm5k1bxksys7yl1f2n24shrk8gf99qyjyd"))
+       (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 (file)
index 0000000..c2e1028
--- /dev/null
@@ -0,0 +1,22 @@
+Ansible changes its behaviour depending on the name of the script that it is
+called as. Make it deal with guix' .real wrapper scripts.
+
+FIXME: Remove once wrapping ansible works properly.
+See http://lists.gnu.org/archive/html/bug-guix/2017-05/msg00015.html.
+--- 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':