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