]> git.pld-linux.org Git - packages/git-core.git/blame - git-core.spec
one more symlink
[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
a824ba4f 16Version: 2.8.0
6aec1d92 17Release: 3
51c3b977 18License: GPL v2
19Group: Development/Tools
b4c15beb 20Source0: http://www.kernel.org/pub/software/scm/git/git-%{version}.tar.xz
a824ba4f 21# Source0-md5: 01477f0b97ccab20b986f2808f4d7a97
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
5d7220ad 430
3dc01deb 431%description -n perl-Git
5d7220ad
AM
432This module provides Perl scripts easy way to interface the Git
433version control system. The modules have an easy and well-tested way
434to call arbitrary Git commands; in the future, the interface will also
435provide specialized methods for doing easily operations which are not
436totally trivial to do over the generic command interface.
437
ea061c99
JR
438%description -n perl-Git -l pl.UTF-8
439Ten moduł umożliwia skryptom Perla współpracę z systemem kontroli
08cc92d7
ER
440wersji Git. W łatwy i dobrze przetestowany sposób pozwala wywoływać
441dowolne polecenia Gita; w przyszłości interfejs udostępni także
442specjalne metody do łatwego wykonywania operacji nietrywialnych do
443wykonania przy użyciu ogólnego interfejsu poleceń.
7eef96e1 444
0643d0ea
ER
445%package -n gnome-keyring-git-core
446Summary: GNOME Keyring authentication provider for Git
447Summary(pl.UTF-8): Moduł uwierzytelniający GNOME Keyring dla Git
448Group: X11/Applications
25c1ae0c 449URL: http://git-scm.com/docs/gitcredentials.html
0643d0ea
ER
450Requires: %{name} = %{version}-%{release}
451
452%description -n gnome-keyring-git-core
453Authentication provider module for Git which allows git client to
454authenticate using GNOME Keyring.
455
25c1ae0c 456You need to register it with:
a4e33b57 457- git config --global credential.helper gnome-keyring
25c1ae0c 458
0643d0ea
ER
459%description -n gnome-keyring-git-core -l pl.UTF-8
460Moduł uwierzytelniający dla Subversion pozwalający klientom git
461uwierzytelniać się przy użyciu mechanizmu GNOME Keyring.
462
50e442d4 463Moduł trzeba zarejestrować poleceniem:
a4e33b57 464- git config --global credential.helper gnome-keyring
50e442d4 465
51c3b977 466%prep
5013f7fc 467%setup -q -n git-%{version}
6b1e62ae 468%patch0 -p1
b2c254f3 469%patch1 -p0
d12d8532 470%patch2 -p1
8ce45cec 471%patch3 -p1
c64c444d 472%patch4 -p1
a1036d06 473
0643d0ea
ER
474%{__rm} {Documentation/technical,contrib/emacs,contrib/credential/gnome-keyring}/.gitignore
475
ab67970b
AM
476# we build things in contrib but want to have it clean for doc purporses, too
477cp -a contrib contrib-doc
478
a1036d06 479%build
11856720
AM
480%{__aclocal}
481%{__autoconf}
482%configure \
d12d8532 483 --sysconfdir=%{_sysconfdir}/git-core \
202eeb4b 484 %{?with_pcre:--with-libpcre} \
11856720 485 --with-openssl
51c3b977 486
7cfee1ba
KK
487echo "BLK_SHA1=1" >> config.mak
488
b69112f7 489%{__make} \
be2ccf99
AG
490 INSTALLDIRS=vendor \
491 GITWEB_CONFIG="%{webappdir}/gitweb.conf" \
492 GITWEB_PROJECTROOT="/var/lib/git" \
493 GITWEB_CSS="/gitweb/gitweb.css" \
494 GITWEB_LOGO="/gitweb/git-logo.png" \
f74aede9
JB
495 GITWEB_FAVICON="/gitweb/git-favicon.png" \
496 V=1
27b79a12 497
d1d05a7a
ER
498%{__make} -C contrib/subtree
499
0643d0ea
ER
500%if %{with gnome_keyring}
501%{__make} -C contrib/credential/gnome-keyring
502%endif
503
83b9a8cd
ER
504%if %{with doc}
505%{__make} -C Documentation \
506 MAN_BASE_URL=file://%{_docdir}/%{name}-doc-%{version}/ \
507 V=1
508%endif
7fdeb28c 509
db032591
AM
510%if %{with tests}
511%if %{without tests_cvs}
8bed7625 512%{__rm} t/t*cvs*.sh || :
db032591 513%endif
acc7b6c4 514%{!?with_tests_svn:GIT_SKIP_TESTS='t91??'} %{__make} test
db032591 515%endif
6c0d6e05 516
51c3b977 517%install
518rm -rf $RPM_BUILD_ROOT
5db07614 519install -d $RPM_BUILD_ROOT{%{_includedir}/%{name}/xdiff,%{_localstatedir}/lib/git}
be2ccf99 520install -d $RPM_BUILD_ROOT{%{appdir},%{cgibindir},%{webappdir}}
5db07614 521install -d $RPM_BUILD_ROOT/etc/{sysconfig/rc-inetd,rc.d/init.d}
cdeb0400 522install -d $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
d12d8532
KK
523cat << EOF > $RPM_BUILD_ROOT%{_sysconfdir}/git-core/gitconfig
524[init]
cdeb0400 525 templatedir = %{_sysconfdir}/%{name}/templates
d12d8532 526EOF
c751087d 527
51c3b977 528%{__make} install \
d778c02c 529 INSTALLDIRS=vendor \
51c3b977 530 DESTDIR=$RPM_BUILD_ROOT
531
08cc92d7 532%if %{with doc}
7fdeb28c 533%{__make} -C Documentation install \
7fdeb28c 534 DESTDIR=$RPM_BUILD_ROOT
08cc92d7 535%endif
7fdeb28c 536
d12d8532
KK
537# copy templates except sample hooks
538cp -a $RPM_BUILD_ROOT%{_datadir}/%{name}/templates $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
539%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/templates/hooks/*.sample
540
1f25da6d 541# header files and lib
cdeb0400 542cp -p *.h $RPM_BUILD_ROOT%{_includedir}/%{name}
31b26a50 543cp -a compat $RPM_BUILD_ROOT%{_includedir}/%{name}
cdeb0400 544cp -p xdiff/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/xdiff
95341e74
KK
545install -d $RPM_BUILD_ROOT%{_includedir}/%{name}/block-sha1
546cp -p block-sha1/sha1.h $RPM_BUILD_ROOT%{_includedir}/%{name}/block-sha1
cdeb0400
ER
547cp -p libgit.a $RPM_BUILD_ROOT%{_libdir}
548cp -p xdiff/lib.a $RPM_BUILD_ROOT%{_libdir}/libgit_xdiff.a
95341e74 549cp -p {Makefile,config.mak,config.mak.autogen,config.mak.uname} $RPM_BUILD_ROOT%{_includedir}/%{name}
e3cefa79 550
d1d05a7a 551%{__make} -C contrib/subtree install \
348dee00 552 libexecdir=%{gitcoredir} \
d1d05a7a
ER
553 DESTDIR=$RPM_BUILD_ROOT
554
555%if %{with doc}
e6bf5c7d 556%{__make} -C contrib/subtree install-man \
d1d05a7a
ER
557 DESTDIR=$RPM_BUILD_ROOT
558%endif
559
0643d0ea 560%if %{with gnome_keyring}
348dee00 561install -p contrib/credential/gnome-keyring/git-credential-gnome-keyring $RPM_BUILD_ROOT%{gitcoredir}
0643d0ea
ER
562%endif
563
f2c1983d 564# bash completion
3102984c
ER
565install -d $RPM_BUILD_ROOT%{bash_compdir}
566cp -p contrib/completion/git-completion.bash $RPM_BUILD_ROOT%{bash_compdir}/git
f2c1983d 567
b0d443ea
ER
568# Install git-prompt.sh
569install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/completion
570cp -p contrib/completion/git-prompt.sh $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/completion
571
0d2db069 572# Install bzr and hg remote helpers from contrib
348dee00 573install -p contrib/remote-helpers/git-remote-{bzr,hg} $RPM_BUILD_ROOT%{gitcoredir}
0d2db069 574
be2ccf99 575# gitweb
4f98dcd3 576mv $RPM_BUILD_ROOT{%{appdir},%{cgibindir}}/gitweb.cgi
93a30d5e 577ln -s %{cgibindir}/gitweb.cgi $RPM_BUILD_ROOT%{appdir}/gitweb.cgi
cdeb0400 578cp -p %{SOURCE1} $RPM_BUILD_ROOT%{webappdir}/gitweb.conf
642ee6ff 579cp -p %{SOURCE7} $RPM_BUILD_ROOT%{webappdir}/gitolite.pl
cdeb0400 580cp -p %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/apache.conf
814a047c 581cp -p %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/httpd.conf
cdeb0400 582cp -p %{SOURCE3} $RPM_BUILD_ROOT%{webappdir}/lighttpd.conf
be2ccf99 583
e1c8d79f 584# gitview
d82521ea 585install -p contrib/gitview/gitview $RPM_BUILD_ROOT%{_bindir}
e1c8d79f 586
b11ada2c 587# git-daemon related files
e43aceaa
ER
588cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/git-daemon
589cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
51ce768a 590install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
b11ada2c 591
bf7a9a54 592# paths cleanup
6743dd7e
ER
593sed -e 's,@libdir@/git-core,%{gitcoredir},g' -i $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
594sed -e 's,@libdir@/git-core,%{gitcoredir},g' -i $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
bf7a9a54 595
698b79f9
ER
596# same file, link
597ln -sf git $RPM_BUILD_ROOT%{_bindir}/git-receive-pack
598ln -sf git $RPM_BUILD_ROOT%{_bindir}/git-upload-archive
6aec1d92
ER
599ln -sf ../..%{gitcoredir}/git-shell $RPM_BUILD_ROOT%{_bindir}/git-shell
600ln -sf ../..%{gitcoredir}/git-upload-pack $RPM_BUILD_ROOT%{_bindir}/git-upload-pack
601ln -sf ../..%{gitcoredir}/git $RPM_BUILD_ROOT%{_bindir}/git
698b79f9
ER
602
603# convert all hardlinks to symlinks, as rpm fails to calculate it properly
604# requiring excessive free space when it may not be available
605# https://bugs.launchpad.net/pld-linux/+bug/1176337
606find $RPM_BUILD_ROOT%{gitcoredir} -samefile $RPM_BUILD_ROOT%{gitcoredir}/git > files
607for f in $(cat files); do
608 f=${f#$RPM_BUILD_ROOT%{gitcoredir}/}
609 test $f = git && continue
610 ln -snf git $RPM_BUILD_ROOT%{gitcoredir}/$f
611done
612
613# few others
614ln -snf git-gui $RPM_BUILD_ROOT%{gitcoredir}/git-citool
615ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-https
616ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-ftp
617ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-ftps
4e9fd7a9 618
be2ccf99 619# remove unneeded files
cdeb0400
ER
620%{__rm} $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
621%{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/auto/Git/.packlist
44ee5525 622%py_postclean
27b79a12 623
815a92b1 624mv $RPM_BUILD_ROOT%{_localedir}/pt{_PT,}
fdf2ed38
JB
625%find_lang git
626
51c3b977 627%clean
628rm -rf $RPM_BUILD_ROOT
629
b11ada2c
AG
630%post daemon-inetd
631%service -q rc-inetd reload
632
633%postun daemon-inetd
634if [ "$1" = "0" ]; then
635 %service -q rc-inetd reload
636fi
637
638%post daemon-standalone
639/sbin/chkconfig --add git-daemon
640%service git-daemon restart "git-daemon"
641
642%preun daemon-standalone
643if [ "$1" = "0" ]; then
644 %service git-daemon stop
645 /sbin/chkconfig --del git-daemon
646fi
647
be2ccf99
AG
648%triggerin gitweb -- apache1 < 1.3.37-3, apache1-base
649%webapp_register apache %{webapp}
650
651%triggerun gitweb -- apache1 < 1.3.37-3, apache1-base
652%webapp_unregister apache %{webapp}
653
814a047c 654%triggerin gitweb -- apache < 2.2.0, apache-base
be2ccf99
AG
655%webapp_register httpd %{webapp}
656
814a047c 657%triggerun gitweb -- apache < 2.2.0, apache-base
be2ccf99
AG
658%webapp_unregister httpd %{webapp}
659
51ce768a
KK
660%triggerin gitweb -- lighttpd
661%webapp_register lighttpd %{webapp}
662
663%triggerun gitweb -- lighttpd
664%webapp_unregister lighttpd %{webapp}
665
fdf2ed38 666%files -f git.lang
51c3b977 667%defattr(644,root,root,755)
a824ba4f 668%doc README.md contrib-doc
a8655d02 669%attr(755,root,root) %{_bindir}/git
44ee5525
ER
670%attr(755,root,root) %{_bindir}/git-receive-pack
671%attr(755,root,root) %{_bindir}/git-shell
672%attr(755,root,root) %{_bindir}/git-upload-archive
673%attr(755,root,root) %{_bindir}/git-upload-pack
cdeb0400 674%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}
a8655d02 675
08cc92d7 676%if %{with doc}
0afd37aa 677%{_mandir}/man1/git-*.1*
dbde9893 678%exclude %{_mandir}/man1/git-archimport.1*
2c0376c9
AM
679%exclude %{_mandir}/man1/git-svn.1*
680%exclude %{_mandir}/man1/git-cvs*.1*
858c27ef 681%exclude %{_mandir}/man1/git-imap-send*.1*
dbde9893 682%exclude %{_mandir}/man1/*email*.1*
a48d28b8 683%{_mandir}/man1/git.1*
a77c0aad 684%{_mandir}/man1/gitremote-helpers.1*
0afd37aa 685%{_mandir}/man5/gitattributes.5*
a48d28b8 686%{_mandir}/man5/githooks.5*
0afd37aa 687%{_mandir}/man5/gitignore.5*
785b167d 688%{_mandir}/man5/gitmodules.5*
a48d28b8
AG
689%{_mandir}/man5/gitrepository-layout.5*
690%{_mandir}/man7/gitcli.7*
691%{_mandir}/man7/gitcore-tutorial.7*
fdf2ed38 692%{_mandir}/man7/gitcredentials.7*
a48d28b8 693%{_mandir}/man7/gitdiffcore.7*
ab67970b 694%{_mandir}/man7/giteveryday.7*
a48d28b8 695%{_mandir}/man7/gitglossary.7*
60b58680 696%{_mandir}/man7/gitnamespaces.7*
f16e8911 697%{_mandir}/man7/gitrevisions.7*
a48d28b8
AG
698%{_mandir}/man7/gittutorial-2.7*
699%{_mandir}/man7/gittutorial.7*
670fe4d6 700%{_mandir}/man7/gitworkflows.7*
08cc92d7 701%endif
a8655d02 702
348dee00
ER
703%dir %{gitcoredir}
704%attr(755,root,root) %{gitcoredir}/*-*
705%attr(755,root,root) %{gitcoredir}/git
706%dir %{gitcoredir}/mergetools
707%{gitcoredir}/mergetools/*
a8655d02 708
0d2db069
ER
709%{_datadir}/%{name}
710%{_localstatedir}/lib/git
711
712# subpackages
348dee00
ER
713%exclude %{gitcoredir}/*email*
714%exclude %{gitcoredir}/*p4*
715%exclude %{gitcoredir}/git-archimport
716%exclude %{gitcoredir}/git-cvs*
717%exclude %{gitcoredir}/git-gui
718%exclude %{gitcoredir}/git-imap-send
719%exclude %{gitcoredir}/git-instaweb
720%exclude %{gitcoredir}/git-remote-bzr
721%exclude %{gitcoredir}/git-remote-hg
722%exclude %{gitcoredir}/git-remote-testsvn
723%exclude %{gitcoredir}/git-svn
724%exclude %{gitcoredir}/mergetools/p4merge
f295f80f 725%if %{with gnome_keyring}
348dee00 726%exclude %{gitcoredir}/git-credential-gnome-keyring
f295f80f 727%endif
e3cefa79 728
a8655d02
ER
729%if %{with doc}
730%files doc
778b89a7 731%defattr(644,root,root,755)
a8655d02
ER
732%doc Documentation/RelNotes*
733%doc Documentation/*.html Documentation/howto Documentation/technical
734%endif
735
b11ada2c
AG
736%files daemon-inetd
737%defattr(644,root,root,755)
738%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/git-daemon
739
740%files daemon-standalone
741%defattr(644,root,root,755)
742%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/git-daemon
743%attr(754,root, root) /etc/rc.d/init.d/git-daemon
744
e3cefa79 745%files devel
3ff86e9e 746%defattr(644,root,root,755)
cdeb0400 747%{_includedir}/%{name}
5db07614 748%{_libdir}/libgit.a
eaf5c40c 749%{_libdir}/libgit_xdiff.a
5d7220ad 750
91396e2e
AG
751%files gitk
752%defattr(644,root,root,755)
08cc92d7 753%if %{with doc}
91396e2e 754%{_mandir}/man1/gitk.1*
08cc92d7
ER
755%endif
756%attr(755,root,root) %{_bindir}/gitk
9fa88d97
AM
757%dir %{_datadir}/gitk
758%dir %{_datadir}/gitk/lib
759%dir %{_datadir}/gitk/lib/msgs
5d132744 760%lang(bg) %{_datadir}/gitk/lib/msgs/bg.msg
6cc57eea 761%lang(ca) %{_datadir}/gitk/lib/msgs/ca.msg
3b243bbe 762%lang(de) %{_datadir}/gitk/lib/msgs/de.msg
f9871074 763%lang(es) %{_datadir}/gitk/lib/msgs/es.msg
778b89a7
AM
764%lang(fr) %{_datadir}/gitk/lib/msgs/fr.msg
765%lang(hu) %{_datadir}/gitk/lib/msgs/hu.msg
3b243bbe 766%lang(it) %{_datadir}/gitk/lib/msgs/it.msg
469258c9 767%lang(ja) %{_datadir}/gitk/lib/msgs/ja.msg
3ed82b68 768%lang(pt_BR) %{_datadir}/gitk/lib/msgs/pt_br.msg
95998f97 769%lang(ru) %{_datadir}/gitk/lib/msgs/ru.msg
f9871074 770%lang(sv) %{_datadir}/gitk/lib/msgs/sv.msg
1adc1f85 771%lang(vi) %{_datadir}/gitk/lib/msgs/vi.msg
91396e2e 772
be2ccf99
AG
773%files gitweb
774%defattr(644,root,root,755)
775%doc gitweb/{README,INSTALL}
776%dir %{webappdir}
be2ccf99
AG
777%config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/apache.conf
778%config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/httpd.conf
51ce768a 779%config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/lighttpd.conf
642ee6ff 780%config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitweb.conf
9611d914 781%config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitolite.pl
be2ccf99
AG
782%attr(755,root,root) %{cgibindir}/gitweb.cgi
783%{appdir}
348dee00 784%attr(755,root,root) %{gitcoredir}/git-instaweb
93a30d5e 785%if %{with doc}
0c582eb3
AM
786%{_mandir}/man1/gitweb.1*
787%{_mandir}/man5/gitweb.conf.5*
93a30d5e 788%endif
be2ccf99 789
e1c8d79f 790%files gitview
791%defattr(644,root,root,755)
792%doc contrib/gitview/gitview.txt
793%attr(755,root,root) %{_bindir}/gitview
794
f9871074
AG
795%files gui
796%defattr(644,root,root,755)
348dee00 797%attr(755,root,root) %{gitcoredir}/git-gui
f9871074
AG
798%dir %{_datadir}/git-gui
799%dir %{_datadir}/git-gui/lib
800%dir %{_datadir}/git-gui/lib/msgs
801%{_datadir}/git-gui/lib/git-gui.ico
802%{_datadir}/git-gui/lib/tclIndex
803%{_datadir}/git-gui/lib/*.js
804%{_datadir}/git-gui/lib/*.tcl
5d132744 805%lang(bg) %{_datadir}/git-gui/lib/msgs/bg.msg
f9871074 806%lang(de) %{_datadir}/git-gui/lib/msgs/de.msg
469258c9 807%lang(el) %{_datadir}/git-gui/lib/msgs/el.msg
f9871074
AG
808%lang(fr) %{_datadir}/git-gui/lib/msgs/fr.msg
809%lang(hu) %{_datadir}/git-gui/lib/msgs/hu.msg
810%lang(it) %{_datadir}/git-gui/lib/msgs/it.msg
811%lang(ja) %{_datadir}/git-gui/lib/msgs/ja.msg
670fe4d6 812%lang(nb) %{_datadir}/git-gui/lib/msgs/nb.msg
e21aea75 813%lang(pt_br) %{_datadir}/git-gui/lib/msgs/pt_br.msg
f9871074
AG
814%lang(ru) %{_datadir}/git-gui/lib/msgs/ru.msg
815%lang(sv) %{_datadir}/git-gui/lib/msgs/sv.msg
6cc57eea 816%lang(vi) %{_datadir}/git-gui/lib/msgs/vi.msg
35cbc54f 817%lang(zh_CN) %{_datadir}/git-gui/lib/msgs/zh_cn.msg
f9871074 818
e5fa8af5
JB
819%files arch
820%defattr(644,root,root,755)
348dee00 821%attr(755,root,root) %{gitcoredir}/git-archimport
e5fa8af5
JB
822%if %{with doc}
823%{_mandir}/man1/git-archimport.1*
824%endif
825
0d2db069
ER
826%files bzr
827%defattr(644,root,root,755)
348dee00 828%attr(755,root,root) %{gitcoredir}/git-remote-bzr
0d2db069 829
e5fa8af5
JB
830%files cvs
831%defattr(644,root,root,755)
832%attr(755,root,root) %{_bindir}/git-cvsserver
348dee00 833%attr(755,root,root) %{gitcoredir}/git-cvs*
e5fa8af5
JB
834%if %{with doc}
835%{_mandir}/man1/git-cvs*.1*
836%{_mandir}/man7/gitcvs-migration.7*
837%endif
838
0d2db069
ER
839%files hg
840%defattr(644,root,root,755)
348dee00 841%attr(755,root,root) %{gitcoredir}/git-remote-hg
0d2db069
ER
842
843%files p4
844%defattr(644,root,root,755)
348dee00
ER
845%attr(755,root,root) %{gitcoredir}/git-p4
846%attr(755,root,root) %{gitcoredir}/mergetools/p4merge
0d2db069 847
2c0376c9
AM
848%files svn
849%defattr(644,root,root,755)
348dee00
ER
850%attr(755,root,root) %{gitcoredir}/git-svn
851%attr(755,root,root) %{gitcoredir}/git-remote-testsvn
b5884c73 852%{perl_vendorlib}/Git/SVN
bbceff2c 853%{perl_vendorlib}/Git/SVN.pm
2c0376c9
AM
854%if %{with doc}
855%{_mandir}/man1/git-svn.1*
856%endif
857
d82521ea
ER
858%files email
859%defattr(644,root,root,755)
348dee00
ER
860%attr(755,root,root) %{gitcoredir}/git-imap-send
861%attr(755,root,root) %{gitcoredir}/*email*
d82521ea 862%if %{with doc}
d82521ea 863%{_mandir}/man1/*email*.1*
858c27ef 864%{_mandir}/man1/*imap-send*.1*
d82521ea
ER
865%endif
866
f2c1983d
AG
867%files -n bash-completion-git
868%defattr(644,root,root,755)
3102984c 869%{bash_compdir}/git
f2c1983d 870
3dc01deb 871%files -n perl-Git
5d7220ad 872%defattr(644,root,root,755)
3dc01deb 873%{perl_vendorlib}/Git.pm
b5884c73
KK
874%dir %{perl_vendorlib}/Git
875%{perl_vendorlib}/Git/I18N.pm
bbceff2c 876%{perl_vendorlib}/Git/IndexInfo.pm
fdf2ed38 877%{_mandir}/man3/Git*.3pm*
0643d0ea
ER
878
879%if %{with gnome_keyring}
880%files -n gnome-keyring-git-core
881%defattr(644,root,root,755)
348dee00 882%attr(755,root,root) %{gitcoredir}/git-credential-gnome-keyring
0643d0ea 883%endif
This page took 0.369189 seconds and 4 git commands to generate.