You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ansible/test/integration/targets/setup_deb_repo/tasks/main.yml

57 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']