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