introduced flexibility with configurable user, package and version variables

This commit is contained in:
Tamás Gérczei 2020-03-16 20:00:45 +01:00
parent cbe266ed76
commit 4df6a81492
Signed by: tgerczei
GPG Key ID: 9E1246D452248DCE
1 changed files with 30 additions and 19 deletions

View File

@ -44,7 +44,15 @@
- name: configure a build environment - name: configure a build environment
hosts: alpine-builder hosts: alpine-builder
become_method: su become_method: su
become_user: tgerczei become_user: "{{ user.handle }}"
vars:
user:
name: GERCZEI, Tamas
email: tamas@gerczei.eu
handle: tgerczei
build_config:
- PACKAGER="{{ user.name }} <{{ user.email }}>"
- MAINTAINER="$PACKAGER"
tasks: tasks:
- name: update system - name: update system
apk: apk:
@ -64,14 +72,10 @@
loop_control: loop_control:
loop_var: config_line loop_var: config_line
label: "{{ config_line.split('=')[0] }}" label: "{{ config_line.split('=')[0] }}"
vars:
build_config:
- PACKAGER="GERCZEI, Tamas <tamas@gerczei.eu>"
- MAINTAINER="$PACKAGER"
- name: ensure user exists - name: ensure user exists
user: user:
name: tgerczei name: "{{ user.handle }}"
shell: /bin/sh shell: /bin/sh
groups: groups:
- wheel - wheel
@ -89,53 +93,60 @@
vars: vars:
git_settings: git_settings:
- name: user.email - name: user.email
value: tamas@gerczei.eu value: "{{ user.email }}"
- name: user.name - name: user.name
value: GERCZEI, Tamas value: "{{ user.name }}"
- name: clone aports repository - name: clone aports repository
git: git:
repo: git://git.alpinelinux.org/aports repo: git://git.alpinelinux.org/aports
dest: /home/tgerczei/aports dest: "/home/{{ user.handle }}/aports"
update: no update: no
register: repo register: repo
- name: generate cryptographic key for the build system - name: generate cryptographic key for the build system
command: abuild-keygen -qai command: abuild-keygen -qai
args: args:
creates: /home/tgerczei/.abuild creates: "/home/{{ user.handle }}/.abuild"
become: yes become: yes
- name: build a Gitea package - name: build a package
hosts: alpine-builder hosts: alpine-builder
become_method: su become_method: su
become_user: tgerczei become_user: "{{ user.handle }}"
vars:
package_name: community/gitea
package_version: 1.11.3-r0
user:
name: GERCZEI, Tamas
email: tamas@gerczei.eu
handle: tgerczei
tasks: tasks:
- name: build and fetch package - name: build and fetch package
block: block:
- name: modify APKBUILD - name: modify APKBUILD
copy: copy:
src: /home/tgerczei/alpine-gitea/APKBUILD src: "/home/{{ user.handle }}/alpine-{{ package_name | basename }}/APKBUILD_{{ package_version }}"
dest: /home/tgerczei/aports/community/gitea/ dest: "/home/{{ user.handle }}/aports/{{ package_name }}/APKBUILD"
register: apkbuild register: apkbuild
when: repo is changed when: repo is changed
- command: abuild -q checksum - command: abuild -q checksum
args: args:
chdir: /home/tgerczei/aports/community/gitea chdir: "/home/{{ user.handle }}/aports/{{ package_name }}"
when: apkbuild is changed when: apkbuild is changed
- name: build package - name: build package
command: abuild -qrc command: abuild -qrc
args: args:
chdir: /home/tgerczei/aports/community/gitea chdir: "/home/{{ user.handle }}/aports/{{ package_name }}"
creates: /home/tgerczei/packages/community/x86_64 creates: "/home/{{ user.handle }}/packages/{{ package_name | dirname }}/x86_64"
- name: obtain package - name: obtain package
fetch: fetch:
src: /home/tgerczei/packages/community/x86_64/gitea-1.11.3-r0.apk src: "/home/{{ user.handle }}/packages/{{ package_name | dirname }}/x86_64/{{ package_name | basename }}-{{ package_version }}.apk"
dest: /home/tgerczei/alpine-gitea/packages/ dest: "/home/{{ user.handle }}/alpine-{{ package_name | basename }}/packages/"
flat: yes flat: yes
become: yes become: yes