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