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