3 %bcond_without tests # don't perform make test
4 %bcond_without doc # skip building/packaging docs/manuals (takes some time)
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
13 Group: Development/Tools
14 Source0: http://www.kernel.org/pub/software/scm/git/git-%{version}.tar.bz2
15 # Source0-md5: bb2477df09d4af52b05f0ee64d6ccc54
16 Source1: %{name}-gitweb.conf
17 Source2: %{name}-gitweb-httpd.conf
18 Source3: %{name}.sysconfig
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
30 BuildRequires: rpm-perlprov >= 4.1-13
31 BuildRequires: rpmbuild(macros) >= 1.264
32 BuildRequires: zlib-devel
34 BuildRequires: asciidoc >= 7.1.2-3
38 # tests failed sometimes when using nserver client 1.11(?)
39 BuildRequires: cvs-client >= 1.12
40 BuildRequires: pdksh >= 5.2.14-46
48 Requires: openssh-clients
52 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
54 # html docs have links to txt files
55 %define _noautocompressdoc *.txt
58 %define webappdir %{_sysconfdir}/webapps/%{webapp}
59 %define appdir %{_datadir}/%{webapp}
60 %define cgibindir %{_prefix}/lib/cgi-bin
63 "git" can mean anything, depending on your mood.
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
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
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
78 %description -l pl.UTF-8
79 "git" może oznaczać cokolwiek, w zależności od nastroju.
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.
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
96 Summary: Files necessary to run git-daemon as an inetd service
97 Summary(pl.UTF-8): Pliki niezbędne do uruchomienia git-daemona 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
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.
110 %description daemon-inetd -l pl.UTF-8
111 Git-daemon to prosty demon git korzystający z protokołu TCP do
112 udostępniania repozytoriów git. Ten pakiet dostarcza pliki potrzebne
113 do uruchomienia git-demona w trybie usługi inetd.
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-daemona w trybie usługi samodzielnej
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
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.
129 %description daemon-standalone -l pl.UTF-8
130 Git-daemon to prosty demon git korzystający z protokołu TCP do
131 udostępniania repozytoriów git. Ten pakiet dostarcza pliki potrzebne
132 do uruchomienia git-daemona w trybie usługi samodzielnej.
135 Summary: Header files for git-core
136 Summary(pl.UTF-8): Pliki nagłówkowe dla git-core
137 Group: Development/Libraries
140 Header files for git-core.
142 %description devel -l pl.UTF-8
143 Pliki nagłówkowe dla git-core.
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}
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.
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.
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.
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
172 Summary: Web frontend to git
173 Summary(pl.UTF-8): Webowy frontend do git
174 Group: Development/Tools
175 Requires: %{name} = %{version}-%{release}
179 This package provides a web interface for browsing git repositories.
181 %description gitweb -l pl.UTF-8
182 Pakiet ten dostarcza interfejs WWW do przeglądania repozytoriów gita.
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
196 A GTK+ based repository browser for git.
198 %description gitview -l pl.UTF-8
199 Oparta na GTK+ przeglądarka repozytorium gita.
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
207 %description -n bash-completion-git
208 This package provides bash-completion for git.
210 %description -n bash-completion-git -l pl.UTF-8
211 Pakiet ten dostarcza bashowe uzupełnianie nazw dla gita.
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
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.
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ń.
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
241 %description -n vim-syntax-gitcommit
242 This plugin provides syntax highlighting for git's commit messages.
244 %description -n vim-syntax-gitcommit -l pl.UTF-8
245 Ta wtyczka dostarcza podświetlanie składni dla treści commitów gita.
248 %setup -q -n git-%{version}
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"
264 %{?with_doc:%{__make} -C Documentation}
266 %{?with_tests:%{__make} test}
269 rm -rf $RPM_BUILD_ROOT
270 install -d $RPM_BUILD_ROOT{%{_includedir}/%{name}/xdiff,%{_localstatedir}/lib/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/etc/{sysconfig/rc-inetd,rc.d/init.d}
278 DESTDIR=$RPM_BUILD_ROOT
281 %{__make} -C Documentation install \
282 DESTDIR=$RPM_BUILD_ROOT
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}
291 install contrib/completion/git-completion.bash $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d
294 install contrib/vim/syntax/gitcommit.vim $RPM_BUILD_ROOT%{_datadir}/vim/vimfiles/syntax
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
304 install contrib/gitview/gitview $RPM_BUILD_ROOT%{_bindir}
306 # git-daemon related files
307 install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/git-daemon
308 install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
309 install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
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*
318 rm -rf $RPM_BUILD_ROOT
321 %service -q rc-inetd reload
324 if [ "$1" = "0" ]; then
325 %service -q rc-inetd reload
328 %post daemon-standalone
329 /sbin/chkconfig --add git-daemon
330 %service git-daemon restart "git-daemon"
332 %preun daemon-standalone
333 if [ "$1" = "0" ]; then
334 %service git-daemon stop
335 /sbin/chkconfig --del git-daemon
338 %triggerin gitweb -- apache1 < 1.3.37-3, apache1-base
339 %webapp_register apache %{webapp}
341 %triggerun gitweb -- apache1 < 1.3.37-3, apache1-base
342 %webapp_unregister apache %{webapp}
344 %triggerin gitweb -- apache < 2.2.0, apache-base
345 %webapp_register httpd %{webapp}
347 %triggerun gitweb -- apache < 2.2.0, apache-base
348 %webapp_unregister httpd %{webapp}
351 %defattr(644,root,root,755)
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*
361 %attr(755,root,root) %{_bindir}/git
362 %attr(755,root,root) %{_bindir}/git-*
365 %{_localstatedir}/lib/git
368 %defattr(644,root,root,755)
369 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/git-daemon
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
377 %defattr(644,root,root,755)
378 %{_includedir}/git-core
382 %defattr(644,root,root,755)
384 %doc Documentation/gitk.html
385 %{_mandir}/man1/gitk.1*
387 %attr(755,root,root) %{_bindir}/gitk
390 %defattr(644,root,root,755)
391 %doc gitweb/{README,INSTALL}
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
400 %defattr(644,root,root,755)
401 %doc contrib/gitview/gitview.txt
402 %attr(755,root,root) %{_bindir}/gitview
404 %files -n bash-completion-git
405 %defattr(644,root,root,755)
406 %{_sysconfdir}/bash_completion.d/*
409 %defattr(644,root,root,755)
410 %{perl_vendorlib}/Git.pm
411 %{_mandir}/man3/Git.3pm*
413 %files -n vim-syntax-gitcommit
414 %defattr(644,root,root,755)
415 %doc contrib/vim/README
416 %{_datadir}/vim/vimfiles/syntax/*