]> git.pld-linux.org Git - packages/git-core.git/blame_incremental - git-core.spec
add git-shell to /etc/shells
[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
650if [ ! -f /etc/shells ]; then
651 echo "%{_bindir}/git-shell" >> /etc/shells
652else
653 grep -q '^%{_bindir}/git-shell$' /etc/shells || echo "%{_bindir}/git-shell" >> /etc/shells
654fi
655
656%preun
657if [ "$1" = "0" ]; then
658 umask 022
659 grep -v '^%{_bindir}/git-shell$' /etc/shells > /etc/shells.new
660 mv -f /etc/shells.new /etc/shells
661fi
662
663%post daemon-inetd
664%service -q rc-inetd reload
665
666%postun daemon-inetd
667if [ "$1" = "0" ]; then
668 %service -q rc-inetd reload
669fi
670
671%post daemon-standalone
672/sbin/chkconfig --add git-daemon
673%service git-daemon restart "git-daemon"
674
675%preun daemon-standalone
676if [ "$1" = "0" ]; then
677 %service git-daemon stop
678 /sbin/chkconfig --del git-daemon
679fi
680
681%triggerin gitweb -- apache1 < 1.3.37-3, apache1-base
682%webapp_register apache %{webapp}
683
684%triggerun gitweb -- apache1 < 1.3.37-3, apache1-base
685%webapp_unregister apache %{webapp}
686
687%triggerin gitweb -- apache < 2.2.0, apache-base
688%webapp_register httpd %{webapp}
689
690%triggerun gitweb -- apache < 2.2.0, apache-base
691%webapp_unregister httpd %{webapp}
692
693%triggerin gitweb -- lighttpd
694%webapp_register lighttpd %{webapp}
695
696%triggerun gitweb -- lighttpd
697%webapp_unregister lighttpd %{webapp}
698
699%files -f git.lang
700%defattr(644,root,root,755)
701%doc README.md contrib-doc
702%attr(755,root,root) %{_bindir}/git
703%attr(755,root,root) %{_bindir}/git-receive-pack
704%attr(755,root,root) %{_bindir}/git-shell
705%attr(755,root,root) %{_bindir}/git-upload-archive
706%attr(755,root,root) %{_bindir}/git-upload-pack
707%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}
708
709%if %{with doc}
710%{_mandir}/man1/git-*.1*
711%exclude %{_mandir}/man1/git-archimport.1*
712%exclude %{_mandir}/man1/git-svn.1*
713%exclude %{_mandir}/man1/git-cvs*.1*
714%exclude %{_mandir}/man1/git-imap-send*.1*
715%exclude %{_mandir}/man1/*email*.1*
716%{_mandir}/man1/git.1*
717%{_mandir}/man5/gitattributes.5*
718%{_mandir}/man5/githooks.5*
719%{_mandir}/man5/gitignore.5*
720%{_mandir}/man5/gitmodules.5*
721%{_mandir}/man5/gitrepository-layout.5*
722%{_mandir}/man7/gitcli.7*
723%{_mandir}/man7/gitcore-tutorial.7*
724%{_mandir}/man7/gitcredentials.7*
725%{_mandir}/man7/gitdiffcore.7*
726%{_mandir}/man7/giteveryday.7*
727%{_mandir}/man7/gitfaq.7*
728%{_mandir}/man7/gitglossary.7*
729%{_mandir}/man7/gitnamespaces.7*
730%{_mandir}/man7/gitremote-helpers.7*
731%{_mandir}/man7/gitrevisions.7*
732%{_mandir}/man7/gitsubmodules.7*
733%{_mandir}/man7/gittutorial-2.7*
734%{_mandir}/man7/gittutorial.7*
735%{_mandir}/man7/gitworkflows.7*
736%endif
737
738%dir %{gitcoredir}
739%attr(755,root,root) %{gitcoredir}/*-*
740%attr(755,root,root) %{gitcoredir}/git
741%dir %{gitcoredir}/mergetools
742%{gitcoredir}/mergetools/*
743
744%{_datadir}/%{name}
745%{_localstatedir}/lib/git
746
747# subpackages
748%exclude %{gitcoredir}/*email*
749%exclude %{gitcoredir}/*p4*
750%exclude %{gitcoredir}/git-archimport
751%exclude %{gitcoredir}/git-citool
752%exclude %{gitcoredir}/git-cvs*
753%exclude %{gitcoredir}/git-gui
754%exclude %{gitcoredir}/git-imap-send
755%exclude %{gitcoredir}/git-instaweb
756%exclude %{gitcoredir}/git-remote-bzr
757%exclude %{gitcoredir}/git-remote-hg
758%exclude %{gitcoredir}/git-svn
759%exclude %{gitcoredir}/mergetools/p4merge
760%if %{with gnome_keyring}
761%exclude %{gitcoredir}/git-credential-gnome-keyring
762%endif
763%if %{with libsecret}
764%exclude %{gitcoredir}/git-credential-libsecret
765%endif
766
767%if %{with doc}
768%files doc
769%defattr(644,root,root,755)
770%doc Documentation/RelNotes*
771%doc Documentation/*.html Documentation/howto Documentation/technical
772%endif
773
774%files daemon-inetd
775%defattr(644,root,root,755)
776%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/git-daemon
777
778%files daemon-standalone
779%defattr(644,root,root,755)
780%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/git-daemon
781%attr(754,root, root) /etc/rc.d/init.d/git-daemon
782
783%files devel
784%defattr(644,root,root,755)
785%{_includedir}/%{name}
786%{_libdir}/libgit.a
787%{_libdir}/libgit_xdiff.a
788
789%if %{with tk}
790%files gitk
791%defattr(644,root,root,755)
792%if %{with doc}
793%{_mandir}/man1/gitk.1*
794%endif
795%attr(755,root,root) %{_bindir}/gitk
796%dir %{_datadir}/gitk
797%dir %{_datadir}/gitk/lib
798%dir %{_datadir}/gitk/lib/msgs
799%lang(bg) %{_datadir}/gitk/lib/msgs/bg.msg
800%lang(ca) %{_datadir}/gitk/lib/msgs/ca.msg
801%lang(de) %{_datadir}/gitk/lib/msgs/de.msg
802%lang(es) %{_datadir}/gitk/lib/msgs/es.msg
803%lang(fr) %{_datadir}/gitk/lib/msgs/fr.msg
804%lang(hu) %{_datadir}/gitk/lib/msgs/hu.msg
805%lang(it) %{_datadir}/gitk/lib/msgs/it.msg
806%lang(ja) %{_datadir}/gitk/lib/msgs/ja.msg
807%lang(pt_BR) %{_datadir}/gitk/lib/msgs/pt_br.msg
808%lang(pt_PT) %{_datadir}/gitk/lib/msgs/pt_pt.msg
809%lang(ru) %{_datadir}/gitk/lib/msgs/ru.msg
810%lang(sv) %{_datadir}/gitk/lib/msgs/sv.msg
811%lang(vi) %{_datadir}/gitk/lib/msgs/vi.msg
812%lang(zh_CN) %{_datadir}/gitk/lib/msgs/zh_cn.msg
813%endif
814
815%files gitweb
816%defattr(644,root,root,755)
817%doc gitweb/{README,INSTALL}
818%dir %{webappdir}
819%config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/apache.conf
820%config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/httpd.conf
821%config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/lighttpd.conf
822%config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitweb.conf
823%config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitolite.pl
824%attr(755,root,root) %{cgibindir}/gitweb.cgi
825%{appdir}
826%attr(755,root,root) %{gitcoredir}/git-instaweb
827%if %{with doc}
828%{_mandir}/man1/gitweb.1*
829%{_mandir}/man5/gitweb.conf.5*
830%endif
831
832%if %{with tk}
833%files gui
834%defattr(644,root,root,755)
835%attr(755,root,root) %{gitcoredir}/git-citool
836%attr(755,root,root) %{gitcoredir}/git-gui
837%dir %{_datadir}/git-gui
838%dir %{_datadir}/git-gui/lib
839%dir %{_datadir}/git-gui/lib/msgs
840%{_datadir}/git-gui/lib/git-gui.ico
841%{_datadir}/git-gui/lib/tclIndex
842%{_datadir}/git-gui/lib/*.js
843%{_datadir}/git-gui/lib/*.tcl
844%lang(bg) %{_datadir}/git-gui/lib/msgs/bg.msg
845%lang(de) %{_datadir}/git-gui/lib/msgs/de.msg
846%lang(el) %{_datadir}/git-gui/lib/msgs/el.msg
847%lang(fr) %{_datadir}/git-gui/lib/msgs/fr.msg
848%lang(hu) %{_datadir}/git-gui/lib/msgs/hu.msg
849%lang(it) %{_datadir}/git-gui/lib/msgs/it.msg
850%lang(ja) %{_datadir}/git-gui/lib/msgs/ja.msg
851%lang(nb) %{_datadir}/git-gui/lib/msgs/nb.msg
852%lang(pt) %{_datadir}/git-gui/lib/msgs/pt_pt.msg
853%lang(pt_BR) %{_datadir}/git-gui/lib/msgs/pt_br.msg
854%lang(ru) %{_datadir}/git-gui/lib/msgs/ru.msg
855%lang(sv) %{_datadir}/git-gui/lib/msgs/sv.msg
856%lang(vi) %{_datadir}/git-gui/lib/msgs/vi.msg
857%lang(zh_CN) %{_datadir}/git-gui/lib/msgs/zh_cn.msg
858%endif
859
860%files arch
861%defattr(644,root,root,755)
862%attr(755,root,root) %{gitcoredir}/git-archimport
863%if %{with doc}
864%{_mandir}/man1/git-archimport.1*
865%endif
866
867%files bzr
868%defattr(644,root,root,755)
869%attr(755,root,root) %{gitcoredir}/git-remote-bzr
870
871%files cvs
872%defattr(644,root,root,755)
873%attr(755,root,root) %{_bindir}/git-cvsserver
874%attr(755,root,root) %{gitcoredir}/git-cvs*
875%if %{with doc}
876%{_mandir}/man1/git-cvs*.1*
877%{_mandir}/man7/gitcvs-migration.7*
878%endif
879
880%files hg
881%defattr(644,root,root,755)
882%attr(755,root,root) %{gitcoredir}/git-remote-hg
883
884%files p4
885%defattr(644,root,root,755)
886%attr(755,root,root) %{gitcoredir}/git-p4
887%attr(755,root,root) %{gitcoredir}/mergetools/p4merge
888
889%files svn
890%defattr(644,root,root,755)
891%attr(755,root,root) %{gitcoredir}/git-svn
892%{perl_vendorlib}/Git/SVN
893%{perl_vendorlib}/Git/SVN.pm
894%if %{with doc}
895%{_mandir}/man1/git-svn.1*
896%endif
897
898%files email
899%defattr(644,root,root,755)
900%attr(755,root,root) %{gitcoredir}/git-imap-send
901%attr(755,root,root) %{gitcoredir}/*email*
902%if %{with doc}
903%{_mandir}/man1/*email*.1*
904%{_mandir}/man1/*imap-send*.1*
905%endif
906
907%files -n bash-completion-git
908%defattr(644,root,root,755)
909%{bash_compdir}/git
910
911%files -n perl-Git
912%defattr(644,root,root,755)
913%{perl_vendorlib}/Git.pm
914%dir %{perl_vendorlib}/Git
915%{perl_vendorlib}/Git/I18N.pm
916%{perl_vendorlib}/Git/IndexInfo.pm
917%{perl_vendorlib}/Git/LoadCPAN.pm
918%{perl_vendorlib}/Git/Packet.pm
919%dir %{perl_vendorlib}/Git/LoadCPAN
920%{perl_vendorlib}/Git/LoadCPAN/Error.pm
921%dir %{perl_vendorlib}/Git/LoadCPAN/Mail
922%{perl_vendorlib}/Git/LoadCPAN/Mail/Address.pm
923%{?with_doc:%{_mandir}/man3/Git.3pm*}
924
925%if %{with gnome_keyring}
926%files -n gnome-keyring-git-core
927%defattr(644,root,root,755)
928%attr(755,root,root) %{gitcoredir}/git-credential-gnome-keyring
929%endif
930
931%if %{with libsecret}
932%files credential-libsecret
933%defattr(644,root,root,755)
934%attr(755,root,root) %{gitcoredir}/git-credential-libsecret
935%endif
This page took 0.08161 seconds and 4 git commands to generate.