3 %bcond_without tests # test suite
4 %bcond_with tests_cvs # tests which use CVS
5 %bcond_without tests_svn # tests which use subversion
6 %bcond_without doc # building/packaging docs/manuals (takes some time)
7 %bcond_without pcre # perl-compatible regexes support
8 %bcond_without libsecret # libsecret credentials support
9 %bcond_without tk # Tcl/Tk interface
11 # for AC: --without doc --without tests
13 Summary: Distributed version control system focused on speed, effectivity and usability
14 Summary(pl.UTF-8): Rozproszony system śledzenia treści skupiony na szybkości, wydajności i użyteczności
19 Group: Development/Tools
20 Source0: https://www.kernel.org/pub/software/scm/git/git-%{version}.tar.xz
21 # Source0-md5: 14121ad4f2c2c526332af173cc1457b3
22 Source1: %{name}-gitweb.conf
23 Source2: %{name}-gitweb-httpd.conf
24 Source3: %{name}-gitweb-lighttpd.conf
25 Source4: %{name}.sysconfig
29 Patch0: %{name}-key-bindings.patch
30 Patch1: %{name}-sysconfdir.patch
31 Patch2: cherry-picked-commitlog.patch
32 URL: http://git-scm.com/
33 BuildRequires: autoconf >= 2.59
34 BuildRequires: automake
35 BuildRequires: curl-devel
36 BuildRequires: expat-devel
37 %if "%{pld_release}" == "ac"
38 BuildRequires: gettext-devel
40 BuildRequires: gettext-tools
43 BuildRequires: glib2-devel >= 2.0
46 BuildRequires: libsecret-devel
48 BuildRequires: openssl-devel
49 %{?with_pcre:BuildRequires: pcre2-8-devel}
50 BuildRequires: perl-Error > 0.15
51 BuildRequires: perl-MailTools
52 BuildRequires: perl-base
54 BuildRequires: pkgconfig
56 BuildRequires: python3-devel
57 BuildRequires: rpm-build >= 4.6
58 BuildRequires: rpm-perlprov >= 4.1-13
59 BuildRequires: rpm-pythonprov
60 BuildRequires: rpmbuild(macros) >= 1.752
61 BuildRequires: tar >= 1:1.22
67 BuildRequires: zlib-devel
69 BuildRequires: asciidoc >= 7.1.2-3
70 BuildRequires: docbook-dtd45-xml
74 BuildRequires: openssh-clients
75 BuildRequires: perl-CGI
76 BuildRequires: perl-Digest-MD5
77 BuildRequires: perl-Encode
78 BuildRequires: perl-Time-HiRes
80 # tests failed sometimes when using nserver/cvsnt client so enforce pure cvs here
81 BuildRequires: cvs-gnu-client < 1.13
82 BuildRequires: cvs-gnu-client >= 1.12
85 BuildRequires: perl-subversion
86 BuildRequires: subversion
88 Conflicts: pdksh < 5.2.14-46
90 # git-sh-setup: sane_grep
95 Suggests: git-core-cvs
97 Suggests: git-core-svn
99 Suggests: openssh-clients
100 Suggests: perl-Git = %{version}-%{release}
102 Obsoletes: git-core-gitview < 2.12.1
103 Obsoletes: python-Git < 1.8.5
104 Conflicts: perl-Git < %{version}
105 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
107 # html docs have links to txt files
108 %define _noautocompressdoc *.txt
110 # do not generate perl dependency, git add -p support is optional
111 # skip dependency generation from templates
112 %define _noautoreqfiles %{_libexecdir}/%{name}/git-add--interactive %{_datadir}/%{name}/templates
114 %define webapp gitweb
115 %define webappdir %{_sysconfdir}/webapps/%{webapp}
116 %define appdir %{_datadir}/%{webapp}
117 %define cgibindir %{_prefix}/lib/cgi-bin
118 %define gitcoredir %{_libexecdir}/%{name}
121 "git" can mean anything, depending on your mood.
123 - random three-letter combination that is pronounceable, and not
124 actually used by any common UNIX command. The fact that it is a
125 mispronunciation of "get" may or may not be relevant.
126 - stupid. contemptible and despicable. simple. Take your pick from the
128 - "global information tracker": you're in a good mood, and it actually
129 works for you. Angels sing, and a light suddenly fills the room.
130 - "goddamn idiotic truckload of sh*t": when it breaks
132 This is a stupid (but extremely fast) directory content manager. It
133 doesn't do a whole lot, but what it 'does' do is track directory
134 contents efficiently.
136 %description -l pl.UTF-8
137 "git" może oznaczać cokolwiek, w zależności od nastroju.
139 - losową kombinację trzech liter, która jest wymawialna i właściwie
140 nie używana przez żadne popularne polecenie uniksowe. Fakt, że jest to
141 błędna pisownia słowa "get" może mieć lub nie mieć znaczenia.
142 - głupi, pogardliwy, prosty. Można wybrać ze słownika slangu.
143 - "global information tracker" (narzędzie do globalnego śledzenia
144 informacji) - jeśli jesteśmy w dobrym nastroju i git akurat działa.
145 Anioły śpiewają, a światło niespodziewanie wypełnia pokój.
146 - "goddamn idiotic truckload of sh*t" (przeklęty idiotyczny ładunek
147 g*) - kiedy się zepsuje.
149 Jest to prymitywny (ale bardzo szybki) zarządca treści słownikowej.
150 Nie robi wiele, ale to, co "robi", to wydajne śledzenie zawartości
154 Summary: Documentation for git-core
155 Summary(pl.UTF-8): Dokumentacja do git-core
160 Documentation for git-core.
162 %description doc -l pl.UTF-8
163 Dokumentacja do git-core.
165 %package daemon-inetd
166 Summary: Files necessary to run git-daemon as an inetd service
167 Summary(pl.UTF-8): Pliki niezbędne do uruchomienia git-daemona w trybie usługi inetd
168 Group: Networking/Daemons
169 Requires: %{name} = %{version}-%{release}
170 Requires: setup >= 2.4.11-1
171 Provides: git-core-daemon = %{version}-%{release}
172 Obsoletes: git-core-daemon <= %{version}-%{release}
173 Obsoletes: git-core-daemon-standalone <= %{version}-%{release}
175 %description daemon-inetd
176 Git-daemon is a really simple TCP git daemon that can serve git
177 repositories. This package provides all necessarry files to run
178 git-daemon as an inetd service.
180 %description daemon-inetd -l pl.UTF-8
181 Git-daemon to prosty demon git korzystający z protokołu TCP do
182 udostępniania repozytoriów git. Ten pakiet dostarcza pliki potrzebne
183 do uruchomienia git-demona w trybie usługi inetd.
185 %package daemon-standalone
186 Summary: Files necessary to run git-daemon as a standalone service
187 Summary(pl.UTF-8): Pliki niezbędne do uruchomienia git-daemona w trybie usługi samodzielnej
188 Group: Networking/Daemons
189 Requires: %{name} = %{version}-%{release}
190 Provides: git-core-daemon = %{version}-%{release}
191 Obsoletes: git-core-daemon <= %{version}-%{release}
192 Obsoletes: git-core-daemon-inetd <= %{version}-%{release}
194 %description daemon-standalone
195 Git-daemon is a really simple TCP git daemon that can serve git
196 repositories. This package provides all necessarry files to run
197 git-daemon as an standalone service.
199 %description daemon-standalone -l pl.UTF-8
200 Git-daemon to prosty demon git korzystający z protokołu TCP do
201 udostępniania repozytoriów git. Ten pakiet dostarcza pliki potrzebne
202 do uruchomienia git-daemona w trybie usługi samodzielnej.
205 Summary: Git library with header files
206 Summary(pl.UTF-8): Biblioteka Gita oraz pliki nagłówkowe
207 Group: Development/Libraries
211 Git library with header files.
213 %description devel -l pl.UTF-8
214 Biblioteka Gita oraz pliki nagłówkowe.
217 Summary: Tcl/Tk interface to the Git version control system
218 Summary(pl.UTF-8): Napisany w Tcl/Tk interfejs do systemu kontroli wersji Git
219 Group: Development/Tools
220 Requires: %{name} = %{version}-%{release}
225 gitk displays changes in a repository or a selected set of commits.
226 This includes visualizing the commit graph, showing information
227 related to each commit, and the files in the trees of each revision.
229 Historically, gitk was the first repository browser. It's written in
230 Tcl/Tk and started off in a separate repository but was later merged
231 into the main git repository.
233 %description gitk -l pl.UTF-8
234 gitk wyświetla zmiany w repozytorium lub wybranym zbiorze commitów.
235 Oznacza to wizualizację grafu commitów, wyświetlanie informacji
236 związanych z każdym z commitów oraz listę plików dla każdej rewizji.
238 Z historycznego punktu widzenia gitk był pierwszą przeglądarką
239 repozytorium git. Napisany jest w Tcl/Tk i początkowo był rozwijany w
240 osobnym repozytorium, ale z czasem został włączony do głównego
244 Summary: Web frontend to git
245 Summary(pl.UTF-8): Frontend WWW do gita
246 Group: Development/Tools
247 Requires: %{name} = %{version}-%{release}
249 Requires: webserver(access)
250 Requires: webserver(alias)
251 Requires: webserver(cgi)
252 Suggests: webserver(setenv)
255 This package provides a web interface for browsing git repositories.
257 %description gitweb -l pl.UTF-8
258 Pakiet ten dostarcza interfejs WWW do przeglądania repozytoriów gita.
261 Summary: Tcl/Tk interface to the Git version control system
262 Summary(pl.UTF-8): Napisany w Tcl/Tk interfejs do systemu kontroli wersji Git
263 Group: Development/Tools
264 Requires: %{name} = %{version}-%{release}
270 Displays changes in a repository or a selected set of commits. This
271 includes visualizing the commit graph, showing information related to
272 each commit, and the files in the trees of each revision.
274 Historically, gitk was the first repository browser. It's written in
275 Tcl/Tk and started off in a separate repository but was later merged
276 into the main git repository.
278 %description gui -l pl.UTF-8
279 Wyświetla zmiany w repozytorium lub wybranym zbiorze commitów. Oznacza
280 to wizualizację grafu commitów, wyświetlanie informacji związanych z
281 każdym z commitów oraz listę plików dla każdej rewizji.
283 Z punktu widzenia historii, gitk był pierwszą przeglądarką
284 repozytorium git. Napisany jest w Tcl/Tk i początkowo był rozwijany w
285 osobnym repozytorium, ale z czasem został włączony do głównego
289 Summary: Git tools for importing Arch repositories
290 Summary(pl.UTF-8): Narzędzia Gita do importowania repozytoriów Archa
291 Group: Development/Tools
292 Requires: %{name} = %{version}-%{release}
296 Git tools for importing Arch repositories.
298 %description arch -l pl.UTF-8
299 Narzędzia Gita do importowania repozytoriów Archa.
302 Summary: CVS support for Git
303 Summary(pl.UTF-8): Obsługa CVS dla Gita
304 Group: Development/Tools
305 Requires: %{name} = %{version}-%{release}
306 Requires: cvsps >= 2.1-2
312 %description cvs -l pl.UTF-8
313 Obsługa CVS dla Gita.
316 Summary: Git tools for working with Perforce depots
317 Summary(pl.UTF-8): Narzędzia Gita do pracy z magazynami Perforce'a
318 Group: Development/Tools
319 Requires: %{name} = %{version}-%{release}
322 Git tools for working with Perforce depots.
324 %description p4 -l pl.UTF-8
325 Narzędzia Gita do pracy z magazynami Perforce'a.
328 Summary: Subversion support for Git
329 Summary(pl.UTF-8): Obsługa Subversion dla Gita
330 Group: Development/Tools
331 Requires: %{name} = %{version}-%{release}
332 Requires: perl-Encode
333 Requires: perl-Term-ReadKey
334 Requires: perl-modules
337 Subversion support for Git.
339 %description svn -l pl.UTF-8
340 Obsługa Subversion dla Gita.
343 Summary: Git tools for sending email
344 Summary(pl.UTF-8): Narzędzia Gita do wysyłania poczty
345 Group: Development/Tools
346 Requires: %{name} = %{version}-%{release}
348 Requires: perl-MailTools
349 Suggests: perl-Net-SMTP-SSL
352 Git tools for sending email.
354 %description email -l pl.UTF-8
355 Narzędzia Gita do wysyłania poczty.
358 Summary: A tool for managing large Git repositories
359 Summary(pl.UTF-8): Narzędzie do zarządzania dużymi repozytoriami Git
360 Group: Development/Tools
361 Requires: %{name} = %{version}-%{release}
364 Scalar is a repository management tool that optimizes Git for use in
365 large repositories. Scalar improves performance by configuring
366 advanced Git settings, maintaining repositories in the background, and
367 helping to reduce data sent across the network.
369 %description scalar -l pl.UTF-8
370 Scalar jest narzędziem do zarządzania repozytorium Git
371 zoptymalizowanym pod kątem dużych repozytoriów. Scalar poprawia
372 wydajność poprzez konfigurację zaawansowanych ustawień Git,
373 utrzymywanie repozytoriów w tle oraz pomagając zredukować ilość
374 danych wysyłanych po sieci.
376 %package -n bash-completion-git
377 Summary: bash-completion for git
378 Summary(pl.UTF-8): bashowe uzupełnianie nazw dla gita
379 Group: Applications/Shells
380 Requires: %{name} = %{version}-%{release}
381 Requires: bash-completion >= 1:2.0
384 %description -n bash-completion-git
385 This package provides bash-completion for git.
387 %description -n bash-completion-git -l pl.UTF-8
388 Pakiet ten dostarcza bashowe uzupełnianie nazw dla gita.
391 Summary: Perl interface to the Git version control system
392 Summary(pl.UTF-8): Perlowy interfejs do systemu kontroli wersji Git
393 Group: Development/Languages/Perl
395 Obsoletes: perl-git-core < 1.4.3.5
398 %description -n perl-Git
399 This module provides Perl scripts easy way to interface the Git
400 version control system. The modules have an easy and well-tested way
401 to call arbitrary Git commands; in the future, the interface will also
402 provide specialized methods for doing easily operations which are not
403 totally trivial to do over the generic command interface.
405 %description -n perl-Git -l pl.UTF-8
406 Ten moduł umożliwia skryptom Perla współpracę z systemem kontroli
407 wersji Git. W łatwy i dobrze przetestowany sposób pozwala wywoływać
408 dowolne polecenia Gita; w przyszłości interfejs udostępni także
409 specjalne metody do łatwego wykonywania operacji nietrywialnych do
410 wykonania przy użyciu ogólnego interfejsu poleceń.
412 %package credential-libsecret
413 Summary: GNOME authentication provider for Git using libsecret
414 Summary(pl.UTF-8): Moduł uwierzytelniający GNOME dla Gita wykorzystujący libsecret
415 Group: X11/Applications
416 URL: http://git-scm.com/docs/gitcredentials.html
417 Requires: %{name} = %{version}-%{release}
418 Obsoletes: gnome-keyring-git-core < 2.41.0
420 %description credential-libsecret
421 Authentication provider module for Git which allows git client to
422 authenticate using GNOME libsecret.
424 You need to register it with:
425 - git config --global credential.helper libsecret
427 %description credential-libsecret -l pl.UTF-8
428 Moduł uwierzytelniający dla Gita pozwalający klientom git
429 uwierzytelniać się przy użyciu mechanizmu GNOME libsecret.
431 Moduł trzeba zarejestrować poleceniem:
432 - git config --global credential.helper libsecret
434 %package -n zsh-completion-git
435 Summary: Zsh completion for git command
436 Summary(pl.UTF-8): Dopełnianie parametrów komendy git dla powłoki zsh
437 Group: Applications/Shells
438 Requires: %{name} = %{version}-%{release}
439 Requires: bash-completion-git = %{version}-%{release}
443 %description -n zsh-completion-git
444 Zsh completion for git command.
446 %description -n zsh-completion-git -l pl.UTF-8
447 Dopełnianie parametrów komendy git dla powłoki zsh.
450 %setup -q -n git-%{version}
455 # we build things in contrib but want to have it clean for doc purporses, too
456 cp -a contrib contrib-doc
462 --sysconfdir=%{_sysconfdir}/git-core \
463 %{?with_pcre:--with-libpcre2} \
465 --with-python="%{__python3}"
467 echo "BLK_SHA1=1" >> config.mak
470 GITWEB_CONFIG="%{webappdir}/gitweb.conf" \
471 GITWEB_PROJECTROOT="/var/lib/git" \
472 GITWEB_CSS="/gitweb/gitweb.css" \
473 GITWEB_LOGO="/gitweb/git-logo.png" \
474 GITWEB_FAVICON="/gitweb/git-favicon.png" \
475 NO_PERL_CPAN_FALLBACKS=1 \
476 perllibdir=%{perl_vendorlib} \
479 %{__make} -C contrib/subtree
481 %if %{with libsecret}
482 %{__make} -C contrib/credential/libsecret \
484 CFLAGS="%{rpmcflags} -Wall" \
485 LDFLAGS="%{rpmldflags}"
490 MAN_BASE_URL=file://%{_docdir}/%{name}-doc-%{version}/ \
495 %if %{without tests_cvs}
496 %{__rm} t/t*cvs*.sh || :
498 %if %{without tests_svn}
499 GIT_SKIP_TESTS="$GIT_SKIP_TESTS t91??"
501 export GIT_SKIP_TESTS
503 NO_PERL_CPAN_FALLBACKS=1
507 rm -rf $RPM_BUILD_ROOT
508 install -d $RPM_BUILD_ROOT{%{_includedir}/%{name}/xdiff,%{_libdir},%{_localstatedir}/lib/git}
509 install -d $RPM_BUILD_ROOT{%{appdir},%{cgibindir},%{webappdir}}
510 install -d $RPM_BUILD_ROOT/etc/{sysconfig/rc-inetd,rc.d/init.d}
511 install -d $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
512 cat << EOF > $RPM_BUILD_ROOT%{_sysconfdir}/git-core/gitconfig
514 templatedir = %{_sysconfdir}/%{name}/templates
518 DESTDIR=$RPM_BUILD_ROOT \
519 NO_PERL_CPAN_FALLBACKS=1 \
520 perllibdir=%{perl_vendorlib}
523 %{__make} install-doc \
524 DESTDIR=$RPM_BUILD_ROOT
527 # copy templates except sample hooks
528 cp -a $RPM_BUILD_ROOT%{_datadir}/%{name}/templates $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
529 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/templates/hooks/*.sample
531 # header files and lib
532 cp -p *.h $RPM_BUILD_ROOT%{_includedir}/%{name}
533 cp -a compat $RPM_BUILD_ROOT%{_includedir}/%{name}
534 cp -p xdiff/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/xdiff
535 install -d $RPM_BUILD_ROOT%{_includedir}/%{name}/block-sha1
536 cp -p block-sha1/sha1.h $RPM_BUILD_ROOT%{_includedir}/%{name}/block-sha1
537 cp -p libgit.a $RPM_BUILD_ROOT%{_libdir}
538 cp -p xdiff/lib.a $RPM_BUILD_ROOT%{_libdir}/libgit_xdiff.a
539 cp -p {Makefile,config.mak,config.mak.autogen,config.mak.uname} $RPM_BUILD_ROOT%{_includedir}/%{name}
541 %{__make} -C contrib/subtree install \
542 libexecdir=%{gitcoredir} \
543 DESTDIR=$RPM_BUILD_ROOT
546 %{__make} -C contrib/subtree install-man \
547 DESTDIR=$RPM_BUILD_ROOT
550 %if %{with libsecret}
551 install -p contrib/credential/libsecret/git-credential-libsecret $RPM_BUILD_ROOT%{gitcoredir}
555 install -d $RPM_BUILD_ROOT%{bash_compdir}
556 cp -p contrib/completion/git-completion.bash $RPM_BUILD_ROOT%{bash_compdir}/git
557 install -d $RPM_BUILD_ROOT%{zsh_compdir}
558 cp -p contrib/completion/git-completion.zsh $RPM_BUILD_ROOT%{zsh_compdir}/_git
559 sed -i -e "1 a zstyle ':completion:*:*:git:*' script %{bash_compdir}/git" $RPM_BUILD_ROOT%{zsh_compdir}/_git
561 # Install git-prompt.sh
562 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/completion
563 cp -p contrib/completion/git-prompt.sh $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/completion
566 %{__mv} $RPM_BUILD_ROOT{%{appdir},%{cgibindir}}/gitweb.cgi
567 ln -s %{cgibindir}/gitweb.cgi $RPM_BUILD_ROOT%{appdir}/gitweb.cgi
568 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{webappdir}/gitweb.conf
569 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{webappdir}/gitolite.pl
570 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/apache.conf
571 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/httpd.conf
572 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{webappdir}/lighttpd.conf
574 # git-daemon related files
575 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/git-daemon
576 cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
577 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
580 sed -e 's,@libdir@/git-core,%{gitcoredir},g' -i $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
581 sed -e 's,@libdir@/git-core,%{gitcoredir},g' -i $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
584 ln -sf git $RPM_BUILD_ROOT%{_bindir}/git-receive-pack
585 ln -sf git $RPM_BUILD_ROOT%{_bindir}/git-upload-archive
586 ln -sf ../..%{gitcoredir}/git-shell $RPM_BUILD_ROOT%{_bindir}/git-shell
587 ln -sf ../..%{gitcoredir}/git-upload-pack $RPM_BUILD_ROOT%{_bindir}/git-upload-pack
588 ln -sf ../..%{gitcoredir}/git $RPM_BUILD_ROOT%{_bindir}/git
590 # convert all hardlinks to symlinks, as rpm fails to calculate it properly
591 # requiring excessive free space when it may not be available
592 # https://bugs.launchpad.net/pld-linux/+bug/1176337
593 find $RPM_BUILD_ROOT%{gitcoredir} -samefile $RPM_BUILD_ROOT%{gitcoredir}/git > files
594 for f in $(cat files); do
595 f=${f#$RPM_BUILD_ROOT%{gitcoredir}/}
596 test $f = git && continue
597 ln -snf git $RPM_BUILD_ROOT%{gitcoredir}/$f
601 ln -snf git-gui $RPM_BUILD_ROOT%{gitcoredir}/git-citool
602 ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-https
603 ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-ftp
604 ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-ftps
606 %{__mv} $RPM_BUILD_ROOT%{_localedir}/pt{_PT,}
610 rm -rf $RPM_BUILD_ROOT
613 if [ ! -f /etc/shells ]; then
614 echo "%{_bindir}/git-shell" >> /etc/shells
616 grep -q '^%{_bindir}/git-shell$' /etc/shells || echo "%{_bindir}/git-shell" >> /etc/shells
620 if [ "$1" = "0" ]; then
622 grep -v '^%{_bindir}/git-shell$' /etc/shells > /etc/shells.new
623 mv -f /etc/shells.new /etc/shells
627 %service -q rc-inetd reload
630 if [ "$1" = "0" ]; then
631 %service -q rc-inetd reload
634 %post daemon-standalone
635 /sbin/chkconfig --add git-daemon
636 %service git-daemon restart "git-daemon"
638 %preun daemon-standalone
639 if [ "$1" = "0" ]; then
640 %service git-daemon stop
641 /sbin/chkconfig --del git-daemon
644 %triggerin gitweb -- apache1 < 1.3.37-3, apache1-base
645 %webapp_register apache %{webapp}
647 %triggerun gitweb -- apache1 < 1.3.37-3, apache1-base
648 %webapp_unregister apache %{webapp}
650 %triggerin gitweb -- apache < 2.2.0, apache-base
651 %webapp_register httpd %{webapp}
653 %triggerun gitweb -- apache < 2.2.0, apache-base
654 %webapp_unregister httpd %{webapp}
656 %triggerin gitweb -- lighttpd
657 %webapp_register lighttpd %{webapp}
659 %triggerun gitweb -- lighttpd
660 %webapp_unregister lighttpd %{webapp}
663 %defattr(644,root,root,755)
664 %doc README.md contrib-doc
665 %attr(755,root,root) %{_bindir}/git
666 %attr(755,root,root) %{_bindir}/git-receive-pack
667 %attr(755,root,root) %{_bindir}/git-shell
668 %attr(755,root,root) %{_bindir}/git-upload-archive
669 %attr(755,root,root) %{_bindir}/git-upload-pack
670 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}
673 %{_mandir}/man1/git-*.1*
674 %exclude %{_mandir}/man1/git-archimport.1*
675 %exclude %{_mandir}/man1/git-svn.1*
676 %exclude %{_mandir}/man1/git-cvs*.1*
677 %exclude %{_mandir}/man1/git-imap-send.1*
678 %exclude %{_mandir}/man1/git-p4.1*
679 %exclude %{_mandir}/man1/git-send-email.1*
680 %{_mandir}/man1/git.1*
681 %{_mandir}/man5/gitattributes.5*
682 %{_mandir}/man5/gitformat-*.5*
683 %{_mandir}/man5/githooks.5*
684 %{_mandir}/man5/gitignore.5*
685 %{_mandir}/man5/gitmailmap.5*
686 %{_mandir}/man5/gitmodules.5*
687 %{_mandir}/man5/gitprotocol-*.5*
688 %{_mandir}/man5/gitrepository-layout.5*
689 %{_mandir}/man7/gitcli.7*
690 %{_mandir}/man7/gitcore-tutorial.7*
691 %{_mandir}/man7/gitcredentials.7*
692 %{_mandir}/man7/gitdiffcore.7*
693 %{_mandir}/man7/giteveryday.7*
694 %{_mandir}/man7/gitfaq.7*
695 %{_mandir}/man7/gitglossary.7*
696 %{_mandir}/man7/gitnamespaces.7*
697 %{_mandir}/man7/gitremote-helpers.7*
698 %{_mandir}/man7/gitrevisions.7*
699 %{_mandir}/man7/gitsubmodules.7*
700 %{_mandir}/man7/gittutorial-2.7*
701 %{_mandir}/man7/gittutorial.7*
702 %{_mandir}/man7/gitworkflows.7*
706 %attr(755,root,root) %{gitcoredir}/*-*
707 %attr(755,root,root) %{gitcoredir}/git
708 %dir %{gitcoredir}/mergetools
709 %{gitcoredir}/mergetools/*
712 %{_localstatedir}/lib/git
715 %exclude %{gitcoredir}/*email*
716 %exclude %{gitcoredir}/*p4*
717 %exclude %{gitcoredir}/git-archimport
718 %exclude %{gitcoredir}/git-citool
719 %exclude %{gitcoredir}/git-cvs*
720 %exclude %{gitcoredir}/git-gui
721 %exclude %{gitcoredir}/git-imap-send
722 %exclude %{gitcoredir}/git-instaweb
723 %exclude %{gitcoredir}/git-svn
724 %exclude %{gitcoredir}/mergetools/p4merge
725 %if %{with libsecret}
726 %exclude %{gitcoredir}/git-credential-libsecret
731 %defattr(644,root,root,755)
732 %doc Documentation/RelNotes*
733 %doc Documentation/*.html Documentation/howto Documentation/technical
737 %defattr(644,root,root,755)
738 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/git-daemon
740 %files daemon-standalone
741 %defattr(644,root,root,755)
742 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/git-daemon
743 %attr(754,root, root) /etc/rc.d/init.d/git-daemon
746 %defattr(644,root,root,755)
747 %{_includedir}/%{name}
749 %{_libdir}/libgit_xdiff.a
753 %defattr(644,root,root,755)
755 %{_mandir}/man1/gitk.1*
757 %attr(755,root,root) %{_bindir}/gitk
758 %dir %{_datadir}/gitk
759 %dir %{_datadir}/gitk/lib
760 %dir %{_datadir}/gitk/lib/msgs
761 %lang(bg) %{_datadir}/gitk/lib/msgs/bg.msg
762 %lang(ca) %{_datadir}/gitk/lib/msgs/ca.msg
763 %lang(de) %{_datadir}/gitk/lib/msgs/de.msg
764 %lang(es) %{_datadir}/gitk/lib/msgs/es.msg
765 %lang(fr) %{_datadir}/gitk/lib/msgs/fr.msg
766 %lang(hu) %{_datadir}/gitk/lib/msgs/hu.msg
767 %lang(it) %{_datadir}/gitk/lib/msgs/it.msg
768 %lang(ja) %{_datadir}/gitk/lib/msgs/ja.msg
769 %lang(pt_BR) %{_datadir}/gitk/lib/msgs/pt_br.msg
770 %lang(pt_PT) %{_datadir}/gitk/lib/msgs/pt_pt.msg
771 %lang(ru) %{_datadir}/gitk/lib/msgs/ru.msg
772 %lang(sv) %{_datadir}/gitk/lib/msgs/sv.msg
773 %lang(vi) %{_datadir}/gitk/lib/msgs/vi.msg
774 %lang(zh_CN) %{_datadir}/gitk/lib/msgs/zh_cn.msg
778 %defattr(644,root,root,755)
779 %doc gitweb/{README,INSTALL}
781 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/apache.conf
782 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/httpd.conf
783 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/lighttpd.conf
784 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitweb.conf
785 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitolite.pl
786 %attr(755,root,root) %{cgibindir}/gitweb.cgi
788 %attr(755,root,root) %{gitcoredir}/git-instaweb
790 %{_mandir}/man1/gitweb.1*
791 %{_mandir}/man5/gitweb.conf.5*
796 %defattr(644,root,root,755)
797 %attr(755,root,root) %{gitcoredir}/git-citool
798 %attr(755,root,root) %{gitcoredir}/git-gui
799 %dir %{_datadir}/git-gui
800 %dir %{_datadir}/git-gui/lib
801 %dir %{_datadir}/git-gui/lib/msgs
802 %{_datadir}/git-gui/lib/git-gui.ico
803 %{_datadir}/git-gui/lib/tclIndex
804 %{_datadir}/git-gui/lib/*.js
805 %{_datadir}/git-gui/lib/*.tcl
806 %lang(bg) %{_datadir}/git-gui/lib/msgs/bg.msg
807 %lang(de) %{_datadir}/git-gui/lib/msgs/de.msg
808 %lang(el) %{_datadir}/git-gui/lib/msgs/el.msg
809 %lang(fr) %{_datadir}/git-gui/lib/msgs/fr.msg
810 %lang(hu) %{_datadir}/git-gui/lib/msgs/hu.msg
811 %lang(it) %{_datadir}/git-gui/lib/msgs/it.msg
812 %lang(ja) %{_datadir}/git-gui/lib/msgs/ja.msg
813 %lang(nb) %{_datadir}/git-gui/lib/msgs/nb.msg
814 %lang(pt) %{_datadir}/git-gui/lib/msgs/pt_pt.msg
815 %lang(pt_BR) %{_datadir}/git-gui/lib/msgs/pt_br.msg
816 %lang(ru) %{_datadir}/git-gui/lib/msgs/ru.msg
817 %lang(sv) %{_datadir}/git-gui/lib/msgs/sv.msg
818 %lang(vi) %{_datadir}/git-gui/lib/msgs/vi.msg
819 %lang(zh_CN) %{_datadir}/git-gui/lib/msgs/zh_cn.msg
823 %defattr(644,root,root,755)
824 %attr(755,root,root) %{gitcoredir}/git-archimport
826 %{_mandir}/man1/git-archimport.1*
830 %defattr(644,root,root,755)
831 %attr(755,root,root) %{_bindir}/git-cvsserver
832 %attr(755,root,root) %{gitcoredir}/git-cvs*
834 %{_mandir}/man1/git-cvs*.1*
835 %{_mandir}/man7/gitcvs-migration.7*
839 %defattr(644,root,root,755)
840 %attr(755,root,root) %{gitcoredir}/git-p4
841 %attr(755,root,root) %{gitcoredir}/mergetools/p4merge
843 %{_mandir}/man1/git-p4.1*
847 %defattr(644,root,root,755)
848 %attr(755,root,root) %{gitcoredir}/git-svn
849 %{perl_vendorlib}/Git/SVN
850 %{perl_vendorlib}/Git/SVN.pm
852 %{_mandir}/man1/git-svn.1*
856 %defattr(644,root,root,755)
857 %attr(755,root,root) %{gitcoredir}/git-imap-send
858 %attr(755,root,root) %{gitcoredir}/git-send-email
860 %{_mandir}/man1/git-imap-send.1*
861 %{_mandir}/man1/git-send-email.1*
865 %defattr(644,root,root,755)
866 %attr(755,root,root) %{_bindir}/scalar
867 %attr(755,root,root) %{gitcoredir}/scalar
869 %{_mandir}/man1/scalar.1*
872 %files -n bash-completion-git
873 %defattr(644,root,root,755)
877 %defattr(644,root,root,755)
878 %{perl_vendorlib}/Git.pm
879 %dir %{perl_vendorlib}/Git
880 %{perl_vendorlib}/Git/I18N.pm
881 %{perl_vendorlib}/Git/IndexInfo.pm
882 %{perl_vendorlib}/Git/LoadCPAN.pm
883 %{perl_vendorlib}/Git/Packet.pm
884 %dir %{perl_vendorlib}/Git/LoadCPAN
885 %{perl_vendorlib}/Git/LoadCPAN/Error.pm
886 %dir %{perl_vendorlib}/Git/LoadCPAN/Mail
887 %{perl_vendorlib}/Git/LoadCPAN/Mail/Address.pm
888 %{?with_doc:%{_mandir}/man3/Git.3pm*}
890 %if %{with libsecret}
891 %files credential-libsecret
892 %defattr(644,root,root,755)
893 %attr(755,root,root) %{gitcoredir}/git-credential-libsecret
896 %files -n zsh-completion-git
897 %defattr(644,root,root,755)