Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 617576 - app-admin/ansible-9999: ebuild update
Summary: app-admin/ansible-9999: ebuild update
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Tony Vroon (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-05-05 13:12 UTC by Lik
Modified: 2017-05-09 14:56 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
ansible-9999.ebuild (file_617576.txt,1.81 KB, text/plain)
2017-05-05 13:15 UTC, Lik
Details
ansible-9999.ebuild.patch (blah.diff,2.67 KB, patch)
2017-05-08 10:55 UTC, Tony Vroon (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Lik 2017-05-05 13:12:43 UTC
Current ansible-9999.ebuild has two issues:

1. It fails at compile stage due to missing files (upstream changed the way to generate man pages):
 * The specific snippet of code:
 *           a2x -f manpage docs/man/man1/${_man}.1.asciidoc.in || die "Failed generating man page (${_man})";

a2x: ERROR: missing SOURCE_FILE: docs/man/man1/ansible.1.asciidoc.in

2. Fails with the following error at install stage (after removing man pages related code from ebuild):

...
reading manifest template 'MANIFEST.in'
/usr/lib64/python2.7/distutils/filelist.py:61: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
...
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 24: ordinal not in range(128)

Propose new ebuild to resolve above issues and:
- bump EAPI to 6 (EXAMPLES rewritten with dodoc)
- add python3.5 support (https://docs.ansible.com/ansible/python_3_support.html)
- add support for tests (with patch to handle correctly portage custom $HOME environment)

Reproducible: Always

Steps to Reproduce:
1.emerge app-admin/ansible
Comment 1 Lik 2017-05-05 13:15:26 UTC
Created attachment 471718 [details]
ansible-9999.ebuild

Proposed ebuild
Comment 2 Tony Vroon (RETIRED) gentoo-dev 2017-05-08 10:55:59 UTC
Created attachment 471950 [details, diff]
ansible-9999.ebuild.patch

Please always supply your changes as a unified diff.
Comment 3 Matthew Thode ( prometheanfire ) archtester Gentoo Infrastructure gentoo-dev Security 2017-05-08 16:10:01 UTC
it's my understanding that ansible still doesn't work with python3 at all (they are slowly working on it), so not applying that piece.

There were also spacing issues in the patch (spaces instead of tabs), there were also windows line endings everywhere.

A 9999 version cannot be keyworded, so I have removed those again.
Comment 4 Patrice Clement gentoo-dev 2017-05-09 07:47:06 UTC
Hi Matthew

(In reply to Matthew Thode ( prometheanfire ) from comment #3)
> it's my understanding that ansible still doesn't work with python3 at all
> (they are slowly working on it), so not applying that piece.
> 

That's not *quite* true. See https://docs.ansible.com/ansible/dev_guide/developing_python3.html and https://docs.ansible.com/ansible/python_3_support.html. If you set up a virtualenv and install Ansible using pip and Python 3, it does work. I have successfully done it numerous times. You can try for yourself.
Comment 5 Lik 2017-05-09 07:49:31 UTC
Ebuild version 9999, or live ebuild, in my understanding introduced long time ago specially for extreme bleeding edge policy. Python3 support in ansible perfectly fits this policy.

Ansible does not produce errors on install with python3 and majority of core features work.

$ ansible --version
ansible 2.4.0
  config file = /home/lik/.ansible.cfg
  configured module search path = ['/home/lik/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib64/python3.5/site-packages/ansible
  executable location = /usr/lib/python-exec/python3.5/ansible
  python version = 3.5.3 (default, Mar  9 2017, 00:05:11) [GCC 5.4.0]

$ ansible localhost -m setup -a 'filter=ansible_lsb' -o
127.0.0.1 | SUCCESS => {"ansible_facts": {"ansible_lsb": {"codename": "n/a","description": "Gentoo Base System release 2.3","id": "Gentoo","major_release": "2","release": "2.3"}},"changed": false}

What are the next steps for revising support for python3 in ansible-9999.ebuild?
Comment 6 Matthew Thode ( prometheanfire ) archtester Gentoo Infrastructure gentoo-dev Security 2017-05-09 14:56:07 UTC
fair enough, adding python3_5