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