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: a083e05d03fe23e5b4af0a7c17e48aaa
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: gettext-devel
27 BuildRequires: openssl-devel
28 BuildRequires: perl-Error
29 BuildRequires: perl-base
31 BuildRequires: rpm-perlprov >= 4.1-13
32 BuildRequires: rpmbuild(macros) >= 1.264
33 BuildRequires: zlib-devel
35 BuildRequires: asciidoc >= 7.1.2-3
40 # tests fail when using this client
41 BuildRequires: pdksh >= 5.2.14-46
42 BuildConflicts: cvs-nserver-client
47 Requires: cvsps >= 2.1-2
51 Requires: openssh-clients
55 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
57 # html docs have links to txt files
58 %define _noautocompressdoc *.txt
61 %define webappdir %{_sysconfdir}/webapps/%{webapp}
62 %define appdir %{_datadir}/%{webapp}
63 %define cgibindir %{_prefix}/lib/cgi-bin
66 "git" can mean anything, depending on your mood.
68 - random three-letter combination that is pronounceable, and not
69 actually used by any common UNIX command. The fact that it is a
70 mispronunciation of "get" may or may not be relevant.
71 - stupid. contemptible and despicable. simple. Take your pick from the
73 - "global information tracker": you're in a good mood, and it actually
74 works for you. Angels sing, and a light suddenly fills the room.
75 - "goddamn idiotic truckload of sh*t": when it breaks
77 This is a stupid (but extremely fast) directory content manager. It
78 doesn't do a whole lot, but what it 'does' do is track directory
81 %description -l pl.UTF-8
82 "git" może oznaczać cokolwiek, w zależności od nastroju.
84 - losową kombinację trzech liter, która jest wymawialna i właściwie
85 nie używana przez żadne popularne polecenie uniksowe. Fakt, że jest to
86 błędna pisownia słowa "get" może mieć lub nie mieć znaczenia.
87 - głupi, pogardliwy, prosty. Można wybrać ze słownika slangu.
88 - "global information tracker" (narzędzie do globalnego śledzenia
89 informacji) - jeśli jesteśmy w dobrym nastroju i git akurat działa.
90 Anioły śpiewają, a światło niespodziewanie wypełnia pokój.
91 - "goddamn idiotic truckload of sh*t" (przeklęty idiotyczny ładunek
92 g*) - kiedy się zepsuje.
94 Jest to prymitywny (ale bardzo szybki) zarządca treści słownikowej.
95 Nie robi wiele, ale to, co "robi", to wydajne śledzenie zawartości
99 Summary: Files necessary to run git-daemon as an inetd service
100 Summary(pl.UTF-8): Pliki niezbędne do uruchomienia git-daemona w trybie usługi inetd
101 Group: Networking/Daemons
102 Requires: %{name} = %{version}-%{release}
103 Requires: setup >= 2.4.10-6
104 Provides: git-core-daemon
105 Obsoletes: git-core-daemon
106 Obsoletes: git-core-daemon-standalone
108 %description daemon-inetd
109 Git-daemon is a really simple TCP git daemon that can serve git
110 repositories. This package provides all necessarry files to run
111 git-daemon as an inetd service.
113 %description daemon-inetd -l pl.UTF-8
114 Git-daemon to prosty demon git korzystający z protokołu TCP do
115 udostępniania repozytoriów git. Ten pakiet dostarcza pliki potrzebne
116 do uruchomienia git-demona w trybie usługi inetd.
118 %package daemon-standalone
119 Summary: Files necessary to run git-daemon as a standalone service
120 Summary(pl.UTF-8): Pliki niezbędne do uruchomienia git-daemona w trybie usługi samodzielnej
121 Group: Networking/Daemons
122 Requires: %{name} = %{version}-%{release}
123 Provides: git-core-daemon
124 Obsoletes: git-core-daemon
125 Obsoletes: git-core-daemon-inetd
127 %description daemon-standalone
128 Git-daemon is a really simple TCP git daemon that can serve git
129 repositories. This package provides all necessarry files to run
130 git-daemon as an standalone service.
132 %description daemon-standalone -l pl.UTF-8
133 Git-daemon to prosty demon git korzystający z protokołu TCP do
134 udostępniania repozytoriów git. Ten pakiet dostarcza pliki potrzebne
135 do uruchomienia git-daemona w trybie usługi samodzielnej.
138 Summary: Header files for git-core
139 Summary(pl.UTF-8): Pliki nagłówkowe dla git-core
140 Group: Development/Libraries
143 Header files for git-core.
145 %description devel -l pl.UTF-8
146 Pliki nagłówkowe dla git-core.
149 Summary: Tcl/Tk interface to the Git version control system
150 Summary(pl.UTF-8): Napisany w Tcl/Tk interfejs do systemu kontroli wersji Git
151 Group: Development/Tools
152 Requires: %{name} = %{version}-%{release}
156 Displays changes in a repository or a selected set of commits. This
157 includes visualizing the commit graph, showing information related to
158 each commit, and the files in the trees of each revision.
160 Historically, gitk was the first repository browser. It's written in
161 Tcl/Tk and started off in a separate repository but was later merged
162 into the main git repository.
164 %description gitk -l pl.UTF-8
165 Wyświetla zmiany w repozytorium lub wybranym zbiorze commitów. Oznacza
166 to wizualizację grafu commitów, wyświetlanie informacji związanych z
167 każdym z commitów oraz listę plików dla każdej rewizji.
169 Z punktu widzenia historii, gitk był pierwszą przeglądarką
170 repozytorium git. Napisany jest w Tcl/Tk i początkowo był rozwijany w
171 osobnym repozytorium, ale z czasem został włączony do głównego
175 Summary: Web frontend to git
176 Summary(pl.UTF-8): Webowy frontend do git
177 Group: Development/Tools
178 Requires: %{name} = %{version}-%{release}
182 This package provides a web interface for browsing git repositories.
184 %description gitweb -l pl.UTF-8
185 Pakiet ten dostarcza interfejs WWW do przeglądania repozytoriów gita.
188 Summary: A GTK+ based repository browser for git
189 Summary(pl.UTF-8): Oparta na GTK+ przeglądarka repozytorium gita
190 Group: Development/Tools
191 Requires: %{name} = %{version}-%{release}
192 Requires: python >= 1:2.4
193 Requires: python-pycairo >= 1.0
194 Requires: python-pygobject
195 Requires: python-pygtk-gtk >= 2:2.8
196 Suggests: python-gnome-desktop-gtksourceview
199 A GTK+ based repository browser for git.
201 %description gitview -l pl.UTF-8
202 Oparta na GTK+ przeglądarka repozytorium gita.
204 %package -n bash-completion-git
205 Summary: bash-completion for git
206 Summary(pl.UTF-8): bashowe uzupełnianie nazw dla gita
207 Group: Applications/Shells
208 Requires: bash-completion
210 %description -n bash-completion-git
211 This package provides bash-completion for git.
213 %description -n bash-completion-git -l pl.UTF-8
214 Pakiet ten dostarcza bashowe uzupełnianie nazw dla gita.
217 Summary: Perl interface to the Git version control system
218 Summary(pl.UTF-8): Perlowy interfejs do systemu kontroli wersji Git
219 Group: Development/Languages/Perl
220 Requires: %{name} = %{version}-%{release}
221 Obsoletes: perl-git-core
223 %description -n perl-Git
224 This module provides Perl scripts easy way to interface the Git
225 version control system. The modules have an easy and well-tested way
226 to call arbitrary Git commands; in the future, the interface will also
227 provide specialized methods for doing easily operations which are not
228 totally trivial to do over the generic command interface.
230 %description -n perl-Git -l pl.UTF-8
231 Ten moduł umożliwia skryptom Perla współpracę z systemem kontroli
232 wersji Git. W łatwy i dobrze przetestowany sposób pozwala wywoływać
233 dowolne polecenia Gita; w przyszłości interfejs udostępni także
234 specjalne metody do łatwego wykonywania operacji nietrywialnych do
235 wykonania przy użyciu ogólnego interfejsu poleceń.
237 %package -n vim-syntax-gitcommit
238 Summary: Vim syntax: gitcommit
239 Summary(pl.UTF-8): Składnia dla Vima: gitcommit
240 Group: Applications/Editors/Vim
241 # for _vimdatadir existence
242 Requires: vim >= 4:6.3.058-3
244 %description -n vim-syntax-gitcommit
245 This plugin provides syntax highlighting for git's commit messages.
247 %description -n vim-syntax-gitcommit -l pl.UTF-8
248 Ta wtyczka dostarcza podświetlanie składni dla treści commitów gita.
251 %setup -q -n git-%{version}
261 GITWEB_CONFIG="%{webappdir}/gitweb.conf" \
262 GITWEB_PROJECTROOT="/var/lib/git" \
263 GITWEB_CSS="/gitweb/gitweb.css" \
264 GITWEB_LOGO="/gitweb/git-logo.png" \
265 GITWEB_FAVICON="/gitweb/git-favicon.png"
267 %{?with_doc:%{__make} -C Documentation}
269 %{?with_tests:%{__make} test}
272 rm -rf $RPM_BUILD_ROOT
273 install -d $RPM_BUILD_ROOT{%{_includedir}/%{name}/xdiff,%{_localstatedir}/lib/git}
274 install -d $RPM_BUILD_ROOT{%{appdir},%{cgibindir},%{webappdir}}
275 install -d $RPM_BUILD_ROOT%{_datadir}/vim/vimfiles/syntax
276 install -d $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d
277 install -d $RPM_BUILD_ROOT/etc/{sysconfig/rc-inetd,rc.d/init.d}
281 DESTDIR=$RPM_BUILD_ROOT
284 %{__make} -C Documentation install \
285 DESTDIR=$RPM_BUILD_ROOT
288 # header files and lib
289 install *.h $RPM_BUILD_ROOT%{_includedir}/%{name}
290 install xdiff/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/xdiff
291 install libgit.a $RPM_BUILD_ROOT%{_libdir}
294 install contrib/completion/git-completion.bash $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d
297 install contrib/vim/syntax/gitcommit.vim $RPM_BUILD_ROOT%{_datadir}/vim/vimfiles/syntax
300 install gitweb/*.css gitweb/*.png $RPM_BUILD_ROOT%{appdir}
301 install gitweb/gitweb.cgi $RPM_BUILD_ROOT%{cgibindir}
302 install %{SOURCE1} $RPM_BUILD_ROOT%{webappdir}/gitweb.conf
303 install %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/apache.conf
304 install %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/httpd.conf
307 install contrib/gitview/gitview $RPM_BUILD_ROOT%{_bindir}
309 # git-daemon related files
310 install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/git-daemon
311 install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
312 install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
314 # remove unneeded files
315 rm -f $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
316 rm -f $RPM_BUILD_ROOT%{perl_vendorarch}/auto/Git/.packlist
317 rm -f $RPM_BUILD_ROOT%{perl_vendorlib}/Error.pm
318 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/private-Error.3*
321 rm -rf $RPM_BUILD_ROOT
324 %service -q rc-inetd reload
327 if [ "$1" = "0" ]; then
328 %service -q rc-inetd reload
331 %post daemon-standalone
332 /sbin/chkconfig --add git-daemon
333 %service git-daemon restart "git-daemon"
335 %preun daemon-standalone
336 if [ "$1" = "0" ]; then
337 %service git-daemon stop
338 /sbin/chkconfig --del git-daemon
341 %triggerin gitweb -- apache1 < 1.3.37-3, apache1-base
342 %webapp_register apache %{webapp}
344 %triggerun gitweb -- apache1 < 1.3.37-3, apache1-base
345 %webapp_unregister apache %{webapp}
347 %triggerin gitweb -- apache < 2.2.0, apache-base
348 %webapp_register httpd %{webapp}
350 %triggerun gitweb -- apache < 2.2.0, apache-base
351 %webapp_unregister httpd %{webapp}
354 %defattr(644,root,root,755)
357 %doc Documentation/{[!g]*,g[!i]*,git,git[!k]*}.html Documentation/howto Documentation/technical
358 %{_mandir}/man1/git-*.1*
359 %{_mandir}/man5/gitattributes.5*
360 %{_mandir}/man5/gitcli.5*
361 %{_mandir}/man5/gitignore.5*
362 %{_mandir}/man5/gitmodules.5*
363 %{_mandir}/man7/git.7*
365 %attr(755,root,root) %{_bindir}/git
366 %attr(755,root,root) %{_bindir}/git-*
369 %{_localstatedir}/lib/git
372 %defattr(644,root,root,755)
373 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/git-daemon
375 %files daemon-standalone
376 %defattr(644,root,root,755)
377 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/git-daemon
378 %attr(754,root, root) /etc/rc.d/init.d/git-daemon
381 %defattr(644,root,root,755)
382 %{_includedir}/git-core
386 %defattr(644,root,root,755)
388 %doc Documentation/gitk.html
389 %{_mandir}/man1/gitk.1*
391 %attr(755,root,root) %{_bindir}/gitk
392 %dir %{_datadir}/gitk
393 %dir %{_datadir}/gitk/lib
394 %dir %{_datadir}/gitk/lib/msgs
395 %lang(de) %dir %{_datadir}/gitk/lib/msgs/de.msg
398 %defattr(644,root,root,755)
399 %doc gitweb/{README,INSTALL}
401 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitweb.conf
402 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/apache.conf
403 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/httpd.conf
404 %attr(755,root,root) %{cgibindir}/gitweb.cgi
408 %defattr(644,root,root,755)
409 %doc contrib/gitview/gitview.txt
410 %attr(755,root,root) %{_bindir}/gitview
412 %files -n bash-completion-git
413 %defattr(644,root,root,755)
414 %{_sysconfdir}/bash_completion.d/*
417 %defattr(644,root,root,755)
418 %{perl_vendorlib}/Git.pm
419 %{_mandir}/man3/Git.3pm*
421 %files -n vim-syntax-gitcommit
422 %defattr(644,root,root,755)
423 %doc contrib/vim/README
424 %{_datadir}/vim/vimfiles/syntax/*