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