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