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