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