]>
Commit | Line | Data |
---|---|---|
e2c1801f | 1 | ############################################################################### |
802ea3af MT |
2 | # IPFire.org - An Open Source Firewall Solution # |
3 | # Copyright (C) - IPFire Development Team <info@ipfire.org> # | |
e2c1801f MT |
4 | ############################################################################### |
5 | ||
802ea3af | 6 | name = git |
0979d287 MT |
7 | version = 2.16.1 |
8 | release = 1 | |
e2c1801f | 9 | |
802ea3af MT |
10 | groups = Development/Tools |
11 | url = http://git-scm.com/ | |
12 | license = GPLv2 | |
13 | summary = Fast Version Control System. | |
e2c1801f | 14 | |
802ea3af | 15 | description |
f50cc92e SS |
16 | Git is a fast, scalable, distributed revision control system with an |
17 | unusually rich command set that provides both high-level operations | |
e2c1801f | 18 | and full access to internals. |
802ea3af MT |
19 | end |
20 | ||
2c696983 | 21 | source_dl = https://www.kernel.org/pub/software/scm/git/ |
802ea3af MT |
22 | |
23 | build | |
24 | requires | |
f50cc92e | 25 | asciidoc |
802ea3af MT |
26 | expat-devel |
27 | gettext | |
0979d287 MT |
28 | gnupg2 |
29 | groff | |
802ea3af MT |
30 | libcurl-devel |
31 | openssl-devel | |
0979d287 | 32 | pcre2-devel |
1f9bc2f0 | 33 | perl-ExtUtils-MakeMaker |
802ea3af | 34 | perl-devel |
0979d287 | 35 | python-devel |
f50cc92e | 36 | xmlto |
0979d287 | 37 | zlib-devel |
802ea3af | 38 | end |
e2c1801f | 39 | |
802ea3af | 40 | prepare_cmds |
0979d287 MT |
41 | cat <<EOF > config.mak |
42 | CFLAGS = %{CFLAGS} | |
43 | LDFLAGS = %{LDFLAGS} | |
44 | NEEDS_CRYPTO_WITH_SSL = 1 | |
45 | USE_LIBPCRE2 = 1 | |
46 | ETC_GITCONFIG = %{sysconfdir}/gitconfig | |
47 | DESTDIR = %{BUILDROOT} | |
48 | INSTALL = install -p | |
49 | GITWEB_PROJECTROOT = %{localstatedir}/git | |
50 | GNU_ROFF = 1 | |
51 | NO_CROSS_DIRECTORY_HARDLINKS = 1 | |
52 | PYTHON_PATH = %{python} | |
53 | prefix = %{prefix} | |
54 | gitexecdir = lib/git-core | |
55 | htmldir = %{datadir}/doc | |
56 | gitwebdir = %{localstatedir}/www/git | |
57 | EOF | |
a5248e72 MT |
58 | |
59 | # Remove shebang from bash-completion script. | |
60 | sed -i '/^#!bash/,+1 d' contrib/completion/git-completion.bash | |
802ea3af | 61 | end |
e2c1801f | 62 | |
802ea3af MT |
63 | build |
64 | make %{PARALLELISMFLAGS} | |
65 | end | |
e2c1801f | 66 | |
802ea3af | 67 | make_install_targets += INSTALLDIRS=vendor |
a5248e72 MT |
68 | |
69 | install_cmds | |
f50cc92e SS |
70 | # Install man pages. |
71 | make install-doc DESTDIR=%{BUILDROOT} | |
72 | ||
a5248e72 MT |
73 | # Install bash completion file. |
74 | mkdir -pv %{BUILDROOT}%{sysconfdir}/bash_completion.d | |
75 | install -v -m 644 contrib/completion/git-completion.bash \ | |
76 | %{BUILDROOT}%{sysconfdir}/bash_completion.d/git | |
9099585c SS |
77 | |
78 | # Create folder for git-daemon. | |
79 | mkdir -pv %{BUILDROOT}%{sharedstatedir}/git | |
80 | ||
81 | # Create folder for gitweb. | |
82 | mkdir -pv %{BUILDROOT}%{sysconfdir}/httpd/conf.d | |
83 | ||
84 | # Install config files for gitweb. | |
85 | install -pm 0664 %{DIR_SOURCE}/gitweb.conf \ | |
86 | %{BUILDROOT}%{sysconfdir}/gitweb.conf | |
87 | ||
88 | install -pm 0644 %{DIR_SOURCE}/git.conf.httpd \ | |
89 | %{BUILDROOT}%{sysconfdir}/httpd/conf.d/git.conf | |
a5248e72 | 90 | end |
802ea3af | 91 | end |
e2c1801f | 92 | |
802ea3af | 93 | packages |
9099585c SS |
94 | # Define %{gitcoredir} to have a more handy name. |
95 | gitcoredir = %{prefix}/lib/git-core | |
96 | ||
802ea3af MT |
97 | package %{name} |
98 | requires | |
99 | less | |
100 | openssh-clients | |
101 | rsync | |
102 | /usr/bin/vi | |
103 | end | |
1f9bc2f0 | 104 | |
5019890f MT |
105 | recommends |
106 | %{name}-email | |
107 | end | |
1f9bc2f0 MT |
108 | end |
109 | ||
9099585c SS |
110 | package %{name}-daemon |
111 | summary = Git protocol daemon. | |
112 | description | |
113 | The git daemon for supporting git:// access to git repositories. | |
114 | end | |
115 | ||
116 | requires | |
117 | git=%{thisver} | |
118 | end | |
119 | ||
120 | files | |
121 | %{gitcoredir}/git-daemon | |
122 | %{mandir}/man1/git-daemon* | |
123 | %{sharedstatedir}/git | |
2b968a3f SS |
124 | %{unitdir}/git@.service |
125 | %{unitdir}/git.socket | |
126 | end | |
127 | ||
128 | script postin | |
129 | systemctl daemon-reload >/dev/null 2>&1 || : | |
130 | end | |
131 | ||
132 | script preun | |
133 | systemctl --no-reload disable git.socket >/dev/null 2>&1 || : | |
134 | systemctl stop git.socket >/dev/null 2>&1 || : | |
135 | systemctl stop git@.service >/dev/null 2>&1 || : | |
136 | end | |
137 | ||
138 | script postun | |
139 | systemctl daemon-reload >/dev/null 2>&1 || : | |
140 | end | |
141 | ||
142 | script postup | |
143 | systemctl daemon-reload >/dev/null 2>&1 || : | |
144 | systemctl try-restart git.socket >/dev/null 2>&1 || : | |
9099585c SS |
145 | end |
146 | end | |
147 | ||
148 | package %{name}-gitweb | |
149 | arch = noarch | |
150 | ||
151 | summary = Simple web interface to git repositories. | |
152 | description | |
153 | Simple web interface to track changes in git repositories | |
154 | end | |
155 | ||
156 | requires | |
157 | git=%{thisver} | |
158 | end | |
159 | ||
160 | configfiles | |
161 | %{sysconfdir}/gitweb.conf | |
162 | %{sysconfdir}/httpd/conf.d/git.conf | |
163 | end | |
164 | ||
165 | files | |
166 | %{sysconfdir}/gitweb.conf | |
167 | %{sysconfdir}/httpd/conf.d/git.conf | |
168 | %{mandir}/man1/gitweb* | |
169 | %{mandir}/man5/gitweb* | |
170 | %{localstatedir}/www/git | |
171 | end | |
172 | end | |
173 | ||
174 | package %{name}-svn | |
175 | summary = Git tools for importing Subversion repositories. | |
176 | description = %{summary} | |
177 | ||
178 | requires | |
179 | git=%{thisver} | |
180 | subversion | |
181 | end | |
182 | ||
183 | files | |
184 | %{gitcoredir}/*svn* | |
185 | %{mandir}/man1/*svn* | |
186 | end | |
187 | end | |
188 | ||
189 | package %{name}-cvs | |
190 | summary = Git tools for importing CVS repositories. | |
191 | description = %{summary} | |
192 | ||
193 | requires | |
194 | git=%{thisver} | |
195 | end | |
196 | ||
197 | files | |
198 | %{bindir}/git-cvsserver | |
199 | %{gitcoredir}/*cvs* | |
200 | %{mandir}/man1/*cvs* | |
201 | %{mandir}/man7/*cvs* | |
202 | end | |
203 | end | |
204 | ||
205 | package %{name}-p4 | |
206 | arch = noarch | |
207 | ||
208 | summary = Git tools for working with Perforce depots. | |
209 | description = %{summary} | |
210 | ||
211 | requires | |
212 | git=%{thisver} | |
213 | end | |
214 | ||
215 | files | |
216 | %{gitcoredir}/*p4* | |
217 | %{gitcoredir}mergetools/p4merge | |
218 | %{mandir}/man1/*p4* | |
219 | end | |
220 | end | |
221 | ||
222 | package %{name}-email | |
223 | summary = Git tools for sending emails. | |
224 | description = %{summary} | |
225 | ||
226 | requires | |
227 | git=%{thisver} | |
228 | perl-Git=%{thisver} | |
5019890f MT |
229 | perl(Authen::SASL) |
230 | perl(Net::SMTP::SSL) | |
9099585c SS |
231 | end |
232 | ||
233 | files | |
234 | %{gitcoredir}/git-send-email | |
235 | %{mandir}/man1/git-send-email* | |
236 | end | |
237 | end | |
238 | ||
239 | package perl-Git | |
240 | arch = noarch | |
241 | ||
242 | summary = Perl interface to Git. | |
243 | description = %{summary} | |
244 | ||
245 | requires | |
246 | git=%{thisver} | |
247 | end | |
248 | ||
249 | files | |
250 | %{mandir}/man3/Git* | |
251 | %{perl_archlib} | |
252 | %{perl_vendorlib}/*.pm | |
253 | %{perl_vendorlib}/Git/*.pm | |
254 | end | |
255 | end | |
256 | ||
257 | package perl-Git-SVN | |
258 | arch = noarch | |
259 | ||
260 | summary = Perl interface to Git::SVN. | |
261 | description = %{summary} | |
262 | ||
263 | requires | |
264 | git=%{thisver} | |
265 | end | |
266 | ||
267 | files | |
268 | %{mandir}/man3/Git::SVN* | |
6ba1bd00 | 269 | %{perl_vendorlib}/Git/SVN*.pm |
9099585c SS |
270 | %{perl_vendorlib}/Git/SVN/ |
271 | end | |
272 | end | |
273 | ||
1f9bc2f0 MT |
274 | package %{name}-debuginfo |
275 | template DEBUGINFO | |
802ea3af MT |
276 | end |
277 | end |