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