summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnoop C S <anoopcs@samba.org>2021-04-25 12:00:01 +0530
committerAnoop C S <anoopcs@samba.org>2021-04-25 12:00:01 +0530
commit42e6c9e6f40825e98c0c67281b7c6cfdae8b4013 (patch)
tree65cb612408cdf9b45a1f4533679b77de7530f959
parentc6b479adb424b152fc86763dc05b2df80ca8e733 (diff)
downloadsamba-integration-42e6c9e6f40825e98c0c67281b7c6cfdae8b4013.tar.gz
samba-integration-42e6c9e6f40825e98c0c67281b7c6cfdae8b4013.tar.xz
samba-integration-42e6c9e6f40825e98c0c67281b7c6cfdae8b4013.zip
Add provision to build from git refspec
-rw-r--r--Makefile4
-rw-r--r--ansible/build.rpms.centos7.yml2
-rw-r--r--ansible/build.rpms.centos8.yml2
-rw-r--r--ansible/roles/build.rpms.centos7/tasks/main.yml2
-rw-r--r--ansible/roles/build.rpms.centos8/tasks/main.yml2
-rw-r--r--ansible/roles/make.srpm/tasks/main.yml2
-rw-r--r--ansible/roles/make.tarball/tasks/main.yml12
-rw-r--r--packaging/samba-master.spec.j2 (renamed from packaging/samba.spec.j2)0
8 files changed, 19 insertions, 7 deletions
diff --git a/Makefile b/Makefile
index 6d53443..313b490 100644
--- a/Makefile
+++ b/Makefile
@@ -8,10 +8,10 @@ srpm:
@ansible-playbook --inventory localhost, ./ansible/build.srpm.yml
rpms.centos8:
- @ansible-playbook --inventory localhost, ./ansible/build.rpms.centos8.yml
+ @ansible-playbook --inventory localhost, ./ansible/build.rpms.centos8.yml --extra-vars "refspec=$(refspec)"
rpms.centos7:
- @ansible-playbook --inventory localhost, ./ansible/build.rpms.centos7.yml
+ @ansible-playbook --inventory localhost, ./ansible/build.rpms.centos7.yml --extra-vars "refspec=$(refspec)"
prep.vm.centos7:
@ansible-playbook --inventory localhost, ./ansible/prep.vm.centos7.yml
diff --git a/ansible/build.rpms.centos7.yml b/ansible/build.rpms.centos7.yml
index 68e83fd..cc406f5 100644
--- a/ansible/build.rpms.centos7.yml
+++ b/ansible/build.rpms.centos7.yml
@@ -1,6 +1,8 @@
- hosts: localhost
connection: local
become: no
+ vars:
+ refspec: "{{ refspec }}"
vars_files:
- vars.yml
roles:
diff --git a/ansible/build.rpms.centos8.yml b/ansible/build.rpms.centos8.yml
index 477be22..a37efdb 100644
--- a/ansible/build.rpms.centos8.yml
+++ b/ansible/build.rpms.centos8.yml
@@ -1,6 +1,8 @@
- hosts: localhost
connection: local
become: no
+ vars:
+ refspec: "{{ refspec }}"
vars_files:
- vars.yml
roles:
diff --git a/ansible/roles/build.rpms.centos7/tasks/main.yml b/ansible/roles/build.rpms.centos7/tasks/main.yml
index 6220fbe..7ae9877 100644
--- a/ansible/roles/build.rpms.centos7/tasks/main.yml
+++ b/ansible/roles/build.rpms.centos7/tasks/main.yml
@@ -1,2 +1,2 @@
- name: build centos 7 rpms
- command: /usr/bin/mock --root {{ mock_dir }}/epel-7-x86_64.cfg --resultdir {{ rpms_dir }}/master/7/x86_64 --rebuild {{ srpm_dir }}/{{ samba_srpm }}
+ command: /usr/bin/mock --root {{ mock_dir }}/epel-7-x86_64.cfg --resultdir {{ rpms_dir }}/{{ refspec }}/7/x86_64 --rebuild {{ srpm_dir }}/{{ samba_srpm }}
diff --git a/ansible/roles/build.rpms.centos8/tasks/main.yml b/ansible/roles/build.rpms.centos8/tasks/main.yml
index 218ad9c..5bc6b3e 100644
--- a/ansible/roles/build.rpms.centos8/tasks/main.yml
+++ b/ansible/roles/build.rpms.centos8/tasks/main.yml
@@ -1,2 +1,2 @@
- name: build centos 8 rpms
- command: /usr/bin/mock --root {{ mock_dir }}/epel-8-x86_64.cfg --enablerepo=Devel --resultdir {{ rpms_dir }}/master/8/x86_64 --rebuild {{ srpm_dir }}/{{ samba_srpm }}
+ command: /usr/bin/mock --root {{ mock_dir }}/epel-8-x86_64.cfg --enablerepo=Devel --resultdir {{ rpms_dir }}/{{ refspec }}/8/x86_64 --rebuild {{ srpm_dir }}/{{ samba_srpm }}
diff --git a/ansible/roles/make.srpm/tasks/main.yml b/ansible/roles/make.srpm/tasks/main.yml
index 7c31de6..0555fe5 100644
--- a/ansible/roles/make.srpm/tasks/main.yml
+++ b/ansible/roles/make.srpm/tasks/main.yml
@@ -1,6 +1,6 @@
- name: create samba.spec from template
template:
- src: "{{ spec_dir }}/samba.spec.j2"
+ src: "{{ spec_dir }}/samba-{{ refspec }}.spec.j2"
dest: "{{ spec_dir }}/samba.spec"
- name: make srpm
diff --git a/ansible/roles/make.tarball/tasks/main.yml b/ansible/roles/make.tarball/tasks/main.yml
index 0435d90..91f577e 100644
--- a/ansible/roles/make.tarball/tasks/main.yml
+++ b/ansible/roles/make.tarball/tasks/main.yml
@@ -1,5 +1,5 @@
- set_fact:
- version_file: "{{ code_dir }}/VERSION"
+ chk_out: "{{ refspec if (refspec == 'master') else 'v' + refspec | replace('.','-') + '-test' }}"
- name: clone samba repository
git:
@@ -7,10 +7,18 @@
# shallow clones, in order to spare time and bandwidth.
#repo: 'https://git.samba.org/samba.git'
repo: https://gitlab.com/samba-team/samba.git
+ version: "{{ chk_out }}"
dest: "{{ code_dir }}"
force: yes
depth: 1
+- name: Set release version
+ shell: for i in SAMBA_VERSION_MAJOR SAMBA_VERSION_MINOR SAMBA_VERSION_RELEASE; do rel_ver+="$(grep ^$i= VERSION | tr -cd [[:digit:]])""."; done; echo ${rel_ver::-1}
+ args:
+ chdir: "{{ code_dir }}"
+ register: release_version
+ when: refspec != "master"
+
- name: git hash
command: git log -1 --format=%h
args:
@@ -33,7 +41,7 @@
gitdate: "{{ gitdatecmd.stdout | regex_replace('-', '') | regex_replace(' [^ ]*$', '') | regex_replace('\\:', '') | regex_replace(' ', '.') }}"
- set_fact:
- samba_rpm_version: "{{ gitdate }}.{{ githash }}"
+ samba_rpm_version: "{{ gitdate + '.' + githash if (refspec == 'master') else release_version.stdout + '.' + gitdate + '.' + githash }}"
- set_fact:
samba_prefix: "samba-{{ samba_rpm_version }}"
diff --git a/packaging/samba.spec.j2 b/packaging/samba-master.spec.j2
index 5135b86..5135b86 100644
--- a/packaging/samba.spec.j2
+++ b/packaging/samba-master.spec.j2