]> git.pld-linux.org Git - packages/git-core.git/blame - git-core.spec
BR: openssh-clients for tests; rel 2
[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
79c7f87f 17Version: 2.36.1
e3a3567e 18Release: 2
51c3b977 19License: GPL v2
20Group: Development/Tools
eee65439 21Source0: https://www.kernel.org/pub/software/scm/git/git-%{version}.tar.xz
79c7f87f 22# Source0-md5: b069d4919c8d9faf28db4fd90feb8e1d
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
2c0376c9
AM
366
367%description svn
368Subversion support for Git.
369
370%description svn -l pl.UTF-8
41b5f4b1 371Obsługa Subversion dla Gita.
2c0376c9 372
d82521ea
ER
373%package email
374Summary: Git tools for sending email
41b5f4b1 375Summary(pl.UTF-8): Narzędzia Gita do wysyłania poczty
d82521ea
ER
376Group: Development/Tools
377Requires: %{name} = %{version}-%{release}
561578e1
JP
378Requires: perl-Error
379Requires: perl-MailTools
77b23c69 380Suggests: perl-Net-SMTP-SSL
d82521ea
ER
381
382%description email
383Git tools for sending email.
384
41b5f4b1
JB
385%description email -l pl.UTF-8
386Narzędzia Gita do wysyłania poczty.
387
f2c1983d
AG
388%package -n bash-completion-git
389Summary: bash-completion for git
2712fe7b 390Summary(pl.UTF-8): bashowe uzupełnianie nazw dla gita
02059138 391Group: Applications/Shells
cdeb0400 392Requires: %{name} = %{version}-%{release}
3102984c 393Requires: bash-completion >= 2.0
f0d8046b 394BuildArch: noarch
f2c1983d
AG
395
396%description -n bash-completion-git
397This package provides bash-completion for git.
398
399%description -n bash-completion-git -l pl.UTF-8
5383e3af 400Pakiet ten dostarcza bashowe uzupełnianie nazw dla gita.
f2c1983d 401
3dc01deb 402%package -n perl-Git
5d7220ad 403Summary: Perl interface to the Git version control system
3f8032f4 404Summary(pl.UTF-8): Perlowy interfejs do systemu kontroli wersji Git
5d7220ad 405Group: Development/Languages/Perl
6f4be518 406Requires: perl-Error
6769cb97 407Obsoletes: perl-git-core < 1.4.3.5
f0d8046b 408BuildArch: noarch
5d7220ad 409
3dc01deb 410%description -n perl-Git
5d7220ad
AM
411This module provides Perl scripts easy way to interface the Git
412version control system. The modules have an easy and well-tested way
413to call arbitrary Git commands; in the future, the interface will also
414provide specialized methods for doing easily operations which are not
415totally trivial to do over the generic command interface.
416
ea061c99
JR
417%description -n perl-Git -l pl.UTF-8
418Ten moduł umożliwia skryptom Perla współpracę z systemem kontroli
08cc92d7
ER
419wersji Git. W łatwy i dobrze przetestowany sposób pozwala wywoływać
420dowolne polecenia Gita; w przyszłości interfejs udostępni także
421specjalne metody do łatwego wykonywania operacji nietrywialnych do
422wykonania przy użyciu ogólnego interfejsu poleceń.
7eef96e1 423
0643d0ea
ER
424%package -n gnome-keyring-git-core
425Summary: GNOME Keyring authentication provider for Git
20b80b37 426Summary(pl.UTF-8): Moduł uwierzytelniający GNOME Keyring dla Gita
0643d0ea 427Group: X11/Applications
25c1ae0c 428URL: http://git-scm.com/docs/gitcredentials.html
0643d0ea
ER
429Requires: %{name} = %{version}-%{release}
430
431%description -n gnome-keyring-git-core
432Authentication provider module for Git which allows git client to
433authenticate using GNOME Keyring.
434
25c1ae0c 435You need to register it with:
a4e33b57 436- git config --global credential.helper gnome-keyring
25c1ae0c 437
0643d0ea 438%description -n gnome-keyring-git-core -l pl.UTF-8
20b80b37 439Moduł uwierzytelniający dla Gita pozwalający klientom git
0643d0ea
ER
440uwierzytelniać się przy użyciu mechanizmu GNOME Keyring.
441
50e442d4 442Moduł trzeba zarejestrować poleceniem:
a4e33b57 443- git config --global credential.helper gnome-keyring
50e442d4 444
20b80b37
JB
445%package credential-libsecret
446Summary: GNOME authentication provider for Git using libsecret
447Summary(pl.UTF-8): Moduł uwierzytelniający GNOME dla Gita wykorzystujący libsecret
448Group: X11/Applications
449URL: http://git-scm.com/docs/gitcredentials.html
450Requires: %{name} = %{version}-%{release}
451
452%description credential-libsecret
453Authentication provider module for Git which allows git client to
454authenticate using GNOME libsecret.
455
456You need to register it with:
457- git config --global credential.helper libsecret
458
459%description credential-libsecret -l pl.UTF-8
460Moduł uwierzytelniający dla Gita pozwalający klientom git
461uwierzytelniać się przy użyciu mechanizmu GNOME libsecret.
462
463Moduł trzeba zarejestrować poleceniem:
464- git config --global credential.helper libsecret
465
d500b766
JP
466%package -n zsh-completion-git
467Summary: Zsh completion for git command
468Summary(pl.UTF-8): Dopełnianie parametrów komendy git dla powłoki zsh
469Group: Applications/Shells
470Requires: %{name} = %{version}-%{release}
471Requires: bash-completion-git = %{version}-%{release}
472Requires: zsh
473BuildArch: noarch
474
475%description -n zsh-completion-git
476Zsh completion for git command.
477
478%description -n zsh-completion-git -l pl.UTF-8
479Dopełnianie parametrów komendy git dla powłoki zsh.
480
51c3b977 481%prep
5013f7fc 482%setup -q -n git-%{version}
0aa13f22
JP
483%patch0 -p0
484%patch1 -p1
d12d8532 485%patch2 -p1
a1036d06 486
797bc583 487%{__rm} {Documentation/technical,contrib/credential/gnome-keyring}/.gitignore
0643d0ea 488
ab67970b
AM
489# we build things in contrib but want to have it clean for doc purporses, too
490cp -a contrib contrib-doc
491
a1036d06 492%build
11856720
AM
493%{__aclocal}
494%{__autoconf}
495%configure \
d12d8532 496 --sysconfdir=%{_sysconfdir}/git-core \
d5e39597 497 %{?with_pcre:--with-libpcre2} \
b4f8bcbb
JP
498 --with-openssl \
499 --with-python="%{__python3}"
51c3b977 500
7cfee1ba
KK
501echo "BLK_SHA1=1" >> config.mak
502
b69112f7 503%{__make} \
be2ccf99
AG
504 GITWEB_CONFIG="%{webappdir}/gitweb.conf" \
505 GITWEB_PROJECTROOT="/var/lib/git" \
506 GITWEB_CSS="/gitweb/gitweb.css" \
507 GITWEB_LOGO="/gitweb/git-logo.png" \
f74aede9 508 GITWEB_FAVICON="/gitweb/git-favicon.png" \
6fa8665e
JP
509 NO_PERL_CPAN_FALLBACKS=1 \
510 perllibdir=%{perl_vendorlib} \
f74aede9 511 V=1
27b79a12 512
d1d05a7a
ER
513%{__make} -C contrib/subtree
514
0643d0ea 515%if %{with gnome_keyring}
20b80b37
JB
516%{__make} -C contrib/credential/gnome-keyring \
517 CC="%{__cc}" \
518 CFLAGS="%{rpmcflags} -Wall" \
519 LDFLAGS="%{rpmldflags}"
520%endif
521
522%if %{with libsecret}
523%{__make} -C contrib/credential/libsecret \
524 CC="%{__cc}" \
525 CFLAGS="%{rpmcflags} -Wall" \
526 LDFLAGS="%{rpmldflags}"
0643d0ea
ER
527%endif
528
83b9a8cd 529%if %{with doc}
6fa8665e 530%{__make} doc \
83b9a8cd
ER
531 MAN_BASE_URL=file://%{_docdir}/%{name}-doc-%{version}/ \
532 V=1
533%endif
7fdeb28c 534
db032591
AM
535%if %{with tests}
536%if %{without tests_cvs}
8bed7625 537%{__rm} t/t*cvs*.sh || :
db032591 538%endif
13b76b20
JP
539%if %{without tests_svn}
540GIT_SKIP_TESTS="$GIT_SKIP_TESTS t91??"
541%endif
542export GIT_SKIP_TESTS
017b037c
JB
543%{__make} test \
544 NO_PERL_CPAN_FALLBACKS=1
db032591 545%endif
6c0d6e05 546
51c3b977 547%install
548rm -rf $RPM_BUILD_ROOT
6fa8665e 549install -d $RPM_BUILD_ROOT{%{_includedir}/%{name}/xdiff,%{_libdir},%{_localstatedir}/lib/git}
be2ccf99 550install -d $RPM_BUILD_ROOT{%{appdir},%{cgibindir},%{webappdir}}
5db07614 551install -d $RPM_BUILD_ROOT/etc/{sysconfig/rc-inetd,rc.d/init.d}
cdeb0400 552install -d $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
d12d8532
KK
553cat << EOF > $RPM_BUILD_ROOT%{_sysconfdir}/git-core/gitconfig
554[init]
cdeb0400 555 templatedir = %{_sysconfdir}/%{name}/templates
d12d8532 556EOF
c751087d 557
51c3b977 558%{__make} install \
6fa8665e
JP
559 DESTDIR=$RPM_BUILD_ROOT \
560 NO_PERL_CPAN_FALLBACKS=1 \
561 perllibdir=%{perl_vendorlib}
51c3b977 562
08cc92d7 563%if %{with doc}
6fa8665e 564%{__make} install-doc \
7fdeb28c 565 DESTDIR=$RPM_BUILD_ROOT
08cc92d7 566%endif
7fdeb28c 567
d12d8532
KK
568# copy templates except sample hooks
569cp -a $RPM_BUILD_ROOT%{_datadir}/%{name}/templates $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
570%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/templates/hooks/*.sample
571
1f25da6d 572# header files and lib
cdeb0400 573cp -p *.h $RPM_BUILD_ROOT%{_includedir}/%{name}
31b26a50 574cp -a compat $RPM_BUILD_ROOT%{_includedir}/%{name}
cdeb0400 575cp -p xdiff/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/xdiff
95341e74
KK
576install -d $RPM_BUILD_ROOT%{_includedir}/%{name}/block-sha1
577cp -p block-sha1/sha1.h $RPM_BUILD_ROOT%{_includedir}/%{name}/block-sha1
cdeb0400
ER
578cp -p libgit.a $RPM_BUILD_ROOT%{_libdir}
579cp -p xdiff/lib.a $RPM_BUILD_ROOT%{_libdir}/libgit_xdiff.a
95341e74 580cp -p {Makefile,config.mak,config.mak.autogen,config.mak.uname} $RPM_BUILD_ROOT%{_includedir}/%{name}
e3cefa79 581
d1d05a7a 582%{__make} -C contrib/subtree install \
348dee00 583 libexecdir=%{gitcoredir} \
d1d05a7a
ER
584 DESTDIR=$RPM_BUILD_ROOT
585
586%if %{with doc}
e6bf5c7d 587%{__make} -C contrib/subtree install-man \
d1d05a7a
ER
588 DESTDIR=$RPM_BUILD_ROOT
589%endif
590
0643d0ea 591%if %{with gnome_keyring}
348dee00 592install -p contrib/credential/gnome-keyring/git-credential-gnome-keyring $RPM_BUILD_ROOT%{gitcoredir}
0643d0ea
ER
593%endif
594
20b80b37
JB
595%if %{with libsecret}
596install -p contrib/credential/libsecret/git-credential-libsecret $RPM_BUILD_ROOT%{gitcoredir}
597%endif
598
f2c1983d 599# bash completion
3102984c
ER
600install -d $RPM_BUILD_ROOT%{bash_compdir}
601cp -p contrib/completion/git-completion.bash $RPM_BUILD_ROOT%{bash_compdir}/git
d500b766
JP
602install -d $RPM_BUILD_ROOT%{zsh_compdir}
603cp -p contrib/completion/git-completion.zsh $RPM_BUILD_ROOT%{zsh_compdir}/_git
604sed -i -e "1 a zstyle ':completion:*:*:git:*' script %{bash_compdir}/git" $RPM_BUILD_ROOT%{zsh_compdir}/_git
f2c1983d 605
b0d443ea
ER
606# Install git-prompt.sh
607install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/completion
608cp -p contrib/completion/git-prompt.sh $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/completion
609
0d2db069 610# Install bzr and hg remote helpers from contrib
348dee00 611install -p contrib/remote-helpers/git-remote-{bzr,hg} $RPM_BUILD_ROOT%{gitcoredir}
0d2db069 612
be2ccf99 613# gitweb
20b80b37 614%{__mv} $RPM_BUILD_ROOT{%{appdir},%{cgibindir}}/gitweb.cgi
93a30d5e 615ln -s %{cgibindir}/gitweb.cgi $RPM_BUILD_ROOT%{appdir}/gitweb.cgi
cdeb0400 616cp -p %{SOURCE1} $RPM_BUILD_ROOT%{webappdir}/gitweb.conf
642ee6ff 617cp -p %{SOURCE7} $RPM_BUILD_ROOT%{webappdir}/gitolite.pl
cdeb0400 618cp -p %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/apache.conf
814a047c 619cp -p %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/httpd.conf
cdeb0400 620cp -p %{SOURCE3} $RPM_BUILD_ROOT%{webappdir}/lighttpd.conf
be2ccf99 621
b11ada2c 622# git-daemon related files
e43aceaa
ER
623cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/git-daemon
624cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
51ce768a 625install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
b11ada2c 626
bf7a9a54 627# paths cleanup
6743dd7e
ER
628sed -e 's,@libdir@/git-core,%{gitcoredir},g' -i $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
629sed -e 's,@libdir@/git-core,%{gitcoredir},g' -i $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
bf7a9a54 630
698b79f9
ER
631# same file, link
632ln -sf git $RPM_BUILD_ROOT%{_bindir}/git-receive-pack
633ln -sf git $RPM_BUILD_ROOT%{_bindir}/git-upload-archive
6aec1d92
ER
634ln -sf ../..%{gitcoredir}/git-shell $RPM_BUILD_ROOT%{_bindir}/git-shell
635ln -sf ../..%{gitcoredir}/git-upload-pack $RPM_BUILD_ROOT%{_bindir}/git-upload-pack
636ln -sf ../..%{gitcoredir}/git $RPM_BUILD_ROOT%{_bindir}/git
698b79f9
ER
637
638# convert all hardlinks to symlinks, as rpm fails to calculate it properly
639# requiring excessive free space when it may not be available
640# https://bugs.launchpad.net/pld-linux/+bug/1176337
641find $RPM_BUILD_ROOT%{gitcoredir} -samefile $RPM_BUILD_ROOT%{gitcoredir}/git > files
642for f in $(cat files); do
643 f=${f#$RPM_BUILD_ROOT%{gitcoredir}/}
644 test $f = git && continue
645 ln -snf git $RPM_BUILD_ROOT%{gitcoredir}/$f
646done
647
648# few others
649ln -snf git-gui $RPM_BUILD_ROOT%{gitcoredir}/git-citool
650ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-https
651ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-ftp
652ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-ftps
4e9fd7a9 653
20b80b37 654%{__mv} $RPM_BUILD_ROOT%{_localedir}/pt{_PT,}
fdf2ed38
JB
655%find_lang git
656
51c3b977 657%clean
658rm -rf $RPM_BUILD_ROOT
659
21f26c1e
JP
660%post
661if [ ! -f /etc/shells ]; then
662 echo "%{_bindir}/git-shell" >> /etc/shells
663else
664 grep -q '^%{_bindir}/git-shell$' /etc/shells || echo "%{_bindir}/git-shell" >> /etc/shells
665fi
666
667%preun
668if [ "$1" = "0" ]; then
669 umask 022
670 grep -v '^%{_bindir}/git-shell$' /etc/shells > /etc/shells.new
671 mv -f /etc/shells.new /etc/shells
672fi
673
b11ada2c
AG
674%post daemon-inetd
675%service -q rc-inetd reload
676
677%postun daemon-inetd
678if [ "$1" = "0" ]; then
679 %service -q rc-inetd reload
680fi
681
682%post daemon-standalone
683/sbin/chkconfig --add git-daemon
684%service git-daemon restart "git-daemon"
685
686%preun daemon-standalone
687if [ "$1" = "0" ]; then
688 %service git-daemon stop
689 /sbin/chkconfig --del git-daemon
690fi
691
be2ccf99
AG
692%triggerin gitweb -- apache1 < 1.3.37-3, apache1-base
693%webapp_register apache %{webapp}
694
695%triggerun gitweb -- apache1 < 1.3.37-3, apache1-base
696%webapp_unregister apache %{webapp}
697
814a047c 698%triggerin gitweb -- apache < 2.2.0, apache-base
be2ccf99
AG
699%webapp_register httpd %{webapp}
700
814a047c 701%triggerun gitweb -- apache < 2.2.0, apache-base
be2ccf99
AG
702%webapp_unregister httpd %{webapp}
703
51ce768a
KK
704%triggerin gitweb -- lighttpd
705%webapp_register lighttpd %{webapp}
706
707%triggerun gitweb -- lighttpd
708%webapp_unregister lighttpd %{webapp}
709
fdf2ed38 710%files -f git.lang
51c3b977 711%defattr(644,root,root,755)
a824ba4f 712%doc README.md contrib-doc
a8655d02 713%attr(755,root,root) %{_bindir}/git
44ee5525
ER
714%attr(755,root,root) %{_bindir}/git-receive-pack
715%attr(755,root,root) %{_bindir}/git-shell
716%attr(755,root,root) %{_bindir}/git-upload-archive
717%attr(755,root,root) %{_bindir}/git-upload-pack
cdeb0400 718%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}
a8655d02 719
08cc92d7 720%if %{with doc}
0afd37aa 721%{_mandir}/man1/git-*.1*
dbde9893 722%exclude %{_mandir}/man1/git-archimport.1*
2c0376c9
AM
723%exclude %{_mandir}/man1/git-svn.1*
724%exclude %{_mandir}/man1/git-cvs*.1*
cfe5bf90
JB
725%exclude %{_mandir}/man1/git-imap-send.1*
726%exclude %{_mandir}/man1/git-p4.1*
727%exclude %{_mandir}/man1/git-send-email.1*
a48d28b8 728%{_mandir}/man1/git.1*
0afd37aa 729%{_mandir}/man5/gitattributes.5*
a48d28b8 730%{_mandir}/man5/githooks.5*
0afd37aa 731%{_mandir}/man5/gitignore.5*
eee65439 732%{_mandir}/man5/gitmailmap.5*
785b167d 733%{_mandir}/man5/gitmodules.5*
a48d28b8
AG
734%{_mandir}/man5/gitrepository-layout.5*
735%{_mandir}/man7/gitcli.7*
736%{_mandir}/man7/gitcore-tutorial.7*
fdf2ed38 737%{_mandir}/man7/gitcredentials.7*
a48d28b8 738%{_mandir}/man7/gitdiffcore.7*
ab67970b 739%{_mandir}/man7/giteveryday.7*
f07f1df6 740%{_mandir}/man7/gitfaq.7*
a48d28b8 741%{_mandir}/man7/gitglossary.7*
60b58680 742%{_mandir}/man7/gitnamespaces.7*
dab2f9ca 743%{_mandir}/man7/gitremote-helpers.7*
f16e8911 744%{_mandir}/man7/gitrevisions.7*
d5e39597 745%{_mandir}/man7/gitsubmodules.7*
a48d28b8
AG
746%{_mandir}/man7/gittutorial-2.7*
747%{_mandir}/man7/gittutorial.7*
670fe4d6 748%{_mandir}/man7/gitworkflows.7*
08cc92d7 749%endif
a8655d02 750
348dee00
ER
751%dir %{gitcoredir}
752%attr(755,root,root) %{gitcoredir}/*-*
753%attr(755,root,root) %{gitcoredir}/git
754%dir %{gitcoredir}/mergetools
755%{gitcoredir}/mergetools/*
a8655d02 756
0d2db069
ER
757%{_datadir}/%{name}
758%{_localstatedir}/lib/git
759
760# subpackages
348dee00
ER
761%exclude %{gitcoredir}/*email*
762%exclude %{gitcoredir}/*p4*
763%exclude %{gitcoredir}/git-archimport
6fbf4942 764%exclude %{gitcoredir}/git-citool
348dee00
ER
765%exclude %{gitcoredir}/git-cvs*
766%exclude %{gitcoredir}/git-gui
767%exclude %{gitcoredir}/git-imap-send
768%exclude %{gitcoredir}/git-instaweb
769%exclude %{gitcoredir}/git-remote-bzr
770%exclude %{gitcoredir}/git-remote-hg
348dee00
ER
771%exclude %{gitcoredir}/git-svn
772%exclude %{gitcoredir}/mergetools/p4merge
f295f80f 773%if %{with gnome_keyring}
348dee00 774%exclude %{gitcoredir}/git-credential-gnome-keyring
f295f80f 775%endif
20b80b37
JB
776%if %{with libsecret}
777%exclude %{gitcoredir}/git-credential-libsecret
778%endif
e3cefa79 779
a8655d02
ER
780%if %{with doc}
781%files doc
778b89a7 782%defattr(644,root,root,755)
a8655d02
ER
783%doc Documentation/RelNotes*
784%doc Documentation/*.html Documentation/howto Documentation/technical
785%endif
786
b11ada2c
AG
787%files daemon-inetd
788%defattr(644,root,root,755)
789%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/git-daemon
790
791%files daemon-standalone
792%defattr(644,root,root,755)
793%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/git-daemon
794%attr(754,root, root) /etc/rc.d/init.d/git-daemon
795
e3cefa79 796%files devel
3ff86e9e 797%defattr(644,root,root,755)
cdeb0400 798%{_includedir}/%{name}
5db07614 799%{_libdir}/libgit.a
eaf5c40c 800%{_libdir}/libgit_xdiff.a
5d7220ad 801
7d9cd7eb 802%if %{with tk}
91396e2e
AG
803%files gitk
804%defattr(644,root,root,755)
08cc92d7 805%if %{with doc}
91396e2e 806%{_mandir}/man1/gitk.1*
08cc92d7
ER
807%endif
808%attr(755,root,root) %{_bindir}/gitk
9fa88d97
AM
809%dir %{_datadir}/gitk
810%dir %{_datadir}/gitk/lib
811%dir %{_datadir}/gitk/lib/msgs
5d132744 812%lang(bg) %{_datadir}/gitk/lib/msgs/bg.msg
6cc57eea 813%lang(ca) %{_datadir}/gitk/lib/msgs/ca.msg
3b243bbe 814%lang(de) %{_datadir}/gitk/lib/msgs/de.msg
f9871074 815%lang(es) %{_datadir}/gitk/lib/msgs/es.msg
778b89a7
AM
816%lang(fr) %{_datadir}/gitk/lib/msgs/fr.msg
817%lang(hu) %{_datadir}/gitk/lib/msgs/hu.msg
3b243bbe 818%lang(it) %{_datadir}/gitk/lib/msgs/it.msg
469258c9 819%lang(ja) %{_datadir}/gitk/lib/msgs/ja.msg
3ed82b68 820%lang(pt_BR) %{_datadir}/gitk/lib/msgs/pt_br.msg
22105a2f 821%lang(pt_PT) %{_datadir}/gitk/lib/msgs/pt_pt.msg
95998f97 822%lang(ru) %{_datadir}/gitk/lib/msgs/ru.msg
f9871074 823%lang(sv) %{_datadir}/gitk/lib/msgs/sv.msg
1adc1f85 824%lang(vi) %{_datadir}/gitk/lib/msgs/vi.msg
6a0ecca2 825%lang(zh_CN) %{_datadir}/gitk/lib/msgs/zh_cn.msg
7d9cd7eb 826%endif
91396e2e 827
be2ccf99
AG
828%files gitweb
829%defattr(644,root,root,755)
830%doc gitweb/{README,INSTALL}
831%dir %{webappdir}
be2ccf99
AG
832%config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/apache.conf
833%config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/httpd.conf
51ce768a 834%config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/lighttpd.conf
642ee6ff 835%config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitweb.conf
9611d914 836%config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitolite.pl
be2ccf99
AG
837%attr(755,root,root) %{cgibindir}/gitweb.cgi
838%{appdir}
348dee00 839%attr(755,root,root) %{gitcoredir}/git-instaweb
93a30d5e 840%if %{with doc}
0c582eb3
AM
841%{_mandir}/man1/gitweb.1*
842%{_mandir}/man5/gitweb.conf.5*
93a30d5e 843%endif
be2ccf99 844
7d9cd7eb 845%if %{with tk}
f9871074
AG
846%files gui
847%defattr(644,root,root,755)
6fbf4942 848%attr(755,root,root) %{gitcoredir}/git-citool
348dee00 849%attr(755,root,root) %{gitcoredir}/git-gui
f9871074
AG
850%dir %{_datadir}/git-gui
851%dir %{_datadir}/git-gui/lib
852%dir %{_datadir}/git-gui/lib/msgs
853%{_datadir}/git-gui/lib/git-gui.ico
854%{_datadir}/git-gui/lib/tclIndex
855%{_datadir}/git-gui/lib/*.js
856%{_datadir}/git-gui/lib/*.tcl
5d132744 857%lang(bg) %{_datadir}/git-gui/lib/msgs/bg.msg
f9871074 858%lang(de) %{_datadir}/git-gui/lib/msgs/de.msg
469258c9 859%lang(el) %{_datadir}/git-gui/lib/msgs/el.msg
f9871074
AG
860%lang(fr) %{_datadir}/git-gui/lib/msgs/fr.msg
861%lang(hu) %{_datadir}/git-gui/lib/msgs/hu.msg
862%lang(it) %{_datadir}/git-gui/lib/msgs/it.msg
863%lang(ja) %{_datadir}/git-gui/lib/msgs/ja.msg
670fe4d6 864%lang(nb) %{_datadir}/git-gui/lib/msgs/nb.msg
345fc12f 865%lang(pt) %{_datadir}/git-gui/lib/msgs/pt_pt.msg
10343d09 866%lang(pt_BR) %{_datadir}/git-gui/lib/msgs/pt_br.msg
f9871074
AG
867%lang(ru) %{_datadir}/git-gui/lib/msgs/ru.msg
868%lang(sv) %{_datadir}/git-gui/lib/msgs/sv.msg
6cc57eea 869%lang(vi) %{_datadir}/git-gui/lib/msgs/vi.msg
35cbc54f 870%lang(zh_CN) %{_datadir}/git-gui/lib/msgs/zh_cn.msg
7d9cd7eb 871%endif
f9871074 872
e5fa8af5
JB
873%files arch
874%defattr(644,root,root,755)
348dee00 875%attr(755,root,root) %{gitcoredir}/git-archimport
e5fa8af5
JB
876%if %{with doc}
877%{_mandir}/man1/git-archimport.1*
878%endif
879
0d2db069
ER
880%files bzr
881%defattr(644,root,root,755)
348dee00 882%attr(755,root,root) %{gitcoredir}/git-remote-bzr
0d2db069 883
e5fa8af5
JB
884%files cvs
885%defattr(644,root,root,755)
886%attr(755,root,root) %{_bindir}/git-cvsserver
348dee00 887%attr(755,root,root) %{gitcoredir}/git-cvs*
e5fa8af5
JB
888%if %{with doc}
889%{_mandir}/man1/git-cvs*.1*
890%{_mandir}/man7/gitcvs-migration.7*
891%endif
892
0d2db069
ER
893%files hg
894%defattr(644,root,root,755)
348dee00 895%attr(755,root,root) %{gitcoredir}/git-remote-hg
0d2db069
ER
896
897%files p4
898%defattr(644,root,root,755)
348dee00
ER
899%attr(755,root,root) %{gitcoredir}/git-p4
900%attr(755,root,root) %{gitcoredir}/mergetools/p4merge
cfe5bf90
JB
901%if %{with doc}
902%{_mandir}/man1/git-p4.1*
903%endif
0d2db069 904
2c0376c9
AM
905%files svn
906%defattr(644,root,root,755)
348dee00 907%attr(755,root,root) %{gitcoredir}/git-svn
b5884c73 908%{perl_vendorlib}/Git/SVN
bbceff2c 909%{perl_vendorlib}/Git/SVN.pm
2c0376c9
AM
910%if %{with doc}
911%{_mandir}/man1/git-svn.1*
912%endif
913
d82521ea
ER
914%files email
915%defattr(644,root,root,755)
348dee00 916%attr(755,root,root) %{gitcoredir}/git-imap-send
cfe5bf90 917%attr(755,root,root) %{gitcoredir}/git-send-email
d82521ea 918%if %{with doc}
cfe5bf90
JB
919%{_mandir}/man1/git-imap-send.1*
920%{_mandir}/man1/git-send-email.1*
d82521ea
ER
921%endif
922
f2c1983d
AG
923%files -n bash-completion-git
924%defattr(644,root,root,755)
3102984c 925%{bash_compdir}/git
f2c1983d 926
3dc01deb 927%files -n perl-Git
5d7220ad 928%defattr(644,root,root,755)
3dc01deb 929%{perl_vendorlib}/Git.pm
b5884c73
KK
930%dir %{perl_vendorlib}/Git
931%{perl_vendorlib}/Git/I18N.pm
bbceff2c 932%{perl_vendorlib}/Git/IndexInfo.pm
6fa8665e 933%{perl_vendorlib}/Git/LoadCPAN.pm
499c2b98 934%{perl_vendorlib}/Git/Packet.pm
6fa8665e
JP
935%dir %{perl_vendorlib}/Git/LoadCPAN
936%{perl_vendorlib}/Git/LoadCPAN/Error.pm
937%dir %{perl_vendorlib}/Git/LoadCPAN/Mail
938%{perl_vendorlib}/Git/LoadCPAN/Mail/Address.pm
233261d9 939%{?with_doc:%{_mandir}/man3/Git.3pm*}
0643d0ea
ER
940
941%if %{with gnome_keyring}
942%files -n gnome-keyring-git-core
943%defattr(644,root,root,755)
348dee00 944%attr(755,root,root) %{gitcoredir}/git-credential-gnome-keyring
0643d0ea 945%endif
20b80b37
JB
946
947%if %{with libsecret}
948%files credential-libsecret
949%defattr(644,root,root,755)
950%attr(755,root,root) %{gitcoredir}/git-credential-libsecret
951%endif
d500b766
JP
952
953%files -n zsh-completion-git
954%defattr(644,root,root,755)
955%{zsh_compdir}/_git
This page took 0.316466 seconds and 4 git commands to generate.