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: 9ab0bfd9c9f217326eaa0da12f73d100
16 Source1: %{name}-gitweb.conf
17 Source2: %{name}-gitweb-httpd.conf
18 Source3: %{name}.sysconfig
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
32 BuildRequires: rpm-perlprov >= 4.1-13
33 BuildRequires: rpmbuild(macros) >= 1.264
34 BuildRequires: zlib-devel
36 BuildRequires: asciidoc >= 7.1.2-3
40 # tests failed sometimes when using nserver client 1.11(?)
41 BuildRequires: cvs-client >= 1.12
42 BuildRequires: pdksh >= 5.2.14-46
45 Requires: cvsps >= 2.1-2
49 Requires: openssh-clients
53 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
55 # html docs have links to txt files
56 %define _noautocompressdoc *.txt
59 %define webappdir %{_sysconfdir}/webapps/%{webapp}
60 %define appdir %{_datadir}/%{webapp}
61 %define cgibindir %{_prefix}/lib/cgi-bin
64 "git" can mean anything, depending on your mood.
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
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
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
79 %description -l pl.UTF-8
80 "git" może oznaczać cokolwiek, w zależności od nastroju.
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.
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
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
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.
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.
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
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.
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.
136 Summary: Header files for git-core
137 Summary(pl.UTF-8): Pliki nagłówkowe dla git-core
138 Group: Development/Libraries
141 Header files for git-core.
143 %description devel -l pl.UTF-8
144 Pliki nagłówkowe dla git-core.
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}
154 gitk displays changes in a repository or a selected set of commits.
155 This includes visualizing the commit graph, showing information
156 related to each commit, and the files in the trees of each revision.
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.
162 %description gitk -l pl.UTF-8
163 gitk wyświetla zmiany w repozytorium lub wybranym zbiorze commitów.
164 Oznacza to wizualizację grafu commitów, wyświetlanie informacji
165 związanych z każdym z commitów oraz listę plików dla każdej rewizji.
167 Z historycznego punktu widzenia 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
173 Summary: Web frontend to git
174 Summary(pl.UTF-8): Webowy frontend do git
175 Group: Development/Tools
176 Requires: %{name} = %{version}-%{release}
180 This package provides a web interface for browsing git repositories.
182 %description gitweb -l pl.UTF-8
183 Pakiet ten dostarcza interfejs WWW do przeglądania repozytoriów gita.
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
197 A GTK+ based repository browser for git.
199 %description gitview -l pl.UTF-8
200 Oparta na GTK+ przeglądarka repozytorium gita.
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}
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.
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.
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.
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
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
234 %description -n bash-completion-git
235 This package provides bash-completion for git.
237 %description -n bash-completion-git -l pl.UTF-8
238 Pakiet ten dostarcza bashowe uzupełnianie nazw dla gita.
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
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.
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ń.
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
268 %description -n vim-syntax-gitcommit
269 This plugin provides syntax highlighting for git's commit messages.
271 %description -n vim-syntax-gitcommit -l pl.UTF-8
272 Ta wtyczka dostarcza podświetlanie składni dla treści commitów gita.
275 %setup -q -n git-%{version}
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"
292 %{?with_doc:%{__make} -C Documentation}
294 %{?with_tests:%{__make} test}
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}
306 DESTDIR=$RPM_BUILD_ROOT
309 %{__make} -C Documentation install \
310 DESTDIR=$RPM_BUILD_ROOT
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}
319 install contrib/completion/git-completion.bash $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d
322 install contrib/vim/syntax/gitcommit.vim $RPM_BUILD_ROOT%{_datadir}/vim/vimfiles/syntax
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
332 install contrib/gitview/gitview $RPM_BUILD_ROOT%{_bindir}
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
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*
346 rm -rf $RPM_BUILD_ROOT
349 %service -q rc-inetd reload
352 if [ "$1" = "0" ]; then
353 %service -q rc-inetd reload
356 %post daemon-standalone
357 /sbin/chkconfig --add git-daemon
358 %service git-daemon restart "git-daemon"
360 %preun daemon-standalone
361 if [ "$1" = "0" ]; then
362 %service git-daemon stop
363 /sbin/chkconfig --del git-daemon
366 %triggerin gitweb -- apache1 < 1.3.37-3, apache1-base
367 %webapp_register apache %{webapp}
369 %triggerun gitweb -- apache1 < 1.3.37-3, apache1-base
370 %webapp_unregister apache %{webapp}
372 %triggerin gitweb -- apache < 2.2.0, apache-base
373 %webapp_register httpd %{webapp}
375 %triggerun gitweb -- apache < 2.2.0, apache-base
376 %webapp_unregister httpd %{webapp}
379 %defattr(644,root,root,755)
382 %doc Documentation/RelNotes*
383 %doc Documentation/*.html Documentation/howto Documentation/technical
384 %{_mandir}/man1/git-*.1*
385 %exclude %{_mandir}/man1/git-gui.1*
386 %{_mandir}/man1/git.1*
387 %{_mandir}/man5/gitattributes.5*
388 %{_mandir}/man5/githooks.5*
389 %{_mandir}/man5/gitignore.5*
390 %{_mandir}/man5/gitmodules.5*
391 %{_mandir}/man5/gitrepository-layout.5*
392 %{_mandir}/man7/gitcli.7*
393 %{_mandir}/man7/gitcore-tutorial.7*
394 %{_mandir}/man7/gitcvs-migration.7*
395 %{_mandir}/man7/gitdiffcore.7*
396 %{_mandir}/man7/gitglossary.7*
397 %{_mandir}/man7/gittutorial-2.7*
398 %{_mandir}/man7/gittutorial.7*
400 %attr(755,root,root) %{_bindir}/git
401 %attr(755,root,root) %{_bindir}/git-*
402 %exclude %{_bindir}/git-gui
404 %{_localstatedir}/lib/git
407 %defattr(644,root,root,755)
408 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/git-daemon
410 %files daemon-standalone
411 %defattr(644,root,root,755)
412 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/git-daemon
413 %attr(754,root, root) /etc/rc.d/init.d/git-daemon
416 %defattr(644,root,root,755)
417 %{_includedir}/git-core
421 %defattr(644,root,root,755)
423 %{_mandir}/man1/gitk.1*
425 %attr(755,root,root) %{_bindir}/gitk
426 %dir %{_datadir}/gitk
427 %dir %{_datadir}/gitk/lib
428 %dir %{_datadir}/gitk/lib/msgs
429 %lang(de) %{_datadir}/gitk/lib/msgs/de.msg
430 %lang(es) %{_datadir}/gitk/lib/msgs/es.msg
431 %lang(it) %{_datadir}/gitk/lib/msgs/it.msg
432 %lang(sv) %{_datadir}/gitk/lib/msgs/sv.msg
435 %defattr(644,root,root,755)
436 %doc gitweb/{README,INSTALL}
438 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitweb.conf
439 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/apache.conf
440 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/httpd.conf
441 %attr(755,root,root) %{cgibindir}/gitweb.cgi
445 %defattr(644,root,root,755)
446 %doc contrib/gitview/gitview.txt
447 %attr(755,root,root) %{_bindir}/gitview
450 %defattr(644,root,root,755)
451 %attr(755,root,root) %{_bindir}/git-gui
452 %{_mandir}/man1/git-gui.1*
453 %dir %{_datadir}/git-gui
454 %dir %{_datadir}/git-gui/lib
455 %dir %{_datadir}/git-gui/lib/msgs
456 %{_datadir}/git-gui/lib/git-gui.ico
457 %{_datadir}/git-gui/lib/tclIndex
458 %{_datadir}/git-gui/lib/*.js
459 %{_datadir}/git-gui/lib/*.tcl
460 %lang(de) %{_datadir}/git-gui/lib/msgs/de.msg
461 %lang(fr) %{_datadir}/git-gui/lib/msgs/fr.msg
462 %lang(hu) %{_datadir}/git-gui/lib/msgs/hu.msg
463 %lang(it) %{_datadir}/git-gui/lib/msgs/it.msg
464 %lang(ja) %{_datadir}/git-gui/lib/msgs/ja.msg
465 %lang(ru) %{_datadir}/git-gui/lib/msgs/ru.msg
466 %lang(sv) %{_datadir}/git-gui/lib/msgs/sv.msg
467 %lang(zh_cn) %{_datadir}/git-gui/lib/msgs/zh_cn.msg
469 %files -n bash-completion-git
470 %defattr(644,root,root,755)
471 %{_sysconfdir}/bash_completion.d/*
474 %defattr(644,root,root,755)
475 %{perl_vendorlib}/Git.pm
476 %{_mandir}/man3/Git.3pm*
478 %files -n vim-syntax-gitcommit
479 %defattr(644,root,root,755)
480 %doc contrib/vim/README
481 %{_datadir}/vim/vimfiles/syntax/*