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