]> git.pld-linux.org Git - packages/git-core.git/blame - git-core.spec
perl-Git: force upgrade if main package updated
[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
51c3b977 93BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
94
19936745
AM
95# html docs have links to txt files
96%define _noautocompressdoc *.txt
97
e7120917
ER
98# do not generate perl dependency, git add -p support is optional
99%define _noautoreqfiles %{_libexecdir}/%{name}/git-add--interactive
100
be2ccf99
AG
101%define webapp gitweb
102%define webappdir %{_sysconfdir}/webapps/%{webapp}
103%define appdir %{_datadir}/%{webapp}
104%define cgibindir %{_prefix}/lib/cgi-bin
ee14b8db 105%define gitcoredir %{_libexecdir}/%{name}
be2ccf99 106
51c3b977 107%description
108"git" can mean anything, depending on your mood.
109
d52424f5 110- random three-letter combination that is pronounceable, and not
111 actually used by any common UNIX command. The fact that it is a
112 mispronunciation of "get" may or may not be relevant.
113- stupid. contemptible and despicable. simple. Take your pick from the
114 dictionary of slang.
115- "global information tracker": you're in a good mood, and it actually
116 works for you. Angels sing, and a light suddenly fills the room.
117- "goddamn idiotic truckload of sh*t": when it breaks
51c3b977 118
c751087d 119This is a stupid (but extremely fast) directory content manager. It
51c3b977 120doesn't do a whole lot, but what it 'does' do is track directory
121contents efficiently.
122
ea061c99
JR
123%description -l pl.UTF-8
124"git" może oznaczać cokolwiek, w zależności od nastroju.
125
d52424f5 126- losową kombinację trzech liter, która jest wymawialna i właściwie
127 nie używana przez żadne popularne polecenie uniksowe. Fakt, że jest to
128 błędna pisownia słowa "get" może mieć lub nie mieć znaczenia.
129- głupi, pogardliwy, prosty. Można wybrać ze słownika slangu.
130- "global information tracker" (narzędzie do globalnego śledzenia
131 informacji) - jeśli jesteśmy w dobrym nastroju i git akurat działa.
132 Anioły śpiewają, a światło niespodziewanie wypełnia pokój.
133- "goddamn idiotic truckload of sh*t" (przeklęty idiotyczny ładunek
134 g*) - kiedy się zepsuje.
ea061c99
JR
135
136Jest to prymitywny (ale bardzo szybki) zarządca treści słownikowej.
137Nie robi wiele, ale to, co "robi", to wydajne śledzenie zawartości
c751087d
JB
138katalogu.
139
a8655d02
ER
140%package doc
141Summary: Documentation for git-core
142Summary(pl.UTF-8): Dokumentacja do git-core
143Group: Documentation
ad39aec1
ER
144%if "%{_rpmversion}" >= "5"
145BuildArch: noarch
146%endif
a8655d02
ER
147
148%description doc
149Documentation for git-core.
150
151%description doc -l pl.UTF-8
152Dokumentacja do git-core.
153
b11ada2c
AG
154%package daemon-inetd
155Summary: Files necessary to run git-daemon as an inetd service
5db07614 156Summary(pl.UTF-8): Pliki niezbędne do uruchomienia git-daemona w trybie usługi inetd
b11ada2c
AG
157Group: Networking/Daemons
158Requires: %{name} = %{version}-%{release}
159Requires: setup >= 2.4.11-1
160Provides: git-core-daemon
161Obsoletes: git-core-daemon
162Obsoletes: git-core-daemon-standalone
163
164%description daemon-inetd
165Git-daemon is a really simple TCP git daemon that can serve git
166repositories. This package provides all necessarry files to run
167git-daemon as an inetd service.
168
169%description daemon-inetd -l pl.UTF-8
5db07614
JB
170Git-daemon to prosty demon git korzystający z protokołu TCP do
171udostępniania repozytoriów git. Ten pakiet dostarcza pliki potrzebne
172do uruchomienia git-demona w trybie usługi inetd.
b11ada2c
AG
173
174%package daemon-standalone
175Summary: Files necessary to run git-daemon as a standalone service
5db07614 176Summary(pl.UTF-8): Pliki niezbędne do uruchomienia git-daemona w trybie usługi samodzielnej
b11ada2c
AG
177Group: Networking/Daemons
178Requires: %{name} = %{version}-%{release}
179Provides: git-core-daemon
180Obsoletes: git-core-daemon
181Obsoletes: git-core-daemon-inetd
182
183%description daemon-standalone
184Git-daemon is a really simple TCP git daemon that can serve git
185repositories. This package provides all necessarry files to run
186git-daemon as an standalone service.
187
188%description daemon-standalone -l pl.UTF-8
5db07614
JB
189Git-daemon to prosty demon git korzystający z protokołu TCP do
190udostępniania repozytoriów git. Ten pakiet dostarcza pliki potrzebne
191do uruchomienia git-daemona w trybie usługi samodzielnej.
b11ada2c 192
e3cefa79 193%package devel
8bed7625
JB
194Summary: Git library with header files
195Summary(pl.UTF-8): Biblioteka Gita oraz pliki nagłówkowe
66a7f095 196Group: Development/Libraries
d52424f5 197Requires: zlib-devel
e3cefa79 198
199%description devel
8bed7625 200Git library with header files.
66a7f095 201
ea061c99 202%description devel -l pl.UTF-8
8bed7625 203Biblioteka Gita oraz pliki nagłówkowe.
e3cefa79 204
91396e2e
AG
205%package gitk
206Summary: Tcl/Tk interface to the Git version control system
207Summary(pl.UTF-8): Napisany w Tcl/Tk interfejs do systemu kontroli wersji Git
208Group: Development/Tools
209Requires: %{name} = %{version}-%{release}
210Requires: tk
6743dd7e
ER
211%if "%{_rpmversion}" >= "5"
212BuildArch: noarch
213%endif
91396e2e
AG
214
215%description gitk
1fcd08a6
JB
216gitk displays changes in a repository or a selected set of commits.
217This includes visualizing the commit graph, showing information
218related to each commit, and the files in the trees of each revision.
91396e2e
AG
219
220Historically, gitk was the first repository browser. It's written in
04fdf912 221Tcl/Tk and started off in a separate repository but was later merged
91396e2e
AG
222into the main git repository.
223
224%description gitk -l pl.UTF-8
1fcd08a6
JB
225gitk wyświetla zmiany w repozytorium lub wybranym zbiorze commitów.
226Oznacza to wizualizację grafu commitów, wyświetlanie informacji
227związanych z każdym z commitów oraz listę plików dla każdej rewizji.
91396e2e 228
1fcd08a6 229Z historycznego punktu widzenia gitk był pierwszą przeglądarką
02059138
ER
230repozytorium git. Napisany jest w Tcl/Tk i początkowo był rozwijany w
231osobnym repozytorium, ale z czasem został włączony do głównego
2712fe7b 232repozytorium gita.
91396e2e 233
be2ccf99
AG
234%package gitweb
235Summary: Web frontend to git
41b5f4b1 236Summary(pl.UTF-8): Frontend WWW do gita
be2ccf99
AG
237Group: Development/Tools
238Requires: %{name} = %{version}-%{release}
239Requires: webapps
666cda7c 240Requires: webserver(access)
51ce768a
KK
241Requires: webserver(alias)
242Requires: webserver(cgi)
93a30d5e 243Suggests: webserver(setenv)
be2ccf99
AG
244
245%description gitweb
246This package provides a web interface for browsing git repositories.
247
248%description gitweb -l pl.UTF-8
2712fe7b 249Pakiet ten dostarcza interfejs WWW do przeglądania repozytoriów gita.
be2ccf99 250
f9871074
AG
251%package gui
252Summary: Tcl/Tk interface to the Git version control system
253Summary(pl.UTF-8): Napisany w Tcl/Tk interfejs do systemu kontroli wersji Git
254Group: Development/Tools
255Requires: %{name} = %{version}-%{release}
256Requires: tk
d4106757 257Requires: xdg-utils
531b434f 258Suggests: meld
f9871074
AG
259
260%description gui
261Displays changes in a repository or a selected set of commits. This
262includes visualizing the commit graph, showing information related to
263each commit, and the files in the trees of each revision.
264
265Historically, gitk was the first repository browser. It's written in
266Tcl/Tk and started off in a separate repository but was later merged
267into the main git repository.
268
269%description gui -l pl.UTF-8
270Wyświetla zmiany w repozytorium lub wybranym zbiorze commitów. Oznacza
271to wizualizację grafu commitów, wyświetlanie informacji związanych z
272każdym z commitów oraz listę plików dla każdej rewizji.
273
274Z punktu widzenia historii, gitk był pierwszą przeglądarką
275repozytorium git. Napisany jest w Tcl/Tk i początkowo był rozwijany w
276osobnym repozytorium, ale z czasem został włączony do głównego
277repozytorium gita.
278
e5fa8af5
JB
279%package arch
280Summary: Git tools for importing Arch repositories
281Summary(pl.UTF-8): Narzędzia Gita do importowania repozytoriów Archa
282Group: Development/Tools
283Requires: %{name} = %{version}-%{release}
284Requires: tla
285
286%description arch
287Git tools for importing Arch repositories.
288
289%description arch -l pl.UTF-8
290Narzędzia Gita do importowania repozytoriów Archa.
291
0d2db069
ER
292%package bzr
293Summary: Git tools for working with bzr repositories
e5fa8af5 294Summary(pl.UTF-8): Narzędzia Gita do pracy z repozytoriami bzr
0d2db069
ER
295Group: Development/Tools
296Requires: %{name} = %{version}-%{release}
297Requires: bzr
298
299%description bzr
300Git tools for working with bzr repositories.
301
e5fa8af5
JB
302%description bzr -l pl.UTF-8
303Narzędzia Gita do pracy z repozytoriami bzr.
304
305%package cvs
306Summary: CVS support for Git
307Summary(pl.UTF-8): Obsługa CVS dla Gita
308Group: Development/Tools
309Requires: %{name} = %{version}-%{release}
310Requires: cvsps >= 2.1-2
311Requires: rcs
312
313%description cvs
314CVS support for Git.
315
316%description cvs -l pl.UTF-8
317Obsługa CVS dla Gita.
318
0d2db069
ER
319%package hg
320Summary: Git tools for working with mercurial repositories
e5fa8af5 321Summary(pl.UTF-8): Narzędzia Gita do pracy z repozytoriami mercuriala
0d2db069
ER
322Group: Development/Tools
323Requires: %{name} = %{version}-%{release}
324Requires: mercurial >= 1.8
325
326%description hg
327Git tools for working with mercurial repositories.
328
e5fa8af5
JB
329%description hg -l pl.UTF-8
330Narzędzia Gita do pracy z repozytoriami mercuriala.
331
0d2db069
ER
332%package p4
333Summary: Git tools for working with Perforce depots
e5fa8af5 334Summary(pl.UTF-8): Narzędzia Gita do pracy z magazynami Perforce'a
0d2db069
ER
335Group: Development/Tools
336Requires: %{name} = %{version}-%{release}
337
338%description p4
339Git tools for working with Perforce depots.
340
e5fa8af5
JB
341%description p4 -l pl.UTF-8
342Narzędzia Gita do pracy z magazynami Perforce'a.
343
2c0376c9
AM
344%package svn
345Summary: Subversion support for Git
41b5f4b1 346Summary(pl.UTF-8): Obsługa Subversion dla Gita
2c0376c9
AM
347Group: Development/Tools
348Requires: %{name} = %{version}-%{release}
daccfb39 349Requires: perl-Encode
4ea37765 350Requires: perl-Term-ReadKey
2c0376c9
AM
351
352%description svn
353Subversion support for Git.
354
355%description svn -l pl.UTF-8
41b5f4b1 356Obsługa Subversion dla Gita.
2c0376c9 357
d82521ea
ER
358%package email
359Summary: Git tools for sending email
41b5f4b1 360Summary(pl.UTF-8): Narzędzia Gita do wysyłania poczty
d82521ea
ER
361Group: Development/Tools
362Requires: %{name} = %{version}-%{release}
77b23c69 363Suggests: perl-Net-SMTP-SSL
d82521ea
ER
364
365%description email
366Git tools for sending email.
367
41b5f4b1
JB
368%description email -l pl.UTF-8
369Narzędzia Gita do wysyłania poczty.
370
f2c1983d
AG
371%package -n bash-completion-git
372Summary: bash-completion for git
2712fe7b 373Summary(pl.UTF-8): bashowe uzupełnianie nazw dla gita
02059138 374Group: Applications/Shells
cdeb0400 375Requires: %{name} = %{version}-%{release}
3102984c 376Requires: bash-completion >= 2.0
c7e1d931
ER
377%if "%{_rpmversion}" >= "5"
378BuildArch: noarch
379%endif
f2c1983d
AG
380
381%description -n bash-completion-git
382This package provides bash-completion for git.
383
384%description -n bash-completion-git -l pl.UTF-8
5383e3af 385Pakiet ten dostarcza bashowe uzupełnianie nazw dla gita.
f2c1983d 386
3dc01deb 387%package -n perl-Git
5d7220ad 388Summary: Perl interface to the Git version control system
3f8032f4 389Summary(pl.UTF-8): Perlowy interfejs do systemu kontroli wersji Git
5d7220ad 390Group: Development/Languages/Perl
27b79a12 391Obsoletes: perl-git-core
9910f786 392Conflicts: %{name} < %{version}
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.217381 seconds and 4 git commands to generate.