]> git.pld-linux.org Git - packages/git-core.git/blame_incremental - git-core.spec
- up to 1.6.5; use Linus sha1 implementation
[packages/git-core.git] / git-core.spec
... / ...
CommitLineData
1#
2# Conditional build:
3%bcond_without tests # don't perform make test
4%bcond_without doc # skip building/packaging docs/manuals (takes some time)
5#
6%include /usr/lib/rpm/macros.perl
7Summary: The stupid content tracker
8Summary(pl.UTF-8): Prymitywne narzędzie do śledzenia treści
9Name: git-core
10Version: 1.6.5
11Release: 1
12License: GPL v2
13Group: Development/Tools
14Source0: http://www.kernel.org/pub/software/scm/git/git-%{version}.tar.bz2
15# Source0-md5: da86c1736c55edb9f446828581137b51
16Source1: %{name}-gitweb.conf
17Source2: %{name}-gitweb-httpd.conf
18Source3: %{name}.sysconfig
19Source4: %{name}.inet
20Source5: %{name}.init
21URL: http://git-scm.com/
22BuildRequires: autoconf
23BuildRequires: automake
24BuildRequires: curl-devel
25BuildRequires: docbook-dtd45-xml
26BuildRequires: expat-devel
27BuildRequires: gettext-devel
28BuildRequires: openssl-devel
29BuildRequires: perl-Error
30BuildRequires: perl-base
31BuildRequires: python
32BuildRequires: rpm-perlprov >= 4.1-13
33BuildRequires: rpmbuild(macros) >= 1.264
34BuildRequires: zlib-devel
35%if %{with doc}
36BuildRequires: asciidoc >= 7.1.2-3
37BuildRequires: xmlto
38%endif
39%if %{with tests}
40# tests failed sometimes when using nserver/cvsnt client so enforce pure cvs here
41BuildRequires: cvs-gnu-client < 1.13
42BuildRequires: cvs-gnu-client >= 1.12
43BuildRequires: pdksh >= 5.2.14-46
44%endif
45Requires: coreutils
46Requires: diffutils
47Requires: findutils
48Requires: grep
49Requires: openssh-clients
50Requires: perl-Error
51Requires: sed
52Suggests: git-core-cvs
53Suggests: git-core-svn
54BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
55
56# html docs have links to txt files
57%define _noautocompressdoc *.txt
58
59%define webapp gitweb
60%define webappdir %{_sysconfdir}/webapps/%{webapp}
61%define appdir %{_datadir}/%{webapp}
62%define cgibindir %{_prefix}/lib/cgi-bin
63
64%description
65"git" can mean anything, depending on your mood.
66
67 - random three-letter combination that is pronounceable, and not
68 actually used by any common UNIX command. The fact that it is a
69 mispronunciation of "get" may or may not be relevant.
70 - stupid. contemptible and despicable. simple. Take your pick from the
71 dictionary of slang.
72 - "global information tracker": you're in a good mood, and it actually
73 works for you. Angels sing, and a light suddenly fills the room.
74 - "goddamn idiotic truckload of sh*t": when it breaks
75
76This is a stupid (but extremely fast) directory content manager. It
77doesn't do a whole lot, but what it 'does' do is track directory
78contents efficiently.
79
80%description -l pl.UTF-8
81"git" może oznaczać cokolwiek, w zależności od nastroju.
82
83 - losową kombinację trzech liter, która jest wymawialna i właściwie
84 nie używana przez żadne popularne polecenie uniksowe. Fakt, że jest to
85 błędna pisownia słowa "get" może mieć lub nie mieć znaczenia.
86 - głupi, pogardliwy, prosty. Można wybrać ze słownika slangu.
87 - "global information tracker" (narzędzie do globalnego śledzenia
88 informacji) - jeśli jesteśmy w dobrym nastroju i git akurat działa.
89 Anioły śpiewają, a światło niespodziewanie wypełnia pokój.
90 - "goddamn idiotic truckload of sh*t" (przeklęty idiotyczny ładunek
91 g*) - kiedy się zepsuje.
92
93Jest to prymitywny (ale bardzo szybki) zarządca treści słownikowej.
94Nie robi wiele, ale to, co "robi", to wydajne śledzenie zawartości
95katalogu.
96
97%package daemon-inetd
98Summary: Files necessary to run git-daemon as an inetd service
99Summary(pl.UTF-8): Pliki niezbędne do uruchomienia git-daemona w trybie usługi inetd
100Group: Networking/Daemons
101Requires: %{name} = %{version}-%{release}
102Requires: setup >= 2.4.11-1
103Provides: git-core-daemon
104Obsoletes: git-core-daemon
105Obsoletes: git-core-daemon-standalone
106
107%description daemon-inetd
108Git-daemon is a really simple TCP git daemon that can serve git
109repositories. This package provides all necessarry files to run
110git-daemon as an inetd service.
111
112%description daemon-inetd -l pl.UTF-8
113Git-daemon to prosty demon git korzystający z protokołu TCP do
114udostępniania repozytoriów git. Ten pakiet dostarcza pliki potrzebne
115do uruchomienia git-demona w trybie usługi inetd.
116
117%package daemon-standalone
118Summary: Files necessary to run git-daemon as a standalone service
119Summary(pl.UTF-8): Pliki niezbędne do uruchomienia git-daemona w trybie usługi samodzielnej
120Group: Networking/Daemons
121Requires: %{name} = %{version}-%{release}
122Provides: git-core-daemon
123Obsoletes: git-core-daemon
124Obsoletes: git-core-daemon-inetd
125
126%description daemon-standalone
127Git-daemon is a really simple TCP git daemon that can serve git
128repositories. This package provides all necessarry files to run
129git-daemon as an standalone service.
130
131%description daemon-standalone -l pl.UTF-8
132Git-daemon to prosty demon git korzystający z protokołu TCP do
133udostępniania repozytoriów git. Ten pakiet dostarcza pliki potrzebne
134do uruchomienia git-daemona w trybie usługi samodzielnej.
135
136%package devel
137Summary: Header files for git-core
138Summary(pl.UTF-8): Pliki nagłówkowe dla git-core
139Group: Development/Libraries
140
141%description devel
142Header files for git-core.
143
144%description devel -l pl.UTF-8
145Pliki nagłówkowe dla git-core.
146
147%package gitk
148Summary: Tcl/Tk interface to the Git version control system
149Summary(pl.UTF-8): Napisany w Tcl/Tk interfejs do systemu kontroli wersji Git
150Group: Development/Tools
151Requires: %{name} = %{version}-%{release}
152Requires: tk
153
154%description gitk
155gitk displays changes in a repository or a selected set of commits.
156This includes visualizing the commit graph, showing information
157related to each commit, and the files in the trees of each revision.
158
159Historically, gitk was the first repository browser. It's written in
160Tcl/Tk and started off in a separate repository but was later merged
161into the main git repository.
162
163%description gitk -l pl.UTF-8
164gitk wyświetla zmiany w repozytorium lub wybranym zbiorze commitów.
165Oznacza to wizualizację grafu commitów, wyświetlanie informacji
166związanych z każdym z commitów oraz listę plików dla każdej rewizji.
167
168Z historycznego punktu widzenia gitk był pierwszą przeglądarką
169repozytorium git. Napisany jest w Tcl/Tk i początkowo był rozwijany w
170osobnym repozytorium, ale z czasem został włączony do głównego
171repozytorium gita.
172
173%package gitweb
174Summary: Web frontend to git
175Summary(pl.UTF-8): Webowy frontend do git
176Group: Development/Tools
177Requires: %{name} = %{version}-%{release}
178Requires: webapps
179
180%description gitweb
181This package provides a web interface for browsing git repositories.
182
183%description gitweb -l pl.UTF-8
184Pakiet ten dostarcza interfejs WWW do przeglądania repozytoriów gita.
185
186%package gitview
187Summary: A GTK+ based repository browser for git
188Summary(pl.UTF-8): Oparta na GTK+ przeglądarka repozytorium gita
189Group: Development/Tools
190Requires: %{name} = %{version}-%{release}
191Requires: python >= 1:2.4
192Requires: python-pycairo >= 1.0
193Requires: python-pygobject
194Requires: python-pygtk-gtk >= 2:2.8
195Suggests: python-gnome-desktop-gtksourceview
196
197%description gitview
198A GTK+ based repository browser for git.
199
200%description gitview -l pl.UTF-8
201Oparta na GTK+ przeglądarka repozytorium gita.
202
203%package gui
204Summary: Tcl/Tk interface to the Git version control system
205Summary(pl.UTF-8): Napisany w Tcl/Tk interfejs do systemu kontroli wersji Git
206Group: Development/Tools
207Requires: %{name} = %{version}-%{release}
208Requires: tk
209
210%description gui
211Displays changes in a repository or a selected set of commits. This
212includes visualizing the commit graph, showing information related to
213each commit, and the files in the trees of each revision.
214
215Historically, gitk was the first repository browser. It's written in
216Tcl/Tk and started off in a separate repository but was later merged
217into the main git repository.
218
219%description gui -l pl.UTF-8
220Wyświetla zmiany w repozytorium lub wybranym zbiorze commitów. Oznacza
221to wizualizację grafu commitów, wyświetlanie informacji związanych z
222każdym z commitów oraz listę plików dla każdej rewizji.
223
224Z punktu widzenia historii, gitk był pierwszą przeglądarką
225repozytorium git. Napisany jest w Tcl/Tk i początkowo był rozwijany w
226osobnym repozytorium, ale z czasem został włączony do głównego
227repozytorium gita.
228
229%package svn
230Summary: Subversion support for Git
231Summary(pl.UTF-8): Obsługa Subversion dla Git
232Group: Development/Tools
233Requires: %{name} = %{version}-%{release}
234
235%description svn
236Subversion support for Git.
237
238%description svn -l pl.UTF-8
239Obsługa Subversion dla Git.
240
241%package cvs
242Summary: CVS support for Git
243Summary(pl.UTF-8): Obsługa CVS dla Git
244Group: Development/Tools
245Requires: %{name} = %{version}-%{release}
246Requires: cvsps >= 2.1-2
247Requires: rcs
248
249%description cvs
250CVS support for Git.
251
252%description cvs -l pl.UTF-8
253Obsługa CVS dla Git.
254
255%package -n bash-completion-git
256Summary: bash-completion for git
257Summary(pl.UTF-8): bashowe uzupełnianie nazw dla gita
258Group: Applications/Shells
259Requires: bash-completion
260
261%description -n bash-completion-git
262This package provides bash-completion for git.
263
264%description -n bash-completion-git -l pl.UTF-8
265Pakiet ten dostarcza bashowe uzupełnianie nazw dla gita.
266
267%package -n perl-Git
268Summary: Perl interface to the Git version control system
269Summary(pl.UTF-8): Perlowy interfejs do systemu kontroli wersji Git
270Group: Development/Languages/Perl
271Requires: %{name} = %{version}-%{release}
272Obsoletes: perl-git-core
273
274%description -n perl-Git
275This module provides Perl scripts easy way to interface the Git
276version control system. The modules have an easy and well-tested way
277to call arbitrary Git commands; in the future, the interface will also
278provide specialized methods for doing easily operations which are not
279totally trivial to do over the generic command interface.
280
281%description -n perl-Git -l pl.UTF-8
282Ten moduł umożliwia skryptom Perla współpracę z systemem kontroli
283wersji Git. W łatwy i dobrze przetestowany sposób pozwala wywoływać
284dowolne polecenia Gita; w przyszłości interfejs udostępni także
285specjalne metody do łatwego wykonywania operacji nietrywialnych do
286wykonania przy użyciu ogólnego interfejsu poleceń.
287
288%package -n vim-syntax-gitcommit
289Summary: Vim syntax: gitcommit
290Summary(pl.UTF-8): Składnia dla Vima: gitcommit
291Group: Applications/Editors/Vim
292# for _vimdatadir existence
293Requires: vim-rt >= 4:6.3.058-3
294
295%description -n vim-syntax-gitcommit
296This plugin provides syntax highlighting for git's commit messages.
297
298%description -n vim-syntax-gitcommit -l pl.UTF-8
299Ta wtyczka dostarcza podświetlanie składni dla treści commitów gita.
300
301%prep
302%setup -q -n git-%{version}
303
304%build
305%{__aclocal}
306%{__autoconf}
307%configure \
308 --with-openssl
309
310%{__make} \
311 BLK_SHA1=1 \
312 INSTALLDIRS=vendor \
313 GITWEB_CONFIG="%{webappdir}/gitweb.conf" \
314 GITWEB_PROJECTROOT="/var/lib/git" \
315 GITWEB_CSS="/gitweb/gitweb.css" \
316 GITWEB_LOGO="/gitweb/git-logo.png" \
317 GITWEB_FAVICON="/gitweb/git-favicon.png"
318
319%{?with_doc:%{__make} -C Documentation}
320
321%{?with_tests:%{__make} test}
322
323%install
324rm -rf $RPM_BUILD_ROOT
325install -d $RPM_BUILD_ROOT{%{_includedir}/%{name}/xdiff,%{_localstatedir}/lib/git}
326install -d $RPM_BUILD_ROOT{%{appdir},%{cgibindir},%{webappdir}}
327install -d $RPM_BUILD_ROOT%{_datadir}/vim/vimfiles/syntax
328install -d $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d
329install -d $RPM_BUILD_ROOT/etc/{sysconfig/rc-inetd,rc.d/init.d}
330
331%{__make} install \
332 INSTALLDIRS=vendor \
333 DESTDIR=$RPM_BUILD_ROOT
334
335%if %{with doc}
336%{__make} -C Documentation install \
337 DESTDIR=$RPM_BUILD_ROOT
338%endif
339
340# header files and lib
341install *.h $RPM_BUILD_ROOT%{_includedir}/%{name}
342install xdiff/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/xdiff
343install libgit.a $RPM_BUILD_ROOT%{_libdir}
344install xdiff/lib.a $RPM_BUILD_ROOT%{_libdir}/libgit_xdiff.a
345
346# bash completion
347install contrib/completion/git-completion.bash $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d
348
349# vim syntax
350cat > $RPM_BUILD_ROOT/%{_datadir}/vim/vimfiles/syntax/gitcommit.vim << 'EOF'
351autocmd BufNewFile,BufRead *.git/COMMIT_EDITMSG setf gitcommit
352autocmd BufNewFile,BufRead *.git/config,.gitconfig setf gitconfig
353autocmd BufNewFile,BufRead git-rebase-todo setf gitrebase
354autocmd BufNewFile,BufRead .msg.[0-9]*
355 \ if getline(1) =~ '^From.*# This line is ignored.$' |
356 \ setf gitsendemail |
357 \ endif
358autocmd BufNewFile,BufRead *.git/**
359 \ if getline(1) =~ '^\x\{40\}\>\|^ref: ' |
360 \ setf git |
361 \ endif
362EOF
363
364# gitweb
365install gitweb/*.css gitweb/*.png $RPM_BUILD_ROOT%{appdir}
366install gitweb/gitweb.cgi $RPM_BUILD_ROOT%{cgibindir}
367install %{SOURCE1} $RPM_BUILD_ROOT%{webappdir}/gitweb.conf
368install %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/apache.conf
369install %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/httpd.conf
370
371# gitview
372install contrib/gitview/gitview $RPM_BUILD_ROOT%{_bindir}
373
374# git-daemon related files
375install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/git-daemon
376install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
377install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
378
379# paths cleanup
380sed -e 's,@libdir@,%{_libdir},g' -i $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
381sed -e 's,@libdir@,%{_libdir},g' -i $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
382
383# remove unneeded files
384rm -f $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
385rm -f $RPM_BUILD_ROOT%{perl_vendorarch}/auto/Git/.packlist
386rm -f $RPM_BUILD_ROOT%{perl_vendorlib}/Error.pm
387rm -f $RPM_BUILD_ROOT%{_mandir}/man3/private-Error.3*
388
389%clean
390rm -rf $RPM_BUILD_ROOT
391
392%post daemon-inetd
393%service -q rc-inetd reload
394
395%postun daemon-inetd
396if [ "$1" = "0" ]; then
397 %service -q rc-inetd reload
398fi
399
400%post daemon-standalone
401/sbin/chkconfig --add git-daemon
402%service git-daemon restart "git-daemon"
403
404%preun daemon-standalone
405if [ "$1" = "0" ]; then
406 %service git-daemon stop
407 /sbin/chkconfig --del git-daemon
408fi
409
410%triggerin gitweb -- apache1 < 1.3.37-3, apache1-base
411%webapp_register apache %{webapp}
412
413%triggerun gitweb -- apache1 < 1.3.37-3, apache1-base
414%webapp_unregister apache %{webapp}
415
416%triggerin gitweb -- apache < 2.2.0, apache-base
417%webapp_register httpd %{webapp}
418
419%triggerun gitweb -- apache < 2.2.0, apache-base
420%webapp_unregister httpd %{webapp}
421
422%files
423%defattr(644,root,root,755)
424%doc README contrib
425%if %{with doc}
426%doc Documentation/RelNotes*
427%doc Documentation/*.html Documentation/howto Documentation/technical
428%{_mandir}/man1/git-*.1*
429%exclude %{_mandir}/man1/git-svn.1*
430%exclude %{_mandir}/man1/git-cvs*.1*
431%{_mandir}/man1/git.1*
432%{_mandir}/man5/gitattributes.5*
433%{_mandir}/man5/githooks.5*
434%{_mandir}/man5/gitignore.5*
435%{_mandir}/man5/gitmodules.5*
436%{_mandir}/man5/gitrepository-layout.5*
437%{_mandir}/man7/gitcli.7*
438%{_mandir}/man7/gitcore-tutorial.7*
439%{_mandir}/man7/gitdiffcore.7*
440%{_mandir}/man7/gitglossary.7*
441%{_mandir}/man7/gittutorial-2.7*
442%{_mandir}/man7/gittutorial.7*
443%{_mandir}/man7/gitworkflows.7*
444%endif
445%attr(755,root,root) %{_bindir}/git
446%attr(755,root,root) %{_bindir}/git-*
447%dir %{_libdir}/%{name}
448%attr(755,root,root) %{_libdir}/%{name}/*-*
449%attr(755,root,root) %{_libdir}/%{name}/git
450%exclude %{_libdir}/%{name}/git-gui
451%exclude %{_libdir}/%{name}/git-svn
452%exclude %{_libdir}/%{name}/git-cvs*
453%{_datadir}/%{name}
454%{_localstatedir}/lib/git
455
456%files daemon-inetd
457%defattr(644,root,root,755)
458%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/git-daemon
459
460%files daemon-standalone
461%defattr(644,root,root,755)
462%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/git-daemon
463%attr(754,root, root) /etc/rc.d/init.d/git-daemon
464
465%files devel
466%defattr(644,root,root,755)
467%{_includedir}/git-core
468%{_libdir}/libgit.a
469%{_libdir}/libgit_xdiff.a
470
471%files gitk
472%defattr(644,root,root,755)
473%if %{with doc}
474%{_mandir}/man1/gitk.1*
475%endif
476%attr(755,root,root) %{_bindir}/gitk
477%dir %{_datadir}/gitk
478%dir %{_datadir}/gitk/lib
479%dir %{_datadir}/gitk/lib/msgs
480%lang(de) %{_datadir}/gitk/lib/msgs/de.msg
481%lang(es) %{_datadir}/gitk/lib/msgs/es.msg
482%lang(it) %{_datadir}/gitk/lib/msgs/it.msg
483%lang(ru) %{_datadir}/gitk/lib/msgs/ru.msg
484%lang(sv) %{_datadir}/gitk/lib/msgs/sv.msg
485
486%files gitweb
487%defattr(644,root,root,755)
488%doc gitweb/{README,INSTALL}
489%dir %{webappdir}
490%config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitweb.conf
491%config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/apache.conf
492%config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/httpd.conf
493%attr(755,root,root) %{cgibindir}/gitweb.cgi
494%{appdir}
495
496%files gitview
497%defattr(644,root,root,755)
498%doc contrib/gitview/gitview.txt
499%attr(755,root,root) %{_bindir}/gitview
500
501%files gui
502%defattr(644,root,root,755)
503%attr(755,root,root) %{_libdir}/%{name}/git-gui
504%dir %{_datadir}/git-gui
505%dir %{_datadir}/git-gui/lib
506%dir %{_datadir}/git-gui/lib/msgs
507%{_datadir}/git-gui/lib/git-gui.ico
508%{_datadir}/git-gui/lib/tclIndex
509%{_datadir}/git-gui/lib/*.js
510%{_datadir}/git-gui/lib/*.tcl
511%lang(de) %{_datadir}/git-gui/lib/msgs/de.msg
512%lang(fr) %{_datadir}/git-gui/lib/msgs/fr.msg
513%lang(hu) %{_datadir}/git-gui/lib/msgs/hu.msg
514%lang(it) %{_datadir}/git-gui/lib/msgs/it.msg
515%lang(ja) %{_datadir}/git-gui/lib/msgs/ja.msg
516%lang(nb) %{_datadir}/git-gui/lib/msgs/nb.msg
517%lang(ru) %{_datadir}/git-gui/lib/msgs/ru.msg
518%lang(sv) %{_datadir}/git-gui/lib/msgs/sv.msg
519%lang(zh_cn) %{_datadir}/git-gui/lib/msgs/zh_cn.msg
520
521%files svn
522%defattr(644,root,root,755)
523%attr(755,root,root) %{_libdir}/%{name}/git-svn
524%if %{with doc}
525%{_mandir}/man1/git-svn.1*
526%endif
527
528%files cvs
529%defattr(644,root,root,755)
530%attr(755,root,root) %{_libdir}/%{name}/git-cvs*
531%if %{with doc}
532%{_mandir}/man1/git-cvs*.1*
533%{_mandir}/man7/gitcvs-migration.7*
534%endif
535
536%files -n bash-completion-git
537%defattr(644,root,root,755)
538%{_sysconfdir}/bash_completion.d/*
539
540%files -n perl-Git
541%defattr(644,root,root,755)
542%{perl_vendorlib}/Git.pm
543%{_mandir}/man3/Git.3pm*
544
545%files -n vim-syntax-gitcommit
546%defattr(644,root,root,755)
547%doc contrib/vim/README
548%{_datadir}/vim/vimfiles/syntax/*
This page took 0.028762 seconds and 4 git commands to generate.