Add configure portage
This commit is contained in:
parent
2635ca6966
commit
d336d22f5d
36
roles/workstation_portage/README.md
Normal file
36
roles/workstation_portage/README.md
Normal file
|
@ -0,0 +1,36 @@
|
|||
Ansible Role: workstation portage
|
||||
=========
|
||||
|
||||
This role configure Gentoo Portage on a GNU/Linux workstation.
|
||||
|
||||
Requirements
|
||||
------------
|
||||
|
||||
None.
|
||||
|
||||
Role Variables
|
||||
--------------
|
||||
|
||||
All variables and default values are defined in `defaults/main.yml`.
|
||||
|
||||
Dependencies
|
||||
------------
|
||||
|
||||
None.
|
||||
|
||||
Example Playbook
|
||||
----------------
|
||||
|
||||
- hosts: localhost
|
||||
roles:
|
||||
- workstation_portage
|
||||
|
||||
License
|
||||
-------
|
||||
|
||||
BSD
|
||||
|
||||
Author Information
|
||||
------------------
|
||||
|
||||
This role was created in 2020 by Nemo.
|
16
roles/workstation_portage/defaults/main.yml
Normal file
16
roles/workstation_portage/defaults/main.yml
Normal file
|
@ -0,0 +1,16 @@
|
|||
---
|
||||
# defaults file for workstation_portage
|
||||
|
||||
workstation_portage_cflags: "-march=native -O2 -pipe"
|
||||
workstation_portage_makeopts: "-j3"
|
||||
workstation_portage_portdir: "/usr/portage"
|
||||
workstation_portage_distdir: "/usr/portage/distfiles"
|
||||
workstation_portage_pkgdir: "/usr/portage/packages"
|
||||
workstation_portage_gentoo_mirrors:
|
||||
- "ftp://ftp.free.fr/mirrors/ftp.gentoo.org/"
|
||||
workstation_portage_cpuflags: "aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3"
|
||||
workstation_portage_use: "bash-completion aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3 alsa jack -pulseaudio xinemara abi_riscv_ilp32 abi_riscv_ilp32d"
|
||||
workstation_portage_accept_license: "*"
|
||||
workstation_portage_L10N: "fr"
|
||||
workstation_portage_binhost: "http://yourbinhost.example.org/packages-workstation/"
|
||||
workstation_portage_niceness: "19"
|
19
roles/workstation_portage/meta/main.yml
Normal file
19
roles/workstation_portage/meta/main.yml
Normal file
|
@ -0,0 +1,19 @@
|
|||
galaxy_info:
|
||||
author: nemo
|
||||
description: Configure Gentoo Portage on a GNU/Linux workstation.
|
||||
company: Wirebrass
|
||||
|
||||
license: license (BSD)
|
||||
|
||||
min_ansible_version: 2.4
|
||||
|
||||
platforms:
|
||||
- name: Gentoo
|
||||
versions:
|
||||
- all
|
||||
|
||||
galaxy_tags:
|
||||
- mutt
|
||||
- mail
|
||||
|
||||
dependencies: []
|
2
roles/workstation_portage/tasks/main.yml
Normal file
2
roles/workstation_portage/tasks/main.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
---
|
||||
- import_tasks: portage.yml
|
58
roles/workstation_portage/tasks/portage.yml
Normal file
58
roles/workstation_portage/tasks/portage.yml
Normal file
|
@ -0,0 +1,58 @@
|
|||
---
|
||||
- name: Portage profile defined
|
||||
file:
|
||||
src: "../../usr/portage/profiles/default/linux/amd64/17.1/desktop"
|
||||
dest: "/etc/portage/make.profile"
|
||||
owner: root
|
||||
group: root
|
||||
state: link
|
||||
|
||||
- name: Portage make.conf file configured
|
||||
template:
|
||||
src: make.conf.j2
|
||||
dest: /etc/portage/make.conf
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
|
||||
- name: Portage USE flags folder configured
|
||||
file:
|
||||
src: package.use.ansible.j2
|
||||
dest: /etc/portage/package.use
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0755
|
||||
state: directory
|
||||
|
||||
- name: Portage USE flags configured
|
||||
template:
|
||||
src: package.use.ansible.j2
|
||||
dest: /etc/portage/package.use/ansible
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
|
||||
- name: Portage ACCEPT_KEYWORDS flags folder configured
|
||||
file:
|
||||
src: package.use.ansible.j2
|
||||
dest: /etc/portage/package.accept_keywords
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0755
|
||||
state: directory
|
||||
|
||||
- name: Portage ACCEPT_KEYWORDS flags configured
|
||||
template:
|
||||
src: package.accept_keywords.ansible.j2
|
||||
dest: /etc/portage/package.accept_keywords/ansible
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
|
||||
- name: Portage LICENSE configured
|
||||
template:
|
||||
src: package.license.j2
|
||||
dest: /etc/portage/package.license
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
28
roles/workstation_portage/templates/make.conf.j2
Normal file
28
roles/workstation_portage/templates/make.conf.j2
Normal file
|
@ -0,0 +1,28 @@
|
|||
CFLAGS="{{ workstation_portage_cflags }}"
|
||||
CXXFLAGS="${CFLAGS}"
|
||||
MAKEOPTS="{{ workstation_portage_makeopts }}"
|
||||
|
||||
PORTDIR="{{ workstation_portage_portdir }}"
|
||||
DISTDIR="{{ workstation_portage_distdir }}"
|
||||
PKGDIR="{{ workstation_portage_pkgdir }}"
|
||||
|
||||
LC_MESSAGES=C
|
||||
|
||||
GENTOO_MIRRORS="
|
||||
{% for workstation_portage_gentoo_mirror in workstation_portage_gentoo_mirrors %}
|
||||
{{ workstation_portage_gentoo_mirror }}
|
||||
{% endfor %}
|
||||
"
|
||||
|
||||
CPU_FLAGS_X86="{{ workstation_portage_cpuflags }}"
|
||||
|
||||
USE="{{ workstation_portage_use }}"
|
||||
|
||||
source /var/lib/layman/make.conf
|
||||
ACCEPT_LICENSE="{{ workstation_portage_accept_license }}"
|
||||
L10N="{{ workstation_portage_L10N }}"
|
||||
|
||||
FEATURES="getbinpkg"
|
||||
PORTAGE_BINHOST="{{ workstation_portage_binhost }}"
|
||||
|
||||
PORTAGE_NICENESS="{{ workstation_portage_niceness }}"
|
|
@ -0,0 +1,16 @@
|
|||
net-nds/ApacheDirectoryStudio ~amd64
|
||||
=x11-themes/arc-theme-20190917 ~amd64
|
||||
media-sound/ardour ~adm64
|
||||
net-analyzer/arp-scan ~amd64
|
||||
x11-wm/awesome ~amd64
|
||||
app-misc/crunch ~amd64
|
||||
app-admin/haskell-updater ~amd64
|
||||
media-sound/jack ~amd64
|
||||
media-sound/mumble ~amd64
|
||||
net-wireless/reaver ~amd64
|
||||
#=net-im/skypeforlinux-8.47.0.59 ~amd64
|
||||
net-im/skypeforlinux ~amd64
|
||||
net-fs/smbnetfs ~amd64
|
||||
net-im/teams ~amd64
|
||||
net-vpn/tinc ~amd64
|
||||
virtual/wireguard ~amd64
|
1
roles/workstation_portage/templates/package.license.j2
Normal file
1
roles/workstation_portage/templates/package.license.j2
Normal file
|
@ -0,0 +1 @@
|
|||
app-emulation/virtualbox-bin PUEL
|
31
roles/workstation_portage/templates/package.use.ansible.j2
Normal file
31
roles/workstation_portage/templates/package.use.ansible.j2
Normal file
|
@ -0,0 +1,31 @@
|
|||
>=net-libs/nodejs-14.2.0 inspector
|
||||
netprint/cups zeroconf
|
||||
>=media-video/ffmpeg-4.2.3 chromium
|
||||
www-client/firefox-bin pulseaudio
|
||||
net-misc/freerdp openh264 pulseaudio
|
||||
sys-apps/util-linux static-libs
|
||||
net-print/gutenprint gimp
|
||||
net-wireless/lorcon python
|
||||
dev-lang/mono minimal
|
||||
net-analyzer/mtr -gtk
|
||||
mail-client/mutt berkdb gpg imap smtp pop smime sasl doc -gdbm -lmdb -qdbm -tokyocabinet
|
||||
sys-libs/ncurses -gpm
|
||||
media-plugins/alsa-plugins pulseaudio
|
||||
dev-lang/python -bluetooth
|
||||
>=dev-python/QtPy-1.9.0-r2 printsupport
|
||||
dev-qt/qtmultimedia widgets
|
||||
net-misc/remmina crypt cups nls rdp spice ssh vnc
|
||||
app-admin/rsyslog openssl
|
||||
x11-terms/rxvt-unicode 256-color xft
|
||||
sys-libs/tevent python
|
||||
sys-libs/tdb python
|
||||
app-crypt/pinentry gnome-keyring
|
||||
app-text/texlive-core cjk xetex
|
||||
media-libs/gd fontconfig
|
||||
app-text/texlive X png truetype xml cjk context detex dvi2tty epspdf extra games graphics humanities jadetex luatex metapost music pdfannotextractor pstricks publishers science tex4ht texi2html xetex xindy
|
||||
mail-client/thunderbird-bin -alsa
|
||||
sys-libs/zlib minizip
|
||||
media-libs/libsdl2 haptic
|
||||
x11-base/xorg-server suid
|
||||
x11-terms/xterm Xaw3d xinerama
|
||||
net-libs/zeromq drafts
|
Loading…
Reference in a new issue