up to 2.33.0
[packages/git-core.git] / git-core.spec
CommitLineData
84013e7c 1#
891d0b05 2# Conditional build:
20b80b37
JB
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)
0643d0ea 7%bcond_without pcre # perl-compatible regexes support
20b80b37
JB
8%bcond_without gnome_keyring # gnome keyring credentials support
9%bcond_without libsecret # libsecret credentials support
10%bcond_without tk # Tcl/Tk interface
cdeb0400 11
7ad420b5
ER
12# for AC: --without doc --without gnome_keyring --without tests
13
479de23d
AM
14Summary: Distributed version control system focused on speed, effectivity and usability
15Summary(pl.UTF-8): Rozproszony system śledzenia treści skupiony na szybkości, wydajności i użyteczności
51c3b977 16Name: git-core
165eb13c 17Version: 2.33.0
82b6bcfb 18Release: 1
51c3b977 19License: GPL v2
20Group: Development/Tools
eee65439 21Source0: https://www.kernel.org/pub/software/scm/git/git-%{version}.tar.xz
165eb13c 22# Source0-md5: 0990ff97af1511be0d9f0d3223dd4359
be2ccf99 23Source1: %{name}-gitweb.conf
814a047c 24Source2: %{name}-gitweb-httpd.conf
51ce768a
KK
25Source3: %{name}-gitweb-lighttpd.conf
26Source4: %{name}.sysconfig
27Source5: %{name}.inet
28Source6: %{name}.init
642ee6ff 29Source7: gitolite.pl
0aa13f22
JP
30Patch0: %{name}-key-bindings.patch
31Patch1: %{name}-sysconfdir.patch
32Patch2: cherry-picked-commitlog.patch
e699dd89 33URL: http://git-scm.com/
fdf2ed38 34BuildRequires: autoconf >= 2.59
11856720 35BuildRequires: automake
51c3b977 36BuildRequires: curl-devel
115484e9 37BuildRequires: expat-devel
2ece97c6
ER
38%if "%{pld_release}" == "ac"
39BuildRequires: gettext-devel
40%else
25a92afd 41BuildRequires: gettext-tools
2ece97c6 42%endif
20b80b37
JB
43%if %{with gnome_keyring} || %{with libsecret}
44BuildRequires: glib2-devel >= 2.0
45%endif
cecb5b67
KK
46%if %{with gnome_keyring}
47BuildRequires: libgnome-keyring-devel
20b80b37
JB
48%endif
49%if %{with libsecret}
50BuildRequires: libsecret-devel
cecb5b67 51%endif
51c3b977 52BuildRequires: openssl-devel
d5e39597 53%{?with_pcre:BuildRequires: pcre2-8-devel}
0f1e5795 54BuildRequires: perl-Error > 0.15
561578e1 55BuildRequires: perl-MailTools
51c3b977 56BuildRequires: perl-base
20b80b37
JB
57%if %{with gnome_keyring} || %{with libsecret}
58BuildRequires: pkgconfig
59%endif
db444c11 60BuildRequires: python-devel
89a476f8 61BuildRequires: rpm-perlprov >= 4.1-13
c841a4fc 62BuildRequires: rpm-pythonprov
760a71de 63BuildRequires: rpmbuild(macros) >= 1.752
8754353c 64BuildRequires: tar >= 1:1.22
7d9cd7eb 65%if %{with tk}
1db22c36
JB
66# wish
67BuildRequires: tk
8754353c 68BuildRequires: xz
7d9cd7eb 69%endif
51c3b977 70BuildRequires: zlib-devel
08cc92d7
ER
71%if %{with doc}
72BuildRequires: asciidoc >= 7.1.2-3
c841a4fc 73BuildRequires: docbook-dtd45-xml
08cc92d7
ER
74BuildRequires: xmlto
75%endif
2c50f007 76%if %{with tests}
e460872a
JB
77BuildRequires: perl-CGI
78BuildRequires: perl-Digest-MD5
79BuildRequires: perl-Encode
80BuildRequires: perl-Time-HiRes
db032591 81%if %{with tests_cvs}
dfed7e92 82# tests failed sometimes when using nserver/cvsnt client so enforce pure cvs here
3554b1a3 83BuildRequires: cvs-gnu-client < 1.13
2c0376c9 84BuildRequires: cvs-gnu-client >= 1.12
db032591 85%endif
ef4eeb6d
KK
86%if %{with tests_svn}
87BuildRequires: perl-subversion
88BuildRequires: subversion
89%endif
1b3085ff 90Conflicts: pdksh < 5.2.14-46
2c50f007 91%endif
23c8c456 92# git-sh-setup: sane_grep
3f245fc5 93Requires: grep
23c8c456
ER
94# git-pull: printf
95Requires: coreutils
3f245fc5 96Requires: sed
0d2db069 97Suggests: git-core-bzr
26361b03 98Suggests: git-core-cvs
0d2db069
ER
99Suggests: git-core-hg
100Suggests: git-core-p4
26361b03 101Suggests: git-core-svn
d82521ea 102Suggests: less
9e9faf95 103Suggests: openssh-clients
e7120917 104Suggests: perl-Git = %{version}-%{release}
d82521ea 105Suggests: rsync
22105a2f 106Obsoletes: git-core-gitview
a77c0aad 107Obsoletes: python-Git
f4018182 108Conflicts: perl-Git < %{version}
51c3b977 109BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
110
19936745
AM
111# html docs have links to txt files
112%define _noautocompressdoc *.txt
113
e7120917 114# do not generate perl dependency, git add -p support is optional
27399cc4
ER
115# skip dependency generation from templates
116%define _noautoreqfiles %{_libexecdir}/%{name}/git-add--interactive %{_datadir}/%{name}/templates
e7120917 117
be2ccf99
AG
118%define webapp gitweb
119%define webappdir %{_sysconfdir}/webapps/%{webapp}
120%define appdir %{_datadir}/%{webapp}
121%define cgibindir %{_prefix}/lib/cgi-bin
ee14b8db 122%define gitcoredir %{_libexecdir}/%{name}
be2ccf99 123
51c3b977 124%description
125"git" can mean anything, depending on your mood.
126
d52424f5 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
131 dictionary of slang.
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
51c3b977 135
c751087d 136This is a stupid (but extremely fast) directory content manager. It
51c3b977 137doesn't do a whole lot, but what it 'does' do is track directory
138contents efficiently.
139
ea061c99
JR
140%description -l pl.UTF-8
141"git" może oznaczać cokolwiek, w zależności od nastroju.
142
d52424f5 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.
ea061c99
JR
152
153Jest to prymitywny (ale bardzo szybki) zarządca treści słownikowej.
154Nie robi wiele, ale to, co "robi", to wydajne śledzenie zawartości
c751087d
JB
155katalogu.
156
a8655d02
ER
157%package doc
158Summary: Documentation for git-core
159Summary(pl.UTF-8): Dokumentacja do git-core
160Group: Documentation
f0d8046b 161BuildArch: noarch
a8655d02
ER
162
163%description doc
164Documentation for git-core.
165
166%description doc -l pl.UTF-8
167Dokumentacja do git-core.
168
b11ada2c
AG
169%package daemon-inetd
170Summary: Files necessary to run git-daemon as an inetd service
5db07614 171Summary(pl.UTF-8): Pliki niezbędne do uruchomienia git-daemona w trybie usługi inetd
b11ada2c
AG
172Group: Networking/Daemons
173Requires: %{name} = %{version}-%{release}
174Requires: setup >= 2.4.11-1
175Provides: git-core-daemon
176Obsoletes: git-core-daemon
177Obsoletes: git-core-daemon-standalone
178
179%description daemon-inetd
180Git-daemon is a really simple TCP git daemon that can serve git
181repositories. This package provides all necessarry files to run
182git-daemon as an inetd service.
183
184%description daemon-inetd -l pl.UTF-8
5db07614
JB
185Git-daemon to prosty demon git korzystający z protokołu TCP do
186udostępniania repozytoriów git. Ten pakiet dostarcza pliki potrzebne
187do uruchomienia git-demona w trybie usługi inetd.
b11ada2c
AG
188
189%package daemon-standalone
190Summary: Files necessary to run git-daemon as a standalone service
5db07614 191Summary(pl.UTF-8): Pliki niezbędne do uruchomienia git-daemona w trybie usługi samodzielnej
b11ada2c
AG
192Group: Networking/Daemons
193Requires: %{name} = %{version}-%{release}
194Provides: git-core-daemon
195Obsoletes: git-core-daemon
196Obsoletes: git-core-daemon-inetd
197
198%description daemon-standalone
199Git-daemon is a really simple TCP git daemon that can serve git
200repositories. This package provides all necessarry files to run
201git-daemon as an standalone service.
202
203%description daemon-standalone -l pl.UTF-8
5db07614
JB
204Git-daemon to prosty demon git korzystający z protokołu TCP do
205udostępniania repozytoriów git. Ten pakiet dostarcza pliki potrzebne
206do uruchomienia git-daemona w trybie usługi samodzielnej.
b11ada2c 207
e3cefa79 208%package devel
8bed7625
JB
209Summary: Git library with header files
210Summary(pl.UTF-8): Biblioteka Gita oraz pliki nagłówkowe
66a7f095 211Group: Development/Libraries
d52424f5 212Requires: zlib-devel
e3cefa79 213
214%description devel
8bed7625 215Git library with header files.
66a7f095 216
ea061c99 217%description devel -l pl.UTF-8
8bed7625 218Biblioteka Gita oraz pliki nagłówkowe.
e3cefa79 219
91396e2e
AG
220%package gitk
221Summary: Tcl/Tk interface to the Git version control system
222Summary(pl.UTF-8): Napisany w Tcl/Tk interfejs do systemu kontroli wersji Git
223Group: Development/Tools
224Requires: %{name} = %{version}-%{release}
225Requires: tk
f0d8046b 226BuildArch: noarch
91396e2e
AG
227
228%description gitk
1fcd08a6
JB
229gitk displays changes in a repository or a selected set of commits.
230This includes visualizing the commit graph, showing information
231related to each commit, and the files in the trees of each revision.
91396e2e
AG
232
233Historically, gitk was the first repository browser. It's written in
04fdf912 234Tcl/Tk and started off in a separate repository but was later merged
91396e2e
AG
235into the main git repository.
236
237%description gitk -l pl.UTF-8
1fcd08a6
JB
238gitk wyświetla zmiany w repozytorium lub wybranym zbiorze commitów.
239Oznacza to wizualizację grafu commitów, wyświetlanie informacji
240związanych z każdym z commitów oraz listę plików dla każdej rewizji.
91396e2e 241
1fcd08a6 242Z historycznego punktu widzenia gitk był pierwszą przeglądarką
02059138
ER
243repozytorium git. Napisany jest w Tcl/Tk i początkowo był rozwijany w
244osobnym repozytorium, ale z czasem został włączony do głównego
2712fe7b 245repozytorium gita.
91396e2e 246
be2ccf99
AG
247%package gitweb
248Summary: Web frontend to git
41b5f4b1 249Summary(pl.UTF-8): Frontend WWW do gita
be2ccf99
AG
250Group: Development/Tools
251Requires: %{name} = %{version}-%{release}
252Requires: webapps
666cda7c 253Requires: webserver(access)
51ce768a
KK
254Requires: webserver(alias)
255Requires: webserver(cgi)
93a30d5e 256Suggests: webserver(setenv)
be2ccf99
AG
257
258%description gitweb
259This package provides a web interface for browsing git repositories.
260
261%description gitweb -l pl.UTF-8
2712fe7b 262Pakiet ten dostarcza interfejs WWW do przeglądania repozytoriów gita.
be2ccf99 263
f9871074
AG
264%package gui
265Summary: Tcl/Tk interface to the Git version control system
266Summary(pl.UTF-8): Napisany w Tcl/Tk interfejs do systemu kontroli wersji Git
267Group: Development/Tools
268Requires: %{name} = %{version}-%{release}
269Requires: tk
d4106757 270Requires: xdg-utils
531b434f 271Suggests: meld
f9871074
AG
272
273%description gui
274Displays changes in a repository or a selected set of commits. This
275includes visualizing the commit graph, showing information related to
276each commit, and the files in the trees of each revision.
277
278Historically, gitk was the first repository browser. It's written in
279Tcl/Tk and started off in a separate repository but was later merged
280into the main git repository.
281
282%description gui -l pl.UTF-8
283Wyświetla zmiany w repozytorium lub wybranym zbiorze commitów. Oznacza
284to wizualizację grafu commitów, wyświetlanie informacji związanych z
285każdym z commitów oraz listę plików dla każdej rewizji.
286
287Z punktu widzenia historii, gitk był pierwszą przeglądarką
288repozytorium git. Napisany jest w Tcl/Tk i początkowo był rozwijany w
289osobnym repozytorium, ale z czasem został włączony do głównego
290repozytorium gita.
291
e5fa8af5
JB
292%package arch
293Summary: Git tools for importing Arch repositories
294Summary(pl.UTF-8): Narzędzia Gita do importowania repozytoriów Archa
295Group: Development/Tools
296Requires: %{name} = %{version}-%{release}
297Requires: tla
298
299%description arch
300Git tools for importing Arch repositories.
301
302%description arch -l pl.UTF-8
303Narzędzia Gita do importowania repozytoriów Archa.
304
0d2db069
ER
305%package bzr
306Summary: Git tools for working with bzr repositories
e5fa8af5 307Summary(pl.UTF-8): Narzędzia Gita do pracy z repozytoriami bzr
0d2db069
ER
308Group: Development/Tools
309Requires: %{name} = %{version}-%{release}
310Requires: bzr
311
312%description bzr
313Git tools for working with bzr repositories.
314
e5fa8af5
JB
315%description bzr -l pl.UTF-8
316Narzędzia Gita do pracy z repozytoriami bzr.
317
318%package cvs
319Summary: CVS support for Git
320Summary(pl.UTF-8): Obsługa CVS dla Gita
321Group: Development/Tools
322Requires: %{name} = %{version}-%{release}
323Requires: cvsps >= 2.1-2
324Requires: rcs
325
326%description cvs
327CVS support for Git.
328
329%description cvs -l pl.UTF-8
330Obsługa CVS dla Gita.
331
0d2db069
ER
332%package hg
333Summary: Git tools for working with mercurial repositories
e5fa8af5 334Summary(pl.UTF-8): Narzędzia Gita do pracy z repozytoriami mercuriala
0d2db069
ER
335Group: Development/Tools
336Requires: %{name} = %{version}-%{release}
337Requires: mercurial >= 1.8
338
339%description hg
340Git tools for working with mercurial repositories.
341
e5fa8af5
JB
342%description hg -l pl.UTF-8
343Narzędzia Gita do pracy z repozytoriami mercuriala.
344
0d2db069
ER
345%package p4
346Summary: Git tools for working with Perforce depots
e5fa8af5 347Summary(pl.UTF-8): Narzędzia Gita do pracy z magazynami Perforce'a
0d2db069
ER
348Group: Development/Tools
349Requires: %{name} = %{version}-%{release}
350
351%description p4
352Git tools for working with Perforce depots.
353
e5fa8af5
JB
354%description p4 -l pl.UTF-8
355Narzędzia Gita do pracy z magazynami Perforce'a.
356
2c0376c9
AM
357%package svn
358Summary: Subversion support for Git
41b5f4b1 359Summary(pl.UTF-8): Obsługa Subversion dla Gita
2c0376c9
AM
360Group: Development/Tools
361Requires: %{name} = %{version}-%{release}
daccfb39 362Requires: perl-Encode
4ea37765 363Requires: perl-Term-ReadKey
2c0376c9
AM
364
365%description svn
366Subversion support for Git.
367
368%description svn -l pl.UTF-8
41b5f4b1 369Obsługa Subversion dla Gita.
2c0376c9 370
d82521ea
ER
371%package email
372Summary: Git tools for sending email
41b5f4b1 373Summary(pl.UTF-8): Narzędzia Gita do wysyłania poczty
d82521ea
ER
374Group: Development/Tools
375Requires: %{name} = %{version}-%{release}
561578e1
JP
376Requires: perl-Error
377Requires: perl-MailTools
77b23c69 378Suggests: perl-Net-SMTP-SSL
d82521ea
ER
379
380%description email
381Git tools for sending email.
382
41b5f4b1
JB
383%description email -l pl.UTF-8
384Narzędzia Gita do wysyłania poczty.
385
f2c1983d
AG
386%package -n bash-completion-git
387Summary: bash-completion for git
2712fe7b 388Summary(pl.UTF-8): bashowe uzupełnianie nazw dla gita
02059138 389Group: Applications/Shells
cdeb0400 390Requires: %{name} = %{version}-%{release}
3102984c 391Requires: bash-completion >= 2.0
f0d8046b 392BuildArch: noarch
f2c1983d
AG
393
394%description -n bash-completion-git
395This package provides bash-completion for git.
396
397%description -n bash-completion-git -l pl.UTF-8
5383e3af 398Pakiet ten dostarcza bashowe uzupełnianie nazw dla gita.
f2c1983d 399
3dc01deb 400%package -n perl-Git
5d7220ad 401Summary: Perl interface to the Git version control system
3f8032f4 402Summary(pl.UTF-8): Perlowy interfejs do systemu kontroli wersji Git
5d7220ad 403Group: Development/Languages/Perl
6f4be518 404Requires: perl-Error
27b79a12 405Obsoletes: perl-git-core
f0d8046b 406BuildArch: noarch
5d7220ad 407
3dc01deb 408%description -n perl-Git
5d7220ad
AM
409This module provides Perl scripts easy way to interface the Git
410version control system. The modules have an easy and well-tested way
411to call arbitrary Git commands; in the future, the interface will also
412provide specialized methods for doing easily operations which are not
413totally trivial to do over the generic command interface.
414
ea061c99
JR
415%description -n perl-Git -l pl.UTF-8
416Ten moduł umożliwia skryptom Perla współpracę z systemem kontroli
08cc92d7
ER
417wersji Git. W łatwy i dobrze przetestowany sposób pozwala wywoływać
418dowolne polecenia Gita; w przyszłości interfejs udostępni także
419specjalne metody do łatwego wykonywania operacji nietrywialnych do
420wykonania przy użyciu ogólnego interfejsu poleceń.
7eef96e1 421
0643d0ea
ER
422%package -n gnome-keyring-git-core
423Summary: GNOME Keyring authentication provider for Git
20b80b37 424Summary(pl.UTF-8): Moduł uwierzytelniający GNOME Keyring dla Gita
0643d0ea 425Group: X11/Applications
25c1ae0c 426URL: http://git-scm.com/docs/gitcredentials.html
0643d0ea
ER
427Requires: %{name} = %{version}-%{release}
428
429%description -n gnome-keyring-git-core
430Authentication provider module for Git which allows git client to
431authenticate using GNOME Keyring.
432
25c1ae0c 433You need to register it with:
a4e33b57 434- git config --global credential.helper gnome-keyring
25c1ae0c 435
0643d0ea 436%description -n gnome-keyring-git-core -l pl.UTF-8
20b80b37 437Moduł uwierzytelniający dla Gita pozwalający klientom git
0643d0ea
ER
438uwierzytelniać się przy użyciu mechanizmu GNOME Keyring.
439
50e442d4 440Moduł trzeba zarejestrować poleceniem:
a4e33b57 441- git config --global credential.helper gnome-keyring
50e442d4 442
20b80b37
JB
443%package credential-libsecret
444Summary: GNOME authentication provider for Git using libsecret
445Summary(pl.UTF-8): Moduł uwierzytelniający GNOME dla Gita wykorzystujący libsecret
446Group: X11/Applications
447URL: http://git-scm.com/docs/gitcredentials.html
448Requires: %{name} = %{version}-%{release}
449
450%description credential-libsecret
451Authentication provider module for Git which allows git client to
452authenticate using GNOME libsecret.
453
454You need to register it with:
455- git config --global credential.helper libsecret
456
457%description credential-libsecret -l pl.UTF-8
458Moduł uwierzytelniający dla Gita pozwalający klientom git
459uwierzytelniać się przy użyciu mechanizmu GNOME libsecret.
460
461Moduł trzeba zarejestrować poleceniem:
462- git config --global credential.helper libsecret
463
d500b766
JP
464%package -n zsh-completion-git
465Summary: Zsh completion for git command
466Summary(pl.UTF-8): Dopełnianie parametrów komendy git dla powłoki zsh
467Group: Applications/Shells
468Requires: %{name} = %{version}-%{release}
469Requires: bash-completion-git = %{version}-%{release}
470Requires: zsh
471BuildArch: noarch
472
473%description -n zsh-completion-git
474Zsh completion for git command.
475
476%description -n zsh-completion-git -l pl.UTF-8
477Dopełnianie parametrów komendy git dla powłoki zsh.
478
51c3b977 479%prep
5013f7fc 480%setup -q -n git-%{version}
0aa13f22
JP
481%patch0 -p0
482%patch1 -p1
d12d8532 483%patch2 -p1
a1036d06 484
797bc583 485%{__rm} {Documentation/technical,contrib/credential/gnome-keyring}/.gitignore
0643d0ea 486
ab67970b
AM
487# we build things in contrib but want to have it clean for doc purporses, too
488cp -a contrib contrib-doc
489
24b05456
JP
490%{__sed} -i -e '1s|#!/usr/bin/env python$|#!%{__python}|' git-p4.py
491
a1036d06 492%build
11856720
AM
493%{__aclocal}
494%{__autoconf}
495%configure \
d12d8532 496 --sysconfdir=%{_sysconfdir}/git-core \
d5e39597 497 %{?with_pcre:--with-libpcre2} \
11856720 498 --with-openssl
51c3b977 499
7cfee1ba
KK
500echo "BLK_SHA1=1" >> config.mak
501
b69112f7 502%{__make} \
be2ccf99
AG
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" \
f74aede9 507 GITWEB_FAVICON="/gitweb/git-favicon.png" \
6fa8665e
JP
508 NO_PERL_CPAN_FALLBACKS=1 \
509 perllibdir=%{perl_vendorlib} \
f74aede9 510 V=1
27b79a12 511
d1d05a7a
ER
512%{__make} -C contrib/subtree
513
0643d0ea 514%if %{with gnome_keyring}
20b80b37
JB
515%{__make} -C contrib/credential/gnome-keyring \
516 CC="%{__cc}" \
517 CFLAGS="%{rpmcflags} -Wall" \
518 LDFLAGS="%{rpmldflags}"
519%endif
520
521%if %{with libsecret}
522%{__make} -C contrib/credential/libsecret \
523 CC="%{__cc}" \
524 CFLAGS="%{rpmcflags} -Wall" \
525 LDFLAGS="%{rpmldflags}"
0643d0ea
ER
526%endif
527
83b9a8cd 528%if %{with doc}
6fa8665e 529%{__make} doc \
83b9a8cd
ER
530 MAN_BASE_URL=file://%{_docdir}/%{name}-doc-%{version}/ \
531 V=1
532%endif
7fdeb28c 533
db032591
AM
534%if %{with tests}
535%if %{without tests_cvs}
8bed7625 536%{__rm} t/t*cvs*.sh || :
db032591 537%endif
13b76b20
JP
538%if %{without tests_svn}
539GIT_SKIP_TESTS="$GIT_SKIP_TESTS t91??"
540%endif
541export GIT_SKIP_TESTS
017b037c
JB
542%{__make} test \
543 NO_PERL_CPAN_FALLBACKS=1
db032591 544%endif
6c0d6e05 545
51c3b977 546%install
547rm -rf $RPM_BUILD_ROOT
6fa8665e 548install -d $RPM_BUILD_ROOT{%{_includedir}/%{name}/xdiff,%{_libdir},%{_localstatedir}/lib/git}
be2ccf99 549install -d $RPM_BUILD_ROOT{%{appdir},%{cgibindir},%{webappdir}}
5db07614 550install -d $RPM_BUILD_ROOT/etc/{sysconfig/rc-inetd,rc.d/init.d}
cdeb0400 551install -d $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
d12d8532
KK
552cat << EOF > $RPM_BUILD_ROOT%{_sysconfdir}/git-core/gitconfig
553[init]
cdeb0400 554 templatedir = %{_sysconfdir}/%{name}/templates
d12d8532 555EOF
c751087d 556
51c3b977 557%{__make} install \
6fa8665e
JP
558 DESTDIR=$RPM_BUILD_ROOT \
559 NO_PERL_CPAN_FALLBACKS=1 \
560 perllibdir=%{perl_vendorlib}
51c3b977 561
08cc92d7 562%if %{with doc}
6fa8665e 563%{__make} install-doc \
7fdeb28c 564 DESTDIR=$RPM_BUILD_ROOT
08cc92d7 565%endif
7fdeb28c 566
d12d8532
KK
567# copy templates except sample hooks
568cp -a $RPM_BUILD_ROOT%{_datadir}/%{name}/templates $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
569%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/templates/hooks/*.sample
570
1f25da6d 571# header files and lib
cdeb0400 572cp -p *.h $RPM_BUILD_ROOT%{_includedir}/%{name}
31b26a50 573cp -a compat $RPM_BUILD_ROOT%{_includedir}/%{name}
cdeb0400 574cp -p xdiff/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/xdiff
95341e74
KK
575install -d $RPM_BUILD_ROOT%{_includedir}/%{name}/block-sha1
576cp -p block-sha1/sha1.h $RPM_BUILD_ROOT%{_includedir}/%{name}/block-sha1
cdeb0400
ER
577cp -p libgit.a $RPM_BUILD_ROOT%{_libdir}
578cp -p xdiff/lib.a $RPM_BUILD_ROOT%{_libdir}/libgit_xdiff.a
95341e74 579cp -p {Makefile,config.mak,config.mak.autogen,config.mak.uname} $RPM_BUILD_ROOT%{_includedir}/%{name}
e3cefa79 580
d1d05a7a 581%{__make} -C contrib/subtree install \
348dee00 582 libexecdir=%{gitcoredir} \
d1d05a7a
ER
583 DESTDIR=$RPM_BUILD_ROOT
584
585%if %{with doc}
e6bf5c7d 586%{__make} -C contrib/subtree install-man \
d1d05a7a
ER
587 DESTDIR=$RPM_BUILD_ROOT
588%endif
589
0643d0ea 590%if %{with gnome_keyring}
348dee00 591install -p contrib/credential/gnome-keyring/git-credential-gnome-keyring $RPM_BUILD_ROOT%{gitcoredir}
0643d0ea
ER
592%endif
593
20b80b37
JB
594%if %{with libsecret}
595install -p contrib/credential/libsecret/git-credential-libsecret $RPM_BUILD_ROOT%{gitcoredir}
596%endif
597
f2c1983d 598# bash completion
3102984c
ER
599install -d $RPM_BUILD_ROOT%{bash_compdir}
600cp -p contrib/completion/git-completion.bash $RPM_BUILD_ROOT%{bash_compdir}/git
d500b766
JP
601install -d $RPM_BUILD_ROOT%{zsh_compdir}
602cp -p contrib/completion/git-completion.zsh $RPM_BUILD_ROOT%{zsh_compdir}/_git
603sed -i -e "1 a zstyle ':completion:*:*:git:*' script %{bash_compdir}/git" $RPM_BUILD_ROOT%{zsh_compdir}/_git
f2c1983d 604
b0d443ea
ER
605# Install git-prompt.sh
606install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/completion
607cp -p contrib/completion/git-prompt.sh $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/completion
608
0d2db069 609# Install bzr and hg remote helpers from contrib
348dee00 610install -p contrib/remote-helpers/git-remote-{bzr,hg} $RPM_BUILD_ROOT%{gitcoredir}
0d2db069 611
be2ccf99 612# gitweb
20b80b37 613%{__mv} $RPM_BUILD_ROOT{%{appdir},%{cgibindir}}/gitweb.cgi
93a30d5e 614ln -s %{cgibindir}/gitweb.cgi $RPM_BUILD_ROOT%{appdir}/gitweb.cgi
cdeb0400 615cp -p %{SOURCE1} $RPM_BUILD_ROOT%{webappdir}/gitweb.conf
642ee6ff 616cp -p %{SOURCE7} $RPM_BUILD_ROOT%{webappdir}/gitolite.pl
cdeb0400 617cp -p %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/apache.conf
814a047c 618cp -p %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/httpd.conf
cdeb0400 619cp -p %{SOURCE3} $RPM_BUILD_ROOT%{webappdir}/lighttpd.conf
be2ccf99 620
b11ada2c 621# git-daemon related files
e43aceaa
ER
622cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/git-daemon
623cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
51ce768a 624install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
b11ada2c 625
bf7a9a54 626# paths cleanup
6743dd7e
ER
627sed -e 's,@libdir@/git-core,%{gitcoredir},g' -i $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
628sed -e 's,@libdir@/git-core,%{gitcoredir},g' -i $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
bf7a9a54 629
698b79f9
ER
630# same file, link
631ln -sf git $RPM_BUILD_ROOT%{_bindir}/git-receive-pack
632ln -sf git $RPM_BUILD_ROOT%{_bindir}/git-upload-archive
6aec1d92
ER
633ln -sf ../..%{gitcoredir}/git-shell $RPM_BUILD_ROOT%{_bindir}/git-shell
634ln -sf ../..%{gitcoredir}/git-upload-pack $RPM_BUILD_ROOT%{_bindir}/git-upload-pack
635ln -sf ../..%{gitcoredir}/git $RPM_BUILD_ROOT%{_bindir}/git
698b79f9
ER
636
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
640find $RPM_BUILD_ROOT%{gitcoredir} -samefile $RPM_BUILD_ROOT%{gitcoredir}/git > files
641for 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
645done
646
647# few others
648ln -snf git-gui $RPM_BUILD_ROOT%{gitcoredir}/git-citool
649ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-https
650ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-ftp
651ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-ftps
4e9fd7a9 652
be2ccf99 653# remove unneeded files
44ee5525 654%py_postclean
27b79a12 655
20b80b37 656%{__mv} $RPM_BUILD_ROOT%{_localedir}/pt{_PT,}
fdf2ed38
JB
657%find_lang git
658
51c3b977 659%clean
660rm -rf $RPM_BUILD_ROOT
661
21f26c1e
JP
662%post
663if [ ! -f /etc/shells ]; then
664 echo "%{_bindir}/git-shell" >> /etc/shells
665else
666 grep -q '^%{_bindir}/git-shell$' /etc/shells || echo "%{_bindir}/git-shell" >> /etc/shells
667fi
668
669%preun
670if [ "$1" = "0" ]; then
671 umask 022
672 grep -v '^%{_bindir}/git-shell$' /etc/shells > /etc/shells.new
673 mv -f /etc/shells.new /etc/shells
674fi
675
b11ada2c
AG
676%post daemon-inetd
677%service -q rc-inetd reload
678
679%postun daemon-inetd
680if [ "$1" = "0" ]; then
681 %service -q rc-inetd reload
682fi
683
684%post daemon-standalone
685/sbin/chkconfig --add git-daemon
686%service git-daemon restart "git-daemon"
687
688%preun daemon-standalone
689if [ "$1" = "0" ]; then
690 %service git-daemon stop
691 /sbin/chkconfig --del git-daemon
692fi
693
be2ccf99
AG
694%triggerin gitweb -- apache1 < 1.3.37-3, apache1-base
695%webapp_register apache %{webapp}
696
697%triggerun gitweb -- apache1 < 1.3.37-3, apache1-base
698%webapp_unregister apache %{webapp}
699
814a047c 700%triggerin gitweb -- apache < 2.2.0, apache-base
be2ccf99
AG
701%webapp_register httpd %{webapp}
702
814a047c 703%triggerun gitweb -- apache < 2.2.0, apache-base
be2ccf99
AG
704%webapp_unregister httpd %{webapp}
705
51ce768a
KK
706%triggerin gitweb -- lighttpd
707%webapp_register lighttpd %{webapp}
708
709%triggerun gitweb -- lighttpd
710%webapp_unregister lighttpd %{webapp}
711
fdf2ed38 712%files -f git.lang
51c3b977 713%defattr(644,root,root,755)
a824ba4f 714%doc README.md contrib-doc
a8655d02 715%attr(755,root,root) %{_bindir}/git
44ee5525
ER
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
cdeb0400 720%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}
a8655d02 721
08cc92d7 722%if %{with doc}
0afd37aa 723%{_mandir}/man1/git-*.1*
dbde9893 724%exclude %{_mandir}/man1/git-archimport.1*
2c0376c9
AM
725%exclude %{_mandir}/man1/git-svn.1*
726%exclude %{_mandir}/man1/git-cvs*.1*
cfe5bf90
JB
727%exclude %{_mandir}/man1/git-imap-send.1*
728%exclude %{_mandir}/man1/git-p4.1*
729%exclude %{_mandir}/man1/git-send-email.1*
a48d28b8 730%{_mandir}/man1/git.1*
0afd37aa 731%{_mandir}/man5/gitattributes.5*
a48d28b8 732%{_mandir}/man5/githooks.5*
0afd37aa 733%{_mandir}/man5/gitignore.5*
eee65439 734%{_mandir}/man5/gitmailmap.5*
785b167d 735%{_mandir}/man5/gitmodules.5*
a48d28b8
AG
736%{_mandir}/man5/gitrepository-layout.5*
737%{_mandir}/man7/gitcli.7*
738%{_mandir}/man7/gitcore-tutorial.7*
fdf2ed38 739%{_mandir}/man7/gitcredentials.7*
a48d28b8 740%{_mandir}/man7/gitdiffcore.7*
ab67970b 741%{_mandir}/man7/giteveryday.7*
f07f1df6 742%{_mandir}/man7/gitfaq.7*
a48d28b8 743%{_mandir}/man7/gitglossary.7*
60b58680 744%{_mandir}/man7/gitnamespaces.7*
dab2f9ca 745%{_mandir}/man7/gitremote-helpers.7*
f16e8911 746%{_mandir}/man7/gitrevisions.7*
d5e39597 747%{_mandir}/man7/gitsubmodules.7*
a48d28b8
AG
748%{_mandir}/man7/gittutorial-2.7*
749%{_mandir}/man7/gittutorial.7*
670fe4d6 750%{_mandir}/man7/gitworkflows.7*
08cc92d7 751%endif
a8655d02 752
348dee00
ER
753%dir %{gitcoredir}
754%attr(755,root,root) %{gitcoredir}/*-*
755%attr(755,root,root) %{gitcoredir}/git
756%dir %{gitcoredir}/mergetools
757%{gitcoredir}/mergetools/*
a8655d02 758
0d2db069
ER
759%{_datadir}/%{name}
760%{_localstatedir}/lib/git
761
762# subpackages
348dee00
ER
763%exclude %{gitcoredir}/*email*
764%exclude %{gitcoredir}/*p4*
765%exclude %{gitcoredir}/git-archimport
6fbf4942 766%exclude %{gitcoredir}/git-citool
348dee00
ER
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
348dee00
ER
773%exclude %{gitcoredir}/git-svn
774%exclude %{gitcoredir}/mergetools/p4merge
f295f80f 775%if %{with gnome_keyring}
348dee00 776%exclude %{gitcoredir}/git-credential-gnome-keyring
f295f80f 777%endif
20b80b37
JB
778%if %{with libsecret}
779%exclude %{gitcoredir}/git-credential-libsecret
780%endif
e3cefa79 781
a8655d02
ER
782%if %{with doc}
783%files doc
778b89a7 784%defattr(644,root,root,755)
a8655d02
ER
785%doc Documentation/RelNotes*
786%doc Documentation/*.html Documentation/howto Documentation/technical
787%endif
788
b11ada2c
AG
789%files daemon-inetd
790%defattr(644,root,root,755)
791%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/git-daemon
792
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
797
e3cefa79 798%files devel
3ff86e9e 799%defattr(644,root,root,755)
cdeb0400 800%{_includedir}/%{name}
5db07614 801%{_libdir}/libgit.a
eaf5c40c 802%{_libdir}/libgit_xdiff.a
5d7220ad 803
7d9cd7eb 804%if %{with tk}
91396e2e
AG
805%files gitk
806%defattr(644,root,root,755)
08cc92d7 807%if %{with doc}
91396e2e 808%{_mandir}/man1/gitk.1*
08cc92d7
ER
809%endif
810%attr(755,root,root) %{_bindir}/gitk
9fa88d97
AM
811%dir %{_datadir}/gitk
812%dir %{_datadir}/gitk/lib
813%dir %{_datadir}/gitk/lib/msgs
5d132744 814%lang(bg) %{_datadir}/gitk/lib/msgs/bg.msg
6cc57eea 815%lang(ca) %{_datadir}/gitk/lib/msgs/ca.msg
3b243bbe 816%lang(de) %{_datadir}/gitk/lib/msgs/de.msg
f9871074 817%lang(es) %{_datadir}/gitk/lib/msgs/es.msg
778b89a7
AM
818%lang(fr) %{_datadir}/gitk/lib/msgs/fr.msg
819%lang(hu) %{_datadir}/gitk/lib/msgs/hu.msg
3b243bbe 820%lang(it) %{_datadir}/gitk/lib/msgs/it.msg
469258c9 821%lang(ja) %{_datadir}/gitk/lib/msgs/ja.msg
3ed82b68 822%lang(pt_BR) %{_datadir}/gitk/lib/msgs/pt_br.msg
22105a2f 823%lang(pt_PT) %{_datadir}/gitk/lib/msgs/pt_pt.msg
95998f97 824%lang(ru) %{_datadir}/gitk/lib/msgs/ru.msg
f9871074 825%lang(sv) %{_datadir}/gitk/lib/msgs/sv.msg
1adc1f85 826%lang(vi) %{_datadir}/gitk/lib/msgs/vi.msg
6a0ecca2 827%lang(zh_CN) %{_datadir}/gitk/lib/msgs/zh_cn.msg
7d9cd7eb 828%endif
91396e2e 829
be2ccf99
AG
830%files gitweb
831%defattr(644,root,root,755)
832%doc gitweb/{README,INSTALL}
833%dir %{webappdir}
be2ccf99
AG
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
51ce768a 836%config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/lighttpd.conf
642ee6ff 837%config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitweb.conf
9611d914 838%config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitolite.pl
be2ccf99
AG
839%attr(755,root,root) %{cgibindir}/gitweb.cgi
840%{appdir}
348dee00 841%attr(755,root,root) %{gitcoredir}/git-instaweb
93a30d5e 842%if %{with doc}
0c582eb3
AM
843%{_mandir}/man1/gitweb.1*
844%{_mandir}/man5/gitweb.conf.5*
93a30d5e 845%endif
be2ccf99 846
7d9cd7eb 847%if %{with tk}
f9871074
AG
848%files gui
849%defattr(644,root,root,755)
6fbf4942 850%attr(755,root,root) %{gitcoredir}/git-citool
348dee00 851%attr(755,root,root) %{gitcoredir}/git-gui
f9871074
AG
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
5d132744 859%lang(bg) %{_datadir}/git-gui/lib/msgs/bg.msg
f9871074 860%lang(de) %{_datadir}/git-gui/lib/msgs/de.msg
469258c9 861%lang(el) %{_datadir}/git-gui/lib/msgs/el.msg
f9871074
AG
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
670fe4d6 866%lang(nb) %{_datadir}/git-gui/lib/msgs/nb.msg
345fc12f 867%lang(pt) %{_datadir}/git-gui/lib/msgs/pt_pt.msg
10343d09 868%lang(pt_BR) %{_datadir}/git-gui/lib/msgs/pt_br.msg
f9871074
AG
869%lang(ru) %{_datadir}/git-gui/lib/msgs/ru.msg
870%lang(sv) %{_datadir}/git-gui/lib/msgs/sv.msg
6cc57eea 871%lang(vi) %{_datadir}/git-gui/lib/msgs/vi.msg
35cbc54f 872%lang(zh_CN) %{_datadir}/git-gui/lib/msgs/zh_cn.msg
7d9cd7eb 873%endif
f9871074 874
e5fa8af5
JB
875%files arch
876%defattr(644,root,root,755)
348dee00 877%attr(755,root,root) %{gitcoredir}/git-archimport
e5fa8af5
JB
878%if %{with doc}
879%{_mandir}/man1/git-archimport.1*
880%endif
881
0d2db069
ER
882%files bzr
883%defattr(644,root,root,755)
348dee00 884%attr(755,root,root) %{gitcoredir}/git-remote-bzr
0d2db069 885
e5fa8af5
JB
886%files cvs
887%defattr(644,root,root,755)
888%attr(755,root,root) %{_bindir}/git-cvsserver
348dee00 889%attr(755,root,root) %{gitcoredir}/git-cvs*
e5fa8af5
JB
890%if %{with doc}
891%{_mandir}/man1/git-cvs*.1*
892%{_mandir}/man7/gitcvs-migration.7*
893%endif
894
0d2db069
ER
895%files hg
896%defattr(644,root,root,755)
348dee00 897%attr(755,root,root) %{gitcoredir}/git-remote-hg
0d2db069
ER
898
899%files p4
900%defattr(644,root,root,755)
348dee00
ER
901%attr(755,root,root) %{gitcoredir}/git-p4
902%attr(755,root,root) %{gitcoredir}/mergetools/p4merge
cfe5bf90
JB
903%if %{with doc}
904%{_mandir}/man1/git-p4.1*
905%endif
0d2db069 906
2c0376c9
AM
907%files svn
908%defattr(644,root,root,755)
348dee00 909%attr(755,root,root) %{gitcoredir}/git-svn
b5884c73 910%{perl_vendorlib}/Git/SVN
bbceff2c 911%{perl_vendorlib}/Git/SVN.pm
2c0376c9
AM
912%if %{with doc}
913%{_mandir}/man1/git-svn.1*
914%endif
915
d82521ea
ER
916%files email
917%defattr(644,root,root,755)
348dee00 918%attr(755,root,root) %{gitcoredir}/git-imap-send
cfe5bf90 919%attr(755,root,root) %{gitcoredir}/git-send-email
d82521ea 920%if %{with doc}
cfe5bf90
JB
921%{_mandir}/man1/git-imap-send.1*
922%{_mandir}/man1/git-send-email.1*
d82521ea
ER
923%endif
924
f2c1983d
AG
925%files -n bash-completion-git
926%defattr(644,root,root,755)
3102984c 927%{bash_compdir}/git
f2c1983d 928
3dc01deb 929%files -n perl-Git
5d7220ad 930%defattr(644,root,root,755)
3dc01deb 931%{perl_vendorlib}/Git.pm
b5884c73
KK
932%dir %{perl_vendorlib}/Git
933%{perl_vendorlib}/Git/I18N.pm
bbceff2c 934%{perl_vendorlib}/Git/IndexInfo.pm
6fa8665e 935%{perl_vendorlib}/Git/LoadCPAN.pm
499c2b98 936%{perl_vendorlib}/Git/Packet.pm
6fa8665e
JP
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
233261d9 941%{?with_doc:%{_mandir}/man3/Git.3pm*}
0643d0ea
ER
942
943%if %{with gnome_keyring}
944%files -n gnome-keyring-git-core
945%defattr(644,root,root,755)
348dee00 946%attr(755,root,root) %{gitcoredir}/git-credential-gnome-keyring
0643d0ea 947%endif
20b80b37
JB
948
949%if %{with libsecret}
950%files credential-libsecret
951%defattr(644,root,root,755)
952%attr(755,root,root) %{gitcoredir}/git-credential-libsecret
953%endif
d500b766
JP
954
955%files -n zsh-completion-git
956%defattr(644,root,root,755)
957%{zsh_compdir}/_git
This page took 0.394587 seconds and 4 git commands to generate.