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