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