summaryrefslogtreecommitdiffstats
path: root/test/integration/targets/setup_deb_repo
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-14 20:03:01 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-14 20:03:01 +0000
commita453ac31f3428614cceb99027f8efbdb9258a40b (patch)
treef61f87408f32a8511cbd91799f9cececb53e0374 /test/integration/targets/setup_deb_repo
parentInitial commit. (diff)
downloadansible-a453ac31f3428614cceb99027f8efbdb9258a40b.tar.xz
ansible-a453ac31f3428614cceb99027f8efbdb9258a40b.zip
Adding upstream version 2.10.7+merged+base+2.10.8+dfsg.upstream/2.10.7+merged+base+2.10.8+dfsgupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'test/integration/targets/setup_deb_repo')
-rw-r--r--test/integration/targets/setup_deb_repo/files/package_specs/foo-1.0.010
-rw-r--r--test/integration/targets/setup_deb_repo/files/package_specs/foo-1.0.110
-rw-r--r--test/integration/targets/setup_deb_repo/files/package_specs/foobar-1.0.011
-rw-r--r--test/integration/targets/setup_deb_repo/files/package_specs/foobar-1.0.110
-rw-r--r--test/integration/targets/setup_deb_repo/meta/main.yml2
-rw-r--r--test/integration/targets/setup_deb_repo/tasks/main.yml56
6 files changed, 99 insertions, 0 deletions
diff --git a/test/integration/targets/setup_deb_repo/files/package_specs/foo-1.0.0 b/test/integration/targets/setup_deb_repo/files/package_specs/foo-1.0.0
new file mode 100644
index 00000000..4206fbab
--- /dev/null
+++ b/test/integration/targets/setup_deb_repo/files/package_specs/foo-1.0.0
@@ -0,0 +1,10 @@
+Section: misc
+Priority: optional
+Standards-Version: 2.3.3
+
+Package: foo
+Version: 1.0.0
+Section: system
+Maintainer: John Doe <john@doe.com>
+Architecture: all
+Description: Dummy package
diff --git a/test/integration/targets/setup_deb_repo/files/package_specs/foo-1.0.1 b/test/integration/targets/setup_deb_repo/files/package_specs/foo-1.0.1
new file mode 100644
index 00000000..021f4d52
--- /dev/null
+++ b/test/integration/targets/setup_deb_repo/files/package_specs/foo-1.0.1
@@ -0,0 +1,10 @@
+Section: misc
+Priority: optional
+Standards-Version: 2.3.3
+
+Package: foo
+Version: 1.0.1
+Section: system
+Maintainer: John Doe <john@doe.com>
+Architecture: all
+Description: Dummy package
diff --git a/test/integration/targets/setup_deb_repo/files/package_specs/foobar-1.0.0 b/test/integration/targets/setup_deb_repo/files/package_specs/foobar-1.0.0
new file mode 100644
index 00000000..0da0348f
--- /dev/null
+++ b/test/integration/targets/setup_deb_repo/files/package_specs/foobar-1.0.0
@@ -0,0 +1,11 @@
+Section: misc
+Priority: optional
+Standards-Version: 2.3.3
+
+Package: foobar
+Version: 1.0.0
+Section: system
+Depends: foo
+Maintainer: John Doe <john@doe.com>
+Architecture: all
+Description: Dummy package
diff --git a/test/integration/targets/setup_deb_repo/files/package_specs/foobar-1.0.1 b/test/integration/targets/setup_deb_repo/files/package_specs/foobar-1.0.1
new file mode 100644
index 00000000..b9fa8303
--- /dev/null
+++ b/test/integration/targets/setup_deb_repo/files/package_specs/foobar-1.0.1
@@ -0,0 +1,10 @@
+Section: misc
+Priority: optional
+Standards-Version: 2.3.3
+
+Package: foobar
+Version: 1.0.1
+Section: system
+Maintainer: John Doe <john@doe.com>
+Architecture: all
+Description: Dummy package
diff --git a/test/integration/targets/setup_deb_repo/meta/main.yml b/test/integration/targets/setup_deb_repo/meta/main.yml
new file mode 100644
index 00000000..1810d4be
--- /dev/null
+++ b/test/integration/targets/setup_deb_repo/meta/main.yml
@@ -0,0 +1,2 @@
+dependencies:
+ - setup_remote_tmp_dir
diff --git a/test/integration/targets/setup_deb_repo/tasks/main.yml b/test/integration/targets/setup_deb_repo/tasks/main.yml
new file mode 100644
index 00000000..49f68a2c
--- /dev/null
+++ b/test/integration/targets/setup_deb_repo/tasks/main.yml
@@ -0,0 +1,56 @@
+- 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']