]> git.pld-linux.org Git - packages/gitlab-runner.git/blame - gitlab-runner.spec
suggest gitlab-runner-image packages
[packages/gitlab-runner.git] / gitlab-runner.spec
CommitLineData
c5c6476d 1Summary: The official GitLab CI runner written in Go
8264fff3 2Name: gitlab-runner
15dd8807 3Version: 10.2.0
8264fff3 4Release: 1
b306b97b 5License: MIT
c5c6476d 6Group: Development/Building
8264fff3 7Source0: https://gitlab.com/gitlab-org/gitlab-runner/repository/archive.tar.gz?ref=v%{version}&/%{name}-%{version}.tar.gz
15dd8807 8# Source0-md5: 0695bef7eafec8980794c98d8b167adf
af21cb3e
ER
9Source3: %{name}.init
10Source4: %{name}.sysconfig
11Source5: %{name}.service
72cef35a 12Patch0: nodim_gz.patch
c4affa20 13Patch1: branch-preserver.patch
8264fff3 14URL: https://gitlab.com/gitlab-org/gitlab-runner
c5c6476d 15BuildRequires: git-core
dfe9a179 16BuildRequires: golang >= 1.6
98c01f80
ER
17BuildRequires: rpmbuild(macros) >= 1.647
18Requires(post,preun): /sbin/chkconfig
19Requires(post,preun,postun): systemd-units >= 38
fbac930f
ER
20Requires(postun): /usr/sbin/groupdel
21Requires(postun): /usr/sbin/userdel
22Requires(pre): /bin/id
23Requires(pre): /usr/bin/getgid
24Requires(pre): /usr/sbin/groupadd
25Requires(pre): /usr/sbin/useradd
d20ff300 26Requires: bash
c5c6476d 27Requires: ca-certificates
c5c6476d 28Requires: git-core
98c01f80
ER
29Requires: rc-scripts
30Requires: systemd-units >= 0.38
c5c6476d 31Requires: tar
ff1d3f82 32Suggests: docker >= 1.8
92ce92df
ER
33Suggests: gitlab-runner-image-arm
34Suggests: gitlab-runner-image-x86_64
fbac930f
ER
35Provides: group(gitlab-runner)
36Provides: user(gitlab-runner)
f4506058 37Obsoletes: gitlab-ci-multi-runner < 10.0
4ffe1735 38ExclusiveArch: %{ix86} %{x8664} %{arm}
c5c6476d
ER
39BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
40
4ffe1735
ER
41# go stuff
42%define _enable_debug_packages 0
84d9b71c 43%define gobuild(o:) go build -ldflags "${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n')" -a -v %{?debug:-x} %{?**};
8264fff3 44%define import_path gitlab.com/gitlab-org/gitlab-runner
4ffe1735 45
c5c6476d
ER
46%description
47This is the official GitLab Runner written in Go. It runs tests and
48sends the results to GitLab. GitLab CI is the open-source continuous
49integration service included with GitLab that coordinates the testing.
50
51%prep
52%setup -qc
c5c6476d 53
7ad949a0 54# for doc
8264fff3 55mv gitlab-runner-*/*.md .
7ad949a0
ER
56
57# don't you love go?
58install -d src/$(dirname %{import_path})
8264fff3 59mv gitlab-runner-* src/%{import_path}
7ad949a0 60cd src/%{import_path}
bf2084d5 61
ac49da77 62%patch0 -p5
dfe9a179 63%patch1 -p1
72cef35a 64
a0a05733
ER
65# avoid docker being used even if executable found
66cat <<'EOF' > docker
67#!/bin/sh
68echo >&2 "No docker"
69exit 1
70EOF
71chmod a+rx docker
72
c5c6476d 73%build
7ad949a0
ER
74export GOPATH=$(pwd)
75cd src/%{import_path}
a0a05733 76export PATH=$(pwd):$PATH
bf2084d5 77
69a70248 78%{__make} version | tee version.txt
d16d4f3d 79
8264fff3
ER
80CN=gitlab.com/gitlab-org/gitlab-runner/common
81LDFLAGS="-X $CN.NAME=gitlab-runner -X $CN.VERSION=%{version} -X $CN.REVISION=%{version}"
4ffe1735 82%gobuild
c5c6476d 83
f81cac35 84# verify that version matches
8264fff3 85./gitlab-runner -v > v
f81cac35
ER
86v=$(awk '$1 == "Version:" {print $2}' v)
87test "$v" = "%{version}"
69a70248 88
c5c6476d
ER
89%install
90rm -rf $RPM_BUILD_ROOT
af21cb3e 91install -d $RPM_BUILD_ROOT{%{_sysconfdir}/gitlab-runner,%{_bindir},/etc/{rc.d/init.d,sysconfig},%{systemdunitdir},/var/lib/gitlab-runner/.gitlab-runner}
770719bc 92
7ad949a0 93install -p src/%{import_path}/%{name} $RPM_BUILD_ROOT%{_bindir}/gitlab-runner
af21cb3e
ER
94install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
95cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
96cp -p %{SOURCE5} $RPM_BUILD_ROOT%{systemdunitdir}
fbac930f 97
c5c6476d
ER
98%clean
99rm -rf $RPM_BUILD_ROOT
100
fbac930f
ER
101%pre
102%groupadd -g 330 gitlab-runner
103%useradd -u 330 -d /var/lib/gitlab-runner -g gitlab-runner -c "GitLab Runner" gitlab-runner
104
105%postun
106if [ "$1" = "0" ]; then
107 %userremove gitlab-runner
108 %groupremove gitlab-runner
109fi
98c01f80
ER
110%systemd_reload
111
112%post
113/sbin/chkconfig --add %{name}
114%service %{name} restart
115%systemd_post %{name}.service
116
117%preun
118if [ "$1" = "0" ]; then
119 %service -q %{name} stop
120 /sbin/chkconfig --del %{name}
121fi
122%systemd_preun %{name}.service
fbac930f 123
c5c6476d
ER
124%files
125%defattr(644,root,root,755)
126%doc README.md CHANGELOG.md
8264fff3
ER
127%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/gitlab-runner
128%attr(754,root,root) /etc/rc.d/init.d/gitlab-runner
770719bc 129%dir %attr(750,root,root) %{_sysconfdir}/gitlab-runner
c2bf33c4 130%attr(755,root,root) %{_bindir}/gitlab-runner
8264fff3 131%{systemdunitdir}/gitlab-runner.service
fbac930f 132%dir %attr(750,gitlab-runner,gitlab-runner) /var/lib/gitlab-runner
dd56a935 133%dir %attr(750,gitlab-runner,gitlab-runner) /var/lib/gitlab-runner/.gitlab-runner
This page took 0.087873 seconds and 4 git commands to generate.