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: b069d4919c8d9faf28db4fd90feb8e1d
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: python3-devel
61 BuildRequires: rpm-build >= 4.6
62 BuildRequires: rpm-perlprov >= 4.1-13
63 BuildRequires: rpm-pythonprov
64 BuildRequires: rpmbuild(macros) >= 1.752
65 BuildRequires: tar >= 1:1.22
71 BuildRequires: zlib-devel
73 BuildRequires: asciidoc >= 7.1.2-3
74 BuildRequires: docbook-dtd45-xml
78 BuildRequires: openssh-clients
79 BuildRequires: perl-CGI
80 BuildRequires: perl-Digest-MD5
81 BuildRequires: perl-Encode
82 BuildRequires: perl-Time-HiRes
84 # tests failed sometimes when using nserver/cvsnt client so enforce pure cvs here
85 BuildRequires: cvs-gnu-client < 1.13
86 BuildRequires: cvs-gnu-client >= 1.12
89 BuildRequires: perl-subversion
90 BuildRequires: subversion
92 Conflicts: pdksh < 5.2.14-46
94 # git-sh-setup: sane_grep
99 Suggests: git-core-bzr
100 Suggests: git-core-cvs
101 Suggests: git-core-hg
102 Suggests: git-core-p4
103 Suggests: git-core-svn
105 Suggests: openssh-clients
106 Suggests: perl-Git = %{version}-%{release}
108 Obsoletes: git-core-gitview < 2.12.1
109 Obsoletes: python-Git < 1.8.5
110 Conflicts: perl-Git < %{version}
111 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
113 # html docs have links to txt files
114 %define _noautocompressdoc *.txt
116 # do not generate perl dependency, git add -p support is optional
117 # skip dependency generation from templates
118 %define _noautoreqfiles %{_libexecdir}/%{name}/git-add--interactive %{_datadir}/%{name}/templates
120 %define webapp gitweb
121 %define webappdir %{_sysconfdir}/webapps/%{webapp}
122 %define appdir %{_datadir}/%{webapp}
123 %define cgibindir %{_prefix}/lib/cgi-bin
124 %define gitcoredir %{_libexecdir}/%{name}
127 "git" can mean anything, depending on your mood.
129 - random three-letter combination that is pronounceable, and not
130 actually used by any common UNIX command. The fact that it is a
131 mispronunciation of "get" may or may not be relevant.
132 - stupid. contemptible and despicable. simple. Take your pick from the
134 - "global information tracker": you're in a good mood, and it actually
135 works for you. Angels sing, and a light suddenly fills the room.
136 - "goddamn idiotic truckload of sh*t": when it breaks
138 This is a stupid (but extremely fast) directory content manager. It
139 doesn't do a whole lot, but what it 'does' do is track directory
140 contents efficiently.
142 %description -l pl.UTF-8
143 "git" może oznaczać cokolwiek, w zależności od nastroju.
145 - losową kombinację trzech liter, która jest wymawialna i właściwie
146 nie używana przez żadne popularne polecenie uniksowe. Fakt, że jest to
147 błędna pisownia słowa "get" może mieć lub nie mieć znaczenia.
148 - głupi, pogardliwy, prosty. Można wybrać ze słownika slangu.
149 - "global information tracker" (narzędzie do globalnego śledzenia
150 informacji) - jeśli jesteśmy w dobrym nastroju i git akurat działa.
151 Anioły śpiewają, a światło niespodziewanie wypełnia pokój.
152 - "goddamn idiotic truckload of sh*t" (przeklęty idiotyczny ładunek
153 g*) - kiedy się zepsuje.
155 Jest to prymitywny (ale bardzo szybki) zarządca treści słownikowej.
156 Nie robi wiele, ale to, co "robi", to wydajne śledzenie zawartości
160 Summary: Documentation for git-core
161 Summary(pl.UTF-8): Dokumentacja do git-core
166 Documentation for git-core.
168 %description doc -l pl.UTF-8
169 Dokumentacja do git-core.
171 %package daemon-inetd
172 Summary: Files necessary to run git-daemon as an inetd service
173 Summary(pl.UTF-8): Pliki niezbędne do uruchomienia git-daemona w trybie usługi inetd
174 Group: Networking/Daemons
175 Requires: %{name} = %{version}-%{release}
176 Requires: setup >= 2.4.11-1
177 Provides: git-core-daemon = %{version}-%{release}
178 Obsoletes: git-core-daemon <= %{version}-%{release}
179 Obsoletes: git-core-daemon-standalone <= %{version}-%{release}
181 %description daemon-inetd
182 Git-daemon is a really simple TCP git daemon that can serve git
183 repositories. This package provides all necessarry files to run
184 git-daemon as an inetd service.
186 %description daemon-inetd -l pl.UTF-8
187 Git-daemon to prosty demon git korzystający z protokołu TCP do
188 udostępniania repozytoriów git. Ten pakiet dostarcza pliki potrzebne
189 do uruchomienia git-demona w trybie usługi inetd.
191 %package daemon-standalone
192 Summary: Files necessary to run git-daemon as a standalone service
193 Summary(pl.UTF-8): Pliki niezbędne do uruchomienia git-daemona w trybie usługi samodzielnej
194 Group: Networking/Daemons
195 Requires: %{name} = %{version}-%{release}
196 Provides: git-core-daemon = %{version}-%{release}
197 Obsoletes: git-core-daemon <= %{version}-%{release}
198 Obsoletes: git-core-daemon-inetd <= %{version}-%{release}
200 %description daemon-standalone
201 Git-daemon is a really simple TCP git daemon that can serve git
202 repositories. This package provides all necessarry files to run
203 git-daemon as an standalone service.
205 %description daemon-standalone -l pl.UTF-8
206 Git-daemon to prosty demon git korzystający z protokołu TCP do
207 udostępniania repozytoriów git. Ten pakiet dostarcza pliki potrzebne
208 do uruchomienia git-daemona w trybie usługi samodzielnej.
211 Summary: Git library with header files
212 Summary(pl.UTF-8): Biblioteka Gita oraz pliki nagłówkowe
213 Group: Development/Libraries
217 Git library with header files.
219 %description devel -l pl.UTF-8
220 Biblioteka Gita oraz pliki nagłówkowe.
223 Summary: Tcl/Tk interface to the Git version control system
224 Summary(pl.UTF-8): Napisany w Tcl/Tk interfejs do systemu kontroli wersji Git
225 Group: Development/Tools
226 Requires: %{name} = %{version}-%{release}
231 gitk displays changes in a repository or a selected set of commits.
232 This includes visualizing the commit graph, showing information
233 related to each commit, and the files in the trees of each revision.
235 Historically, gitk was the first repository browser. It's written in
236 Tcl/Tk and started off in a separate repository but was later merged
237 into the main git repository.
239 %description gitk -l pl.UTF-8
240 gitk wyświetla zmiany w repozytorium lub wybranym zbiorze commitów.
241 Oznacza to wizualizację grafu commitów, wyświetlanie informacji
242 związanych z każdym z commitów oraz listę plików dla każdej rewizji.
244 Z historycznego punktu widzenia gitk był pierwszą przeglądarką
245 repozytorium git. Napisany jest w Tcl/Tk i początkowo był rozwijany w
246 osobnym repozytorium, ale z czasem został włączony do głównego
250 Summary: Web frontend to git
251 Summary(pl.UTF-8): Frontend WWW do gita
252 Group: Development/Tools
253 Requires: %{name} = %{version}-%{release}
255 Requires: webserver(access)
256 Requires: webserver(alias)
257 Requires: webserver(cgi)
258 Suggests: webserver(setenv)
261 This package provides a web interface for browsing git repositories.
263 %description gitweb -l pl.UTF-8
264 Pakiet ten dostarcza interfejs WWW do przeglądania repozytoriów gita.
267 Summary: Tcl/Tk interface to the Git version control system
268 Summary(pl.UTF-8): Napisany w Tcl/Tk interfejs do systemu kontroli wersji Git
269 Group: Development/Tools
270 Requires: %{name} = %{version}-%{release}
276 Displays changes in a repository or a selected set of commits. This
277 includes visualizing the commit graph, showing information related to
278 each commit, and the files in the trees of each revision.
280 Historically, gitk was the first repository browser. It's written in
281 Tcl/Tk and started off in a separate repository but was later merged
282 into the main git repository.
284 %description gui -l pl.UTF-8
285 Wyświetla zmiany w repozytorium lub wybranym zbiorze commitów. Oznacza
286 to wizualizację grafu commitów, wyświetlanie informacji związanych z
287 każdym z commitów oraz listę plików dla każdej rewizji.
289 Z punktu widzenia historii, gitk był pierwszą przeglądarką
290 repozytorium git. Napisany jest w Tcl/Tk i początkowo był rozwijany w
291 osobnym repozytorium, ale z czasem został włączony do głównego
295 Summary: Git tools for importing Arch repositories
296 Summary(pl.UTF-8): Narzędzia Gita do importowania repozytoriów Archa
297 Group: Development/Tools
298 Requires: %{name} = %{version}-%{release}
302 Git tools for importing Arch repositories.
304 %description arch -l pl.UTF-8
305 Narzędzia Gita do importowania repozytoriów Archa.
308 Summary: Git tools for working with bzr repositories
309 Summary(pl.UTF-8): Narzędzia Gita do pracy z repozytoriami bzr
310 Group: Development/Tools
311 Requires: %{name} = %{version}-%{release}
315 Git tools for working with bzr repositories.
317 %description bzr -l pl.UTF-8
318 Narzędzia Gita do pracy z repozytoriami bzr.
321 Summary: CVS support for Git
322 Summary(pl.UTF-8): Obsługa CVS dla Gita
323 Group: Development/Tools
324 Requires: %{name} = %{version}-%{release}
325 Requires: cvsps >= 2.1-2
331 %description cvs -l pl.UTF-8
332 Obsługa CVS dla Gita.
335 Summary: Git tools for working with mercurial repositories
336 Summary(pl.UTF-8): Narzędzia Gita do pracy z repozytoriami mercuriala
337 Group: Development/Tools
338 Requires: %{name} = %{version}-%{release}
339 Requires: mercurial >= 1.8
342 Git tools for working with mercurial repositories.
344 %description hg -l pl.UTF-8
345 Narzędzia Gita do pracy z repozytoriami mercuriala.
348 Summary: Git tools for working with Perforce depots
349 Summary(pl.UTF-8): Narzędzia Gita do pracy z magazynami Perforce'a
350 Group: Development/Tools
351 Requires: %{name} = %{version}-%{release}
354 Git tools for working with Perforce depots.
356 %description p4 -l pl.UTF-8
357 Narzędzia Gita do pracy z magazynami Perforce'a.
360 Summary: Subversion support for Git
361 Summary(pl.UTF-8): Obsługa Subversion dla Gita
362 Group: Development/Tools
363 Requires: %{name} = %{version}-%{release}
364 Requires: perl-Encode
365 Requires: perl-Term-ReadKey
368 Subversion support for Git.
370 %description svn -l pl.UTF-8
371 Obsługa Subversion dla Gita.
374 Summary: Git tools for sending email
375 Summary(pl.UTF-8): Narzędzia Gita do wysyłania poczty
376 Group: Development/Tools
377 Requires: %{name} = %{version}-%{release}
379 Requires: perl-MailTools
380 Suggests: perl-Net-SMTP-SSL
383 Git tools for sending email.
385 %description email -l pl.UTF-8
386 Narzędzia Gita do wysyłania poczty.
388 %package -n bash-completion-git
389 Summary: bash-completion for git
390 Summary(pl.UTF-8): bashowe uzupełnianie nazw dla gita
391 Group: Applications/Shells
392 Requires: %{name} = %{version}-%{release}
393 Requires: bash-completion >= 2.0
396 %description -n bash-completion-git
397 This package provides bash-completion for git.
399 %description -n bash-completion-git -l pl.UTF-8
400 Pakiet ten dostarcza bashowe uzupełnianie nazw dla gita.
403 Summary: Perl interface to the Git version control system
404 Summary(pl.UTF-8): Perlowy interfejs do systemu kontroli wersji Git
405 Group: Development/Languages/Perl
407 Obsoletes: perl-git-core < 1.4.3.5
410 %description -n perl-Git
411 This module provides Perl scripts easy way to interface the Git
412 version control system. The modules have an easy and well-tested way
413 to call arbitrary Git commands; in the future, the interface will also
414 provide specialized methods for doing easily operations which are not
415 totally trivial to do over the generic command interface.
417 %description -n perl-Git -l pl.UTF-8
418 Ten moduł umożliwia skryptom Perla współpracę z systemem kontroli
419 wersji Git. W łatwy i dobrze przetestowany sposób pozwala wywoływać
420 dowolne polecenia Gita; w przyszłości interfejs udostępni także
421 specjalne metody do łatwego wykonywania operacji nietrywialnych do
422 wykonania przy użyciu ogólnego interfejsu poleceń.
424 %package -n gnome-keyring-git-core
425 Summary: GNOME Keyring authentication provider for Git
426 Summary(pl.UTF-8): Moduł uwierzytelniający GNOME Keyring dla Gita
427 Group: X11/Applications
428 URL: http://git-scm.com/docs/gitcredentials.html
429 Requires: %{name} = %{version}-%{release}
431 %description -n gnome-keyring-git-core
432 Authentication provider module for Git which allows git client to
433 authenticate using GNOME Keyring.
435 You need to register it with:
436 - git config --global credential.helper gnome-keyring
438 %description -n gnome-keyring-git-core -l pl.UTF-8
439 Moduł uwierzytelniający dla Gita pozwalający klientom git
440 uwierzytelniać się przy użyciu mechanizmu GNOME Keyring.
442 Moduł trzeba zarejestrować poleceniem:
443 - git config --global credential.helper gnome-keyring
445 %package credential-libsecret
446 Summary: GNOME authentication provider for Git using libsecret
447 Summary(pl.UTF-8): Moduł uwierzytelniający GNOME dla Gita wykorzystujący libsecret
448 Group: X11/Applications
449 URL: http://git-scm.com/docs/gitcredentials.html
450 Requires: %{name} = %{version}-%{release}
452 %description credential-libsecret
453 Authentication provider module for Git which allows git client to
454 authenticate using GNOME libsecret.
456 You need to register it with:
457 - git config --global credential.helper libsecret
459 %description credential-libsecret -l pl.UTF-8
460 Moduł uwierzytelniający dla Gita pozwalający klientom git
461 uwierzytelniać się przy użyciu mechanizmu GNOME libsecret.
463 Moduł trzeba zarejestrować poleceniem:
464 - git config --global credential.helper libsecret
466 %package -n zsh-completion-git
467 Summary: Zsh completion for git command
468 Summary(pl.UTF-8): Dopełnianie parametrów komendy git dla powłoki zsh
469 Group: Applications/Shells
470 Requires: %{name} = %{version}-%{release}
471 Requires: bash-completion-git = %{version}-%{release}
475 %description -n zsh-completion-git
476 Zsh completion for git command.
478 %description -n zsh-completion-git -l pl.UTF-8
479 Dopełnianie parametrów komendy git dla powłoki zsh.
482 %setup -q -n git-%{version}
487 %{__rm} {Documentation/technical,contrib/credential/gnome-keyring}/.gitignore
489 # we build things in contrib but want to have it clean for doc purporses, too
490 cp -a contrib contrib-doc
496 --sysconfdir=%{_sysconfdir}/git-core \
497 %{?with_pcre:--with-libpcre2} \
499 --with-python="%{__python3}"
501 echo "BLK_SHA1=1" >> config.mak
504 GITWEB_CONFIG="%{webappdir}/gitweb.conf" \
505 GITWEB_PROJECTROOT="/var/lib/git" \
506 GITWEB_CSS="/gitweb/gitweb.css" \
507 GITWEB_LOGO="/gitweb/git-logo.png" \
508 GITWEB_FAVICON="/gitweb/git-favicon.png" \
509 NO_PERL_CPAN_FALLBACKS=1 \
510 perllibdir=%{perl_vendorlib} \
513 %{__make} -C contrib/subtree
515 %if %{with gnome_keyring}
516 %{__make} -C contrib/credential/gnome-keyring \
518 CFLAGS="%{rpmcflags} -Wall" \
519 LDFLAGS="%{rpmldflags}"
522 %if %{with libsecret}
523 %{__make} -C contrib/credential/libsecret \
525 CFLAGS="%{rpmcflags} -Wall" \
526 LDFLAGS="%{rpmldflags}"
531 MAN_BASE_URL=file://%{_docdir}/%{name}-doc-%{version}/ \
536 %if %{without tests_cvs}
537 %{__rm} t/t*cvs*.sh || :
539 %if %{without tests_svn}
540 GIT_SKIP_TESTS="$GIT_SKIP_TESTS t91??"
542 export GIT_SKIP_TESTS
544 NO_PERL_CPAN_FALLBACKS=1
548 rm -rf $RPM_BUILD_ROOT
549 install -d $RPM_BUILD_ROOT{%{_includedir}/%{name}/xdiff,%{_libdir},%{_localstatedir}/lib/git}
550 install -d $RPM_BUILD_ROOT{%{appdir},%{cgibindir},%{webappdir}}
551 install -d $RPM_BUILD_ROOT/etc/{sysconfig/rc-inetd,rc.d/init.d}
552 install -d $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
553 cat << EOF > $RPM_BUILD_ROOT%{_sysconfdir}/git-core/gitconfig
555 templatedir = %{_sysconfdir}/%{name}/templates
559 DESTDIR=$RPM_BUILD_ROOT \
560 NO_PERL_CPAN_FALLBACKS=1 \
561 perllibdir=%{perl_vendorlib}
564 %{__make} install-doc \
565 DESTDIR=$RPM_BUILD_ROOT
568 # copy templates except sample hooks
569 cp -a $RPM_BUILD_ROOT%{_datadir}/%{name}/templates $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
570 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/templates/hooks/*.sample
572 # header files and lib
573 cp -p *.h $RPM_BUILD_ROOT%{_includedir}/%{name}
574 cp -a compat $RPM_BUILD_ROOT%{_includedir}/%{name}
575 cp -p xdiff/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/xdiff
576 install -d $RPM_BUILD_ROOT%{_includedir}/%{name}/block-sha1
577 cp -p block-sha1/sha1.h $RPM_BUILD_ROOT%{_includedir}/%{name}/block-sha1
578 cp -p libgit.a $RPM_BUILD_ROOT%{_libdir}
579 cp -p xdiff/lib.a $RPM_BUILD_ROOT%{_libdir}/libgit_xdiff.a
580 cp -p {Makefile,config.mak,config.mak.autogen,config.mak.uname} $RPM_BUILD_ROOT%{_includedir}/%{name}
582 %{__make} -C contrib/subtree install \
583 libexecdir=%{gitcoredir} \
584 DESTDIR=$RPM_BUILD_ROOT
587 %{__make} -C contrib/subtree install-man \
588 DESTDIR=$RPM_BUILD_ROOT
591 %if %{with gnome_keyring}
592 install -p contrib/credential/gnome-keyring/git-credential-gnome-keyring $RPM_BUILD_ROOT%{gitcoredir}
595 %if %{with libsecret}
596 install -p contrib/credential/libsecret/git-credential-libsecret $RPM_BUILD_ROOT%{gitcoredir}
600 install -d $RPM_BUILD_ROOT%{bash_compdir}
601 cp -p contrib/completion/git-completion.bash $RPM_BUILD_ROOT%{bash_compdir}/git
602 install -d $RPM_BUILD_ROOT%{zsh_compdir}
603 cp -p contrib/completion/git-completion.zsh $RPM_BUILD_ROOT%{zsh_compdir}/_git
604 sed -i -e "1 a zstyle ':completion:*:*:git:*' script %{bash_compdir}/git" $RPM_BUILD_ROOT%{zsh_compdir}/_git
606 # Install git-prompt.sh
607 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/completion
608 cp -p contrib/completion/git-prompt.sh $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/completion
610 # Install bzr and hg remote helpers from contrib
611 install -p contrib/remote-helpers/git-remote-{bzr,hg} $RPM_BUILD_ROOT%{gitcoredir}
614 %{__mv} $RPM_BUILD_ROOT{%{appdir},%{cgibindir}}/gitweb.cgi
615 ln -s %{cgibindir}/gitweb.cgi $RPM_BUILD_ROOT%{appdir}/gitweb.cgi
616 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{webappdir}/gitweb.conf
617 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{webappdir}/gitolite.pl
618 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/apache.conf
619 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/httpd.conf
620 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{webappdir}/lighttpd.conf
622 # git-daemon related files
623 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/git-daemon
624 cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
625 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
628 sed -e 's,@libdir@/git-core,%{gitcoredir},g' -i $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
629 sed -e 's,@libdir@/git-core,%{gitcoredir},g' -i $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
632 ln -sf git $RPM_BUILD_ROOT%{_bindir}/git-receive-pack
633 ln -sf git $RPM_BUILD_ROOT%{_bindir}/git-upload-archive
634 ln -sf ../..%{gitcoredir}/git-shell $RPM_BUILD_ROOT%{_bindir}/git-shell
635 ln -sf ../..%{gitcoredir}/git-upload-pack $RPM_BUILD_ROOT%{_bindir}/git-upload-pack
636 ln -sf ../..%{gitcoredir}/git $RPM_BUILD_ROOT%{_bindir}/git
638 # convert all hardlinks to symlinks, as rpm fails to calculate it properly
639 # requiring excessive free space when it may not be available
640 # https://bugs.launchpad.net/pld-linux/+bug/1176337
641 find $RPM_BUILD_ROOT%{gitcoredir} -samefile $RPM_BUILD_ROOT%{gitcoredir}/git > files
642 for f in $(cat files); do
643 f=${f#$RPM_BUILD_ROOT%{gitcoredir}/}
644 test $f = git && continue
645 ln -snf git $RPM_BUILD_ROOT%{gitcoredir}/$f
649 ln -snf git-gui $RPM_BUILD_ROOT%{gitcoredir}/git-citool
650 ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-https
651 ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-ftp
652 ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-ftps
654 %{__mv} $RPM_BUILD_ROOT%{_localedir}/pt{_PT,}
658 rm -rf $RPM_BUILD_ROOT
661 if [ ! -f /etc/shells ]; then
662 echo "%{_bindir}/git-shell" >> /etc/shells
664 grep -q '^%{_bindir}/git-shell$' /etc/shells || echo "%{_bindir}/git-shell" >> /etc/shells
668 if [ "$1" = "0" ]; then
670 grep -v '^%{_bindir}/git-shell$' /etc/shells > /etc/shells.new
671 mv -f /etc/shells.new /etc/shells
675 %service -q rc-inetd reload
678 if [ "$1" = "0" ]; then
679 %service -q rc-inetd reload
682 %post daemon-standalone
683 /sbin/chkconfig --add git-daemon
684 %service git-daemon restart "git-daemon"
686 %preun daemon-standalone
687 if [ "$1" = "0" ]; then
688 %service git-daemon stop
689 /sbin/chkconfig --del git-daemon
692 %triggerin gitweb -- apache1 < 1.3.37-3, apache1-base
693 %webapp_register apache %{webapp}
695 %triggerun gitweb -- apache1 < 1.3.37-3, apache1-base
696 %webapp_unregister apache %{webapp}
698 %triggerin gitweb -- apache < 2.2.0, apache-base
699 %webapp_register httpd %{webapp}
701 %triggerun gitweb -- apache < 2.2.0, apache-base
702 %webapp_unregister httpd %{webapp}
704 %triggerin gitweb -- lighttpd
705 %webapp_register lighttpd %{webapp}
707 %triggerun gitweb -- lighttpd
708 %webapp_unregister lighttpd %{webapp}
711 %defattr(644,root,root,755)
712 %doc README.md contrib-doc
713 %attr(755,root,root) %{_bindir}/git
714 %attr(755,root,root) %{_bindir}/git-receive-pack
715 %attr(755,root,root) %{_bindir}/git-shell
716 %attr(755,root,root) %{_bindir}/git-upload-archive
717 %attr(755,root,root) %{_bindir}/git-upload-pack
718 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}
721 %{_mandir}/man1/git-*.1*
722 %exclude %{_mandir}/man1/git-archimport.1*
723 %exclude %{_mandir}/man1/git-svn.1*
724 %exclude %{_mandir}/man1/git-cvs*.1*
725 %exclude %{_mandir}/man1/git-imap-send.1*
726 %exclude %{_mandir}/man1/git-p4.1*
727 %exclude %{_mandir}/man1/git-send-email.1*
728 %{_mandir}/man1/git.1*
729 %{_mandir}/man5/gitattributes.5*
730 %{_mandir}/man5/githooks.5*
731 %{_mandir}/man5/gitignore.5*
732 %{_mandir}/man5/gitmailmap.5*
733 %{_mandir}/man5/gitmodules.5*
734 %{_mandir}/man5/gitrepository-layout.5*
735 %{_mandir}/man7/gitcli.7*
736 %{_mandir}/man7/gitcore-tutorial.7*
737 %{_mandir}/man7/gitcredentials.7*
738 %{_mandir}/man7/gitdiffcore.7*
739 %{_mandir}/man7/giteveryday.7*
740 %{_mandir}/man7/gitfaq.7*
741 %{_mandir}/man7/gitglossary.7*
742 %{_mandir}/man7/gitnamespaces.7*
743 %{_mandir}/man7/gitremote-helpers.7*
744 %{_mandir}/man7/gitrevisions.7*
745 %{_mandir}/man7/gitsubmodules.7*
746 %{_mandir}/man7/gittutorial-2.7*
747 %{_mandir}/man7/gittutorial.7*
748 %{_mandir}/man7/gitworkflows.7*
752 %attr(755,root,root) %{gitcoredir}/*-*
753 %attr(755,root,root) %{gitcoredir}/git
754 %dir %{gitcoredir}/mergetools
755 %{gitcoredir}/mergetools/*
758 %{_localstatedir}/lib/git
761 %exclude %{gitcoredir}/*email*
762 %exclude %{gitcoredir}/*p4*
763 %exclude %{gitcoredir}/git-archimport
764 %exclude %{gitcoredir}/git-citool
765 %exclude %{gitcoredir}/git-cvs*
766 %exclude %{gitcoredir}/git-gui
767 %exclude %{gitcoredir}/git-imap-send
768 %exclude %{gitcoredir}/git-instaweb
769 %exclude %{gitcoredir}/git-remote-bzr
770 %exclude %{gitcoredir}/git-remote-hg
771 %exclude %{gitcoredir}/git-svn
772 %exclude %{gitcoredir}/mergetools/p4merge
773 %if %{with gnome_keyring}
774 %exclude %{gitcoredir}/git-credential-gnome-keyring
776 %if %{with libsecret}
777 %exclude %{gitcoredir}/git-credential-libsecret
782 %defattr(644,root,root,755)
783 %doc Documentation/RelNotes*
784 %doc Documentation/*.html Documentation/howto Documentation/technical
788 %defattr(644,root,root,755)
789 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/git-daemon
791 %files daemon-standalone
792 %defattr(644,root,root,755)
793 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/git-daemon
794 %attr(754,root, root) /etc/rc.d/init.d/git-daemon
797 %defattr(644,root,root,755)
798 %{_includedir}/%{name}
800 %{_libdir}/libgit_xdiff.a
804 %defattr(644,root,root,755)
806 %{_mandir}/man1/gitk.1*
808 %attr(755,root,root) %{_bindir}/gitk
809 %dir %{_datadir}/gitk
810 %dir %{_datadir}/gitk/lib
811 %dir %{_datadir}/gitk/lib/msgs
812 %lang(bg) %{_datadir}/gitk/lib/msgs/bg.msg
813 %lang(ca) %{_datadir}/gitk/lib/msgs/ca.msg
814 %lang(de) %{_datadir}/gitk/lib/msgs/de.msg
815 %lang(es) %{_datadir}/gitk/lib/msgs/es.msg
816 %lang(fr) %{_datadir}/gitk/lib/msgs/fr.msg
817 %lang(hu) %{_datadir}/gitk/lib/msgs/hu.msg
818 %lang(it) %{_datadir}/gitk/lib/msgs/it.msg
819 %lang(ja) %{_datadir}/gitk/lib/msgs/ja.msg
820 %lang(pt_BR) %{_datadir}/gitk/lib/msgs/pt_br.msg
821 %lang(pt_PT) %{_datadir}/gitk/lib/msgs/pt_pt.msg
822 %lang(ru) %{_datadir}/gitk/lib/msgs/ru.msg
823 %lang(sv) %{_datadir}/gitk/lib/msgs/sv.msg
824 %lang(vi) %{_datadir}/gitk/lib/msgs/vi.msg
825 %lang(zh_CN) %{_datadir}/gitk/lib/msgs/zh_cn.msg
829 %defattr(644,root,root,755)
830 %doc gitweb/{README,INSTALL}
832 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/apache.conf
833 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/httpd.conf
834 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/lighttpd.conf
835 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitweb.conf
836 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitolite.pl
837 %attr(755,root,root) %{cgibindir}/gitweb.cgi
839 %attr(755,root,root) %{gitcoredir}/git-instaweb
841 %{_mandir}/man1/gitweb.1*
842 %{_mandir}/man5/gitweb.conf.5*
847 %defattr(644,root,root,755)
848 %attr(755,root,root) %{gitcoredir}/git-citool
849 %attr(755,root,root) %{gitcoredir}/git-gui
850 %dir %{_datadir}/git-gui
851 %dir %{_datadir}/git-gui/lib
852 %dir %{_datadir}/git-gui/lib/msgs
853 %{_datadir}/git-gui/lib/git-gui.ico
854 %{_datadir}/git-gui/lib/tclIndex
855 %{_datadir}/git-gui/lib/*.js
856 %{_datadir}/git-gui/lib/*.tcl
857 %lang(bg) %{_datadir}/git-gui/lib/msgs/bg.msg
858 %lang(de) %{_datadir}/git-gui/lib/msgs/de.msg
859 %lang(el) %{_datadir}/git-gui/lib/msgs/el.msg
860 %lang(fr) %{_datadir}/git-gui/lib/msgs/fr.msg
861 %lang(hu) %{_datadir}/git-gui/lib/msgs/hu.msg
862 %lang(it) %{_datadir}/git-gui/lib/msgs/it.msg
863 %lang(ja) %{_datadir}/git-gui/lib/msgs/ja.msg
864 %lang(nb) %{_datadir}/git-gui/lib/msgs/nb.msg
865 %lang(pt) %{_datadir}/git-gui/lib/msgs/pt_pt.msg
866 %lang(pt_BR) %{_datadir}/git-gui/lib/msgs/pt_br.msg
867 %lang(ru) %{_datadir}/git-gui/lib/msgs/ru.msg
868 %lang(sv) %{_datadir}/git-gui/lib/msgs/sv.msg
869 %lang(vi) %{_datadir}/git-gui/lib/msgs/vi.msg
870 %lang(zh_CN) %{_datadir}/git-gui/lib/msgs/zh_cn.msg
874 %defattr(644,root,root,755)
875 %attr(755,root,root) %{gitcoredir}/git-archimport
877 %{_mandir}/man1/git-archimport.1*
881 %defattr(644,root,root,755)
882 %attr(755,root,root) %{gitcoredir}/git-remote-bzr
885 %defattr(644,root,root,755)
886 %attr(755,root,root) %{_bindir}/git-cvsserver
887 %attr(755,root,root) %{gitcoredir}/git-cvs*
889 %{_mandir}/man1/git-cvs*.1*
890 %{_mandir}/man7/gitcvs-migration.7*
894 %defattr(644,root,root,755)
895 %attr(755,root,root) %{gitcoredir}/git-remote-hg
898 %defattr(644,root,root,755)
899 %attr(755,root,root) %{gitcoredir}/git-p4
900 %attr(755,root,root) %{gitcoredir}/mergetools/p4merge
902 %{_mandir}/man1/git-p4.1*
906 %defattr(644,root,root,755)
907 %attr(755,root,root) %{gitcoredir}/git-svn
908 %{perl_vendorlib}/Git/SVN
909 %{perl_vendorlib}/Git/SVN.pm
911 %{_mandir}/man1/git-svn.1*
915 %defattr(644,root,root,755)
916 %attr(755,root,root) %{gitcoredir}/git-imap-send
917 %attr(755,root,root) %{gitcoredir}/git-send-email
919 %{_mandir}/man1/git-imap-send.1*
920 %{_mandir}/man1/git-send-email.1*
923 %files -n bash-completion-git
924 %defattr(644,root,root,755)
928 %defattr(644,root,root,755)
929 %{perl_vendorlib}/Git.pm
930 %dir %{perl_vendorlib}/Git
931 %{perl_vendorlib}/Git/I18N.pm
932 %{perl_vendorlib}/Git/IndexInfo.pm
933 %{perl_vendorlib}/Git/LoadCPAN.pm
934 %{perl_vendorlib}/Git/Packet.pm
935 %dir %{perl_vendorlib}/Git/LoadCPAN
936 %{perl_vendorlib}/Git/LoadCPAN/Error.pm
937 %dir %{perl_vendorlib}/Git/LoadCPAN/Mail
938 %{perl_vendorlib}/Git/LoadCPAN/Mail/Address.pm
939 %{?with_doc:%{_mandir}/man3/Git.3pm*}
941 %if %{with gnome_keyring}
942 %files -n gnome-keyring-git-core
943 %defattr(644,root,root,755)
944 %attr(755,root,root) %{gitcoredir}/git-credential-gnome-keyring
947 %if %{with libsecret}
948 %files credential-libsecret
949 %defattr(644,root,root,755)
950 %attr(755,root,root) %{gitcoredir}/git-credential-libsecret
953 %files -n zsh-completion-git
954 %defattr(644,root,root,755)