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: 125d13c374a9ec9253f42c483bacec31
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
366 Requires: perl-modules
369 Subversion support for Git.
371 %description svn -l pl.UTF-8
372 Obsługa Subversion dla Gita.
375 Summary: Git tools for sending email
376 Summary(pl.UTF-8): Narzędzia Gita do wysyłania poczty
377 Group: Development/Tools
378 Requires: %{name} = %{version}-%{release}
380 Requires: perl-MailTools
381 Suggests: perl-Net-SMTP-SSL
384 Git tools for sending email.
386 %description email -l pl.UTF-8
387 Narzędzia Gita do wysyłania poczty.
390 Summary: A tool for managing large Git repositories
391 Summary(pl.UTF-8): Narzędzie do zarządzania dużymi repozytoriami Git
392 Group: Development/Tools
393 Requires: %{name} = %{version}-%{release}
396 Scalar is a repository management tool that optimizes Git for use in
397 large repositories. Scalar improves performance by configuring
398 advanced Git settings, maintaining repositories in the background, and
399 helping to reduce data sent across the network.
401 %description scalar -l pl.UTF-8
402 Scalar jest narzędziem do zarządzania repozytorium Git
403 zoptymalizowanym pod kątem dużych repozytoriów. Scalar poprawia
404 wydajność poprzez konfigurację zaawansowanych ustawień Git,
405 utrzymywanie repozytoriów w tle oraz pomagając zredukować ilość
406 danych wysyłanych po sieci.
408 %package -n bash-completion-git
409 Summary: bash-completion for git
410 Summary(pl.UTF-8): bashowe uzupełnianie nazw dla gita
411 Group: Applications/Shells
412 Requires: %{name} = %{version}-%{release}
413 Requires: bash-completion >= 1:2.0
416 %description -n bash-completion-git
417 This package provides bash-completion for git.
419 %description -n bash-completion-git -l pl.UTF-8
420 Pakiet ten dostarcza bashowe uzupełnianie nazw dla gita.
423 Summary: Perl interface to the Git version control system
424 Summary(pl.UTF-8): Perlowy interfejs do systemu kontroli wersji Git
425 Group: Development/Languages/Perl
427 Obsoletes: perl-git-core < 1.4.3.5
430 %description -n perl-Git
431 This module provides Perl scripts easy way to interface the Git
432 version control system. The modules have an easy and well-tested way
433 to call arbitrary Git commands; in the future, the interface will also
434 provide specialized methods for doing easily operations which are not
435 totally trivial to do over the generic command interface.
437 %description -n perl-Git -l pl.UTF-8
438 Ten moduł umożliwia skryptom Perla współpracę z systemem kontroli
439 wersji Git. W łatwy i dobrze przetestowany sposób pozwala wywoływać
440 dowolne polecenia Gita; w przyszłości interfejs udostępni także
441 specjalne metody do łatwego wykonywania operacji nietrywialnych do
442 wykonania przy użyciu ogólnego interfejsu poleceń.
444 %package -n gnome-keyring-git-core
445 Summary: GNOME Keyring authentication provider for Git
446 Summary(pl.UTF-8): Moduł uwierzytelniający GNOME Keyring dla Gita
447 Group: X11/Applications
448 URL: http://git-scm.com/docs/gitcredentials.html
449 Requires: %{name} = %{version}-%{release}
451 %description -n gnome-keyring-git-core
452 Authentication provider module for Git which allows git client to
453 authenticate using GNOME Keyring.
455 You need to register it with:
456 - git config --global credential.helper gnome-keyring
458 %description -n gnome-keyring-git-core -l pl.UTF-8
459 Moduł uwierzytelniający dla Gita pozwalający klientom git
460 uwierzytelniać się przy użyciu mechanizmu GNOME Keyring.
462 Moduł trzeba zarejestrować poleceniem:
463 - git config --global credential.helper gnome-keyring
465 %package credential-libsecret
466 Summary: GNOME authentication provider for Git using libsecret
467 Summary(pl.UTF-8): Moduł uwierzytelniający GNOME dla Gita wykorzystujący libsecret
468 Group: X11/Applications
469 URL: http://git-scm.com/docs/gitcredentials.html
470 Requires: %{name} = %{version}-%{release}
472 %description credential-libsecret
473 Authentication provider module for Git which allows git client to
474 authenticate using GNOME libsecret.
476 You need to register it with:
477 - git config --global credential.helper libsecret
479 %description credential-libsecret -l pl.UTF-8
480 Moduł uwierzytelniający dla Gita pozwalający klientom git
481 uwierzytelniać się przy użyciu mechanizmu GNOME libsecret.
483 Moduł trzeba zarejestrować poleceniem:
484 - git config --global credential.helper libsecret
486 %package -n zsh-completion-git
487 Summary: Zsh completion for git command
488 Summary(pl.UTF-8): Dopełnianie parametrów komendy git dla powłoki zsh
489 Group: Applications/Shells
490 Requires: %{name} = %{version}-%{release}
491 Requires: bash-completion-git = %{version}-%{release}
495 %description -n zsh-completion-git
496 Zsh completion for git command.
498 %description -n zsh-completion-git -l pl.UTF-8
499 Dopełnianie parametrów komendy git dla powłoki zsh.
502 %setup -q -n git-%{version}
507 %{__rm} {Documentation/technical,contrib/credential/gnome-keyring}/.gitignore
509 # we build things in contrib but want to have it clean for doc purporses, too
510 cp -a contrib contrib-doc
516 --sysconfdir=%{_sysconfdir}/git-core \
517 %{?with_pcre:--with-libpcre2} \
519 --with-python="%{__python3}"
521 echo "BLK_SHA1=1" >> config.mak
524 GITWEB_CONFIG="%{webappdir}/gitweb.conf" \
525 GITWEB_PROJECTROOT="/var/lib/git" \
526 GITWEB_CSS="/gitweb/gitweb.css" \
527 GITWEB_LOGO="/gitweb/git-logo.png" \
528 GITWEB_FAVICON="/gitweb/git-favicon.png" \
529 NO_PERL_CPAN_FALLBACKS=1 \
530 perllibdir=%{perl_vendorlib} \
533 %{__make} -C contrib/subtree
535 %if %{with gnome_keyring}
536 %{__make} -C contrib/credential/gnome-keyring \
538 CFLAGS="%{rpmcflags} -Wall" \
539 LDFLAGS="%{rpmldflags}"
542 %if %{with libsecret}
543 %{__make} -C contrib/credential/libsecret \
545 CFLAGS="%{rpmcflags} -Wall" \
546 LDFLAGS="%{rpmldflags}"
551 MAN_BASE_URL=file://%{_docdir}/%{name}-doc-%{version}/ \
556 %if %{without tests_cvs}
557 %{__rm} t/t*cvs*.sh || :
559 %if %{without tests_svn}
560 GIT_SKIP_TESTS="$GIT_SKIP_TESTS t91??"
562 export GIT_SKIP_TESTS
564 NO_PERL_CPAN_FALLBACKS=1
568 rm -rf $RPM_BUILD_ROOT
569 install -d $RPM_BUILD_ROOT{%{_includedir}/%{name}/xdiff,%{_libdir},%{_localstatedir}/lib/git}
570 install -d $RPM_BUILD_ROOT{%{appdir},%{cgibindir},%{webappdir}}
571 install -d $RPM_BUILD_ROOT/etc/{sysconfig/rc-inetd,rc.d/init.d}
572 install -d $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
573 cat << EOF > $RPM_BUILD_ROOT%{_sysconfdir}/git-core/gitconfig
575 templatedir = %{_sysconfdir}/%{name}/templates
579 DESTDIR=$RPM_BUILD_ROOT \
580 NO_PERL_CPAN_FALLBACKS=1 \
581 perllibdir=%{perl_vendorlib}
584 %{__make} install-doc \
585 DESTDIR=$RPM_BUILD_ROOT
588 # copy templates except sample hooks
589 cp -a $RPM_BUILD_ROOT%{_datadir}/%{name}/templates $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
590 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/templates/hooks/*.sample
592 # header files and lib
593 cp -p *.h $RPM_BUILD_ROOT%{_includedir}/%{name}
594 cp -a compat $RPM_BUILD_ROOT%{_includedir}/%{name}
595 cp -p xdiff/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/xdiff
596 install -d $RPM_BUILD_ROOT%{_includedir}/%{name}/block-sha1
597 cp -p block-sha1/sha1.h $RPM_BUILD_ROOT%{_includedir}/%{name}/block-sha1
598 cp -p libgit.a $RPM_BUILD_ROOT%{_libdir}
599 cp -p xdiff/lib.a $RPM_BUILD_ROOT%{_libdir}/libgit_xdiff.a
600 cp -p {Makefile,config.mak,config.mak.autogen,config.mak.uname} $RPM_BUILD_ROOT%{_includedir}/%{name}
602 %{__make} -C contrib/subtree install \
603 libexecdir=%{gitcoredir} \
604 DESTDIR=$RPM_BUILD_ROOT
607 %{__make} -C contrib/subtree install-man \
608 DESTDIR=$RPM_BUILD_ROOT
611 %if %{with gnome_keyring}
612 install -p contrib/credential/gnome-keyring/git-credential-gnome-keyring $RPM_BUILD_ROOT%{gitcoredir}
615 %if %{with libsecret}
616 install -p contrib/credential/libsecret/git-credential-libsecret $RPM_BUILD_ROOT%{gitcoredir}
620 install -d $RPM_BUILD_ROOT%{bash_compdir}
621 cp -p contrib/completion/git-completion.bash $RPM_BUILD_ROOT%{bash_compdir}/git
622 install -d $RPM_BUILD_ROOT%{zsh_compdir}
623 cp -p contrib/completion/git-completion.zsh $RPM_BUILD_ROOT%{zsh_compdir}/_git
624 sed -i -e "1 a zstyle ':completion:*:*:git:*' script %{bash_compdir}/git" $RPM_BUILD_ROOT%{zsh_compdir}/_git
626 # Install git-prompt.sh
627 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/completion
628 cp -p contrib/completion/git-prompt.sh $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/completion
630 # Install bzr and hg remote helpers from contrib
631 install -p contrib/remote-helpers/git-remote-{bzr,hg} $RPM_BUILD_ROOT%{gitcoredir}
634 %{__mv} $RPM_BUILD_ROOT{%{appdir},%{cgibindir}}/gitweb.cgi
635 ln -s %{cgibindir}/gitweb.cgi $RPM_BUILD_ROOT%{appdir}/gitweb.cgi
636 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{webappdir}/gitweb.conf
637 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{webappdir}/gitolite.pl
638 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/apache.conf
639 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/httpd.conf
640 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{webappdir}/lighttpd.conf
642 # git-daemon related files
643 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/git-daemon
644 cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
645 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
648 sed -e 's,@libdir@/git-core,%{gitcoredir},g' -i $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
649 sed -e 's,@libdir@/git-core,%{gitcoredir},g' -i $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
652 ln -sf git $RPM_BUILD_ROOT%{_bindir}/git-receive-pack
653 ln -sf git $RPM_BUILD_ROOT%{_bindir}/git-upload-archive
654 ln -sf ../..%{gitcoredir}/git-shell $RPM_BUILD_ROOT%{_bindir}/git-shell
655 ln -sf ../..%{gitcoredir}/git-upload-pack $RPM_BUILD_ROOT%{_bindir}/git-upload-pack
656 ln -sf ../..%{gitcoredir}/git $RPM_BUILD_ROOT%{_bindir}/git
658 # convert all hardlinks to symlinks, as rpm fails to calculate it properly
659 # requiring excessive free space when it may not be available
660 # https://bugs.launchpad.net/pld-linux/+bug/1176337
661 find $RPM_BUILD_ROOT%{gitcoredir} -samefile $RPM_BUILD_ROOT%{gitcoredir}/git > files
662 for f in $(cat files); do
663 f=${f#$RPM_BUILD_ROOT%{gitcoredir}/}
664 test $f = git && continue
665 ln -snf git $RPM_BUILD_ROOT%{gitcoredir}/$f
669 ln -snf git-gui $RPM_BUILD_ROOT%{gitcoredir}/git-citool
670 ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-https
671 ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-ftp
672 ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-ftps
674 %{__mv} $RPM_BUILD_ROOT%{_localedir}/pt{_PT,}
678 rm -rf $RPM_BUILD_ROOT
681 if [ ! -f /etc/shells ]; then
682 echo "%{_bindir}/git-shell" >> /etc/shells
684 grep -q '^%{_bindir}/git-shell$' /etc/shells || echo "%{_bindir}/git-shell" >> /etc/shells
688 if [ "$1" = "0" ]; then
690 grep -v '^%{_bindir}/git-shell$' /etc/shells > /etc/shells.new
691 mv -f /etc/shells.new /etc/shells
695 %service -q rc-inetd reload
698 if [ "$1" = "0" ]; then
699 %service -q rc-inetd reload
702 %post daemon-standalone
703 /sbin/chkconfig --add git-daemon
704 %service git-daemon restart "git-daemon"
706 %preun daemon-standalone
707 if [ "$1" = "0" ]; then
708 %service git-daemon stop
709 /sbin/chkconfig --del git-daemon
712 %triggerin gitweb -- apache1 < 1.3.37-3, apache1-base
713 %webapp_register apache %{webapp}
715 %triggerun gitweb -- apache1 < 1.3.37-3, apache1-base
716 %webapp_unregister apache %{webapp}
718 %triggerin gitweb -- apache < 2.2.0, apache-base
719 %webapp_register httpd %{webapp}
721 %triggerun gitweb -- apache < 2.2.0, apache-base
722 %webapp_unregister httpd %{webapp}
724 %triggerin gitweb -- lighttpd
725 %webapp_register lighttpd %{webapp}
727 %triggerun gitweb -- lighttpd
728 %webapp_unregister lighttpd %{webapp}
731 %defattr(644,root,root,755)
732 %doc README.md contrib-doc
733 %attr(755,root,root) %{_bindir}/git
734 %attr(755,root,root) %{_bindir}/git-receive-pack
735 %attr(755,root,root) %{_bindir}/git-shell
736 %attr(755,root,root) %{_bindir}/git-upload-archive
737 %attr(755,root,root) %{_bindir}/git-upload-pack
738 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}
741 %{_mandir}/man1/git-*.1*
742 %exclude %{_mandir}/man1/git-archimport.1*
743 %exclude %{_mandir}/man1/git-svn.1*
744 %exclude %{_mandir}/man1/git-cvs*.1*
745 %exclude %{_mandir}/man1/git-imap-send.1*
746 %exclude %{_mandir}/man1/git-p4.1*
747 %exclude %{_mandir}/man1/git-send-email.1*
748 %{_mandir}/man1/git.1*
749 %{_mandir}/man5/gitattributes.5*
750 %{_mandir}/man5/gitformat-*.5*
751 %{_mandir}/man5/githooks.5*
752 %{_mandir}/man5/gitignore.5*
753 %{_mandir}/man5/gitmailmap.5*
754 %{_mandir}/man5/gitmodules.5*
755 %{_mandir}/man5/gitprotocol-*.5*
756 %{_mandir}/man5/gitrepository-layout.5*
757 %{_mandir}/man7/gitcli.7*
758 %{_mandir}/man7/gitcore-tutorial.7*
759 %{_mandir}/man7/gitcredentials.7*
760 %{_mandir}/man7/gitdiffcore.7*
761 %{_mandir}/man7/giteveryday.7*
762 %{_mandir}/man7/gitfaq.7*
763 %{_mandir}/man7/gitglossary.7*
764 %{_mandir}/man7/gitnamespaces.7*
765 %{_mandir}/man7/gitremote-helpers.7*
766 %{_mandir}/man7/gitrevisions.7*
767 %{_mandir}/man7/gitsubmodules.7*
768 %{_mandir}/man7/gittutorial-2.7*
769 %{_mandir}/man7/gittutorial.7*
770 %{_mandir}/man7/gitworkflows.7*
774 %attr(755,root,root) %{gitcoredir}/*-*
775 %attr(755,root,root) %{gitcoredir}/git
776 %dir %{gitcoredir}/mergetools
777 %{gitcoredir}/mergetools/*
780 %{_localstatedir}/lib/git
783 %exclude %{gitcoredir}/*email*
784 %exclude %{gitcoredir}/*p4*
785 %exclude %{gitcoredir}/git-archimport
786 %exclude %{gitcoredir}/git-citool
787 %exclude %{gitcoredir}/git-cvs*
788 %exclude %{gitcoredir}/git-gui
789 %exclude %{gitcoredir}/git-imap-send
790 %exclude %{gitcoredir}/git-instaweb
791 %exclude %{gitcoredir}/git-remote-bzr
792 %exclude %{gitcoredir}/git-remote-hg
793 %exclude %{gitcoredir}/git-svn
794 %exclude %{gitcoredir}/mergetools/p4merge
795 %if %{with gnome_keyring}
796 %exclude %{gitcoredir}/git-credential-gnome-keyring
798 %if %{with libsecret}
799 %exclude %{gitcoredir}/git-credential-libsecret
804 %defattr(644,root,root,755)
805 %doc Documentation/RelNotes*
806 %doc Documentation/*.html Documentation/howto Documentation/technical
810 %defattr(644,root,root,755)
811 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/git-daemon
813 %files daemon-standalone
814 %defattr(644,root,root,755)
815 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/git-daemon
816 %attr(754,root, root) /etc/rc.d/init.d/git-daemon
819 %defattr(644,root,root,755)
820 %{_includedir}/%{name}
822 %{_libdir}/libgit_xdiff.a
826 %defattr(644,root,root,755)
828 %{_mandir}/man1/gitk.1*
830 %attr(755,root,root) %{_bindir}/gitk
831 %dir %{_datadir}/gitk
832 %dir %{_datadir}/gitk/lib
833 %dir %{_datadir}/gitk/lib/msgs
834 %lang(bg) %{_datadir}/gitk/lib/msgs/bg.msg
835 %lang(ca) %{_datadir}/gitk/lib/msgs/ca.msg
836 %lang(de) %{_datadir}/gitk/lib/msgs/de.msg
837 %lang(es) %{_datadir}/gitk/lib/msgs/es.msg
838 %lang(fr) %{_datadir}/gitk/lib/msgs/fr.msg
839 %lang(hu) %{_datadir}/gitk/lib/msgs/hu.msg
840 %lang(it) %{_datadir}/gitk/lib/msgs/it.msg
841 %lang(ja) %{_datadir}/gitk/lib/msgs/ja.msg
842 %lang(pt_BR) %{_datadir}/gitk/lib/msgs/pt_br.msg
843 %lang(pt_PT) %{_datadir}/gitk/lib/msgs/pt_pt.msg
844 %lang(ru) %{_datadir}/gitk/lib/msgs/ru.msg
845 %lang(sv) %{_datadir}/gitk/lib/msgs/sv.msg
846 %lang(vi) %{_datadir}/gitk/lib/msgs/vi.msg
847 %lang(zh_CN) %{_datadir}/gitk/lib/msgs/zh_cn.msg
851 %defattr(644,root,root,755)
852 %doc gitweb/{README,INSTALL}
854 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/apache.conf
855 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/httpd.conf
856 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/lighttpd.conf
857 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitweb.conf
858 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitolite.pl
859 %attr(755,root,root) %{cgibindir}/gitweb.cgi
861 %attr(755,root,root) %{gitcoredir}/git-instaweb
863 %{_mandir}/man1/gitweb.1*
864 %{_mandir}/man5/gitweb.conf.5*
869 %defattr(644,root,root,755)
870 %attr(755,root,root) %{gitcoredir}/git-citool
871 %attr(755,root,root) %{gitcoredir}/git-gui
872 %dir %{_datadir}/git-gui
873 %dir %{_datadir}/git-gui/lib
874 %dir %{_datadir}/git-gui/lib/msgs
875 %{_datadir}/git-gui/lib/git-gui.ico
876 %{_datadir}/git-gui/lib/tclIndex
877 %{_datadir}/git-gui/lib/*.js
878 %{_datadir}/git-gui/lib/*.tcl
879 %lang(bg) %{_datadir}/git-gui/lib/msgs/bg.msg
880 %lang(de) %{_datadir}/git-gui/lib/msgs/de.msg
881 %lang(el) %{_datadir}/git-gui/lib/msgs/el.msg
882 %lang(fr) %{_datadir}/git-gui/lib/msgs/fr.msg
883 %lang(hu) %{_datadir}/git-gui/lib/msgs/hu.msg
884 %lang(it) %{_datadir}/git-gui/lib/msgs/it.msg
885 %lang(ja) %{_datadir}/git-gui/lib/msgs/ja.msg
886 %lang(nb) %{_datadir}/git-gui/lib/msgs/nb.msg
887 %lang(pt) %{_datadir}/git-gui/lib/msgs/pt_pt.msg
888 %lang(pt_BR) %{_datadir}/git-gui/lib/msgs/pt_br.msg
889 %lang(ru) %{_datadir}/git-gui/lib/msgs/ru.msg
890 %lang(sv) %{_datadir}/git-gui/lib/msgs/sv.msg
891 %lang(vi) %{_datadir}/git-gui/lib/msgs/vi.msg
892 %lang(zh_CN) %{_datadir}/git-gui/lib/msgs/zh_cn.msg
896 %defattr(644,root,root,755)
897 %attr(755,root,root) %{gitcoredir}/git-archimport
899 %{_mandir}/man1/git-archimport.1*
903 %defattr(644,root,root,755)
904 %attr(755,root,root) %{gitcoredir}/git-remote-bzr
907 %defattr(644,root,root,755)
908 %attr(755,root,root) %{_bindir}/git-cvsserver
909 %attr(755,root,root) %{gitcoredir}/git-cvs*
911 %{_mandir}/man1/git-cvs*.1*
912 %{_mandir}/man7/gitcvs-migration.7*
916 %defattr(644,root,root,755)
917 %attr(755,root,root) %{gitcoredir}/git-remote-hg
920 %defattr(644,root,root,755)
921 %attr(755,root,root) %{gitcoredir}/git-p4
922 %attr(755,root,root) %{gitcoredir}/mergetools/p4merge
924 %{_mandir}/man1/git-p4.1*
928 %defattr(644,root,root,755)
929 %attr(755,root,root) %{gitcoredir}/git-svn
930 %{perl_vendorlib}/Git/SVN
931 %{perl_vendorlib}/Git/SVN.pm
933 %{_mandir}/man1/git-svn.1*
937 %defattr(644,root,root,755)
938 %attr(755,root,root) %{gitcoredir}/git-imap-send
939 %attr(755,root,root) %{gitcoredir}/git-send-email
941 %{_mandir}/man1/git-imap-send.1*
942 %{_mandir}/man1/git-send-email.1*
946 %defattr(644,root,root,755)
947 %attr(755,root,root) %{_bindir}/scalar
948 %attr(755,root,root) %{gitcoredir}/scalar
950 %{_mandir}/man1/scalar.1*
953 %files -n bash-completion-git
954 %defattr(644,root,root,755)
958 %defattr(644,root,root,755)
959 %{perl_vendorlib}/Git.pm
960 %dir %{perl_vendorlib}/Git
961 %{perl_vendorlib}/Git/I18N.pm
962 %{perl_vendorlib}/Git/IndexInfo.pm
963 %{perl_vendorlib}/Git/LoadCPAN.pm
964 %{perl_vendorlib}/Git/Packet.pm
965 %dir %{perl_vendorlib}/Git/LoadCPAN
966 %{perl_vendorlib}/Git/LoadCPAN/Error.pm
967 %dir %{perl_vendorlib}/Git/LoadCPAN/Mail
968 %{perl_vendorlib}/Git/LoadCPAN/Mail/Address.pm
969 %{?with_doc:%{_mandir}/man3/Git.3pm*}
971 %if %{with gnome_keyring}
972 %files -n gnome-keyring-git-core
973 %defattr(644,root,root,755)
974 %attr(755,root,root) %{gitcoredir}/git-credential-gnome-keyring
977 %if %{with libsecret}
978 %files credential-libsecret
979 %defattr(644,root,root,755)
980 %attr(755,root,root) %{gitcoredir}/git-credential-libsecret
983 %files -n zsh-completion-git
984 %defattr(644,root,root,755)