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