Failed attempt

Curse you Ansible and Termux
This commit is contained in:
Geoffrey Frogeye 2021-01-10 14:57:06 +01:00
parent 60526dff28
commit 81337dc1b8
Signed by: geoffrey
GPG key ID: C72403E7F82E6AD8
5 changed files with 160 additions and 3 deletions

View file

@ -2,6 +2,7 @@
inventory=hosts
roles_path=roles
interpreter_python=auto
library=plugins/modules
[ssh_connection]
pipelining = True # does not work with requiretty in /etc/sudoers

View file

@ -1 +1,3 @@
localhost
curacao.geoffrey.frogeye.fr
triffle.geoffrey.frogeye.fr
bufobufo.frogeye.nl

View file

@ -1,7 +1,10 @@
- name: Default
hosts: localhost
connection: local
hosts: all
roles:
- role: software
tags: software
- role: mnussbaum.base16-builder-ansible # Required for color
tags: color
- role: color
tags: color

View file

@ -0,0 +1,55 @@
- name: Install base shell packages (Pacman)
pacman:
name:
- base
- coreutils
- bash
- grep
- sed
- tar
- openssl # Used for machines script
when: arch
- name: Install base shell packages (Apt)
apt:
name:
- coreutils
- bash
- grep
- sed
- tar
- openssl
when: apt
- name: Install extended shell packages (Pacman)
pacman:
name:
- moreutils
- tmux
- bash-completion
- fzf
- highlight
- powerline-go-bin
when: arch
- name: Install extended shell packages (Debian)
pacman:
name:
- moreutils
- tmux
- bash-completion
- fzf
- highlight
- powerline-go
when: debian
- name: Install extended shell packages (Termux)
pacman:
name:
- moreutils
- tmux
- bash-completion
- fzf
# - highlight
# - powerline-go
when: termux

View file

@ -0,0 +1,96 @@
- name: Set variables
set_fact:
arch: "{{ ansible_distribution == 'Archlinux' }}"
termux: "{{ ansible_distribution == 'OtherLinux' and ansible_python.executable == '/data/data/com.termux/files/usr/bin/python' }}"
debian: "{{ ansible_distribution == 'Debian' or ansible_distribution == 'Ubuntu' }}"
- name: Set secondary variables
set_fact:
pacman: "{{ arch }}"
apt: "{{ termux or debian }}"
sudo: "{{ not termux }}"
# TODO Install python if not done
- name: Install python-apt dependency for Termux
block:
# TODO Check if the correct version
- name: Check for DistUtilsExtra (Termux)
command: python -c 'import DistUtilsExtra'
changed_when: False
rescue:
- name: Create temporarty folder for DistUtilsExtra (Termux)
tempfile:
state: directory
suffix: python-distutils-extra
# path: /data/data/com.termux/files/usr/tmp/
register: pde_tempdir
- name: Download DistUtilsExtra (Termux)
get_url:
url: "https://launchpad.net/python-distutils-extra/trunk/{{ version }}/+download/python-distutils-extra-{{ version }}.tar.gz"
dest: "{{ pde_tempdir.path }}/python-distutils-extra.tar.gz"
- name: Extract DistUtilsExtra (Termux)
unarchive:
src: "{{ pde_tempdir.path }}/python-distutils-extra.tar.gz"
remote_src: yes
dest: "{{ pde_tempdir.path }}"
- name: Install DistUtilsExtra (Termux)
command:
cmd: python3 setup.py install
chdir: "{{ pde_tempdir.path }}/python-distutils-extra-{{ version }}"
when: termux
vars:
version: 2.39
- name: Install python-apt (Termux)
pip:
name: python-apt
when: termux
# Collecting python-apt
# Using cached python-apt-0.7.8.tar.bz2 (49 kB)
# ERROR: Command errored out with exit status 1:
# command: /data/data/com.termux/files/usr/bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/data/data/com.termux/files/usr/tmp/pip-install-dsga__i7/python-apt/setup.py'"'"'; __file__='"'"'/data/data/com.termux/files/usr/tmp/pip-install-dsga__i7/python-apt/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /data/data/com.termux/files/usr/tmp/pip-pip-egg-info-ptpprl0m
# cwd: /data/data/com.termux/files/usr/tmp/pip-install-dsga__i7/python-apt/
# Complete output (5 lines):
# Traceback (most recent call last):
# File "<string>", line 1, in <module>
# File "/data/data/com.termux/files/usr/tmp/pip-install-dsga__i7/python-apt/setup.py", line 11, in <module>
# string.split(parse_makefile("python/makefile")["APT_PKG_SRC"]))
# AttributeError: module 'string' has no attribute 'split'
# ----------------------------------------
# ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
# WARNING: You are using pip version 20.2.3; however, version 20.3.3 is available.
# You should consider upgrading via the '/data/data/com.termux/files/usr/bin/python3 -m pip install --upgrade pip' command.
# Install alternative package managers
- name: Install AUR package manager
aur:
name: yay-bin
when: arch
- name: Install python pip (Pacman)
pacman:
name: python-pip
when: arch
become: "{{ sudo }}"
become_user: root
- name: Install python pip (Debian)
apt:
name: python3-pip
when: debian
become: "{{ sudo }}"
become_user: root
# Termux: pip is included with Python
- name: Install base packages
include_tasks:
file: base.yml
apply:
become: "{{ sudo }}"
become_user: root