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