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