]> git.pld-linux.org Git - packages/git-core.git/blame - git-core.spec
up to 2.29.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
56079210 17Version: 2.29.2
82b6bcfb 18Release: 1
51c3b977 19License: GPL v2
20Group: Development/Tools
b4c15beb 21Source0: http://www.kernel.org/pub/software/scm/git/git-%{version}.tar.xz
56079210 22# Source0-md5: f5f9d4e7a3c633bc7a9178cfd822045f
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
dfd6de10 63BuildRequires: rpmbuild(macros) >= 1.745
7d9cd7eb 64%if %{with tk}
1db22c36
JB
65# wish
66BuildRequires: tk
7d9cd7eb 67%endif
51c3b977 68BuildRequires: zlib-devel
08cc92d7
ER
69%if %{with doc}
70BuildRequires: asciidoc >= 7.1.2-3
c841a4fc 71BuildRequires: docbook-dtd45-xml
08cc92d7
ER
72BuildRequires: xmlto
73%endif
2c50f007 74%if %{with tests}
e460872a
JB
75BuildRequires: perl-CGI
76BuildRequires: perl-Digest-MD5
77BuildRequires: perl-Encode
78BuildRequires: perl-Time-HiRes
db032591 79%if %{with tests_cvs}
dfed7e92 80# tests failed sometimes when using nserver/cvsnt client so enforce pure cvs here
3554b1a3 81BuildRequires: cvs-gnu-client < 1.13
2c0376c9 82BuildRequires: cvs-gnu-client >= 1.12
db032591 83%endif
ef4eeb6d
KK
84%if %{with tests_svn}
85BuildRequires: perl-subversion
86BuildRequires: subversion
87%endif
1b3085ff 88Conflicts: pdksh < 5.2.14-46
2c50f007 89%endif
23c8c456 90# git-sh-setup: sane_grep
3f245fc5 91Requires: grep
23c8c456
ER
92# git-pull: printf
93Requires: coreutils
3f245fc5 94Requires: sed
0d2db069 95Suggests: git-core-bzr
26361b03 96Suggests: git-core-cvs
0d2db069
ER
97Suggests: git-core-hg
98Suggests: git-core-p4
26361b03 99Suggests: git-core-svn
d82521ea 100Suggests: less
9e9faf95 101Suggests: openssh-clients
e7120917 102Suggests: perl-Git = %{version}-%{release}
d82521ea 103Suggests: rsync
22105a2f 104Obsoletes: git-core-gitview
a77c0aad 105Obsoletes: python-Git
f4018182 106Conflicts: perl-Git < %{version}
51c3b977 107BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
108
19936745
AM
109# html docs have links to txt files
110%define _noautocompressdoc *.txt
111
e7120917 112# do not generate perl dependency, git add -p support is optional
27399cc4
ER
113# skip dependency generation from templates
114%define _noautoreqfiles %{_libexecdir}/%{name}/git-add--interactive %{_datadir}/%{name}/templates
e7120917 115
be2ccf99
AG
116%define webapp gitweb
117%define webappdir %{_sysconfdir}/webapps/%{webapp}
118%define appdir %{_datadir}/%{webapp}
119%define cgibindir %{_prefix}/lib/cgi-bin
ee14b8db 120%define gitcoredir %{_libexecdir}/%{name}
be2ccf99 121
51c3b977 122%description
123"git" can mean anything, depending on your mood.
124
d52424f5 125- random three-letter combination that is pronounceable, and not
126 actually used by any common UNIX command. The fact that it is a
127 mispronunciation of "get" may or may not be relevant.
128- stupid. contemptible and despicable. simple. Take your pick from the
129 dictionary of slang.
130- "global information tracker": you're in a good mood, and it actually
131 works for you. Angels sing, and a light suddenly fills the room.
132- "goddamn idiotic truckload of sh*t": when it breaks
51c3b977 133
c751087d 134This is a stupid (but extremely fast) directory content manager. It
51c3b977 135doesn't do a whole lot, but what it 'does' do is track directory
136contents efficiently.
137
ea061c99
JR
138%description -l pl.UTF-8
139"git" może oznaczać cokolwiek, w zależności od nastroju.
140
d52424f5 141- losową kombinację trzech liter, która jest wymawialna i właściwie
142 nie używana przez żadne popularne polecenie uniksowe. Fakt, że jest to
143 błędna pisownia słowa "get" może mieć lub nie mieć znaczenia.
144- głupi, pogardliwy, prosty. Można wybrać ze słownika slangu.
145- "global information tracker" (narzędzie do globalnego śledzenia
146 informacji) - jeśli jesteśmy w dobrym nastroju i git akurat działa.
147 Anioły śpiewają, a światło niespodziewanie wypełnia pokój.
148- "goddamn idiotic truckload of sh*t" (przeklęty idiotyczny ładunek
149 g*) - kiedy się zepsuje.
ea061c99
JR
150
151Jest to prymitywny (ale bardzo szybki) zarządca treści słownikowej.
152Nie robi wiele, ale to, co "robi", to wydajne śledzenie zawartości
c751087d
JB
153katalogu.
154
a8655d02
ER
155%package doc
156Summary: Documentation for git-core
157Summary(pl.UTF-8): Dokumentacja do git-core
158Group: Documentation
ad39aec1
ER
159%if "%{_rpmversion}" >= "5"
160BuildArch: noarch
161%endif
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
6743dd7e
ER
226%if "%{_rpmversion}" >= "5"
227BuildArch: noarch
228%endif
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
c7e1d931
ER
394%if "%{_rpmversion}" >= "5"
395BuildArch: noarch
396%endif
f2c1983d
AG
397
398%description -n bash-completion-git
399This package provides bash-completion for git.
400
401%description -n bash-completion-git -l pl.UTF-8
5383e3af 402Pakiet ten dostarcza bashowe uzupełnianie nazw dla gita.
f2c1983d 403
3dc01deb 404%package -n perl-Git
5d7220ad 405Summary: Perl interface to the Git version control system
3f8032f4 406Summary(pl.UTF-8): Perlowy interfejs do systemu kontroli wersji Git
5d7220ad 407Group: Development/Languages/Perl
27b79a12 408Obsoletes: perl-git-core
24ff48af
ER
409%if "%{_rpmversion}" >= "5"
410BuildArch: noarch
411%endif
5d7220ad 412
3dc01deb 413%description -n perl-Git
5d7220ad
AM
414This module provides Perl scripts easy way to interface the Git
415version control system. The modules have an easy and well-tested way
416to call arbitrary Git commands; in the future, the interface will also
417provide specialized methods for doing easily operations which are not
418totally trivial to do over the generic command interface.
419
ea061c99
JR
420%description -n perl-Git -l pl.UTF-8
421Ten moduł umożliwia skryptom Perla współpracę z systemem kontroli
08cc92d7
ER
422wersji Git. W łatwy i dobrze przetestowany sposób pozwala wywoływać
423dowolne polecenia Gita; w przyszłości interfejs udostępni także
424specjalne metody do łatwego wykonywania operacji nietrywialnych do
425wykonania przy użyciu ogólnego interfejsu poleceń.
7eef96e1 426
0643d0ea
ER
427%package -n gnome-keyring-git-core
428Summary: GNOME Keyring authentication provider for Git
20b80b37 429Summary(pl.UTF-8): Moduł uwierzytelniający GNOME Keyring dla Gita
0643d0ea 430Group: X11/Applications
25c1ae0c 431URL: http://git-scm.com/docs/gitcredentials.html
0643d0ea
ER
432Requires: %{name} = %{version}-%{release}
433
434%description -n gnome-keyring-git-core
435Authentication provider module for Git which allows git client to
436authenticate using GNOME Keyring.
437
25c1ae0c 438You need to register it with:
a4e33b57 439- git config --global credential.helper gnome-keyring
25c1ae0c 440
0643d0ea 441%description -n gnome-keyring-git-core -l pl.UTF-8
20b80b37 442Moduł uwierzytelniający dla Gita pozwalający klientom git
0643d0ea
ER
443uwierzytelniać się przy użyciu mechanizmu GNOME Keyring.
444
50e442d4 445Moduł trzeba zarejestrować poleceniem:
a4e33b57 446- git config --global credential.helper gnome-keyring
50e442d4 447
20b80b37
JB
448%package credential-libsecret
449Summary: GNOME authentication provider for Git using libsecret
450Summary(pl.UTF-8): Moduł uwierzytelniający GNOME dla Gita wykorzystujący libsecret
451Group: X11/Applications
452URL: http://git-scm.com/docs/gitcredentials.html
453Requires: %{name} = %{version}-%{release}
454
455%description credential-libsecret
456Authentication provider module for Git which allows git client to
457authenticate using GNOME libsecret.
458
459You need to register it with:
460- git config --global credential.helper libsecret
461
462%description credential-libsecret -l pl.UTF-8
463Moduł uwierzytelniający dla Gita pozwalający klientom git
464uwierzytelniać się przy użyciu mechanizmu GNOME libsecret.
465
466Moduł trzeba zarejestrować poleceniem:
467- git config --global credential.helper libsecret
468
51c3b977 469%prep
5013f7fc 470%setup -q -n git-%{version}
0aa13f22
JP
471%patch0 -p0
472%patch1 -p1
d12d8532 473%patch2 -p1
a1036d06 474
797bc583 475%{__rm} {Documentation/technical,contrib/credential/gnome-keyring}/.gitignore
0643d0ea 476
ab67970b
AM
477# we build things in contrib but want to have it clean for doc purporses, too
478cp -a contrib contrib-doc
479
24b05456
JP
480%{__sed} -i -e '1s|#!/usr/bin/env python$|#!%{__python}|' git-p4.py
481
a1036d06 482%build
11856720
AM
483%{__aclocal}
484%{__autoconf}
485%configure \
d12d8532 486 --sysconfdir=%{_sysconfdir}/git-core \
d5e39597 487 %{?with_pcre:--with-libpcre2} \
11856720 488 --with-openssl
51c3b977 489
7cfee1ba
KK
490echo "BLK_SHA1=1" >> config.mak
491
b69112f7 492%{__make} \
be2ccf99
AG
493 GITWEB_CONFIG="%{webappdir}/gitweb.conf" \
494 GITWEB_PROJECTROOT="/var/lib/git" \
495 GITWEB_CSS="/gitweb/gitweb.css" \
496 GITWEB_LOGO="/gitweb/git-logo.png" \
f74aede9 497 GITWEB_FAVICON="/gitweb/git-favicon.png" \
6fa8665e
JP
498 NO_PERL_CPAN_FALLBACKS=1 \
499 perllibdir=%{perl_vendorlib} \
f74aede9 500 V=1
27b79a12 501
d1d05a7a
ER
502%{__make} -C contrib/subtree
503
0643d0ea 504%if %{with gnome_keyring}
20b80b37
JB
505%{__make} -C contrib/credential/gnome-keyring \
506 CC="%{__cc}" \
507 CFLAGS="%{rpmcflags} -Wall" \
508 LDFLAGS="%{rpmldflags}"
509%endif
510
511%if %{with libsecret}
512%{__make} -C contrib/credential/libsecret \
513 CC="%{__cc}" \
514 CFLAGS="%{rpmcflags} -Wall" \
515 LDFLAGS="%{rpmldflags}"
0643d0ea
ER
516%endif
517
83b9a8cd 518%if %{with doc}
6fa8665e 519%{__make} doc \
83b9a8cd
ER
520 MAN_BASE_URL=file://%{_docdir}/%{name}-doc-%{version}/ \
521 V=1
522%endif
7fdeb28c 523
db032591
AM
524%if %{with tests}
525%if %{without tests_cvs}
8bed7625 526%{__rm} t/t*cvs*.sh || :
db032591 527%endif
13b76b20
JP
528%if %{without tests_svn}
529GIT_SKIP_TESTS="$GIT_SKIP_TESTS t91??"
530%endif
531export GIT_SKIP_TESTS
017b037c
JB
532%{__make} test \
533 NO_PERL_CPAN_FALLBACKS=1
db032591 534%endif
6c0d6e05 535
51c3b977 536%install
537rm -rf $RPM_BUILD_ROOT
6fa8665e 538install -d $RPM_BUILD_ROOT{%{_includedir}/%{name}/xdiff,%{_libdir},%{_localstatedir}/lib/git}
be2ccf99 539install -d $RPM_BUILD_ROOT{%{appdir},%{cgibindir},%{webappdir}}
5db07614 540install -d $RPM_BUILD_ROOT/etc/{sysconfig/rc-inetd,rc.d/init.d}
cdeb0400 541install -d $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
d12d8532
KK
542cat << EOF > $RPM_BUILD_ROOT%{_sysconfdir}/git-core/gitconfig
543[init]
cdeb0400 544 templatedir = %{_sysconfdir}/%{name}/templates
d12d8532 545EOF
c751087d 546
51c3b977 547%{__make} install \
6fa8665e
JP
548 DESTDIR=$RPM_BUILD_ROOT \
549 NO_PERL_CPAN_FALLBACKS=1 \
550 perllibdir=%{perl_vendorlib}
51c3b977 551
08cc92d7 552%if %{with doc}
6fa8665e 553%{__make} install-doc \
7fdeb28c 554 DESTDIR=$RPM_BUILD_ROOT
08cc92d7 555%endif
7fdeb28c 556
d12d8532
KK
557# copy templates except sample hooks
558cp -a $RPM_BUILD_ROOT%{_datadir}/%{name}/templates $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
559%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/templates/hooks/*.sample
560
1f25da6d 561# header files and lib
cdeb0400 562cp -p *.h $RPM_BUILD_ROOT%{_includedir}/%{name}
31b26a50 563cp -a compat $RPM_BUILD_ROOT%{_includedir}/%{name}
cdeb0400 564cp -p xdiff/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/xdiff
95341e74
KK
565install -d $RPM_BUILD_ROOT%{_includedir}/%{name}/block-sha1
566cp -p block-sha1/sha1.h $RPM_BUILD_ROOT%{_includedir}/%{name}/block-sha1
cdeb0400
ER
567cp -p libgit.a $RPM_BUILD_ROOT%{_libdir}
568cp -p xdiff/lib.a $RPM_BUILD_ROOT%{_libdir}/libgit_xdiff.a
95341e74 569cp -p {Makefile,config.mak,config.mak.autogen,config.mak.uname} $RPM_BUILD_ROOT%{_includedir}/%{name}
e3cefa79 570
d1d05a7a 571%{__make} -C contrib/subtree install \
348dee00 572 libexecdir=%{gitcoredir} \
d1d05a7a
ER
573 DESTDIR=$RPM_BUILD_ROOT
574
575%if %{with doc}
e6bf5c7d 576%{__make} -C contrib/subtree install-man \
d1d05a7a
ER
577 DESTDIR=$RPM_BUILD_ROOT
578%endif
579
0643d0ea 580%if %{with gnome_keyring}
348dee00 581install -p contrib/credential/gnome-keyring/git-credential-gnome-keyring $RPM_BUILD_ROOT%{gitcoredir}
0643d0ea
ER
582%endif
583
20b80b37
JB
584%if %{with libsecret}
585install -p contrib/credential/libsecret/git-credential-libsecret $RPM_BUILD_ROOT%{gitcoredir}
586%endif
587
f2c1983d 588# bash completion
3102984c
ER
589install -d $RPM_BUILD_ROOT%{bash_compdir}
590cp -p contrib/completion/git-completion.bash $RPM_BUILD_ROOT%{bash_compdir}/git
f2c1983d 591
b0d443ea
ER
592# Install git-prompt.sh
593install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/completion
594cp -p contrib/completion/git-prompt.sh $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/completion
595
0d2db069 596# Install bzr and hg remote helpers from contrib
348dee00 597install -p contrib/remote-helpers/git-remote-{bzr,hg} $RPM_BUILD_ROOT%{gitcoredir}
0d2db069 598
be2ccf99 599# gitweb
20b80b37 600%{__mv} $RPM_BUILD_ROOT{%{appdir},%{cgibindir}}/gitweb.cgi
93a30d5e 601ln -s %{cgibindir}/gitweb.cgi $RPM_BUILD_ROOT%{appdir}/gitweb.cgi
cdeb0400 602cp -p %{SOURCE1} $RPM_BUILD_ROOT%{webappdir}/gitweb.conf
642ee6ff 603cp -p %{SOURCE7} $RPM_BUILD_ROOT%{webappdir}/gitolite.pl
cdeb0400 604cp -p %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/apache.conf
814a047c 605cp -p %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/httpd.conf
cdeb0400 606cp -p %{SOURCE3} $RPM_BUILD_ROOT%{webappdir}/lighttpd.conf
be2ccf99 607
b11ada2c 608# git-daemon related files
e43aceaa
ER
609cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/git-daemon
610cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
51ce768a 611install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
b11ada2c 612
bf7a9a54 613# paths cleanup
6743dd7e
ER
614sed -e 's,@libdir@/git-core,%{gitcoredir},g' -i $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
615sed -e 's,@libdir@/git-core,%{gitcoredir},g' -i $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
bf7a9a54 616
698b79f9
ER
617# same file, link
618ln -sf git $RPM_BUILD_ROOT%{_bindir}/git-receive-pack
619ln -sf git $RPM_BUILD_ROOT%{_bindir}/git-upload-archive
6aec1d92
ER
620ln -sf ../..%{gitcoredir}/git-shell $RPM_BUILD_ROOT%{_bindir}/git-shell
621ln -sf ../..%{gitcoredir}/git-upload-pack $RPM_BUILD_ROOT%{_bindir}/git-upload-pack
622ln -sf ../..%{gitcoredir}/git $RPM_BUILD_ROOT%{_bindir}/git
698b79f9
ER
623
624# convert all hardlinks to symlinks, as rpm fails to calculate it properly
625# requiring excessive free space when it may not be available
626# https://bugs.launchpad.net/pld-linux/+bug/1176337
627find $RPM_BUILD_ROOT%{gitcoredir} -samefile $RPM_BUILD_ROOT%{gitcoredir}/git > files
628for f in $(cat files); do
629 f=${f#$RPM_BUILD_ROOT%{gitcoredir}/}
630 test $f = git && continue
631 ln -snf git $RPM_BUILD_ROOT%{gitcoredir}/$f
632done
633
634# few others
635ln -snf git-gui $RPM_BUILD_ROOT%{gitcoredir}/git-citool
636ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-https
637ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-ftp
638ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-ftps
4e9fd7a9 639
be2ccf99 640# remove unneeded files
44ee5525 641%py_postclean
27b79a12 642
20b80b37 643%{__mv} $RPM_BUILD_ROOT%{_localedir}/pt{_PT,}
fdf2ed38
JB
644%find_lang git
645
51c3b977 646%clean
647rm -rf $RPM_BUILD_ROOT
648
b11ada2c
AG
649%post daemon-inetd
650%service -q rc-inetd reload
651
652%postun daemon-inetd
653if [ "$1" = "0" ]; then
654 %service -q rc-inetd reload
655fi
656
657%post daemon-standalone
658/sbin/chkconfig --add git-daemon
659%service git-daemon restart "git-daemon"
660
661%preun daemon-standalone
662if [ "$1" = "0" ]; then
663 %service git-daemon stop
664 /sbin/chkconfig --del git-daemon
665fi
666
be2ccf99
AG
667%triggerin gitweb -- apache1 < 1.3.37-3, apache1-base
668%webapp_register apache %{webapp}
669
670%triggerun gitweb -- apache1 < 1.3.37-3, apache1-base
671%webapp_unregister apache %{webapp}
672
814a047c 673%triggerin gitweb -- apache < 2.2.0, apache-base
be2ccf99
AG
674%webapp_register httpd %{webapp}
675
814a047c 676%triggerun gitweb -- apache < 2.2.0, apache-base
be2ccf99
AG
677%webapp_unregister httpd %{webapp}
678
51ce768a
KK
679%triggerin gitweb -- lighttpd
680%webapp_register lighttpd %{webapp}
681
682%triggerun gitweb -- lighttpd
683%webapp_unregister lighttpd %{webapp}
684
fdf2ed38 685%files -f git.lang
51c3b977 686%defattr(644,root,root,755)
a824ba4f 687%doc README.md contrib-doc
a8655d02 688%attr(755,root,root) %{_bindir}/git
44ee5525
ER
689%attr(755,root,root) %{_bindir}/git-receive-pack
690%attr(755,root,root) %{_bindir}/git-shell
691%attr(755,root,root) %{_bindir}/git-upload-archive
692%attr(755,root,root) %{_bindir}/git-upload-pack
cdeb0400 693%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}
a8655d02 694
08cc92d7 695%if %{with doc}
0afd37aa 696%{_mandir}/man1/git-*.1*
dbde9893 697%exclude %{_mandir}/man1/git-archimport.1*
2c0376c9
AM
698%exclude %{_mandir}/man1/git-svn.1*
699%exclude %{_mandir}/man1/git-cvs*.1*
858c27ef 700%exclude %{_mandir}/man1/git-imap-send*.1*
dbde9893 701%exclude %{_mandir}/man1/*email*.1*
a48d28b8 702%{_mandir}/man1/git.1*
0afd37aa 703%{_mandir}/man5/gitattributes.5*
a48d28b8 704%{_mandir}/man5/githooks.5*
0afd37aa 705%{_mandir}/man5/gitignore.5*
785b167d 706%{_mandir}/man5/gitmodules.5*
a48d28b8
AG
707%{_mandir}/man5/gitrepository-layout.5*
708%{_mandir}/man7/gitcli.7*
709%{_mandir}/man7/gitcore-tutorial.7*
fdf2ed38 710%{_mandir}/man7/gitcredentials.7*
a48d28b8 711%{_mandir}/man7/gitdiffcore.7*
ab67970b 712%{_mandir}/man7/giteveryday.7*
f07f1df6 713%{_mandir}/man7/gitfaq.7*
a48d28b8 714%{_mandir}/man7/gitglossary.7*
60b58680 715%{_mandir}/man7/gitnamespaces.7*
dab2f9ca 716%{_mandir}/man7/gitremote-helpers.7*
f16e8911 717%{_mandir}/man7/gitrevisions.7*
d5e39597 718%{_mandir}/man7/gitsubmodules.7*
a48d28b8
AG
719%{_mandir}/man7/gittutorial-2.7*
720%{_mandir}/man7/gittutorial.7*
670fe4d6 721%{_mandir}/man7/gitworkflows.7*
08cc92d7 722%endif
a8655d02 723
348dee00
ER
724%dir %{gitcoredir}
725%attr(755,root,root) %{gitcoredir}/*-*
726%attr(755,root,root) %{gitcoredir}/git
727%dir %{gitcoredir}/mergetools
728%{gitcoredir}/mergetools/*
a8655d02 729
0d2db069
ER
730%{_datadir}/%{name}
731%{_localstatedir}/lib/git
732
733# subpackages
348dee00
ER
734%exclude %{gitcoredir}/*email*
735%exclude %{gitcoredir}/*p4*
736%exclude %{gitcoredir}/git-archimport
6fbf4942 737%exclude %{gitcoredir}/git-citool
348dee00
ER
738%exclude %{gitcoredir}/git-cvs*
739%exclude %{gitcoredir}/git-gui
740%exclude %{gitcoredir}/git-imap-send
741%exclude %{gitcoredir}/git-instaweb
742%exclude %{gitcoredir}/git-remote-bzr
743%exclude %{gitcoredir}/git-remote-hg
348dee00
ER
744%exclude %{gitcoredir}/git-svn
745%exclude %{gitcoredir}/mergetools/p4merge
f295f80f 746%if %{with gnome_keyring}
348dee00 747%exclude %{gitcoredir}/git-credential-gnome-keyring
f295f80f 748%endif
20b80b37
JB
749%if %{with libsecret}
750%exclude %{gitcoredir}/git-credential-libsecret
751%endif
e3cefa79 752
a8655d02
ER
753%if %{with doc}
754%files doc
778b89a7 755%defattr(644,root,root,755)
a8655d02
ER
756%doc Documentation/RelNotes*
757%doc Documentation/*.html Documentation/howto Documentation/technical
758%endif
759
b11ada2c
AG
760%files daemon-inetd
761%defattr(644,root,root,755)
762%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/git-daemon
763
764%files daemon-standalone
765%defattr(644,root,root,755)
766%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/git-daemon
767%attr(754,root, root) /etc/rc.d/init.d/git-daemon
768
e3cefa79 769%files devel
3ff86e9e 770%defattr(644,root,root,755)
cdeb0400 771%{_includedir}/%{name}
5db07614 772%{_libdir}/libgit.a
eaf5c40c 773%{_libdir}/libgit_xdiff.a
5d7220ad 774
7d9cd7eb 775%if %{with tk}
91396e2e
AG
776%files gitk
777%defattr(644,root,root,755)
08cc92d7 778%if %{with doc}
91396e2e 779%{_mandir}/man1/gitk.1*
08cc92d7
ER
780%endif
781%attr(755,root,root) %{_bindir}/gitk
9fa88d97
AM
782%dir %{_datadir}/gitk
783%dir %{_datadir}/gitk/lib
784%dir %{_datadir}/gitk/lib/msgs
5d132744 785%lang(bg) %{_datadir}/gitk/lib/msgs/bg.msg
6cc57eea 786%lang(ca) %{_datadir}/gitk/lib/msgs/ca.msg
3b243bbe 787%lang(de) %{_datadir}/gitk/lib/msgs/de.msg
f9871074 788%lang(es) %{_datadir}/gitk/lib/msgs/es.msg
778b89a7
AM
789%lang(fr) %{_datadir}/gitk/lib/msgs/fr.msg
790%lang(hu) %{_datadir}/gitk/lib/msgs/hu.msg
3b243bbe 791%lang(it) %{_datadir}/gitk/lib/msgs/it.msg
469258c9 792%lang(ja) %{_datadir}/gitk/lib/msgs/ja.msg
3ed82b68 793%lang(pt_BR) %{_datadir}/gitk/lib/msgs/pt_br.msg
22105a2f 794%lang(pt_PT) %{_datadir}/gitk/lib/msgs/pt_pt.msg
95998f97 795%lang(ru) %{_datadir}/gitk/lib/msgs/ru.msg
f9871074 796%lang(sv) %{_datadir}/gitk/lib/msgs/sv.msg
1adc1f85 797%lang(vi) %{_datadir}/gitk/lib/msgs/vi.msg
6a0ecca2 798%lang(zh_CN) %{_datadir}/gitk/lib/msgs/zh_cn.msg
7d9cd7eb 799%endif
91396e2e 800
be2ccf99
AG
801%files gitweb
802%defattr(644,root,root,755)
803%doc gitweb/{README,INSTALL}
804%dir %{webappdir}
be2ccf99
AG
805%config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/apache.conf
806%config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/httpd.conf
51ce768a 807%config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/lighttpd.conf
642ee6ff 808%config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitweb.conf
9611d914 809%config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitolite.pl
be2ccf99
AG
810%attr(755,root,root) %{cgibindir}/gitweb.cgi
811%{appdir}
348dee00 812%attr(755,root,root) %{gitcoredir}/git-instaweb
93a30d5e 813%if %{with doc}
0c582eb3
AM
814%{_mandir}/man1/gitweb.1*
815%{_mandir}/man5/gitweb.conf.5*
93a30d5e 816%endif
be2ccf99 817
7d9cd7eb 818%if %{with tk}
f9871074
AG
819%files gui
820%defattr(644,root,root,755)
6fbf4942 821%attr(755,root,root) %{gitcoredir}/git-citool
348dee00 822%attr(755,root,root) %{gitcoredir}/git-gui
f9871074
AG
823%dir %{_datadir}/git-gui
824%dir %{_datadir}/git-gui/lib
825%dir %{_datadir}/git-gui/lib/msgs
826%{_datadir}/git-gui/lib/git-gui.ico
827%{_datadir}/git-gui/lib/tclIndex
828%{_datadir}/git-gui/lib/*.js
829%{_datadir}/git-gui/lib/*.tcl
5d132744 830%lang(bg) %{_datadir}/git-gui/lib/msgs/bg.msg
f9871074 831%lang(de) %{_datadir}/git-gui/lib/msgs/de.msg
469258c9 832%lang(el) %{_datadir}/git-gui/lib/msgs/el.msg
f9871074
AG
833%lang(fr) %{_datadir}/git-gui/lib/msgs/fr.msg
834%lang(hu) %{_datadir}/git-gui/lib/msgs/hu.msg
835%lang(it) %{_datadir}/git-gui/lib/msgs/it.msg
836%lang(ja) %{_datadir}/git-gui/lib/msgs/ja.msg
670fe4d6 837%lang(nb) %{_datadir}/git-gui/lib/msgs/nb.msg
345fc12f 838%lang(pt) %{_datadir}/git-gui/lib/msgs/pt_pt.msg
10343d09 839%lang(pt_BR) %{_datadir}/git-gui/lib/msgs/pt_br.msg
f9871074
AG
840%lang(ru) %{_datadir}/git-gui/lib/msgs/ru.msg
841%lang(sv) %{_datadir}/git-gui/lib/msgs/sv.msg
6cc57eea 842%lang(vi) %{_datadir}/git-gui/lib/msgs/vi.msg
35cbc54f 843%lang(zh_CN) %{_datadir}/git-gui/lib/msgs/zh_cn.msg
7d9cd7eb 844%endif
f9871074 845
e5fa8af5
JB
846%files arch
847%defattr(644,root,root,755)
348dee00 848%attr(755,root,root) %{gitcoredir}/git-archimport
e5fa8af5
JB
849%if %{with doc}
850%{_mandir}/man1/git-archimport.1*
851%endif
852
0d2db069
ER
853%files bzr
854%defattr(644,root,root,755)
348dee00 855%attr(755,root,root) %{gitcoredir}/git-remote-bzr
0d2db069 856
e5fa8af5
JB
857%files cvs
858%defattr(644,root,root,755)
859%attr(755,root,root) %{_bindir}/git-cvsserver
348dee00 860%attr(755,root,root) %{gitcoredir}/git-cvs*
e5fa8af5
JB
861%if %{with doc}
862%{_mandir}/man1/git-cvs*.1*
863%{_mandir}/man7/gitcvs-migration.7*
864%endif
865
0d2db069
ER
866%files hg
867%defattr(644,root,root,755)
348dee00 868%attr(755,root,root) %{gitcoredir}/git-remote-hg
0d2db069
ER
869
870%files p4
871%defattr(644,root,root,755)
348dee00
ER
872%attr(755,root,root) %{gitcoredir}/git-p4
873%attr(755,root,root) %{gitcoredir}/mergetools/p4merge
0d2db069 874
2c0376c9
AM
875%files svn
876%defattr(644,root,root,755)
348dee00 877%attr(755,root,root) %{gitcoredir}/git-svn
b5884c73 878%{perl_vendorlib}/Git/SVN
bbceff2c 879%{perl_vendorlib}/Git/SVN.pm
2c0376c9
AM
880%if %{with doc}
881%{_mandir}/man1/git-svn.1*
882%endif
883
d82521ea
ER
884%files email
885%defattr(644,root,root,755)
348dee00
ER
886%attr(755,root,root) %{gitcoredir}/git-imap-send
887%attr(755,root,root) %{gitcoredir}/*email*
d82521ea 888%if %{with doc}
d82521ea 889%{_mandir}/man1/*email*.1*
858c27ef 890%{_mandir}/man1/*imap-send*.1*
d82521ea
ER
891%endif
892
f2c1983d
AG
893%files -n bash-completion-git
894%defattr(644,root,root,755)
3102984c 895%{bash_compdir}/git
f2c1983d 896
3dc01deb 897%files -n perl-Git
5d7220ad 898%defattr(644,root,root,755)
3dc01deb 899%{perl_vendorlib}/Git.pm
b5884c73
KK
900%dir %{perl_vendorlib}/Git
901%{perl_vendorlib}/Git/I18N.pm
bbceff2c 902%{perl_vendorlib}/Git/IndexInfo.pm
6fa8665e 903%{perl_vendorlib}/Git/LoadCPAN.pm
499c2b98 904%{perl_vendorlib}/Git/Packet.pm
6fa8665e
JP
905%dir %{perl_vendorlib}/Git/LoadCPAN
906%{perl_vendorlib}/Git/LoadCPAN/Error.pm
907%dir %{perl_vendorlib}/Git/LoadCPAN/Mail
908%{perl_vendorlib}/Git/LoadCPAN/Mail/Address.pm
233261d9 909%{?with_doc:%{_mandir}/man3/Git.3pm*}
0643d0ea
ER
910
911%if %{with gnome_keyring}
912%files -n gnome-keyring-git-core
913%defattr(644,root,root,755)
348dee00 914%attr(755,root,root) %{gitcoredir}/git-credential-gnome-keyring
0643d0ea 915%endif
20b80b37
JB
916
917%if %{with libsecret}
918%files credential-libsecret
919%defattr(644,root,root,755)
920%attr(755,root,root) %{gitcoredir}/git-credential-libsecret
921%endif
This page took 0.289973 seconds and 4 git commands to generate.