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