From 43516264d731ce4463bf1020f827ef682f521164 Mon Sep 17 00:00:00 2001 From: L3D Date: Tue, 14 Feb 2023 00:23:00 +0100 Subject: [PATCH] Add simple ffmpeg sid role --- roles/ffmpeg/README.md | 6 ++++++ roles/ffmpeg/handlers/main.yml | 8 +++++++ roles/ffmpeg/tasks/apt.yml | 20 ++++++++++++++++++ roles/ffmpeg/tasks/main.yml | 21 +++++++++++++++++++ roles/ffmpeg/templates/apt_list.j2 | 18 ++++++++++++++++ roles/ffmpeg/templates/package_preferences.j2 | 18 ++++++++++++++++ site.yml | 6 ++++++ 7 files changed, 97 insertions(+) create mode 100644 roles/ffmpeg/README.md create mode 100644 roles/ffmpeg/handlers/main.yml create mode 100644 roles/ffmpeg/tasks/apt.yml create mode 100644 roles/ffmpeg/tasks/main.yml create mode 100644 roles/ffmpeg/templates/apt_list.j2 create mode 100644 roles/ffmpeg/templates/package_preferences.j2 diff --git a/roles/ffmpeg/README.md b/roles/ffmpeg/README.md new file mode 100644 index 0000000..2fbbef1 --- /dev/null +++ b/roles/ffmpeg/README.md @@ -0,0 +1,6 @@ + ffmpeg +========== + +Ansible role to install ffmpeg for debian. + +See https://packages.debian.org/search?suite=sid&searchon=names&keywords=ffmpeg diff --git a/roles/ffmpeg/handlers/main.yml b/roles/ffmpeg/handlers/main.yml new file mode 100644 index 0000000..4b5ce9d --- /dev/null +++ b/roles/ffmpeg/handlers/main.yml @@ -0,0 +1,8 @@ +--- +- name: Apt update + become: true + ansible.builtin.apt: + update_cache: true + cache_valid_time: 0 + when: + - ansible_pkg_mgr == "apt" diff --git a/roles/ffmpeg/tasks/apt.yml b/roles/ffmpeg/tasks/apt.yml new file mode 100644 index 0000000..3c1bf9c --- /dev/null +++ b/roles/ffmpeg/tasks/apt.yml @@ -0,0 +1,20 @@ +--- +- name: Create /etc/apt/preferences + become: true + ansible.builtin.template: + src: templates/package_preferences.j2 + dest: /etc/apt/preferences + owner: root + group: root + mode: 0644 + notify: Apt update + +- name: Add eth zurich and default apt for Debian unstable/testing + become: true + ansible.builtin.template: + src: "templates/apt_list.j2" + dest: '/etc/apt/sources.list.d/ffmpeg_debian.list' + mode: 0644 + group: root + owner: root + notify: Apt update diff --git a/roles/ffmpeg/tasks/main.yml b/roles/ffmpeg/tasks/main.yml new file mode 100644 index 0000000..5158e0d --- /dev/null +++ b/roles/ffmpeg/tasks/main.yml @@ -0,0 +1,21 @@ +--- +- name: Package Sources manipulation + ansible.builtin.include_tasks: apt.yml + +- name: Update apt cache + become: true + ansible.builtin.apt: + cache_valid_time: 3600 + update_cache: true + register: _pre_update_apt_cache + until: _pre_update_apt_cache is succeeded + when: + - ansible_pkg_mgr == "apt" + +- name: Install latest ffmpeg from unstable + become: true + ansible.builtin.apt: + name: ['ffmpeg'] + default_release: unstable + state: latest +# noqa: ansible-lint package-latest diff --git a/roles/ffmpeg/templates/apt_list.j2 b/roles/ffmpeg/templates/apt_list.j2 new file mode 100644 index 0000000..0fe771b --- /dev/null +++ b/roles/ffmpeg/templates/apt_list.j2 @@ -0,0 +1,18 @@ +# Debian mirror der ETH Zürich +# https://debian.ethz.ch/ +# https://wiki.debianforum.de/Sources.list + +# Testing mirror: +deb https://debian.ethz.ch/debian testing main contrib non-free +deb http://deb.debian.org/debian/ testing main contrib non-free +deb-src http://deb.debian.org/debian/ testing main contrib non-free + + +deb https://debian.ethz.ch/debian unstable main contrib non-free +deb http://deb.debian.org/debian/ unstable main contrib non-free +deb-src http://deb.debian.org/debian/ unstable main contrib non-free + + +# Contact for proplems with the mirror: +# https://readme.phys.ethz.ch/services/contact/ +# Or #isgphys on irc.phys.ethz.ch diff --git a/roles/ffmpeg/templates/package_preferences.j2 b/roles/ffmpeg/templates/package_preferences.j2 new file mode 100644 index 0000000..2274632 --- /dev/null +++ b/roles/ffmpeg/templates/package_preferences.j2 @@ -0,0 +1,18 @@ +# /etc/apt/preferences +{{ ansible_managed | comment }} + +Package: * +Pin: release a=stable +Pin-Priority: 700 + +Package: * +Pin: release a={{ ansible_distribution_release }} +Pin-Priority: 699 + +Package: * +Pin: release a=testing +Pin-Priority: 65 + +Package: * +Pin: release a=unstable +Pin-Priority: 60 diff --git a/site.yml b/site.yml index d33c613..2e86eeb 100644 --- a/site.yml +++ b/site.yml @@ -17,3 +17,9 @@ roles: - {role: do1jlr.admin_base, tags: [default, init, users, accounts, dotfiles]} - {role: do1jlr.dotfiles, tags: [default, dotfiles]} + +- name: Video Tasks + hosts: all + roles: + - {role: ffmpeg, tags: ffmpeg} +