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