]> git.pld-linux.org Git - packages/git-core.git/blame_incremental - git-core.spec
up to 2.30.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.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.745
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%if "%{_rpmversion}" >= "5"
160BuildArch: noarch
161%endif
162
163%description doc
164Documentation for git-core.
165
166%description doc -l pl.UTF-8
167Dokumentacja do git-core.
168
169%package daemon-inetd
170Summary: Files necessary to run git-daemon as an inetd service
171Summary(pl.UTF-8): Pliki niezbędne do uruchomienia git-daemona w trybie usługi inetd
172Group: Networking/Daemons
173Requires: %{name} = %{version}-%{release}
174Requires: setup >= 2.4.11-1
175Provides: git-core-daemon
176Obsoletes: git-core-daemon
177Obsoletes: git-core-daemon-standalone
178
179%description daemon-inetd
180Git-daemon is a really simple TCP git daemon that can serve git
181repositories. This package provides all necessarry files to run
182git-daemon as an inetd service.
183
184%description daemon-inetd -l pl.UTF-8
185Git-daemon to prosty demon git korzystający z protokołu TCP do
186udostępniania repozytoriów git. Ten pakiet dostarcza pliki potrzebne
187do uruchomienia git-demona w trybie usługi inetd.
188
189%package daemon-standalone
190Summary: Files necessary to run git-daemon as a standalone service
191Summary(pl.UTF-8): Pliki niezbędne do uruchomienia git-daemona w trybie usługi samodzielnej
192Group: Networking/Daemons
193Requires: %{name} = %{version}-%{release}
194Provides: git-core-daemon
195Obsoletes: git-core-daemon
196Obsoletes: git-core-daemon-inetd
197
198%description daemon-standalone
199Git-daemon is a really simple TCP git daemon that can serve git
200repositories. This package provides all necessarry files to run
201git-daemon as an standalone service.
202
203%description daemon-standalone -l pl.UTF-8
204Git-daemon to prosty demon git korzystający z protokołu TCP do
205udostępniania repozytoriów git. Ten pakiet dostarcza pliki potrzebne
206do uruchomienia git-daemona w trybie usługi samodzielnej.
207
208%package devel
209Summary: Git library with header files
210Summary(pl.UTF-8): Biblioteka Gita oraz pliki nagłówkowe
211Group: Development/Libraries
212Requires: zlib-devel
213
214%description devel
215Git library with header files.
216
217%description devel -l pl.UTF-8
218Biblioteka Gita oraz pliki nagłówkowe.
219
220%package gitk
221Summary: Tcl/Tk interface to the Git version control system
222Summary(pl.UTF-8): Napisany w Tcl/Tk interfejs do systemu kontroli wersji Git
223Group: Development/Tools
224Requires: %{name} = %{version}-%{release}
225Requires: tk
226%if "%{_rpmversion}" >= "5"
227BuildArch: noarch
228%endif
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
366
367%description svn
368Subversion support for Git.
369
370%description svn -l pl.UTF-8
371Obsługa Subversion dla Gita.
372
373%package email
374Summary: Git tools for sending email
375Summary(pl.UTF-8): Narzędzia Gita do wysyłania poczty
376Group: Development/Tools
377Requires: %{name} = %{version}-%{release}
378Requires: perl-Error
379Requires: perl-MailTools
380Suggests: perl-Net-SMTP-SSL
381
382%description email
383Git tools for sending email.
384
385%description email -l pl.UTF-8
386Narzędzia Gita do wysyłania poczty.
387
388%package -n bash-completion-git
389Summary: bash-completion for git
390Summary(pl.UTF-8): bashowe uzupełnianie nazw dla gita
391Group: Applications/Shells
392Requires: %{name} = %{version}-%{release}
393Requires: bash-completion >= 2.0
394%if "%{_rpmversion}" >= "5"
395BuildArch: noarch
396%endif
397
398%description -n bash-completion-git
399This package provides bash-completion for git.
400
401%description -n bash-completion-git -l pl.UTF-8
402Pakiet ten dostarcza bashowe uzupełnianie nazw dla gita.
403
404%package -n perl-Git
405Summary: Perl interface to the Git version control system
406Summary(pl.UTF-8): Perlowy interfejs do systemu kontroli wersji Git
407Group: Development/Languages/Perl
408Obsoletes: perl-git-core
409%if "%{_rpmversion}" >= "5"
410BuildArch: noarch
411%endif
412
413%description -n perl-Git
414This module provides Perl scripts easy way to interface the Git
415version control system. The modules have an easy and well-tested way
416to call arbitrary Git commands; in the future, the interface will also
417provide specialized methods for doing easily operations which are not
418totally trivial to do over the generic command interface.
419
420%description -n perl-Git -l pl.UTF-8
421Ten moduł umożliwia skryptom Perla współpracę z systemem kontroli
422wersji Git. W łatwy i dobrze przetestowany sposób pozwala wywoływać
423dowolne polecenia Gita; w przyszłości interfejs udostępni także
424specjalne metody do łatwego wykonywania operacji nietrywialnych do
425wykonania przy użyciu ogólnego interfejsu poleceń.
426
427%package -n gnome-keyring-git-core
428Summary: GNOME Keyring authentication provider for Git
429Summary(pl.UTF-8): Moduł uwierzytelniający GNOME Keyring dla Gita
430Group: X11/Applications
431URL: http://git-scm.com/docs/gitcredentials.html
432Requires: %{name} = %{version}-%{release}
433
434%description -n gnome-keyring-git-core
435Authentication provider module for Git which allows git client to
436authenticate using GNOME Keyring.
437
438You need to register it with:
439- git config --global credential.helper gnome-keyring
440
441%description -n gnome-keyring-git-core -l pl.UTF-8
442Moduł uwierzytelniający dla Gita pozwalający klientom git
443uwierzytelniać się przy użyciu mechanizmu GNOME Keyring.
444
445Moduł trzeba zarejestrować poleceniem:
446- git config --global credential.helper gnome-keyring
447
448%package credential-libsecret
449Summary: GNOME authentication provider for Git using libsecret
450Summary(pl.UTF-8): Moduł uwierzytelniający GNOME dla Gita wykorzystujący libsecret
451Group: X11/Applications
452URL: http://git-scm.com/docs/gitcredentials.html
453Requires: %{name} = %{version}-%{release}
454
455%description credential-libsecret
456Authentication provider module for Git which allows git client to
457authenticate using GNOME libsecret.
458
459You need to register it with:
460- git config --global credential.helper libsecret
461
462%description credential-libsecret -l pl.UTF-8
463Moduł uwierzytelniający dla Gita pozwalający klientom git
464uwierzytelniać się przy użyciu mechanizmu GNOME libsecret.
465
466Moduł trzeba zarejestrować poleceniem:
467- git config --global credential.helper libsecret
468
469%prep
470%setup -q -n git-%{version}
471%patch0 -p0
472%patch1 -p1
473%patch2 -p1
474
475%{__rm} {Documentation/technical,contrib/credential/gnome-keyring}/.gitignore
476
477# we build things in contrib but want to have it clean for doc purporses, too
478cp -a contrib contrib-doc
479
480%{__sed} -i -e '1s|#!/usr/bin/env python$|#!%{__python}|' git-p4.py
481
482%build
483%{__aclocal}
484%{__autoconf}
485%configure \
486 --sysconfdir=%{_sysconfdir}/git-core \
487 %{?with_pcre:--with-libpcre2} \
488 --with-openssl
489
490echo "BLK_SHA1=1" >> config.mak
491
492%{__make} \
493 GITWEB_CONFIG="%{webappdir}/gitweb.conf" \
494 GITWEB_PROJECTROOT="/var/lib/git" \
495 GITWEB_CSS="/gitweb/gitweb.css" \
496 GITWEB_LOGO="/gitweb/git-logo.png" \
497 GITWEB_FAVICON="/gitweb/git-favicon.png" \
498 NO_PERL_CPAN_FALLBACKS=1 \
499 perllibdir=%{perl_vendorlib} \
500 V=1
501
502%{__make} -C contrib/subtree
503
504%if %{with gnome_keyring}
505%{__make} -C contrib/credential/gnome-keyring \
506 CC="%{__cc}" \
507 CFLAGS="%{rpmcflags} -Wall" \
508 LDFLAGS="%{rpmldflags}"
509%endif
510
511%if %{with libsecret}
512%{__make} -C contrib/credential/libsecret \
513 CC="%{__cc}" \
514 CFLAGS="%{rpmcflags} -Wall" \
515 LDFLAGS="%{rpmldflags}"
516%endif
517
518%if %{with doc}
519%{__make} doc \
520 MAN_BASE_URL=file://%{_docdir}/%{name}-doc-%{version}/ \
521 V=1
522%endif
523
524%if %{with tests}
525%if %{without tests_cvs}
526%{__rm} t/t*cvs*.sh || :
527%endif
528%if %{without tests_svn}
529GIT_SKIP_TESTS="$GIT_SKIP_TESTS t91??"
530%endif
531export GIT_SKIP_TESTS
532%{__make} test \
533 NO_PERL_CPAN_FALLBACKS=1
534%endif
535
536%install
537rm -rf $RPM_BUILD_ROOT
538install -d $RPM_BUILD_ROOT{%{_includedir}/%{name}/xdiff,%{_libdir},%{_localstatedir}/lib/git}
539install -d $RPM_BUILD_ROOT{%{appdir},%{cgibindir},%{webappdir}}
540install -d $RPM_BUILD_ROOT/etc/{sysconfig/rc-inetd,rc.d/init.d}
541install -d $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
542cat << EOF > $RPM_BUILD_ROOT%{_sysconfdir}/git-core/gitconfig
543[init]
544 templatedir = %{_sysconfdir}/%{name}/templates
545EOF
546
547%{__make} install \
548 DESTDIR=$RPM_BUILD_ROOT \
549 NO_PERL_CPAN_FALLBACKS=1 \
550 perllibdir=%{perl_vendorlib}
551
552%if %{with doc}
553%{__make} install-doc \
554 DESTDIR=$RPM_BUILD_ROOT
555%endif
556
557# copy templates except sample hooks
558cp -a $RPM_BUILD_ROOT%{_datadir}/%{name}/templates $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
559%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/templates/hooks/*.sample
560
561# header files and lib
562cp -p *.h $RPM_BUILD_ROOT%{_includedir}/%{name}
563cp -a compat $RPM_BUILD_ROOT%{_includedir}/%{name}
564cp -p xdiff/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/xdiff
565install -d $RPM_BUILD_ROOT%{_includedir}/%{name}/block-sha1
566cp -p block-sha1/sha1.h $RPM_BUILD_ROOT%{_includedir}/%{name}/block-sha1
567cp -p libgit.a $RPM_BUILD_ROOT%{_libdir}
568cp -p xdiff/lib.a $RPM_BUILD_ROOT%{_libdir}/libgit_xdiff.a
569cp -p {Makefile,config.mak,config.mak.autogen,config.mak.uname} $RPM_BUILD_ROOT%{_includedir}/%{name}
570
571%{__make} -C contrib/subtree install \
572 libexecdir=%{gitcoredir} \
573 DESTDIR=$RPM_BUILD_ROOT
574
575%if %{with doc}
576%{__make} -C contrib/subtree install-man \
577 DESTDIR=$RPM_BUILD_ROOT
578%endif
579
580%if %{with gnome_keyring}
581install -p contrib/credential/gnome-keyring/git-credential-gnome-keyring $RPM_BUILD_ROOT%{gitcoredir}
582%endif
583
584%if %{with libsecret}
585install -p contrib/credential/libsecret/git-credential-libsecret $RPM_BUILD_ROOT%{gitcoredir}
586%endif
587
588# bash completion
589install -d $RPM_BUILD_ROOT%{bash_compdir}
590cp -p contrib/completion/git-completion.bash $RPM_BUILD_ROOT%{bash_compdir}/git
591
592# Install git-prompt.sh
593install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/completion
594cp -p contrib/completion/git-prompt.sh $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/completion
595
596# Install bzr and hg remote helpers from contrib
597install -p contrib/remote-helpers/git-remote-{bzr,hg} $RPM_BUILD_ROOT%{gitcoredir}
598
599# gitweb
600%{__mv} $RPM_BUILD_ROOT{%{appdir},%{cgibindir}}/gitweb.cgi
601ln -s %{cgibindir}/gitweb.cgi $RPM_BUILD_ROOT%{appdir}/gitweb.cgi
602cp -p %{SOURCE1} $RPM_BUILD_ROOT%{webappdir}/gitweb.conf
603cp -p %{SOURCE7} $RPM_BUILD_ROOT%{webappdir}/gitolite.pl
604cp -p %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/apache.conf
605cp -p %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/httpd.conf
606cp -p %{SOURCE3} $RPM_BUILD_ROOT%{webappdir}/lighttpd.conf
607
608# git-daemon related files
609cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/git-daemon
610cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
611install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
612
613# paths cleanup
614sed -e 's,@libdir@/git-core,%{gitcoredir},g' -i $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
615sed -e 's,@libdir@/git-core,%{gitcoredir},g' -i $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
616
617# same file, link
618ln -sf git $RPM_BUILD_ROOT%{_bindir}/git-receive-pack
619ln -sf git $RPM_BUILD_ROOT%{_bindir}/git-upload-archive
620ln -sf ../..%{gitcoredir}/git-shell $RPM_BUILD_ROOT%{_bindir}/git-shell
621ln -sf ../..%{gitcoredir}/git-upload-pack $RPM_BUILD_ROOT%{_bindir}/git-upload-pack
622ln -sf ../..%{gitcoredir}/git $RPM_BUILD_ROOT%{_bindir}/git
623
624# convert all hardlinks to symlinks, as rpm fails to calculate it properly
625# requiring excessive free space when it may not be available
626# https://bugs.launchpad.net/pld-linux/+bug/1176337
627find $RPM_BUILD_ROOT%{gitcoredir} -samefile $RPM_BUILD_ROOT%{gitcoredir}/git > files
628for f in $(cat files); do
629 f=${f#$RPM_BUILD_ROOT%{gitcoredir}/}
630 test $f = git && continue
631 ln -snf git $RPM_BUILD_ROOT%{gitcoredir}/$f
632done
633
634# few others
635ln -snf git-gui $RPM_BUILD_ROOT%{gitcoredir}/git-citool
636ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-https
637ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-ftp
638ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-ftps
639
640# remove unneeded files
641%py_postclean
642
643%{__mv} $RPM_BUILD_ROOT%{_localedir}/pt{_PT,}
644%find_lang git
645
646%clean
647rm -rf $RPM_BUILD_ROOT
648
649%post daemon-inetd
650%service -q rc-inetd reload
651
652%postun daemon-inetd
653if [ "$1" = "0" ]; then
654 %service -q rc-inetd reload
655fi
656
657%post daemon-standalone
658/sbin/chkconfig --add git-daemon
659%service git-daemon restart "git-daemon"
660
661%preun daemon-standalone
662if [ "$1" = "0" ]; then
663 %service git-daemon stop
664 /sbin/chkconfig --del git-daemon
665fi
666
667%triggerin gitweb -- apache1 < 1.3.37-3, apache1-base
668%webapp_register apache %{webapp}
669
670%triggerun gitweb -- apache1 < 1.3.37-3, apache1-base
671%webapp_unregister apache %{webapp}
672
673%triggerin gitweb -- apache < 2.2.0, apache-base
674%webapp_register httpd %{webapp}
675
676%triggerun gitweb -- apache < 2.2.0, apache-base
677%webapp_unregister httpd %{webapp}
678
679%triggerin gitweb -- lighttpd
680%webapp_register lighttpd %{webapp}
681
682%triggerun gitweb -- lighttpd
683%webapp_unregister lighttpd %{webapp}
684
685%files -f git.lang
686%defattr(644,root,root,755)
687%doc README.md contrib-doc
688%attr(755,root,root) %{_bindir}/git
689%attr(755,root,root) %{_bindir}/git-receive-pack
690%attr(755,root,root) %{_bindir}/git-shell
691%attr(755,root,root) %{_bindir}/git-upload-archive
692%attr(755,root,root) %{_bindir}/git-upload-pack
693%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}
694
695%if %{with doc}
696%{_mandir}/man1/git-*.1*
697%exclude %{_mandir}/man1/git-archimport.1*
698%exclude %{_mandir}/man1/git-svn.1*
699%exclude %{_mandir}/man1/git-cvs*.1*
700%exclude %{_mandir}/man1/git-imap-send*.1*
701%exclude %{_mandir}/man1/*email*.1*
702%{_mandir}/man1/git.1*
703%{_mandir}/man5/gitattributes.5*
704%{_mandir}/man5/githooks.5*
705%{_mandir}/man5/gitignore.5*
706%{_mandir}/man5/gitmodules.5*
707%{_mandir}/man5/gitrepository-layout.5*
708%{_mandir}/man7/gitcli.7*
709%{_mandir}/man7/gitcore-tutorial.7*
710%{_mandir}/man7/gitcredentials.7*
711%{_mandir}/man7/gitdiffcore.7*
712%{_mandir}/man7/giteveryday.7*
713%{_mandir}/man7/gitfaq.7*
714%{_mandir}/man7/gitglossary.7*
715%{_mandir}/man7/gitnamespaces.7*
716%{_mandir}/man7/gitremote-helpers.7*
717%{_mandir}/man7/gitrevisions.7*
718%{_mandir}/man7/gitsubmodules.7*
719%{_mandir}/man7/gittutorial-2.7*
720%{_mandir}/man7/gittutorial.7*
721%{_mandir}/man7/gitworkflows.7*
722%endif
723
724%dir %{gitcoredir}
725%attr(755,root,root) %{gitcoredir}/*-*
726%attr(755,root,root) %{gitcoredir}/git
727%dir %{gitcoredir}/mergetools
728%{gitcoredir}/mergetools/*
729
730%{_datadir}/%{name}
731%{_localstatedir}/lib/git
732
733# subpackages
734%exclude %{gitcoredir}/*email*
735%exclude %{gitcoredir}/*p4*
736%exclude %{gitcoredir}/git-archimport
737%exclude %{gitcoredir}/git-citool
738%exclude %{gitcoredir}/git-cvs*
739%exclude %{gitcoredir}/git-gui
740%exclude %{gitcoredir}/git-imap-send
741%exclude %{gitcoredir}/git-instaweb
742%exclude %{gitcoredir}/git-remote-bzr
743%exclude %{gitcoredir}/git-remote-hg
744%exclude %{gitcoredir}/git-svn
745%exclude %{gitcoredir}/mergetools/p4merge
746%if %{with gnome_keyring}
747%exclude %{gitcoredir}/git-credential-gnome-keyring
748%endif
749%if %{with libsecret}
750%exclude %{gitcoredir}/git-credential-libsecret
751%endif
752
753%if %{with doc}
754%files doc
755%defattr(644,root,root,755)
756%doc Documentation/RelNotes*
757%doc Documentation/*.html Documentation/howto Documentation/technical
758%endif
759
760%files daemon-inetd
761%defattr(644,root,root,755)
762%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/git-daemon
763
764%files daemon-standalone
765%defattr(644,root,root,755)
766%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/git-daemon
767%attr(754,root, root) /etc/rc.d/init.d/git-daemon
768
769%files devel
770%defattr(644,root,root,755)
771%{_includedir}/%{name}
772%{_libdir}/libgit.a
773%{_libdir}/libgit_xdiff.a
774
775%if %{with tk}
776%files gitk
777%defattr(644,root,root,755)
778%if %{with doc}
779%{_mandir}/man1/gitk.1*
780%endif
781%attr(755,root,root) %{_bindir}/gitk
782%dir %{_datadir}/gitk
783%dir %{_datadir}/gitk/lib
784%dir %{_datadir}/gitk/lib/msgs
785%lang(bg) %{_datadir}/gitk/lib/msgs/bg.msg
786%lang(ca) %{_datadir}/gitk/lib/msgs/ca.msg
787%lang(de) %{_datadir}/gitk/lib/msgs/de.msg
788%lang(es) %{_datadir}/gitk/lib/msgs/es.msg
789%lang(fr) %{_datadir}/gitk/lib/msgs/fr.msg
790%lang(hu) %{_datadir}/gitk/lib/msgs/hu.msg
791%lang(it) %{_datadir}/gitk/lib/msgs/it.msg
792%lang(ja) %{_datadir}/gitk/lib/msgs/ja.msg
793%lang(pt_BR) %{_datadir}/gitk/lib/msgs/pt_br.msg
794%lang(pt_PT) %{_datadir}/gitk/lib/msgs/pt_pt.msg
795%lang(ru) %{_datadir}/gitk/lib/msgs/ru.msg
796%lang(sv) %{_datadir}/gitk/lib/msgs/sv.msg
797%lang(vi) %{_datadir}/gitk/lib/msgs/vi.msg
798%lang(zh_CN) %{_datadir}/gitk/lib/msgs/zh_cn.msg
799%endif
800
801%files gitweb
802%defattr(644,root,root,755)
803%doc gitweb/{README,INSTALL}
804%dir %{webappdir}
805%config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/apache.conf
806%config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/httpd.conf
807%config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/lighttpd.conf
808%config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitweb.conf
809%config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitolite.pl
810%attr(755,root,root) %{cgibindir}/gitweb.cgi
811%{appdir}
812%attr(755,root,root) %{gitcoredir}/git-instaweb
813%if %{with doc}
814%{_mandir}/man1/gitweb.1*
815%{_mandir}/man5/gitweb.conf.5*
816%endif
817
818%if %{with tk}
819%files gui
820%defattr(644,root,root,755)
821%attr(755,root,root) %{gitcoredir}/git-citool
822%attr(755,root,root) %{gitcoredir}/git-gui
823%dir %{_datadir}/git-gui
824%dir %{_datadir}/git-gui/lib
825%dir %{_datadir}/git-gui/lib/msgs
826%{_datadir}/git-gui/lib/git-gui.ico
827%{_datadir}/git-gui/lib/tclIndex
828%{_datadir}/git-gui/lib/*.js
829%{_datadir}/git-gui/lib/*.tcl
830%lang(bg) %{_datadir}/git-gui/lib/msgs/bg.msg
831%lang(de) %{_datadir}/git-gui/lib/msgs/de.msg
832%lang(el) %{_datadir}/git-gui/lib/msgs/el.msg
833%lang(fr) %{_datadir}/git-gui/lib/msgs/fr.msg
834%lang(hu) %{_datadir}/git-gui/lib/msgs/hu.msg
835%lang(it) %{_datadir}/git-gui/lib/msgs/it.msg
836%lang(ja) %{_datadir}/git-gui/lib/msgs/ja.msg
837%lang(nb) %{_datadir}/git-gui/lib/msgs/nb.msg
838%lang(pt) %{_datadir}/git-gui/lib/msgs/pt_pt.msg
839%lang(pt_BR) %{_datadir}/git-gui/lib/msgs/pt_br.msg
840%lang(ru) %{_datadir}/git-gui/lib/msgs/ru.msg
841%lang(sv) %{_datadir}/git-gui/lib/msgs/sv.msg
842%lang(vi) %{_datadir}/git-gui/lib/msgs/vi.msg
843%lang(zh_CN) %{_datadir}/git-gui/lib/msgs/zh_cn.msg
844%endif
845
846%files arch
847%defattr(644,root,root,755)
848%attr(755,root,root) %{gitcoredir}/git-archimport
849%if %{with doc}
850%{_mandir}/man1/git-archimport.1*
851%endif
852
853%files bzr
854%defattr(644,root,root,755)
855%attr(755,root,root) %{gitcoredir}/git-remote-bzr
856
857%files cvs
858%defattr(644,root,root,755)
859%attr(755,root,root) %{_bindir}/git-cvsserver
860%attr(755,root,root) %{gitcoredir}/git-cvs*
861%if %{with doc}
862%{_mandir}/man1/git-cvs*.1*
863%{_mandir}/man7/gitcvs-migration.7*
864%endif
865
866%files hg
867%defattr(644,root,root,755)
868%attr(755,root,root) %{gitcoredir}/git-remote-hg
869
870%files p4
871%defattr(644,root,root,755)
872%attr(755,root,root) %{gitcoredir}/git-p4
873%attr(755,root,root) %{gitcoredir}/mergetools/p4merge
874
875%files svn
876%defattr(644,root,root,755)
877%attr(755,root,root) %{gitcoredir}/git-svn
878%{perl_vendorlib}/Git/SVN
879%{perl_vendorlib}/Git/SVN.pm
880%if %{with doc}
881%{_mandir}/man1/git-svn.1*
882%endif
883
884%files email
885%defattr(644,root,root,755)
886%attr(755,root,root) %{gitcoredir}/git-imap-send
887%attr(755,root,root) %{gitcoredir}/*email*
888%if %{with doc}
889%{_mandir}/man1/*email*.1*
890%{_mandir}/man1/*imap-send*.1*
891%endif
892
893%files -n bash-completion-git
894%defattr(644,root,root,755)
895%{bash_compdir}/git
896
897%files -n perl-Git
898%defattr(644,root,root,755)
899%{perl_vendorlib}/Git.pm
900%dir %{perl_vendorlib}/Git
901%{perl_vendorlib}/Git/I18N.pm
902%{perl_vendorlib}/Git/IndexInfo.pm
903%{perl_vendorlib}/Git/LoadCPAN.pm
904%{perl_vendorlib}/Git/Packet.pm
905%dir %{perl_vendorlib}/Git/LoadCPAN
906%{perl_vendorlib}/Git/LoadCPAN/Error.pm
907%dir %{perl_vendorlib}/Git/LoadCPAN/Mail
908%{perl_vendorlib}/Git/LoadCPAN/Mail/Address.pm
909%{?with_doc:%{_mandir}/man3/Git.3pm*}
910
911%if %{with gnome_keyring}
912%files -n gnome-keyring-git-core
913%defattr(644,root,root,755)
914%attr(755,root,root) %{gitcoredir}/git-credential-gnome-keyring
915%endif
916
917%if %{with libsecret}
918%files credential-libsecret
919%defattr(644,root,root,755)
920%attr(755,root,root) %{gitcoredir}/git-credential-libsecret
921%endif
This page took 0.061979 seconds and 4 git commands to generate.