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