56 lines
1.5 KiB
YAML
56 lines
1.5 KiB
YAML
- block:
|
|
- name: Install needed packages
|
|
apt:
|
|
name: "{{ item }}"
|
|
with_items:
|
|
- dpkg-dev
|
|
- equivs
|
|
- libfile-fcntllock-perl # to silence warning by equivs-build
|
|
|
|
- set_fact:
|
|
repodir: /tmp/repo/
|
|
|
|
- name: Create repo dir
|
|
file:
|
|
path: "{{ repodir }}"
|
|
state: directory
|
|
mode: 0755
|
|
|
|
- name: Copy package specs to remote
|
|
copy:
|
|
src: "{{ item }}"
|
|
dest: "{{ remote_tmp_dir }}/{{ item | basename }}"
|
|
with_fileglob:
|
|
- "files/package_specs/*"
|
|
|
|
- name: Create deb files
|
|
shell: "equivs-build {{ remote_tmp_dir }}/{{ item | basename }}"
|
|
args:
|
|
chdir: "{{ repodir }}"
|
|
with_fileglob:
|
|
- "files/package_specs/*"
|
|
|
|
- name: Create repo
|
|
shell: dpkg-scanpackages --multiversion . /dev/null | gzip -9c > Packages.gz
|
|
args:
|
|
chdir: "{{ repodir }}"
|
|
|
|
# Can't use apt_repository as it doesn't expose a trusted=yes option
|
|
- name: Install the repo
|
|
copy:
|
|
content: deb [trusted=yes] file:{{ repodir }} ./
|
|
dest: /etc/apt/sources.list.d/file_tmp_repo.list
|
|
|
|
# Need to uncomment the deb-src for the universe component for build-dep state
|
|
- name: Ensure deb-src for the universe component
|
|
lineinfile:
|
|
path: /etc/apt/sources.list
|
|
backrefs: True
|
|
regexp: ^#\s*deb-src http://archive\.ubuntu\.com/ubuntu/ (\w*){{ item }} universe$
|
|
line: deb-src http://archive.ubuntu.com/ubuntu \1{{ item }} universe
|
|
state: present
|
|
with_items:
|
|
- ''
|
|
- -updates
|
|
|
|
when: ansible_distribution in ['Ubuntu', 'Debian']
|