2 # - use %lang: /usr/share/git-gui/lib/msgs
5 %bcond_without tests # don't perform make test
6 %bcond_without doc # skip building/packaging docs/manuals (takes some time)
8 %include /usr/lib/rpm/macros.perl
9 Summary: The stupid content tracker
10 Summary(pl.UTF-8): Prymitywne narzędzie do śledzenia treści
15 Group: Development/Tools
16 Source0: http://www.kernel.org/pub/software/scm/git/git-%{version}.tar.bz2
17 # Source0-md5: b0f80ae5e5d818aaccd44b0c9caff6d9
18 Source1: %{name}-gitweb.conf
19 Source2: %{name}-gitweb-httpd.conf
20 Source3: %{name}.sysconfig
23 Patch0: %{name}-bashizm.patch
24 URL: http://git.or.cz/
25 BuildRequires: autoconf
26 BuildRequires: automake
27 BuildRequires: curl-devel
28 BuildRequires: expat-devel
29 BuildRequires: gettext-devel
30 BuildRequires: openssl-devel
31 BuildRequires: perl-Error
32 BuildRequires: perl-base
34 BuildRequires: rpm-perlprov >= 4.1-13
35 BuildRequires: rpmbuild(macros) >= 1.264
36 BuildRequires: zlib-devel
38 BuildRequires: asciidoc >= 7.1.2-3
42 # tests failed sometimes when using nserver client 1.11(?)
43 BuildRequires: cvs-client >= 1.12
44 BuildRequires: pdksh >= 5.2.14-46
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.11-1
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-rt >= 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/RelNotes*
361 %doc Documentation/{[!g]*,g[!i]*,git,git[!k]*}.html Documentation/howto Documentation/technical
362 %{_mandir}/man1/git-*.1*
363 %{_mandir}/man5/gitattributes.5*
364 %{_mandir}/man5/gitcli.5*
365 %{_mandir}/man5/gitignore.5*
366 %{_mandir}/man5/gitmodules.5*
367 %{_mandir}/man7/git.7*
369 %attr(755,root,root) %{_bindir}/git
370 %attr(755,root,root) %{_bindir}/git-*
373 %{_localstatedir}/lib/git
376 %defattr(644,root,root,755)
377 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/git-daemon
379 %files daemon-standalone
380 %defattr(644,root,root,755)
381 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/git-daemon
382 %attr(754,root, root) /etc/rc.d/init.d/git-daemon
385 %defattr(644,root,root,755)
386 %{_includedir}/git-core
390 %defattr(644,root,root,755)
392 %doc Documentation/gitk.html
393 %{_mandir}/man1/gitk.1*
395 %attr(755,root,root) %{_bindir}/gitk
396 %dir %{_datadir}/gitk
397 %dir %{_datadir}/gitk/lib
398 %dir %{_datadir}/gitk/lib/msgs
399 %lang(de) %{_datadir}/gitk/lib/msgs/de.msg
400 %lang(it) %{_datadir}/gitk/lib/msgs/it.msg
403 %defattr(644,root,root,755)
404 %doc gitweb/{README,INSTALL}
406 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitweb.conf
407 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/apache.conf
408 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/httpd.conf
409 %attr(755,root,root) %{cgibindir}/gitweb.cgi
413 %defattr(644,root,root,755)
414 %doc contrib/gitview/gitview.txt
415 %attr(755,root,root) %{_bindir}/gitview
417 %files -n bash-completion-git
418 %defattr(644,root,root,755)
419 %{_sysconfdir}/bash_completion.d/*
422 %defattr(644,root,root,755)
423 %{perl_vendorlib}/Git.pm
424 %{_mandir}/man3/Git.3pm*
426 %files -n vim-syntax-gitcommit
427 %defattr(644,root,root,755)
428 %doc contrib/vim/README
429 %{_datadir}/vim/vimfiles/syntax/*