summaryrefslogtreecommitdiffstats
path: root/dracut-initramfs-builder/tasks/main.yml
blob: 6c8042a693459502c06ce8ed48157b22476bdb45 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
---
- include: tasks/distro.yml

- name: Install dependencies for OpenSLX dracut module
  package: name={{ item }} state=installed
  with_items: "{{ pkgnames }}"

- name: Checkout repository of OpenSLX dracut module
  git:
    repo: "{{ gitsource }}"
    dest: "{{ gittarget }}"
    depth: 1
- name: Hack fix dnbd3 blk.h for CentOS (one day this should get fixed in dnbd3 :))
  replace:
    dest: "{{ gittarget }}/builder/modules.d/dnbd3-rootfs/scripts/build.sh"
    regexp: 'make -j4 dnbd3 dnbd3-client'
    replace: 'sed -i "s/KERNEL_VERSION.*/KERNEL_VERSION\(3, 10, 0\)/g" blk.h && make -j4 dnbd3 dnbd3-client'
    backup: yes
  when:
    - ansible_distribution == "CentOS"
- name: Build initramfs with dracut
  shell: "{{ gittarget }}/builder/build-initramfs.sh -s -d -p {{ gittarget }}/initramfs"
  args:
    creates: "{{ gittarget }}/initramfs"
- name: Fetch built initramfs and kernel (+ hack for weird /@ prefix of BOOT_IMAGE)
  fetch:
    src: "{{ item }}"
    dest: "{{ playbook_dir }}/boot_files/"
    fail_on_missing: yes
    flat: yes
  with_items:
    - "{{ gittarget }}/initramfs"
    - "{{ ansible_cmdline.BOOT_IMAGE | regex_replace('^/@(/boot/.*)+$', '\\1') }}"
- name: Cleanup
  file:
    path: "{{ gittarget }}"
    state: absent