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 gnome_keyring # gnome keyring credentials support
9 %bcond_without libsecret # libsecret credentials support
10 %bcond_without tk # Tcl/Tk interface
12 # for AC: --without doc --without gnome_keyring --without tests
14 Summary: Distributed version control system focused on speed, effectivity and usability
15 Summary(pl.UTF-8): Rozproszony system śledzenia treści skupiony na szybkości, wydajności i użyteczności
20 Group: Development/Tools
21 Source0: http://www.kernel.org/pub/software/scm/git/git-%{version}.tar.xz
22 # Source0-md5: 2457ee7e198bb949fecb0af94f7361a3
23 Source1: %{name}-gitweb.conf
24 Source2: %{name}-gitweb-httpd.conf
25 Source3: %{name}-gitweb-lighttpd.conf
26 Source4: %{name}.sysconfig
30 Patch0: %{name}-key-bindings.patch
31 Patch1: %{name}-sysconfdir.patch
32 Patch2: cherry-picked-commitlog.patch
33 URL: http://git-scm.com/
34 BuildRequires: autoconf >= 2.59
35 BuildRequires: automake
36 BuildRequires: curl-devel
37 BuildRequires: expat-devel
38 %if "%{pld_release}" == "ac"
39 BuildRequires: gettext-devel
41 BuildRequires: gettext-tools
43 %if %{with gnome_keyring} || %{with libsecret}
44 BuildRequires: glib2-devel >= 2.0
46 %if %{with gnome_keyring}
47 BuildRequires: libgnome-keyring-devel
50 BuildRequires: libsecret-devel
52 BuildRequires: openssl-devel
53 %{?with_pcre:BuildRequires: pcre2-8-devel}
54 BuildRequires: perl-Error > 0.15
55 BuildRequires: perl-MailTools
56 BuildRequires: perl-base
57 %if %{with gnome_keyring} || %{with libsecret}
58 BuildRequires: pkgconfig
60 BuildRequires: python-devel
61 BuildRequires: rpm-perlprov >= 4.1-13
62 BuildRequires: rpm-pythonprov
63 BuildRequires: rpmbuild(macros) >= 1.745
68 BuildRequires: zlib-devel
70 BuildRequires: asciidoc >= 7.1.2-3
71 BuildRequires: docbook-dtd45-xml
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-bzr
96 Suggests: git-core-cvs
99 Suggests: git-core-svn
101 Suggests: openssh-clients
102 Suggests: perl-Git = %{version}-%{release}
104 Obsoletes: git-core-gitview
105 Obsoletes: python-Git
106 Conflicts: perl-Git < %{version}
107 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
109 # html docs have links to txt files
110 %define _noautocompressdoc *.txt
112 # do not generate perl dependency, git add -p support is optional
113 # skip dependency generation from templates
114 %define _noautoreqfiles %{_libexecdir}/%{name}/git-add--interactive %{_datadir}/%{name}/templates
116 %define webapp gitweb
117 %define webappdir %{_sysconfdir}/webapps/%{webapp}
118 %define appdir %{_datadir}/%{webapp}
119 %define cgibindir %{_prefix}/lib/cgi-bin
120 %define gitcoredir %{_libexecdir}/%{name}
123 "git" can mean anything, depending on your mood.
125 - random three-letter combination that is pronounceable, and not
126 actually used by any common UNIX command. The fact that it is a
127 mispronunciation of "get" may or may not be relevant.
128 - stupid. contemptible and despicable. simple. Take your pick from the
130 - "global information tracker": you're in a good mood, and it actually
131 works for you. Angels sing, and a light suddenly fills the room.
132 - "goddamn idiotic truckload of sh*t": when it breaks
134 This is a stupid (but extremely fast) directory content manager. It
135 doesn't do a whole lot, but what it 'does' do is track directory
136 contents efficiently.
138 %description -l pl.UTF-8
139 "git" może oznaczać cokolwiek, w zależności od nastroju.
141 - losową kombinację trzech liter, która jest wymawialna i właściwie
142 nie używana przez żadne popularne polecenie uniksowe. Fakt, że jest to
143 błędna pisownia słowa "get" może mieć lub nie mieć znaczenia.
144 - głupi, pogardliwy, prosty. Można wybrać ze słownika slangu.
145 - "global information tracker" (narzędzie do globalnego śledzenia
146 informacji) - jeśli jesteśmy w dobrym nastroju i git akurat działa.
147 Anioły śpiewają, a światło niespodziewanie wypełnia pokój.
148 - "goddamn idiotic truckload of sh*t" (przeklęty idiotyczny ładunek
149 g*) - kiedy się zepsuje.
151 Jest to prymitywny (ale bardzo szybki) zarządca treści słownikowej.
152 Nie robi wiele, ale to, co "robi", to wydajne śledzenie zawartości
156 Summary: Documentation for git-core
157 Summary(pl.UTF-8): Dokumentacja do git-core
162 Documentation for git-core.
164 %description doc -l pl.UTF-8
165 Dokumentacja do git-core.
167 %package daemon-inetd
168 Summary: Files necessary to run git-daemon as an inetd service
169 Summary(pl.UTF-8): Pliki niezbędne do uruchomienia git-daemona w trybie usługi inetd
170 Group: Networking/Daemons
171 Requires: %{name} = %{version}-%{release}
172 Requires: setup >= 2.4.11-1
173 Provides: git-core-daemon
174 Obsoletes: git-core-daemon
175 Obsoletes: git-core-daemon-standalone
177 %description daemon-inetd
178 Git-daemon is a really simple TCP git daemon that can serve git
179 repositories. This package provides all necessarry files to run
180 git-daemon as an inetd service.
182 %description daemon-inetd -l pl.UTF-8
183 Git-daemon to prosty demon git korzystający z protokołu TCP do
184 udostępniania repozytoriów git. Ten pakiet dostarcza pliki potrzebne
185 do uruchomienia git-demona w trybie usługi inetd.
187 %package daemon-standalone
188 Summary: Files necessary to run git-daemon as a standalone service
189 Summary(pl.UTF-8): Pliki niezbędne do uruchomienia git-daemona w trybie usługi samodzielnej
190 Group: Networking/Daemons
191 Requires: %{name} = %{version}-%{release}
192 Provides: git-core-daemon
193 Obsoletes: git-core-daemon
194 Obsoletes: git-core-daemon-inetd
196 %description daemon-standalone
197 Git-daemon is a really simple TCP git daemon that can serve git
198 repositories. This package provides all necessarry files to run
199 git-daemon as an standalone service.
201 %description daemon-standalone -l pl.UTF-8
202 Git-daemon to prosty demon git korzystający z protokołu TCP do
203 udostępniania repozytoriów git. Ten pakiet dostarcza pliki potrzebne
204 do uruchomienia git-daemona w trybie usługi samodzielnej.
207 Summary: Git library with header files
208 Summary(pl.UTF-8): Biblioteka Gita oraz pliki nagłówkowe
209 Group: Development/Libraries
213 Git library with header files.
215 %description devel -l pl.UTF-8
216 Biblioteka Gita oraz pliki nagłówkowe.
219 Summary: Tcl/Tk interface to the Git version control system
220 Summary(pl.UTF-8): Napisany w Tcl/Tk interfejs do systemu kontroli wersji Git
221 Group: Development/Tools
222 Requires: %{name} = %{version}-%{release}
227 gitk displays changes in a repository or a selected set of commits.
228 This includes visualizing the commit graph, showing information
229 related to each commit, and the files in the trees of each revision.
231 Historically, gitk was the first repository browser. It's written in
232 Tcl/Tk and started off in a separate repository but was later merged
233 into the main git repository.
235 %description gitk -l pl.UTF-8
236 gitk wyświetla zmiany w repozytorium lub wybranym zbiorze commitów.
237 Oznacza to wizualizację grafu commitów, wyświetlanie informacji
238 związanych z każdym z commitów oraz listę plików dla każdej rewizji.
240 Z historycznego punktu widzenia gitk był pierwszą przeglądarką
241 repozytorium git. Napisany jest w Tcl/Tk i początkowo był rozwijany w
242 osobnym repozytorium, ale z czasem został włączony do głównego
246 Summary: Web frontend to git
247 Summary(pl.UTF-8): Frontend WWW do gita
248 Group: Development/Tools
249 Requires: %{name} = %{version}-%{release}
251 Requires: webserver(access)
252 Requires: webserver(alias)
253 Requires: webserver(cgi)
254 Suggests: webserver(setenv)
257 This package provides a web interface for browsing git repositories.
259 %description gitweb -l pl.UTF-8
260 Pakiet ten dostarcza interfejs WWW do przeglądania repozytoriów gita.
263 Summary: Tcl/Tk interface to the Git version control system
264 Summary(pl.UTF-8): Napisany w Tcl/Tk interfejs do systemu kontroli wersji Git
265 Group: Development/Tools
266 Requires: %{name} = %{version}-%{release}
272 Displays changes in a repository or a selected set of commits. This
273 includes visualizing the commit graph, showing information related to
274 each commit, and the files in the trees of each revision.
276 Historically, gitk was the first repository browser. It's written in
277 Tcl/Tk and started off in a separate repository but was later merged
278 into the main git repository.
280 %description gui -l pl.UTF-8
281 Wyświetla zmiany w repozytorium lub wybranym zbiorze commitów. Oznacza
282 to wizualizację grafu commitów, wyświetlanie informacji związanych z
283 każdym z commitów oraz listę plików dla każdej rewizji.
285 Z punktu widzenia historii, gitk był pierwszą przeglądarką
286 repozytorium git. Napisany jest w Tcl/Tk i początkowo był rozwijany w
287 osobnym repozytorium, ale z czasem został włączony do głównego
291 Summary: Git tools for importing Arch repositories
292 Summary(pl.UTF-8): Narzędzia Gita do importowania repozytoriów Archa
293 Group: Development/Tools
294 Requires: %{name} = %{version}-%{release}
298 Git tools for importing Arch repositories.
300 %description arch -l pl.UTF-8
301 Narzędzia Gita do importowania repozytoriów Archa.
304 Summary: Git tools for working with bzr repositories
305 Summary(pl.UTF-8): Narzędzia Gita do pracy z repozytoriami bzr
306 Group: Development/Tools
307 Requires: %{name} = %{version}-%{release}
311 Git tools for working with bzr repositories.
313 %description bzr -l pl.UTF-8
314 Narzędzia Gita do pracy z repozytoriami bzr.
317 Summary: CVS support for Git
318 Summary(pl.UTF-8): Obsługa CVS dla Gita
319 Group: Development/Tools
320 Requires: %{name} = %{version}-%{release}
321 Requires: cvsps >= 2.1-2
327 %description cvs -l pl.UTF-8
328 Obsługa CVS dla Gita.
331 Summary: Git tools for working with mercurial repositories
332 Summary(pl.UTF-8): Narzędzia Gita do pracy z repozytoriami mercuriala
333 Group: Development/Tools
334 Requires: %{name} = %{version}-%{release}
335 Requires: mercurial >= 1.8
338 Git tools for working with mercurial repositories.
340 %description hg -l pl.UTF-8
341 Narzędzia Gita do pracy z repozytoriami mercuriala.
344 Summary: Git tools for working with Perforce depots
345 Summary(pl.UTF-8): Narzędzia Gita do pracy z magazynami Perforce'a
346 Group: Development/Tools
347 Requires: %{name} = %{version}-%{release}
350 Git tools for working with Perforce depots.
352 %description p4 -l pl.UTF-8
353 Narzędzia Gita do pracy z magazynami Perforce'a.
356 Summary: Subversion support for Git
357 Summary(pl.UTF-8): Obsługa Subversion dla Gita
358 Group: Development/Tools
359 Requires: %{name} = %{version}-%{release}
360 Requires: perl-Encode
361 Requires: perl-Term-ReadKey
364 Subversion support for Git.
366 %description svn -l pl.UTF-8
367 Obsługa Subversion dla Gita.
370 Summary: Git tools for sending email
371 Summary(pl.UTF-8): Narzędzia Gita do wysyłania poczty
372 Group: Development/Tools
373 Requires: %{name} = %{version}-%{release}
375 Requires: perl-MailTools
376 Suggests: perl-Net-SMTP-SSL
379 Git tools for sending email.
381 %description email -l pl.UTF-8
382 Narzędzia Gita do wysyłania poczty.
384 %package -n bash-completion-git
385 Summary: bash-completion for git
386 Summary(pl.UTF-8): bashowe uzupełnianie nazw dla gita
387 Group: Applications/Shells
388 Requires: %{name} = %{version}-%{release}
389 Requires: bash-completion >= 2.0
392 %description -n bash-completion-git
393 This package provides bash-completion for git.
395 %description -n bash-completion-git -l pl.UTF-8
396 Pakiet ten dostarcza bashowe uzupełnianie nazw dla gita.
399 Summary: Perl interface to the Git version control system
400 Summary(pl.UTF-8): Perlowy interfejs do systemu kontroli wersji Git
401 Group: Development/Languages/Perl
402 Obsoletes: perl-git-core
405 %description -n perl-Git
406 This module provides Perl scripts easy way to interface the Git
407 version control system. The modules have an easy and well-tested way
408 to call arbitrary Git commands; in the future, the interface will also
409 provide specialized methods for doing easily operations which are not
410 totally trivial to do over the generic command interface.
412 %description -n perl-Git -l pl.UTF-8
413 Ten moduł umożliwia skryptom Perla współpracę z systemem kontroli
414 wersji Git. W łatwy i dobrze przetestowany sposób pozwala wywoływać
415 dowolne polecenia Gita; w przyszłości interfejs udostępni także
416 specjalne metody do łatwego wykonywania operacji nietrywialnych do
417 wykonania przy użyciu ogólnego interfejsu poleceń.
419 %package -n gnome-keyring-git-core
420 Summary: GNOME Keyring authentication provider for Git
421 Summary(pl.UTF-8): Moduł uwierzytelniający GNOME Keyring dla Gita
422 Group: X11/Applications
423 URL: http://git-scm.com/docs/gitcredentials.html
424 Requires: %{name} = %{version}-%{release}
426 %description -n gnome-keyring-git-core
427 Authentication provider module for Git which allows git client to
428 authenticate using GNOME Keyring.
430 You need to register it with:
431 - git config --global credential.helper gnome-keyring
433 %description -n gnome-keyring-git-core -l pl.UTF-8
434 Moduł uwierzytelniający dla Gita pozwalający klientom git
435 uwierzytelniać się przy użyciu mechanizmu GNOME Keyring.
437 Moduł trzeba zarejestrować poleceniem:
438 - git config --global credential.helper gnome-keyring
440 %package credential-libsecret
441 Summary: GNOME authentication provider for Git using libsecret
442 Summary(pl.UTF-8): Moduł uwierzytelniający GNOME dla Gita wykorzystujący libsecret
443 Group: X11/Applications
444 URL: http://git-scm.com/docs/gitcredentials.html
445 Requires: %{name} = %{version}-%{release}
447 %description credential-libsecret
448 Authentication provider module for Git which allows git client to
449 authenticate using GNOME libsecret.
451 You need to register it with:
452 - git config --global credential.helper libsecret
454 %description credential-libsecret -l pl.UTF-8
455 Moduł uwierzytelniający dla Gita pozwalający klientom git
456 uwierzytelniać się przy użyciu mechanizmu GNOME libsecret.
458 Moduł trzeba zarejestrować poleceniem:
459 - git config --global credential.helper libsecret
462 %setup -q -n git-%{version}
467 %{__rm} {Documentation/technical,contrib/credential/gnome-keyring}/.gitignore
469 # we build things in contrib but want to have it clean for doc purporses, too
470 cp -a contrib contrib-doc
472 %{__sed} -i -e '1s|#!/usr/bin/env python$|#!%{__python}|' git-p4.py
478 --sysconfdir=%{_sysconfdir}/git-core \
479 %{?with_pcre:--with-libpcre2} \
482 echo "BLK_SHA1=1" >> config.mak
485 GITWEB_CONFIG="%{webappdir}/gitweb.conf" \
486 GITWEB_PROJECTROOT="/var/lib/git" \
487 GITWEB_CSS="/gitweb/gitweb.css" \
488 GITWEB_LOGO="/gitweb/git-logo.png" \
489 GITWEB_FAVICON="/gitweb/git-favicon.png" \
490 NO_PERL_CPAN_FALLBACKS=1 \
491 perllibdir=%{perl_vendorlib} \
494 %{__make} -C contrib/subtree
496 %if %{with gnome_keyring}
497 %{__make} -C contrib/credential/gnome-keyring \
499 CFLAGS="%{rpmcflags} -Wall" \
500 LDFLAGS="%{rpmldflags}"
503 %if %{with libsecret}
504 %{__make} -C contrib/credential/libsecret \
506 CFLAGS="%{rpmcflags} -Wall" \
507 LDFLAGS="%{rpmldflags}"
512 MAN_BASE_URL=file://%{_docdir}/%{name}-doc-%{version}/ \
517 %if %{without tests_cvs}
518 %{__rm} t/t*cvs*.sh || :
520 %if %{without tests_svn}
521 GIT_SKIP_TESTS="$GIT_SKIP_TESTS t91??"
523 export GIT_SKIP_TESTS
525 NO_PERL_CPAN_FALLBACKS=1
529 rm -rf $RPM_BUILD_ROOT
530 install -d $RPM_BUILD_ROOT{%{_includedir}/%{name}/xdiff,%{_libdir},%{_localstatedir}/lib/git}
531 install -d $RPM_BUILD_ROOT{%{appdir},%{cgibindir},%{webappdir}}
532 install -d $RPM_BUILD_ROOT/etc/{sysconfig/rc-inetd,rc.d/init.d}
533 install -d $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
534 cat << EOF > $RPM_BUILD_ROOT%{_sysconfdir}/git-core/gitconfig
536 templatedir = %{_sysconfdir}/%{name}/templates
540 DESTDIR=$RPM_BUILD_ROOT \
541 NO_PERL_CPAN_FALLBACKS=1 \
542 perllibdir=%{perl_vendorlib}
545 %{__make} install-doc \
546 DESTDIR=$RPM_BUILD_ROOT
549 # copy templates except sample hooks
550 cp -a $RPM_BUILD_ROOT%{_datadir}/%{name}/templates $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
551 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/templates/hooks/*.sample
553 # header files and lib
554 cp -p *.h $RPM_BUILD_ROOT%{_includedir}/%{name}
555 cp -a compat $RPM_BUILD_ROOT%{_includedir}/%{name}
556 cp -p xdiff/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/xdiff
557 install -d $RPM_BUILD_ROOT%{_includedir}/%{name}/block-sha1
558 cp -p block-sha1/sha1.h $RPM_BUILD_ROOT%{_includedir}/%{name}/block-sha1
559 cp -p libgit.a $RPM_BUILD_ROOT%{_libdir}
560 cp -p xdiff/lib.a $RPM_BUILD_ROOT%{_libdir}/libgit_xdiff.a
561 cp -p {Makefile,config.mak,config.mak.autogen,config.mak.uname} $RPM_BUILD_ROOT%{_includedir}/%{name}
563 %{__make} -C contrib/subtree install \
564 libexecdir=%{gitcoredir} \
565 DESTDIR=$RPM_BUILD_ROOT
568 %{__make} -C contrib/subtree install-man \
569 DESTDIR=$RPM_BUILD_ROOT
572 %if %{with gnome_keyring}
573 install -p contrib/credential/gnome-keyring/git-credential-gnome-keyring $RPM_BUILD_ROOT%{gitcoredir}
576 %if %{with libsecret}
577 install -p contrib/credential/libsecret/git-credential-libsecret $RPM_BUILD_ROOT%{gitcoredir}
581 install -d $RPM_BUILD_ROOT%{bash_compdir}
582 cp -p contrib/completion/git-completion.bash $RPM_BUILD_ROOT%{bash_compdir}/git
584 # Install git-prompt.sh
585 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/completion
586 cp -p contrib/completion/git-prompt.sh $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/completion
588 # Install bzr and hg remote helpers from contrib
589 install -p contrib/remote-helpers/git-remote-{bzr,hg} $RPM_BUILD_ROOT%{gitcoredir}
592 %{__mv} $RPM_BUILD_ROOT{%{appdir},%{cgibindir}}/gitweb.cgi
593 ln -s %{cgibindir}/gitweb.cgi $RPM_BUILD_ROOT%{appdir}/gitweb.cgi
594 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{webappdir}/gitweb.conf
595 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{webappdir}/gitolite.pl
596 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/apache.conf
597 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/httpd.conf
598 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{webappdir}/lighttpd.conf
600 # git-daemon related files
601 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/git-daemon
602 cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
603 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
606 sed -e 's,@libdir@/git-core,%{gitcoredir},g' -i $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
607 sed -e 's,@libdir@/git-core,%{gitcoredir},g' -i $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
610 ln -sf git $RPM_BUILD_ROOT%{_bindir}/git-receive-pack
611 ln -sf git $RPM_BUILD_ROOT%{_bindir}/git-upload-archive
612 ln -sf ../..%{gitcoredir}/git-shell $RPM_BUILD_ROOT%{_bindir}/git-shell
613 ln -sf ../..%{gitcoredir}/git-upload-pack $RPM_BUILD_ROOT%{_bindir}/git-upload-pack
614 ln -sf ../..%{gitcoredir}/git $RPM_BUILD_ROOT%{_bindir}/git
616 # convert all hardlinks to symlinks, as rpm fails to calculate it properly
617 # requiring excessive free space when it may not be available
618 # https://bugs.launchpad.net/pld-linux/+bug/1176337
619 find $RPM_BUILD_ROOT%{gitcoredir} -samefile $RPM_BUILD_ROOT%{gitcoredir}/git > files
620 for f in $(cat files); do
621 f=${f#$RPM_BUILD_ROOT%{gitcoredir}/}
622 test $f = git && continue
623 ln -snf git $RPM_BUILD_ROOT%{gitcoredir}/$f
627 ln -snf git-gui $RPM_BUILD_ROOT%{gitcoredir}/git-citool
628 ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-https
629 ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-ftp
630 ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-ftps
632 # remove unneeded files
635 %{__mv} $RPM_BUILD_ROOT%{_localedir}/pt{_PT,}
639 rm -rf $RPM_BUILD_ROOT
642 if [ ! -f /etc/shells ]; then
643 echo "%{_bindir}/git-shell" >> /etc/shells
645 grep -q '^%{_bindir}/git-shell$' /etc/shells || echo "%{_bindir}/git-shell" >> /etc/shells
649 if [ "$1" = "0" ]; then
651 grep -v '^%{_bindir}/git-shell$' /etc/shells > /etc/shells.new
652 mv -f /etc/shells.new /etc/shells
656 %service -q rc-inetd reload
659 if [ "$1" = "0" ]; then
660 %service -q rc-inetd reload
663 %post daemon-standalone
664 /sbin/chkconfig --add git-daemon
665 %service git-daemon restart "git-daemon"
667 %preun daemon-standalone
668 if [ "$1" = "0" ]; then
669 %service git-daemon stop
670 /sbin/chkconfig --del git-daemon
673 %triggerin gitweb -- apache1 < 1.3.37-3, apache1-base
674 %webapp_register apache %{webapp}
676 %triggerun gitweb -- apache1 < 1.3.37-3, apache1-base
677 %webapp_unregister apache %{webapp}
679 %triggerin gitweb -- apache < 2.2.0, apache-base
680 %webapp_register httpd %{webapp}
682 %triggerun gitweb -- apache < 2.2.0, apache-base
683 %webapp_unregister httpd %{webapp}
685 %triggerin gitweb -- lighttpd
686 %webapp_register lighttpd %{webapp}
688 %triggerun gitweb -- lighttpd
689 %webapp_unregister lighttpd %{webapp}
692 %defattr(644,root,root,755)
693 %doc README.md contrib-doc
694 %attr(755,root,root) %{_bindir}/git
695 %attr(755,root,root) %{_bindir}/git-receive-pack
696 %attr(755,root,root) %{_bindir}/git-shell
697 %attr(755,root,root) %{_bindir}/git-upload-archive
698 %attr(755,root,root) %{_bindir}/git-upload-pack
699 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}
702 %{_mandir}/man1/git-*.1*
703 %exclude %{_mandir}/man1/git-archimport.1*
704 %exclude %{_mandir}/man1/git-svn.1*
705 %exclude %{_mandir}/man1/git-cvs*.1*
706 %exclude %{_mandir}/man1/git-imap-send.1*
707 %exclude %{_mandir}/man1/git-p4.1*
708 %exclude %{_mandir}/man1/git-send-email.1*
709 %{_mandir}/man1/git.1*
710 %{_mandir}/man5/gitattributes.5*
711 %{_mandir}/man5/githooks.5*
712 %{_mandir}/man5/gitignore.5*
713 %{_mandir}/man5/gitmodules.5*
714 %{_mandir}/man5/gitrepository-layout.5*
715 %{_mandir}/man7/gitcli.7*
716 %{_mandir}/man7/gitcore-tutorial.7*
717 %{_mandir}/man7/gitcredentials.7*
718 %{_mandir}/man7/gitdiffcore.7*
719 %{_mandir}/man7/giteveryday.7*
720 %{_mandir}/man7/gitfaq.7*
721 %{_mandir}/man7/gitglossary.7*
722 %{_mandir}/man7/gitnamespaces.7*
723 %{_mandir}/man7/gitremote-helpers.7*
724 %{_mandir}/man7/gitrevisions.7*
725 %{_mandir}/man7/gitsubmodules.7*
726 %{_mandir}/man7/gittutorial-2.7*
727 %{_mandir}/man7/gittutorial.7*
728 %{_mandir}/man7/gitworkflows.7*
732 %attr(755,root,root) %{gitcoredir}/*-*
733 %attr(755,root,root) %{gitcoredir}/git
734 %dir %{gitcoredir}/mergetools
735 %{gitcoredir}/mergetools/*
738 %{_localstatedir}/lib/git
741 %exclude %{gitcoredir}/*email*
742 %exclude %{gitcoredir}/*p4*
743 %exclude %{gitcoredir}/git-archimport
744 %exclude %{gitcoredir}/git-citool
745 %exclude %{gitcoredir}/git-cvs*
746 %exclude %{gitcoredir}/git-gui
747 %exclude %{gitcoredir}/git-imap-send
748 %exclude %{gitcoredir}/git-instaweb
749 %exclude %{gitcoredir}/git-remote-bzr
750 %exclude %{gitcoredir}/git-remote-hg
751 %exclude %{gitcoredir}/git-svn
752 %exclude %{gitcoredir}/mergetools/p4merge
753 %if %{with gnome_keyring}
754 %exclude %{gitcoredir}/git-credential-gnome-keyring
756 %if %{with libsecret}
757 %exclude %{gitcoredir}/git-credential-libsecret
762 %defattr(644,root,root,755)
763 %doc Documentation/RelNotes*
764 %doc Documentation/*.html Documentation/howto Documentation/technical
768 %defattr(644,root,root,755)
769 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/git-daemon
771 %files daemon-standalone
772 %defattr(644,root,root,755)
773 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/git-daemon
774 %attr(754,root, root) /etc/rc.d/init.d/git-daemon
777 %defattr(644,root,root,755)
778 %{_includedir}/%{name}
780 %{_libdir}/libgit_xdiff.a
784 %defattr(644,root,root,755)
786 %{_mandir}/man1/gitk.1*
788 %attr(755,root,root) %{_bindir}/gitk
789 %dir %{_datadir}/gitk
790 %dir %{_datadir}/gitk/lib
791 %dir %{_datadir}/gitk/lib/msgs
792 %lang(bg) %{_datadir}/gitk/lib/msgs/bg.msg
793 %lang(ca) %{_datadir}/gitk/lib/msgs/ca.msg
794 %lang(de) %{_datadir}/gitk/lib/msgs/de.msg
795 %lang(es) %{_datadir}/gitk/lib/msgs/es.msg
796 %lang(fr) %{_datadir}/gitk/lib/msgs/fr.msg
797 %lang(hu) %{_datadir}/gitk/lib/msgs/hu.msg
798 %lang(it) %{_datadir}/gitk/lib/msgs/it.msg
799 %lang(ja) %{_datadir}/gitk/lib/msgs/ja.msg
800 %lang(pt_BR) %{_datadir}/gitk/lib/msgs/pt_br.msg
801 %lang(pt_PT) %{_datadir}/gitk/lib/msgs/pt_pt.msg
802 %lang(ru) %{_datadir}/gitk/lib/msgs/ru.msg
803 %lang(sv) %{_datadir}/gitk/lib/msgs/sv.msg
804 %lang(vi) %{_datadir}/gitk/lib/msgs/vi.msg
805 %lang(zh_CN) %{_datadir}/gitk/lib/msgs/zh_cn.msg
809 %defattr(644,root,root,755)
810 %doc gitweb/{README,INSTALL}
812 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/apache.conf
813 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/httpd.conf
814 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/lighttpd.conf
815 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitweb.conf
816 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitolite.pl
817 %attr(755,root,root) %{cgibindir}/gitweb.cgi
819 %attr(755,root,root) %{gitcoredir}/git-instaweb
821 %{_mandir}/man1/gitweb.1*
822 %{_mandir}/man5/gitweb.conf.5*
827 %defattr(644,root,root,755)
828 %attr(755,root,root) %{gitcoredir}/git-citool
829 %attr(755,root,root) %{gitcoredir}/git-gui
830 %dir %{_datadir}/git-gui
831 %dir %{_datadir}/git-gui/lib
832 %dir %{_datadir}/git-gui/lib/msgs
833 %{_datadir}/git-gui/lib/git-gui.ico
834 %{_datadir}/git-gui/lib/tclIndex
835 %{_datadir}/git-gui/lib/*.js
836 %{_datadir}/git-gui/lib/*.tcl
837 %lang(bg) %{_datadir}/git-gui/lib/msgs/bg.msg
838 %lang(de) %{_datadir}/git-gui/lib/msgs/de.msg
839 %lang(el) %{_datadir}/git-gui/lib/msgs/el.msg
840 %lang(fr) %{_datadir}/git-gui/lib/msgs/fr.msg
841 %lang(hu) %{_datadir}/git-gui/lib/msgs/hu.msg
842 %lang(it) %{_datadir}/git-gui/lib/msgs/it.msg
843 %lang(ja) %{_datadir}/git-gui/lib/msgs/ja.msg
844 %lang(nb) %{_datadir}/git-gui/lib/msgs/nb.msg
845 %lang(pt) %{_datadir}/git-gui/lib/msgs/pt_pt.msg
846 %lang(pt_BR) %{_datadir}/git-gui/lib/msgs/pt_br.msg
847 %lang(ru) %{_datadir}/git-gui/lib/msgs/ru.msg
848 %lang(sv) %{_datadir}/git-gui/lib/msgs/sv.msg
849 %lang(vi) %{_datadir}/git-gui/lib/msgs/vi.msg
850 %lang(zh_CN) %{_datadir}/git-gui/lib/msgs/zh_cn.msg
854 %defattr(644,root,root,755)
855 %attr(755,root,root) %{gitcoredir}/git-archimport
857 %{_mandir}/man1/git-archimport.1*
861 %defattr(644,root,root,755)
862 %attr(755,root,root) %{gitcoredir}/git-remote-bzr
865 %defattr(644,root,root,755)
866 %attr(755,root,root) %{_bindir}/git-cvsserver
867 %attr(755,root,root) %{gitcoredir}/git-cvs*
869 %{_mandir}/man1/git-cvs*.1*
870 %{_mandir}/man7/gitcvs-migration.7*
874 %defattr(644,root,root,755)
875 %attr(755,root,root) %{gitcoredir}/git-remote-hg
878 %defattr(644,root,root,755)
879 %attr(755,root,root) %{gitcoredir}/git-p4
880 %attr(755,root,root) %{gitcoredir}/mergetools/p4merge
882 %{_mandir}/man1/git-p4.1*
886 %defattr(644,root,root,755)
887 %attr(755,root,root) %{gitcoredir}/git-svn
888 %{perl_vendorlib}/Git/SVN
889 %{perl_vendorlib}/Git/SVN.pm
891 %{_mandir}/man1/git-svn.1*
895 %defattr(644,root,root,755)
896 %attr(755,root,root) %{gitcoredir}/git-imap-send
897 %attr(755,root,root) %{gitcoredir}/git-send-email
899 %{_mandir}/man1/git-imap-send.1*
900 %{_mandir}/man1/git-send-email.1*
903 %files -n bash-completion-git
904 %defattr(644,root,root,755)
908 %defattr(644,root,root,755)
909 %{perl_vendorlib}/Git.pm
910 %dir %{perl_vendorlib}/Git
911 %{perl_vendorlib}/Git/I18N.pm
912 %{perl_vendorlib}/Git/IndexInfo.pm
913 %{perl_vendorlib}/Git/LoadCPAN.pm
914 %{perl_vendorlib}/Git/Packet.pm
915 %dir %{perl_vendorlib}/Git/LoadCPAN
916 %{perl_vendorlib}/Git/LoadCPAN/Error.pm
917 %dir %{perl_vendorlib}/Git/LoadCPAN/Mail
918 %{perl_vendorlib}/Git/LoadCPAN/Mail/Address.pm
919 %{?with_doc:%{_mandir}/man3/Git.3pm*}
921 %if %{with gnome_keyring}
922 %files -n gnome-keyring-git-core
923 %defattr(644,root,root,755)
924 %attr(755,root,root) %{gitcoredir}/git-credential-gnome-keyring
927 %if %{with libsecret}
928 %files credential-libsecret
929 %defattr(644,root,root,755)
930 %attr(755,root,root) %{gitcoredir}/git-credential-libsecret