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