|
58 | 58 | - release is defined
|
59 | 59 | - release != 'keep'
|
60 | 60 |
|
| 61 | +- name: Set type |
| 62 | + set_fact: |
| 63 | + type: 'npm' |
| 64 | + when: type is not defined and 'nodejs' in inventory_hostname |
| 65 | + |
| 66 | +- name: Set type |
| 67 | + set_fact: |
| 68 | + type: 'gem' |
| 69 | + when: type is not defined and 'rubygem' in inventory_hostname |
| 70 | + |
61 | 71 | - name: 'add changelog entry'
|
62 | 72 | changelog:
|
63 | 73 | spec: "{{ spec_file_path }}"
|
64 |
| - changelog: "{{ changelog }}" |
| 74 | + entry: "{{ changelog }}" |
65 | 75 | when: changelog is defined
|
| 76 | + |
| 77 | +- name: Read changelog |
| 78 | + changelog: |
| 79 | + spec: "{{ spec_file_path }}" |
| 80 | + register: changelog |
| 81 | + |
| 82 | +- when: type == 'gem' |
| 83 | + block: |
| 84 | + - name: Run spec update template |
| 85 | + shell: "gem2rpm -o {{ spec_file_path }} -t {{ template }} {{ inventory_dir }}/{{ package_base_dir }}/{{ inventory_hostname }}/*.gem" |
| 86 | + args: |
| 87 | + chdir: "{{ inventory_dir }}" |
| 88 | + |
| 89 | +- when: type == 'npm' |
| 90 | + block: |
| 91 | + - name: Find version |
| 92 | + shell: "rpmspec --srpm -q --queryformat=%{version} {{ spec_file_path }}" |
| 93 | + args: |
| 94 | + chdir: "{{ inventory_dir }}" |
| 95 | + register: version_output |
| 96 | + when: version is not defined |
| 97 | + |
| 98 | + - name: Find release |
| 99 | + shell: "rpmspec --srpm -q --queryformat=%{release} {{ spec_file_path }}" |
| 100 | + args: |
| 101 | + chdir: "{{ inventory_dir }}" |
| 102 | + register: release_output |
| 103 | + when: release is not defined |
| 104 | + |
| 105 | + - name: Set version |
| 106 | + set_fact: |
| 107 | + version: "{{ version_output.stdout }}" |
| 108 | + when: version is not defined |
| 109 | + |
| 110 | + - name: Set release |
| 111 | + set_fact: |
| 112 | + release: "{{ release_output.stdout }}" |
| 113 | + when: release is not defined |
| 114 | + |
| 115 | + - name: Find all sources to remove |
| 116 | + find: |
| 117 | + paths: "{{ inventory_dir }}/{{ package_base_dir }}/{{ inventory_hostname }}" |
| 118 | + patterns: "*.tgz" |
| 119 | + file_type: any |
| 120 | + register: files_to_remove |
| 121 | + |
| 122 | + - name: Remove old sources |
| 123 | + file: |
| 124 | + state: absent |
| 125 | + path: "{{ item.path }}" |
| 126 | + with_items: "{{ files_to_remove.files }}" |
| 127 | + |
| 128 | + - name: Run spec update template |
| 129 | + command: "npm2rpm -s {{ strategy | default('single') }} -n {{ name | default(inventory_hostname.replace('nodejs-', '')) }} -v {{ version }} -o . -c" |
| 130 | + args: |
| 131 | + chdir: "{{ inventory_dir }}/{{ package_base_dir }}/{{ inventory_hostname }}" |
| 132 | + |
| 133 | + - name: Add release back |
| 134 | + replace: |
| 135 | + path: "{{ spec_file_path }}" |
| 136 | + regexp: "Release: 1" |
| 137 | + replace: "Release: {{ release }}" |
| 138 | + |
| 139 | + - import_role: |
| 140 | + name: setup_sources |
| 141 | + |
| 142 | +- name: Add back changelog |
| 143 | + lineinfile: |
| 144 | + path: "{{ spec_file_path }}" |
| 145 | + insertafter: "%changelog" |
| 146 | + line: "{{ changelog.changelog }}" |
0 commit comments