]>
Commit | Line | Data |
---|---|---|
1 | # | |
2 | # Conditional build: | |
3 | %bcond_without tests # don't perform make test | |
4 | %bcond_without doc # skip building/packaging docs/manuals (takes some time) | |
5 | # | |
6 | %include /usr/lib/rpm/macros.perl | |
7 | Summary: The stupid content tracker | |
8 | Summary(pl.UTF-8): Prymitywne narzędzie do śledzenia treści | |
9 | Name: git-core | |
10 | Version: 1.5.6 | |
11 | Release: 2 | |
12 | License: GPL v2 | |
13 | Group: Development/Tools | |
14 | Source0: http://www.kernel.org/pub/software/scm/git/git-%{version}.tar.bz2 | |
15 | # Source0-md5: 76c4efaaa5470a5385e22d99349a97b3 | |
16 | Source1: %{name}-gitweb.conf | |
17 | Source2: %{name}-gitweb-httpd.conf | |
18 | Source3: %{name}.sysconfig | |
19 | Source4: %{name}.inet | |
20 | Source5: %{name}.init | |
21 | Patch0: %{name}-bashizm.patch | |
22 | URL: http://git.or.cz/ | |
23 | BuildRequires: autoconf | |
24 | BuildRequires: automake | |
25 | BuildRequires: curl-devel | |
26 | BuildRequires: expat-devel | |
27 | BuildRequires: gettext-devel | |
28 | BuildRequires: openssl-devel | |
29 | BuildRequires: perl-Error | |
30 | BuildRequires: perl-base | |
31 | BuildRequires: python | |
32 | BuildRequires: rpm-perlprov >= 4.1-13 | |
33 | BuildRequires: rpmbuild(macros) >= 1.264 | |
34 | BuildRequires: zlib-devel | |
35 | %if %{with doc} | |
36 | BuildRequires: asciidoc >= 7.1.2-3 | |
37 | BuildRequires: xmlto | |
38 | %endif | |
39 | %if %{with tests} | |
40 | # tests failed sometimes when using nserver client 1.11(?) | |
41 | BuildRequires: cvs-client >= 1.12 | |
42 | BuildRequires: pdksh >= 5.2.14-46 | |
43 | %endif | |
44 | Requires: coreutils | |
45 | Requires: cvsps >= 2.1-2 | |
46 | Requires: diffutils | |
47 | Requires: findutils | |
48 | Requires: grep | |
49 | Requires: openssh-clients | |
50 | Requires: perl-Error | |
51 | Requires: rcs | |
52 | Requires: sed | |
53 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
54 | ||
55 | # html docs have links to txt files | |
56 | %define _noautocompressdoc *.txt | |
57 | ||
58 | %define webapp gitweb | |
59 | %define webappdir %{_sysconfdir}/webapps/%{webapp} | |
60 | %define appdir %{_datadir}/%{webapp} | |
61 | %define cgibindir %{_prefix}/lib/cgi-bin | |
62 | ||
63 | %description | |
64 | "git" can mean anything, depending on your mood. | |
65 | ||
66 | - random three-letter combination that is pronounceable, and not | |
67 | actually used by any common UNIX command. The fact that it is a | |
68 | mispronunciation of "get" may or may not be relevant. | |
69 | - stupid. contemptible and despicable. simple. Take your pick from the | |
70 | dictionary of slang. | |
71 | - "global information tracker": you're in a good mood, and it actually | |
72 | works for you. Angels sing, and a light suddenly fills the room. | |
73 | - "goddamn idiotic truckload of sh*t": when it breaks | |
74 | ||
75 | This is a stupid (but extremely fast) directory content manager. It | |
76 | doesn't do a whole lot, but what it 'does' do is track directory | |
77 | contents efficiently. | |
78 | ||
79 | %description -l pl.UTF-8 | |
80 | "git" może oznaczać cokolwiek, w zależności od nastroju. | |
81 | ||
82 | - losową kombinację trzech liter, która jest wymawialna i właściwie | |
83 | nie używana przez żadne popularne polecenie uniksowe. Fakt, że jest to | |
84 | błędna pisownia słowa "get" może mieć lub nie mieć znaczenia. | |
85 | - głupi, pogardliwy, prosty. Można wybrać ze słownika slangu. | |
86 | - "global information tracker" (narzędzie do globalnego śledzenia | |
87 | informacji) - jeśli jesteśmy w dobrym nastroju i git akurat działa. | |
88 | Anioły śpiewają, a światło niespodziewanie wypełnia pokój. | |
89 | - "goddamn idiotic truckload of sh*t" (przeklęty idiotyczny ładunek | |
90 | g*) - kiedy się zepsuje. | |
91 | ||
92 | Jest to prymitywny (ale bardzo szybki) zarządca treści słownikowej. | |
93 | Nie robi wiele, ale to, co "robi", to wydajne śledzenie zawartości | |
94 | katalogu. | |
95 | ||
96 | %package daemon-inetd | |
97 | Summary: Files necessary to run git-daemon as an inetd service | |
98 | Summary(pl.UTF-8): Pliki niezbędne do uruchomienia git-daemona w trybie usługi inetd | |
99 | Group: Networking/Daemons | |
100 | Requires: %{name} = %{version}-%{release} | |
101 | Requires: setup >= 2.4.11-1 | |
102 | Provides: git-core-daemon | |
103 | Obsoletes: git-core-daemon | |
104 | Obsoletes: git-core-daemon-standalone | |
105 | ||
106 | %description daemon-inetd | |
107 | Git-daemon is a really simple TCP git daemon that can serve git | |
108 | repositories. This package provides all necessarry files to run | |
109 | git-daemon as an inetd service. | |
110 | ||
111 | %description daemon-inetd -l pl.UTF-8 | |
112 | Git-daemon to prosty demon git korzystający z protokołu TCP do | |
113 | udostępniania repozytoriów git. Ten pakiet dostarcza pliki potrzebne | |
114 | do uruchomienia git-demona w trybie usługi inetd. | |
115 | ||
116 | %package daemon-standalone | |
117 | Summary: Files necessary to run git-daemon as a standalone service | |
118 | Summary(pl.UTF-8): Pliki niezbędne do uruchomienia git-daemona w trybie usługi samodzielnej | |
119 | Group: Networking/Daemons | |
120 | Requires: %{name} = %{version}-%{release} | |
121 | Provides: git-core-daemon | |
122 | Obsoletes: git-core-daemon | |
123 | Obsoletes: git-core-daemon-inetd | |
124 | ||
125 | %description daemon-standalone | |
126 | Git-daemon is a really simple TCP git daemon that can serve git | |
127 | repositories. This package provides all necessarry files to run | |
128 | git-daemon as an standalone service. | |
129 | ||
130 | %description daemon-standalone -l pl.UTF-8 | |
131 | Git-daemon to prosty demon git korzystający z protokołu TCP do | |
132 | udostępniania repozytoriów git. Ten pakiet dostarcza pliki potrzebne | |
133 | do uruchomienia git-daemona w trybie usługi samodzielnej. | |
134 | ||
135 | %package devel | |
136 | Summary: Header files for git-core | |
137 | Summary(pl.UTF-8): Pliki nagłówkowe dla git-core | |
138 | Group: Development/Libraries | |
139 | ||
140 | %description devel | |
141 | Header files for git-core. | |
142 | ||
143 | %description devel -l pl.UTF-8 | |
144 | Pliki nagłówkowe dla git-core. | |
145 | ||
146 | %package gitk | |
147 | Summary: Tcl/Tk interface to the Git version control system | |
148 | Summary(pl.UTF-8): Napisany w Tcl/Tk interfejs do systemu kontroli wersji Git | |
149 | Group: Development/Tools | |
150 | Requires: %{name} = %{version}-%{release} | |
151 | Requires: tk | |
152 | ||
153 | %description gitk | |
154 | Displays changes in a repository or a selected set of commits. This | |
155 | includes visualizing the commit graph, showing information related to | |
156 | each commit, and the files in the trees of each revision. | |
157 | ||
158 | Historically, gitk was the first repository browser. It's written in | |
159 | Tcl/Tk and started off in a separate repository but was later merged | |
160 | into the main git repository. | |
161 | ||
162 | %description gitk -l pl.UTF-8 | |
163 | Wyświetla zmiany w repozytorium lub wybranym zbiorze commitów. Oznacza | |
164 | to wizualizację grafu commitów, wyświetlanie informacji związanych z | |
165 | każdym z commitów oraz listę plików dla każdej rewizji. | |
166 | ||
167 | Z punktu widzenia historii, gitk był pierwszą przeglądarką | |
168 | repozytorium git. Napisany jest w Tcl/Tk i początkowo był rozwijany w | |
169 | osobnym repozytorium, ale z czasem został włączony do głównego | |
170 | repozytorium gita. | |
171 | ||
172 | %package gitweb | |
173 | Summary: Web frontend to git | |
174 | Summary(pl.UTF-8): Webowy frontend do git | |
175 | Group: Development/Tools | |
176 | Requires: %{name} = %{version}-%{release} | |
177 | Requires: webapps | |
178 | ||
179 | %description gitweb | |
180 | This package provides a web interface for browsing git repositories. | |
181 | ||
182 | %description gitweb -l pl.UTF-8 | |
183 | Pakiet ten dostarcza interfejs WWW do przeglądania repozytoriów gita. | |
184 | ||
185 | %package gitview | |
186 | Summary: A GTK+ based repository browser for git | |
187 | Summary(pl.UTF-8): Oparta na GTK+ przeglądarka repozytorium gita | |
188 | Group: Development/Tools | |
189 | Requires: %{name} = %{version}-%{release} | |
190 | Requires: python >= 1:2.4 | |
191 | Requires: python-pycairo >= 1.0 | |
192 | Requires: python-pygobject | |
193 | Requires: python-pygtk-gtk >= 2:2.8 | |
194 | Suggests: python-gnome-desktop-gtksourceview | |
195 | ||
196 | %description gitview | |
197 | A GTK+ based repository browser for git. | |
198 | ||
199 | %description gitview -l pl.UTF-8 | |
200 | Oparta na GTK+ przeglądarka repozytorium gita. | |
201 | ||
202 | %package gui | |
203 | Summary: Tcl/Tk interface to the Git version control system | |
204 | Summary(pl.UTF-8): Napisany w Tcl/Tk interfejs do systemu kontroli wersji Git | |
205 | Group: Development/Tools | |
206 | Requires: %{name} = %{version}-%{release} | |
207 | Requires: tk | |
208 | ||
209 | %description gui | |
210 | Displays changes in a repository or a selected set of commits. This | |
211 | includes visualizing the commit graph, showing information related to | |
212 | each commit, and the files in the trees of each revision. | |
213 | ||
214 | Historically, gitk was the first repository browser. It's written in | |
215 | Tcl/Tk and started off in a separate repository but was later merged | |
216 | into the main git repository. | |
217 | ||
218 | %description gui -l pl.UTF-8 | |
219 | Wyświetla zmiany w repozytorium lub wybranym zbiorze commitów. Oznacza | |
220 | to wizualizację grafu commitów, wyświetlanie informacji związanych z | |
221 | każdym z commitów oraz listę plików dla każdej rewizji. | |
222 | ||
223 | Z punktu widzenia historii, gitk był pierwszą przeglądarką | |
224 | repozytorium git. Napisany jest w Tcl/Tk i początkowo był rozwijany w | |
225 | osobnym repozytorium, ale z czasem został włączony do głównego | |
226 | repozytorium gita. | |
227 | ||
228 | %package -n bash-completion-git | |
229 | Summary: bash-completion for git | |
230 | Summary(pl.UTF-8): bashowe uzupełnianie nazw dla gita | |
231 | Group: Applications/Shells | |
232 | Requires: bash-completion | |
233 | ||
234 | %description -n bash-completion-git | |
235 | This package provides bash-completion for git. | |
236 | ||
237 | %description -n bash-completion-git -l pl.UTF-8 | |
238 | Pakiet ten dostarcza bashowe uzupełnianie nazw dla gita. | |
239 | ||
240 | %package -n perl-Git | |
241 | Summary: Perl interface to the Git version control system | |
242 | Summary(pl.UTF-8): Perlowy interfejs do systemu kontroli wersji Git | |
243 | Group: Development/Languages/Perl | |
244 | Requires: %{name} = %{version}-%{release} | |
245 | Obsoletes: perl-git-core | |
246 | ||
247 | %description -n perl-Git | |
248 | This module provides Perl scripts easy way to interface the Git | |
249 | version control system. The modules have an easy and well-tested way | |
250 | to call arbitrary Git commands; in the future, the interface will also | |
251 | provide specialized methods for doing easily operations which are not | |
252 | totally trivial to do over the generic command interface. | |
253 | ||
254 | %description -n perl-Git -l pl.UTF-8 | |
255 | Ten moduł umożliwia skryptom Perla współpracę z systemem kontroli | |
256 | wersji Git. W łatwy i dobrze przetestowany sposób pozwala wywoływać | |
257 | dowolne polecenia Gita; w przyszłości interfejs udostępni także | |
258 | specjalne metody do łatwego wykonywania operacji nietrywialnych do | |
259 | wykonania przy użyciu ogólnego interfejsu poleceń. | |
260 | ||
261 | %package -n vim-syntax-gitcommit | |
262 | Summary: Vim syntax: gitcommit | |
263 | Summary(pl.UTF-8): Składnia dla Vima: gitcommit | |
264 | Group: Applications/Editors/Vim | |
265 | # for _vimdatadir existence | |
266 | Requires: vim-rt >= 4:6.3.058-3 | |
267 | ||
268 | %description -n vim-syntax-gitcommit | |
269 | This plugin provides syntax highlighting for git's commit messages. | |
270 | ||
271 | %description -n vim-syntax-gitcommit -l pl.UTF-8 | |
272 | Ta wtyczka dostarcza podświetlanie składni dla treści commitów gita. | |
273 | ||
274 | %prep | |
275 | %setup -q -n git-%{version} | |
276 | %patch0 -p1 | |
277 | ||
278 | %build | |
279 | %{__aclocal} | |
280 | %{__autoconf} | |
281 | %configure \ | |
282 | --with-openssl | |
283 | ||
284 | %{__make} \ | |
285 | INSTALLDIRS=vendor \ | |
286 | GITWEB_CONFIG="%{webappdir}/gitweb.conf" \ | |
287 | GITWEB_PROJECTROOT="/var/lib/git" \ | |
288 | GITWEB_CSS="/gitweb/gitweb.css" \ | |
289 | GITWEB_LOGO="/gitweb/git-logo.png" \ | |
290 | GITWEB_FAVICON="/gitweb/git-favicon.png" | |
291 | ||
292 | %{?with_doc:%{__make} -C Documentation} | |
293 | ||
294 | %{?with_tests:%{__make} test} | |
295 | ||
296 | %install | |
297 | rm -rf $RPM_BUILD_ROOT | |
298 | install -d $RPM_BUILD_ROOT{%{_includedir}/%{name}/xdiff,%{_localstatedir}/lib/git} | |
299 | install -d $RPM_BUILD_ROOT{%{appdir},%{cgibindir},%{webappdir}} | |
300 | install -d $RPM_BUILD_ROOT%{_datadir}/vim/vimfiles/syntax | |
301 | install -d $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d | |
302 | install -d $RPM_BUILD_ROOT/etc/{sysconfig/rc-inetd,rc.d/init.d} | |
303 | ||
304 | %{__make} install \ | |
305 | INSTALLDIRS=vendor \ | |
306 | DESTDIR=$RPM_BUILD_ROOT | |
307 | ||
308 | %if %{with doc} | |
309 | %{__make} -C Documentation install \ | |
310 | DESTDIR=$RPM_BUILD_ROOT | |
311 | %endif | |
312 | ||
313 | # header files and lib | |
314 | install *.h $RPM_BUILD_ROOT%{_includedir}/%{name} | |
315 | install xdiff/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/xdiff | |
316 | install libgit.a $RPM_BUILD_ROOT%{_libdir} | |
317 | ||
318 | # bash completion | |
319 | install contrib/completion/git-completion.bash $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d | |
320 | ||
321 | # vim syntax | |
322 | install contrib/vim/syntax/gitcommit.vim $RPM_BUILD_ROOT%{_datadir}/vim/vimfiles/syntax | |
323 | ||
324 | # gitweb | |
325 | install gitweb/*.css gitweb/*.png $RPM_BUILD_ROOT%{appdir} | |
326 | install gitweb/gitweb.cgi $RPM_BUILD_ROOT%{cgibindir} | |
327 | install %{SOURCE1} $RPM_BUILD_ROOT%{webappdir}/gitweb.conf | |
328 | install %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/apache.conf | |
329 | install %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/httpd.conf | |
330 | ||
331 | # gitview | |
332 | install contrib/gitview/gitview $RPM_BUILD_ROOT%{_bindir} | |
333 | ||
334 | # git-daemon related files | |
335 | install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/git-daemon | |
336 | install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon | |
337 | install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon | |
338 | ||
339 | # remove unneeded files | |
340 | rm -f $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod | |
341 | rm -f $RPM_BUILD_ROOT%{perl_vendorarch}/auto/Git/.packlist | |
342 | rm -f $RPM_BUILD_ROOT%{perl_vendorlib}/Error.pm | |
343 | rm -f $RPM_BUILD_ROOT%{_mandir}/man3/private-Error.3* | |
344 | ||
345 | %clean | |
346 | rm -rf $RPM_BUILD_ROOT | |
347 | ||
348 | %post daemon-inetd | |
349 | %service -q rc-inetd reload | |
350 | ||
351 | %postun daemon-inetd | |
352 | if [ "$1" = "0" ]; then | |
353 | %service -q rc-inetd reload | |
354 | fi | |
355 | ||
356 | %post daemon-standalone | |
357 | /sbin/chkconfig --add git-daemon | |
358 | %service git-daemon restart "git-daemon" | |
359 | ||
360 | %preun daemon-standalone | |
361 | if [ "$1" = "0" ]; then | |
362 | %service git-daemon stop | |
363 | /sbin/chkconfig --del git-daemon | |
364 | fi | |
365 | ||
366 | %triggerin gitweb -- apache1 < 1.3.37-3, apache1-base | |
367 | %webapp_register apache %{webapp} | |
368 | ||
369 | %triggerun gitweb -- apache1 < 1.3.37-3, apache1-base | |
370 | %webapp_unregister apache %{webapp} | |
371 | ||
372 | %triggerin gitweb -- apache < 2.2.0, apache-base | |
373 | %webapp_register httpd %{webapp} | |
374 | ||
375 | %triggerun gitweb -- apache < 2.2.0, apache-base | |
376 | %webapp_unregister httpd %{webapp} | |
377 | ||
378 | %files | |
379 | %defattr(644,root,root,755) | |
380 | %doc README contrib | |
381 | %if %{with doc} | |
382 | %doc Documentation/RelNotes* | |
383 | %doc Documentation/{[!g]*,g[!i]*,git,git[!k]*}.html Documentation/howto Documentation/technical | |
384 | %{_mandir}/man1/git-*.1* | |
385 | %{_mandir}/man5/gitattributes.5* | |
386 | %{_mandir}/man5/gitcli.5* | |
387 | %{_mandir}/man5/gitignore.5* | |
388 | %{_mandir}/man5/gitmodules.5* | |
389 | %{_mandir}/man7/git.7* | |
390 | %endif | |
391 | %attr(755,root,root) %{_bindir}/git | |
392 | %attr(755,root,root) %{_bindir}/git-* | |
393 | %exclude %{_bindir}/git-gui | |
394 | %{_datadir}/%{name} | |
395 | %{_localstatedir}/lib/git | |
396 | ||
397 | %files daemon-inetd | |
398 | %defattr(644,root,root,755) | |
399 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/git-daemon | |
400 | ||
401 | %files daemon-standalone | |
402 | %defattr(644,root,root,755) | |
403 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/git-daemon | |
404 | %attr(754,root, root) /etc/rc.d/init.d/git-daemon | |
405 | ||
406 | %files devel | |
407 | %defattr(644,root,root,755) | |
408 | %{_includedir}/git-core | |
409 | %{_libdir}/libgit.a | |
410 | ||
411 | %files gitk | |
412 | %defattr(644,root,root,755) | |
413 | %if %{with doc} | |
414 | %doc Documentation/gitk.html | |
415 | %{_mandir}/man1/gitk.1* | |
416 | %endif | |
417 | %attr(755,root,root) %{_bindir}/gitk | |
418 | %dir %{_datadir}/gitk | |
419 | %dir %{_datadir}/gitk/lib | |
420 | %dir %{_datadir}/gitk/lib/msgs | |
421 | %lang(de) %{_datadir}/gitk/lib/msgs/de.msg | |
422 | %lang(es) %{_datadir}/gitk/lib/msgs/es.msg | |
423 | %lang(it) %{_datadir}/gitk/lib/msgs/it.msg | |
424 | %lang(sv) %{_datadir}/gitk/lib/msgs/sv.msg | |
425 | ||
426 | %files gitweb | |
427 | %defattr(644,root,root,755) | |
428 | %doc gitweb/{README,INSTALL} | |
429 | %dir %{webappdir} | |
430 | %config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitweb.conf | |
431 | %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/apache.conf | |
432 | %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/httpd.conf | |
433 | %attr(755,root,root) %{cgibindir}/gitweb.cgi | |
434 | %{appdir} | |
435 | ||
436 | %files gitview | |
437 | %defattr(644,root,root,755) | |
438 | %doc contrib/gitview/gitview.txt | |
439 | %attr(755,root,root) %{_bindir}/gitview | |
440 | ||
441 | %files gui | |
442 | %defattr(644,root,root,755) | |
443 | %attr(755,root,root) %{_bindir}/git-gui | |
444 | %dir %{_datadir}/git-gui | |
445 | %dir %{_datadir}/git-gui/lib | |
446 | %dir %{_datadir}/git-gui/lib/msgs | |
447 | %{_datadir}/git-gui/lib/git-gui.ico | |
448 | %{_datadir}/git-gui/lib/tclIndex | |
449 | %{_datadir}/git-gui/lib/*.js | |
450 | %{_datadir}/git-gui/lib/*.tcl | |
451 | %lang(de) %{_datadir}/git-gui/lib/msgs/de.msg | |
452 | %lang(fr) %{_datadir}/git-gui/lib/msgs/fr.msg | |
453 | %lang(hu) %{_datadir}/git-gui/lib/msgs/hu.msg | |
454 | %lang(it) %{_datadir}/git-gui/lib/msgs/it.msg | |
455 | %lang(ja) %{_datadir}/git-gui/lib/msgs/ja.msg | |
456 | %lang(ru) %{_datadir}/git-gui/lib/msgs/ru.msg | |
457 | %lang(sv) %{_datadir}/git-gui/lib/msgs/sv.msg | |
458 | %lang(zh_cn) %{_datadir}/git-gui/lib/msgs/zh_cn.msg | |
459 | ||
460 | %files -n bash-completion-git | |
461 | %defattr(644,root,root,755) | |
462 | %{_sysconfdir}/bash_completion.d/* | |
463 | ||
464 | %files -n perl-Git | |
465 | %defattr(644,root,root,755) | |
466 | %{perl_vendorlib}/Git.pm | |
467 | %{_mandir}/man3/Git.3pm* | |
468 | ||
469 | %files -n vim-syntax-gitcommit | |
470 | %defattr(644,root,root,755) | |
471 | %doc contrib/vim/README | |
472 | %{_datadir}/vim/vimfiles/syntax/* |