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: https://www.kernel.org/pub/software/scm/git/git-%{version}.tar.xz
22 # Source0-md5: 3462f34d9c17288eee854b7645f6a0a1
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.752
64 BuildRequires: tar >= 1:1.22
70 BuildRequires: zlib-devel
72 BuildRequires: asciidoc >= 7.1.2-3
73 BuildRequires: docbook-dtd45-xml
77 BuildRequires: perl-CGI
78 BuildRequires: perl-Digest-MD5
79 BuildRequires: perl-Encode
80 BuildRequires: perl-Time-HiRes
82 # tests failed sometimes when using nserver/cvsnt client so enforce pure cvs here
83 BuildRequires: cvs-gnu-client < 1.13
84 BuildRequires: cvs-gnu-client >= 1.12
87 BuildRequires: perl-subversion
88 BuildRequires: subversion
90 Conflicts: pdksh < 5.2.14-46
92 # git-sh-setup: sane_grep
97 Suggests: git-core-bzr
98 Suggests: git-core-cvs
100 Suggests: git-core-p4
101 Suggests: git-core-svn
103 Suggests: openssh-clients
104 Suggests: perl-Git = %{version}-%{release}
106 Obsoletes: git-core-gitview
107 Obsoletes: python-Git
108 Conflicts: perl-Git < %{version}
109 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
111 # html docs have links to txt files
112 %define _noautocompressdoc *.txt
114 # do not generate perl dependency, git add -p support is optional
115 # skip dependency generation from templates
116 %define _noautoreqfiles %{_libexecdir}/%{name}/git-add--interactive %{_datadir}/%{name}/templates
118 %define webapp gitweb
119 %define webappdir %{_sysconfdir}/webapps/%{webapp}
120 %define appdir %{_datadir}/%{webapp}
121 %define cgibindir %{_prefix}/lib/cgi-bin
122 %define gitcoredir %{_libexecdir}/%{name}
125 "git" can mean anything, depending on your mood.
127 - random three-letter combination that is pronounceable, and not
128 actually used by any common UNIX command. The fact that it is a
129 mispronunciation of "get" may or may not be relevant.
130 - stupid. contemptible and despicable. simple. Take your pick from the
132 - "global information tracker": you're in a good mood, and it actually
133 works for you. Angels sing, and a light suddenly fills the room.
134 - "goddamn idiotic truckload of sh*t": when it breaks
136 This is a stupid (but extremely fast) directory content manager. It
137 doesn't do a whole lot, but what it 'does' do is track directory
138 contents efficiently.
140 %description -l pl.UTF-8
141 "git" może oznaczać cokolwiek, w zależności od nastroju.
143 - losową kombinację trzech liter, która jest wymawialna i właściwie
144 nie używana przez żadne popularne polecenie uniksowe. Fakt, że jest to
145 błędna pisownia słowa "get" może mieć lub nie mieć znaczenia.
146 - głupi, pogardliwy, prosty. Można wybrać ze słownika slangu.
147 - "global information tracker" (narzędzie do globalnego śledzenia
148 informacji) - jeśli jesteśmy w dobrym nastroju i git akurat działa.
149 Anioły śpiewają, a światło niespodziewanie wypełnia pokój.
150 - "goddamn idiotic truckload of sh*t" (przeklęty idiotyczny ładunek
151 g*) - kiedy się zepsuje.
153 Jest to prymitywny (ale bardzo szybki) zarządca treści słownikowej.
154 Nie robi wiele, ale to, co "robi", to wydajne śledzenie zawartości
158 Summary: Documentation for git-core
159 Summary(pl.UTF-8): Dokumentacja do git-core
164 Documentation for git-core.
166 %description doc -l pl.UTF-8
167 Dokumentacja do git-core.
169 %package daemon-inetd
170 Summary: Files necessary to run git-daemon as an inetd service
171 Summary(pl.UTF-8): Pliki niezbędne do uruchomienia git-daemona w trybie usługi inetd
172 Group: Networking/Daemons
173 Requires: %{name} = %{version}-%{release}
174 Requires: setup >= 2.4.11-1
175 Provides: git-core-daemon
176 Obsoletes: git-core-daemon
177 Obsoletes: git-core-daemon-standalone
179 %description daemon-inetd
180 Git-daemon is a really simple TCP git daemon that can serve git
181 repositories. This package provides all necessarry files to run
182 git-daemon as an inetd service.
184 %description daemon-inetd -l pl.UTF-8
185 Git-daemon to prosty demon git korzystający z protokołu TCP do
186 udostępniania repozytoriów git. Ten pakiet dostarcza pliki potrzebne
187 do uruchomienia git-demona w trybie usługi inetd.
189 %package daemon-standalone
190 Summary: Files necessary to run git-daemon as a standalone service
191 Summary(pl.UTF-8): Pliki niezbędne do uruchomienia git-daemona w trybie usługi samodzielnej
192 Group: Networking/Daemons
193 Requires: %{name} = %{version}-%{release}
194 Provides: git-core-daemon
195 Obsoletes: git-core-daemon
196 Obsoletes: git-core-daemon-inetd
198 %description daemon-standalone
199 Git-daemon is a really simple TCP git daemon that can serve git
200 repositories. This package provides all necessarry files to run
201 git-daemon as an standalone service.
203 %description daemon-standalone -l pl.UTF-8
204 Git-daemon to prosty demon git korzystający z protokołu TCP do
205 udostępniania repozytoriów git. Ten pakiet dostarcza pliki potrzebne
206 do uruchomienia git-daemona w trybie usługi samodzielnej.
209 Summary: Git library with header files
210 Summary(pl.UTF-8): Biblioteka Gita oraz pliki nagłówkowe
211 Group: Development/Libraries
215 Git library with header files.
217 %description devel -l pl.UTF-8
218 Biblioteka Gita oraz pliki nagłówkowe.
221 Summary: Tcl/Tk interface to the Git version control system
222 Summary(pl.UTF-8): Napisany w Tcl/Tk interfejs do systemu kontroli wersji Git
223 Group: Development/Tools
224 Requires: %{name} = %{version}-%{release}
229 gitk displays changes in a repository or a selected set of commits.
230 This includes visualizing the commit graph, showing information
231 related to each commit, and the files in the trees of each revision.
233 Historically, gitk was the first repository browser. It's written in
234 Tcl/Tk and started off in a separate repository but was later merged
235 into the main git repository.
237 %description gitk -l pl.UTF-8
238 gitk wyświetla zmiany w repozytorium lub wybranym zbiorze commitów.
239 Oznacza to wizualizację grafu commitów, wyświetlanie informacji
240 związanych z każdym z commitów oraz listę plików dla każdej rewizji.
242 Z historycznego punktu widzenia gitk był pierwszą przeglądarką
243 repozytorium git. Napisany jest w Tcl/Tk i początkowo był rozwijany w
244 osobnym repozytorium, ale z czasem został włączony do głównego
248 Summary: Web frontend to git
249 Summary(pl.UTF-8): Frontend WWW do gita
250 Group: Development/Tools
251 Requires: %{name} = %{version}-%{release}
253 Requires: webserver(access)
254 Requires: webserver(alias)
255 Requires: webserver(cgi)
256 Suggests: webserver(setenv)
259 This package provides a web interface for browsing git repositories.
261 %description gitweb -l pl.UTF-8
262 Pakiet ten dostarcza interfejs WWW do przeglądania repozytoriów gita.
265 Summary: Tcl/Tk interface to the Git version control system
266 Summary(pl.UTF-8): Napisany w Tcl/Tk interfejs do systemu kontroli wersji Git
267 Group: Development/Tools
268 Requires: %{name} = %{version}-%{release}
274 Displays changes in a repository or a selected set of commits. This
275 includes visualizing the commit graph, showing information related to
276 each commit, and the files in the trees of each revision.
278 Historically, gitk was the first repository browser. It's written in
279 Tcl/Tk and started off in a separate repository but was later merged
280 into the main git repository.
282 %description gui -l pl.UTF-8
283 Wyświetla zmiany w repozytorium lub wybranym zbiorze commitów. Oznacza
284 to wizualizację grafu commitów, wyświetlanie informacji związanych z
285 każdym z commitów oraz listę plików dla każdej rewizji.
287 Z punktu widzenia historii, gitk był pierwszą przeglądarką
288 repozytorium git. Napisany jest w Tcl/Tk i początkowo był rozwijany w
289 osobnym repozytorium, ale z czasem został włączony do głównego
293 Summary: Git tools for importing Arch repositories
294 Summary(pl.UTF-8): Narzędzia Gita do importowania repozytoriów Archa
295 Group: Development/Tools
296 Requires: %{name} = %{version}-%{release}
300 Git tools for importing Arch repositories.
302 %description arch -l pl.UTF-8
303 Narzędzia Gita do importowania repozytoriów Archa.
306 Summary: Git tools for working with bzr repositories
307 Summary(pl.UTF-8): Narzędzia Gita do pracy z repozytoriami bzr
308 Group: Development/Tools
309 Requires: %{name} = %{version}-%{release}
313 Git tools for working with bzr repositories.
315 %description bzr -l pl.UTF-8
316 Narzędzia Gita do pracy z repozytoriami bzr.
319 Summary: CVS support for Git
320 Summary(pl.UTF-8): Obsługa CVS dla Gita
321 Group: Development/Tools
322 Requires: %{name} = %{version}-%{release}
323 Requires: cvsps >= 2.1-2
329 %description cvs -l pl.UTF-8
330 Obsługa CVS dla Gita.
333 Summary: Git tools for working with mercurial repositories
334 Summary(pl.UTF-8): Narzędzia Gita do pracy z repozytoriami mercuriala
335 Group: Development/Tools
336 Requires: %{name} = %{version}-%{release}
337 Requires: mercurial >= 1.8
340 Git tools for working with mercurial repositories.
342 %description hg -l pl.UTF-8
343 Narzędzia Gita do pracy z repozytoriami mercuriala.
346 Summary: Git tools for working with Perforce depots
347 Summary(pl.UTF-8): Narzędzia Gita do pracy z magazynami Perforce'a
348 Group: Development/Tools
349 Requires: %{name} = %{version}-%{release}
352 Git tools for working with Perforce depots.
354 %description p4 -l pl.UTF-8
355 Narzędzia Gita do pracy z magazynami Perforce'a.
358 Summary: Subversion support for Git
359 Summary(pl.UTF-8): Obsługa Subversion dla Gita
360 Group: Development/Tools
361 Requires: %{name} = %{version}-%{release}
362 Requires: perl-Encode
363 Requires: perl-Term-ReadKey
366 Subversion support for Git.
368 %description svn -l pl.UTF-8
369 Obsługa Subversion dla Gita.
372 Summary: Git tools for sending email
373 Summary(pl.UTF-8): Narzędzia Gita do wysyłania poczty
374 Group: Development/Tools
375 Requires: %{name} = %{version}-%{release}
377 Requires: perl-MailTools
378 Suggests: perl-Net-SMTP-SSL
381 Git tools for sending email.
383 %description email -l pl.UTF-8
384 Narzędzia Gita do wysyłania poczty.
386 %package -n bash-completion-git
387 Summary: bash-completion for git
388 Summary(pl.UTF-8): bashowe uzupełnianie nazw dla gita
389 Group: Applications/Shells
390 Requires: %{name} = %{version}-%{release}
391 Requires: bash-completion >= 2.0
394 %description -n bash-completion-git
395 This package provides bash-completion for git.
397 %description -n bash-completion-git -l pl.UTF-8
398 Pakiet ten dostarcza bashowe uzupełnianie nazw dla gita.
401 Summary: Perl interface to the Git version control system
402 Summary(pl.UTF-8): Perlowy interfejs do systemu kontroli wersji Git
403 Group: Development/Languages/Perl
405 Obsoletes: perl-git-core
408 %description -n perl-Git
409 This module provides Perl scripts easy way to interface the Git
410 version control system. The modules have an easy and well-tested way
411 to call arbitrary Git commands; in the future, the interface will also
412 provide specialized methods for doing easily operations which are not
413 totally trivial to do over the generic command interface.
415 %description -n perl-Git -l pl.UTF-8
416 Ten moduł umożliwia skryptom Perla współpracę z systemem kontroli
417 wersji Git. W łatwy i dobrze przetestowany sposób pozwala wywoływać
418 dowolne polecenia Gita; w przyszłości interfejs udostępni także
419 specjalne metody do łatwego wykonywania operacji nietrywialnych do
420 wykonania przy użyciu ogólnego interfejsu poleceń.
422 %package -n gnome-keyring-git-core
423 Summary: GNOME Keyring authentication provider for Git
424 Summary(pl.UTF-8): Moduł uwierzytelniający GNOME Keyring dla Gita
425 Group: X11/Applications
426 URL: http://git-scm.com/docs/gitcredentials.html
427 Requires: %{name} = %{version}-%{release}
429 %description -n gnome-keyring-git-core
430 Authentication provider module for Git which allows git client to
431 authenticate using GNOME Keyring.
433 You need to register it with:
434 - git config --global credential.helper gnome-keyring
436 %description -n gnome-keyring-git-core -l pl.UTF-8
437 Moduł uwierzytelniający dla Gita pozwalający klientom git
438 uwierzytelniać się przy użyciu mechanizmu GNOME Keyring.
440 Moduł trzeba zarejestrować poleceniem:
441 - git config --global credential.helper gnome-keyring
443 %package credential-libsecret
444 Summary: GNOME authentication provider for Git using libsecret
445 Summary(pl.UTF-8): Moduł uwierzytelniający GNOME dla Gita wykorzystujący libsecret
446 Group: X11/Applications
447 URL: http://git-scm.com/docs/gitcredentials.html
448 Requires: %{name} = %{version}-%{release}
450 %description credential-libsecret
451 Authentication provider module for Git which allows git client to
452 authenticate using GNOME libsecret.
454 You need to register it with:
455 - git config --global credential.helper libsecret
457 %description credential-libsecret -l pl.UTF-8
458 Moduł uwierzytelniający dla Gita pozwalający klientom git
459 uwierzytelniać się przy użyciu mechanizmu GNOME libsecret.
461 Moduł trzeba zarejestrować poleceniem:
462 - git config --global credential.helper libsecret
464 %package -n zsh-completion-git
465 Summary: Zsh completion for git command
466 Summary(pl.UTF-8): Dopełnianie parametrów komendy git dla powłoki zsh
467 Group: Applications/Shells
468 Requires: %{name} = %{version}-%{release}
469 Requires: bash-completion-git = %{version}-%{release}
473 %description -n zsh-completion-git
474 Zsh completion for git command.
476 %description -n zsh-completion-git -l pl.UTF-8
477 Dopełnianie parametrów komendy git dla powłoki zsh.
480 %setup -q -n git-%{version}
485 %{__rm} {Documentation/technical,contrib/credential/gnome-keyring}/.gitignore
487 # we build things in contrib but want to have it clean for doc purporses, too
488 cp -a contrib contrib-doc
490 %{__sed} -i -e '1s|#!/usr/bin/env python$|#!%{__python}|' git-p4.py
496 --sysconfdir=%{_sysconfdir}/git-core \
497 %{?with_pcre:--with-libpcre2} \
500 echo "BLK_SHA1=1" >> config.mak
503 GITWEB_CONFIG="%{webappdir}/gitweb.conf" \
504 GITWEB_PROJECTROOT="/var/lib/git" \
505 GITWEB_CSS="/gitweb/gitweb.css" \
506 GITWEB_LOGO="/gitweb/git-logo.png" \
507 GITWEB_FAVICON="/gitweb/git-favicon.png" \
508 NO_PERL_CPAN_FALLBACKS=1 \
509 perllibdir=%{perl_vendorlib} \
512 %{__make} -C contrib/subtree
514 %if %{with gnome_keyring}
515 %{__make} -C contrib/credential/gnome-keyring \
517 CFLAGS="%{rpmcflags} -Wall" \
518 LDFLAGS="%{rpmldflags}"
521 %if %{with libsecret}
522 %{__make} -C contrib/credential/libsecret \
524 CFLAGS="%{rpmcflags} -Wall" \
525 LDFLAGS="%{rpmldflags}"
530 MAN_BASE_URL=file://%{_docdir}/%{name}-doc-%{version}/ \
535 %if %{without tests_cvs}
536 %{__rm} t/t*cvs*.sh || :
538 %if %{without tests_svn}
539 GIT_SKIP_TESTS="$GIT_SKIP_TESTS t91??"
541 export GIT_SKIP_TESTS
543 NO_PERL_CPAN_FALLBACKS=1
547 rm -rf $RPM_BUILD_ROOT
548 install -d $RPM_BUILD_ROOT{%{_includedir}/%{name}/xdiff,%{_libdir},%{_localstatedir}/lib/git}
549 install -d $RPM_BUILD_ROOT{%{appdir},%{cgibindir},%{webappdir}}
550 install -d $RPM_BUILD_ROOT/etc/{sysconfig/rc-inetd,rc.d/init.d}
551 install -d $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
552 cat << EOF > $RPM_BUILD_ROOT%{_sysconfdir}/git-core/gitconfig
554 templatedir = %{_sysconfdir}/%{name}/templates
558 DESTDIR=$RPM_BUILD_ROOT \
559 NO_PERL_CPAN_FALLBACKS=1 \
560 perllibdir=%{perl_vendorlib}
563 %{__make} install-doc \
564 DESTDIR=$RPM_BUILD_ROOT
567 # copy templates except sample hooks
568 cp -a $RPM_BUILD_ROOT%{_datadir}/%{name}/templates $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
569 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/templates/hooks/*.sample
571 # header files and lib
572 cp -p *.h $RPM_BUILD_ROOT%{_includedir}/%{name}
573 cp -a compat $RPM_BUILD_ROOT%{_includedir}/%{name}
574 cp -p xdiff/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/xdiff
575 install -d $RPM_BUILD_ROOT%{_includedir}/%{name}/block-sha1
576 cp -p block-sha1/sha1.h $RPM_BUILD_ROOT%{_includedir}/%{name}/block-sha1
577 cp -p libgit.a $RPM_BUILD_ROOT%{_libdir}
578 cp -p xdiff/lib.a $RPM_BUILD_ROOT%{_libdir}/libgit_xdiff.a
579 cp -p {Makefile,config.mak,config.mak.autogen,config.mak.uname} $RPM_BUILD_ROOT%{_includedir}/%{name}
581 %{__make} -C contrib/subtree install \
582 libexecdir=%{gitcoredir} \
583 DESTDIR=$RPM_BUILD_ROOT
586 %{__make} -C contrib/subtree install-man \
587 DESTDIR=$RPM_BUILD_ROOT
590 %if %{with gnome_keyring}
591 install -p contrib/credential/gnome-keyring/git-credential-gnome-keyring $RPM_BUILD_ROOT%{gitcoredir}
594 %if %{with libsecret}
595 install -p contrib/credential/libsecret/git-credential-libsecret $RPM_BUILD_ROOT%{gitcoredir}
599 install -d $RPM_BUILD_ROOT%{bash_compdir}
600 cp -p contrib/completion/git-completion.bash $RPM_BUILD_ROOT%{bash_compdir}/git
601 install -d $RPM_BUILD_ROOT%{zsh_compdir}
602 cp -p contrib/completion/git-completion.zsh $RPM_BUILD_ROOT%{zsh_compdir}/_git
603 sed -i -e "1 a zstyle ':completion:*:*:git:*' script %{bash_compdir}/git" $RPM_BUILD_ROOT%{zsh_compdir}/_git
605 # Install git-prompt.sh
606 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/completion
607 cp -p contrib/completion/git-prompt.sh $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/completion
609 # Install bzr and hg remote helpers from contrib
610 install -p contrib/remote-helpers/git-remote-{bzr,hg} $RPM_BUILD_ROOT%{gitcoredir}
613 %{__mv} $RPM_BUILD_ROOT{%{appdir},%{cgibindir}}/gitweb.cgi
614 ln -s %{cgibindir}/gitweb.cgi $RPM_BUILD_ROOT%{appdir}/gitweb.cgi
615 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{webappdir}/gitweb.conf
616 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{webappdir}/gitolite.pl
617 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/apache.conf
618 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/httpd.conf
619 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{webappdir}/lighttpd.conf
621 # git-daemon related files
622 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/git-daemon
623 cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
624 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
627 sed -e 's,@libdir@/git-core,%{gitcoredir},g' -i $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
628 sed -e 's,@libdir@/git-core,%{gitcoredir},g' -i $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
631 ln -sf git $RPM_BUILD_ROOT%{_bindir}/git-receive-pack
632 ln -sf git $RPM_BUILD_ROOT%{_bindir}/git-upload-archive
633 ln -sf ../..%{gitcoredir}/git-shell $RPM_BUILD_ROOT%{_bindir}/git-shell
634 ln -sf ../..%{gitcoredir}/git-upload-pack $RPM_BUILD_ROOT%{_bindir}/git-upload-pack
635 ln -sf ../..%{gitcoredir}/git $RPM_BUILD_ROOT%{_bindir}/git
637 # convert all hardlinks to symlinks, as rpm fails to calculate it properly
638 # requiring excessive free space when it may not be available
639 # https://bugs.launchpad.net/pld-linux/+bug/1176337
640 find $RPM_BUILD_ROOT%{gitcoredir} -samefile $RPM_BUILD_ROOT%{gitcoredir}/git > files
641 for f in $(cat files); do
642 f=${f#$RPM_BUILD_ROOT%{gitcoredir}/}
643 test $f = git && continue
644 ln -snf git $RPM_BUILD_ROOT%{gitcoredir}/$f
648 ln -snf git-gui $RPM_BUILD_ROOT%{gitcoredir}/git-citool
649 ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-https
650 ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-ftp
651 ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-ftps
653 # remove unneeded files
656 %{__mv} $RPM_BUILD_ROOT%{_localedir}/pt{_PT,}
660 rm -rf $RPM_BUILD_ROOT
663 if [ ! -f /etc/shells ]; then
664 echo "%{_bindir}/git-shell" >> /etc/shells
666 grep -q '^%{_bindir}/git-shell$' /etc/shells || echo "%{_bindir}/git-shell" >> /etc/shells
670 if [ "$1" = "0" ]; then
672 grep -v '^%{_bindir}/git-shell$' /etc/shells > /etc/shells.new
673 mv -f /etc/shells.new /etc/shells
677 %service -q rc-inetd reload
680 if [ "$1" = "0" ]; then
681 %service -q rc-inetd reload
684 %post daemon-standalone
685 /sbin/chkconfig --add git-daemon
686 %service git-daemon restart "git-daemon"
688 %preun daemon-standalone
689 if [ "$1" = "0" ]; then
690 %service git-daemon stop
691 /sbin/chkconfig --del git-daemon
694 %triggerin gitweb -- apache1 < 1.3.37-3, apache1-base
695 %webapp_register apache %{webapp}
697 %triggerun gitweb -- apache1 < 1.3.37-3, apache1-base
698 %webapp_unregister apache %{webapp}
700 %triggerin gitweb -- apache < 2.2.0, apache-base
701 %webapp_register httpd %{webapp}
703 %triggerun gitweb -- apache < 2.2.0, apache-base
704 %webapp_unregister httpd %{webapp}
706 %triggerin gitweb -- lighttpd
707 %webapp_register lighttpd %{webapp}
709 %triggerun gitweb -- lighttpd
710 %webapp_unregister lighttpd %{webapp}
713 %defattr(644,root,root,755)
714 %doc README.md contrib-doc
715 %attr(755,root,root) %{_bindir}/git
716 %attr(755,root,root) %{_bindir}/git-receive-pack
717 %attr(755,root,root) %{_bindir}/git-shell
718 %attr(755,root,root) %{_bindir}/git-upload-archive
719 %attr(755,root,root) %{_bindir}/git-upload-pack
720 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}
723 %{_mandir}/man1/git-*.1*
724 %exclude %{_mandir}/man1/git-archimport.1*
725 %exclude %{_mandir}/man1/git-svn.1*
726 %exclude %{_mandir}/man1/git-cvs*.1*
727 %exclude %{_mandir}/man1/git-imap-send.1*
728 %exclude %{_mandir}/man1/git-p4.1*
729 %exclude %{_mandir}/man1/git-send-email.1*
730 %{_mandir}/man1/git.1*
731 %{_mandir}/man5/gitattributes.5*
732 %{_mandir}/man5/githooks.5*
733 %{_mandir}/man5/gitignore.5*
734 %{_mandir}/man5/gitmailmap.5*
735 %{_mandir}/man5/gitmodules.5*
736 %{_mandir}/man5/gitrepository-layout.5*
737 %{_mandir}/man7/gitcli.7*
738 %{_mandir}/man7/gitcore-tutorial.7*
739 %{_mandir}/man7/gitcredentials.7*
740 %{_mandir}/man7/gitdiffcore.7*
741 %{_mandir}/man7/giteveryday.7*
742 %{_mandir}/man7/gitfaq.7*
743 %{_mandir}/man7/gitglossary.7*
744 %{_mandir}/man7/gitnamespaces.7*
745 %{_mandir}/man7/gitremote-helpers.7*
746 %{_mandir}/man7/gitrevisions.7*
747 %{_mandir}/man7/gitsubmodules.7*
748 %{_mandir}/man7/gittutorial-2.7*
749 %{_mandir}/man7/gittutorial.7*
750 %{_mandir}/man7/gitworkflows.7*
754 %attr(755,root,root) %{gitcoredir}/*-*
755 %attr(755,root,root) %{gitcoredir}/git
756 %dir %{gitcoredir}/mergetools
757 %{gitcoredir}/mergetools/*
760 %{_localstatedir}/lib/git
763 %exclude %{gitcoredir}/*email*
764 %exclude %{gitcoredir}/*p4*
765 %exclude %{gitcoredir}/git-archimport
766 %exclude %{gitcoredir}/git-citool
767 %exclude %{gitcoredir}/git-cvs*
768 %exclude %{gitcoredir}/git-gui
769 %exclude %{gitcoredir}/git-imap-send
770 %exclude %{gitcoredir}/git-instaweb
771 %exclude %{gitcoredir}/git-remote-bzr
772 %exclude %{gitcoredir}/git-remote-hg
773 %exclude %{gitcoredir}/git-svn
774 %exclude %{gitcoredir}/mergetools/p4merge
775 %if %{with gnome_keyring}
776 %exclude %{gitcoredir}/git-credential-gnome-keyring
778 %if %{with libsecret}
779 %exclude %{gitcoredir}/git-credential-libsecret
784 %defattr(644,root,root,755)
785 %doc Documentation/RelNotes*
786 %doc Documentation/*.html Documentation/howto Documentation/technical
790 %defattr(644,root,root,755)
791 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/git-daemon
793 %files daemon-standalone
794 %defattr(644,root,root,755)
795 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/git-daemon
796 %attr(754,root, root) /etc/rc.d/init.d/git-daemon
799 %defattr(644,root,root,755)
800 %{_includedir}/%{name}
802 %{_libdir}/libgit_xdiff.a
806 %defattr(644,root,root,755)
808 %{_mandir}/man1/gitk.1*
810 %attr(755,root,root) %{_bindir}/gitk
811 %dir %{_datadir}/gitk
812 %dir %{_datadir}/gitk/lib
813 %dir %{_datadir}/gitk/lib/msgs
814 %lang(bg) %{_datadir}/gitk/lib/msgs/bg.msg
815 %lang(ca) %{_datadir}/gitk/lib/msgs/ca.msg
816 %lang(de) %{_datadir}/gitk/lib/msgs/de.msg
817 %lang(es) %{_datadir}/gitk/lib/msgs/es.msg
818 %lang(fr) %{_datadir}/gitk/lib/msgs/fr.msg
819 %lang(hu) %{_datadir}/gitk/lib/msgs/hu.msg
820 %lang(it) %{_datadir}/gitk/lib/msgs/it.msg
821 %lang(ja) %{_datadir}/gitk/lib/msgs/ja.msg
822 %lang(pt_BR) %{_datadir}/gitk/lib/msgs/pt_br.msg
823 %lang(pt_PT) %{_datadir}/gitk/lib/msgs/pt_pt.msg
824 %lang(ru) %{_datadir}/gitk/lib/msgs/ru.msg
825 %lang(sv) %{_datadir}/gitk/lib/msgs/sv.msg
826 %lang(vi) %{_datadir}/gitk/lib/msgs/vi.msg
827 %lang(zh_CN) %{_datadir}/gitk/lib/msgs/zh_cn.msg
831 %defattr(644,root,root,755)
832 %doc gitweb/{README,INSTALL}
834 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/apache.conf
835 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/httpd.conf
836 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/lighttpd.conf
837 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitweb.conf
838 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitolite.pl
839 %attr(755,root,root) %{cgibindir}/gitweb.cgi
841 %attr(755,root,root) %{gitcoredir}/git-instaweb
843 %{_mandir}/man1/gitweb.1*
844 %{_mandir}/man5/gitweb.conf.5*
849 %defattr(644,root,root,755)
850 %attr(755,root,root) %{gitcoredir}/git-citool
851 %attr(755,root,root) %{gitcoredir}/git-gui
852 %dir %{_datadir}/git-gui
853 %dir %{_datadir}/git-gui/lib
854 %dir %{_datadir}/git-gui/lib/msgs
855 %{_datadir}/git-gui/lib/git-gui.ico
856 %{_datadir}/git-gui/lib/tclIndex
857 %{_datadir}/git-gui/lib/*.js
858 %{_datadir}/git-gui/lib/*.tcl
859 %lang(bg) %{_datadir}/git-gui/lib/msgs/bg.msg
860 %lang(de) %{_datadir}/git-gui/lib/msgs/de.msg
861 %lang(el) %{_datadir}/git-gui/lib/msgs/el.msg
862 %lang(fr) %{_datadir}/git-gui/lib/msgs/fr.msg
863 %lang(hu) %{_datadir}/git-gui/lib/msgs/hu.msg
864 %lang(it) %{_datadir}/git-gui/lib/msgs/it.msg
865 %lang(ja) %{_datadir}/git-gui/lib/msgs/ja.msg
866 %lang(nb) %{_datadir}/git-gui/lib/msgs/nb.msg
867 %lang(pt) %{_datadir}/git-gui/lib/msgs/pt_pt.msg
868 %lang(pt_BR) %{_datadir}/git-gui/lib/msgs/pt_br.msg
869 %lang(ru) %{_datadir}/git-gui/lib/msgs/ru.msg
870 %lang(sv) %{_datadir}/git-gui/lib/msgs/sv.msg
871 %lang(vi) %{_datadir}/git-gui/lib/msgs/vi.msg
872 %lang(zh_CN) %{_datadir}/git-gui/lib/msgs/zh_cn.msg
876 %defattr(644,root,root,755)
877 %attr(755,root,root) %{gitcoredir}/git-archimport
879 %{_mandir}/man1/git-archimport.1*
883 %defattr(644,root,root,755)
884 %attr(755,root,root) %{gitcoredir}/git-remote-bzr
887 %defattr(644,root,root,755)
888 %attr(755,root,root) %{_bindir}/git-cvsserver
889 %attr(755,root,root) %{gitcoredir}/git-cvs*
891 %{_mandir}/man1/git-cvs*.1*
892 %{_mandir}/man7/gitcvs-migration.7*
896 %defattr(644,root,root,755)
897 %attr(755,root,root) %{gitcoredir}/git-remote-hg
900 %defattr(644,root,root,755)
901 %attr(755,root,root) %{gitcoredir}/git-p4
902 %attr(755,root,root) %{gitcoredir}/mergetools/p4merge
904 %{_mandir}/man1/git-p4.1*
908 %defattr(644,root,root,755)
909 %attr(755,root,root) %{gitcoredir}/git-svn
910 %{perl_vendorlib}/Git/SVN
911 %{perl_vendorlib}/Git/SVN.pm
913 %{_mandir}/man1/git-svn.1*
917 %defattr(644,root,root,755)
918 %attr(755,root,root) %{gitcoredir}/git-imap-send
919 %attr(755,root,root) %{gitcoredir}/git-send-email
921 %{_mandir}/man1/git-imap-send.1*
922 %{_mandir}/man1/git-send-email.1*
925 %files -n bash-completion-git
926 %defattr(644,root,root,755)
930 %defattr(644,root,root,755)
931 %{perl_vendorlib}/Git.pm
932 %dir %{perl_vendorlib}/Git
933 %{perl_vendorlib}/Git/I18N.pm
934 %{perl_vendorlib}/Git/IndexInfo.pm
935 %{perl_vendorlib}/Git/LoadCPAN.pm
936 %{perl_vendorlib}/Git/Packet.pm
937 %dir %{perl_vendorlib}/Git/LoadCPAN
938 %{perl_vendorlib}/Git/LoadCPAN/Error.pm
939 %dir %{perl_vendorlib}/Git/LoadCPAN/Mail
940 %{perl_vendorlib}/Git/LoadCPAN/Mail/Address.pm
941 %{?with_doc:%{_mandir}/man3/Git.3pm*}
943 %if %{with gnome_keyring}
944 %files -n gnome-keyring-git-core
945 %defattr(644,root,root,755)
946 %attr(755,root,root) %{gitcoredir}/git-credential-gnome-keyring
949 %if %{with libsecret}
950 %files credential-libsecret
951 %defattr(644,root,root,755)
952 %attr(755,root,root) %{gitcoredir}/git-credential-libsecret
955 %files -n zsh-completion-git
956 %defattr(644,root,root,755)