]> git.pld-linux.org Git - packages/git-core.git/blob - git-core.spec
- up to 1.6.3.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.3.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:  91ae46ac01dadab1962beb064abd5b60
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:  expat-devel
26 BuildRequires:  gettext-devel
27 BuildRequires:  openssl-devel
28 BuildRequires:  perl-Error
29 BuildRequires:  perl-base
30 BuildRequires:  python
31 BuildRequires:  rpm-perlprov >= 4.1-13
32 BuildRequires:  rpmbuild(macros) >= 1.264
33 BuildRequires:  zlib-devel
34 %if %{with doc}
35 BuildRequires:  asciidoc >= 7.1.2-3
36 BuildRequires:  xmlto
37 %endif
38 %if %{with tests}
39 # tests failed sometimes when using nserver/cvsnt client so enforce pure cvs here
40 BuildRequires:  cvs-gnu-client >= 1.12
41 BuildRequires:  cvs-gnu-client < 1.13
42 BuildRequires:  pdksh >= 5.2.14-46
43 %endif
44 Requires:       coreutils
45 Requires:       cvsps >= 2.1-2
46 Requires:       diffutils
47 Requires:       findutils
48 Requires:       grep
49 Requires:       openssh-clients
50 Requires:       perl-Error
51 Requires:       rcs
52 Requires:       sed
53 BuildRoot:      %{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
75 This is a stupid (but extremely fast) directory content manager. It
76 doesn't do a whole lot, but what it 'does' do is track directory
77 contents 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
92 Jest to prymitywny (ale bardzo szybki) zarządca treści słownikowej.
93 Nie robi wiele, ale to, co "robi", to wydajne śledzenie zawartości
94 katalogu.
95
96 %package daemon-inetd
97 Summary:        Files necessary to run git-daemon as an inetd service
98 Summary(pl.UTF-8):      Pliki niezbędne do uruchomienia git-daemona w trybie usługi inetd
99 Group:          Networking/Daemons
100 Requires:       %{name} = %{version}-%{release}
101 Requires:       setup >= 2.4.11-1
102 Provides:       git-core-daemon
103 Obsoletes:      git-core-daemon
104 Obsoletes:      git-core-daemon-standalone
105
106 %description daemon-inetd
107 Git-daemon is a really simple TCP git daemon that can serve git
108 repositories. This package provides all necessarry files to run
109 git-daemon as an inetd service.
110
111 %description daemon-inetd -l pl.UTF-8
112 Git-daemon to prosty demon git korzystający z protokołu TCP do
113 udostępniania repozytoriów git. Ten pakiet dostarcza pliki potrzebne
114 do uruchomienia git-demona w trybie usługi inetd.
115
116 %package daemon-standalone
117 Summary:        Files necessary to run git-daemon as a standalone service
118 Summary(pl.UTF-8):      Pliki niezbędne do uruchomienia git-daemona w trybie usługi samodzielnej
119 Group:          Networking/Daemons
120 Requires:       %{name} = %{version}-%{release}
121 Provides:       git-core-daemon
122 Obsoletes:      git-core-daemon
123 Obsoletes:      git-core-daemon-inetd
124
125 %description daemon-standalone
126 Git-daemon is a really simple TCP git daemon that can serve git
127 repositories. This package provides all necessarry files to run
128 git-daemon as an standalone service.
129
130 %description daemon-standalone -l pl.UTF-8
131 Git-daemon to prosty demon git korzystający z protokołu TCP do
132 udostępniania repozytoriów git. Ten pakiet dostarcza pliki potrzebne
133 do uruchomienia git-daemona w trybie usługi samodzielnej.
134
135 %package devel
136 Summary:        Header files for git-core
137 Summary(pl.UTF-8):      Pliki nagłówkowe dla git-core
138 Group:          Development/Libraries
139
140 %description devel
141 Header files for git-core.
142
143 %description devel -l pl.UTF-8
144 Pliki nagłówkowe dla git-core.
145
146 %package gitk
147 Summary:        Tcl/Tk interface to the Git version control system
148 Summary(pl.UTF-8):      Napisany w Tcl/Tk interfejs do systemu kontroli wersji Git
149 Group:          Development/Tools
150 Requires:       %{name} = %{version}-%{release}
151 Requires:       tk
152
153 %description gitk
154 gitk displays changes in a repository or a selected set of commits.
155 This includes visualizing the commit graph, showing information
156 related to each commit, and the files in the trees of each revision.
157
158 Historically, gitk was the first repository browser. It's written in
159 Tcl/Tk and started off in a separate repository but was later merged
160 into the main git repository.
161
162 %description gitk -l pl.UTF-8
163 gitk wyświetla zmiany w repozytorium lub wybranym zbiorze commitów.
164 Oznacza to wizualizację grafu commitów, wyświetlanie informacji
165 związanych z każdym z commitów oraz listę plików dla każdej rewizji.
166
167 Z historycznego punktu widzenia gitk był pierwszą przeglądarką
168 repozytorium git. Napisany jest w Tcl/Tk i początkowo był rozwijany w
169 osobnym repozytorium, ale z czasem został włączony do głównego
170 repozytorium gita.
171
172 %package gitweb
173 Summary:        Web frontend to git
174 Summary(pl.UTF-8):      Webowy frontend do git
175 Group:          Development/Tools
176 Requires:       %{name} = %{version}-%{release}
177 Requires:       webapps
178
179 %description gitweb
180 This package provides a web interface for browsing git repositories.
181
182 %description gitweb -l pl.UTF-8
183 Pakiet ten dostarcza interfejs WWW do przeglądania repozytoriów gita.
184
185 %package gitview
186 Summary:        A GTK+ based repository browser for git
187 Summary(pl.UTF-8):      Oparta na GTK+ przeglądarka repozytorium gita
188 Group:          Development/Tools
189 Requires:       %{name} = %{version}-%{release}
190 Requires:       python >= 1:2.4
191 Requires:       python-pycairo >= 1.0
192 Requires:       python-pygobject
193 Requires:       python-pygtk-gtk >= 2:2.8
194 Suggests:       python-gnome-desktop-gtksourceview
195
196 %description gitview
197 A GTK+ based repository browser for git.
198
199 %description gitview -l pl.UTF-8
200 Oparta na GTK+ przeglądarka repozytorium gita.
201
202 %package gui
203 Summary:        Tcl/Tk interface to the Git version control system
204 Summary(pl.UTF-8):      Napisany w Tcl/Tk interfejs do systemu kontroli wersji Git
205 Group:          Development/Tools
206 Requires:       %{name} = %{version}-%{release}
207 Requires:       tk
208
209 %description gui
210 Displays changes in a repository or a selected set of commits. This
211 includes visualizing the commit graph, showing information related to
212 each commit, and the files in the trees of each revision.
213
214 Historically, gitk was the first repository browser. It's written in
215 Tcl/Tk and started off in a separate repository but was later merged
216 into the main git repository.
217
218 %description gui -l pl.UTF-8
219 Wyświetla zmiany w repozytorium lub wybranym zbiorze commitów. Oznacza
220 to wizualizację grafu commitów, wyświetlanie informacji związanych z
221 każdym z commitów oraz listę plików dla każdej rewizji.
222
223 Z punktu widzenia historii, gitk był pierwszą przeglądarką
224 repozytorium git. Napisany jest w Tcl/Tk i początkowo był rozwijany w
225 osobnym repozytorium, ale z czasem został włączony do głównego
226 repozytorium gita.
227
228 %package -n bash-completion-git
229 Summary:        bash-completion for git
230 Summary(pl.UTF-8):      bashowe uzupełnianie nazw dla gita
231 Group:          Applications/Shells
232 Requires:       bash-completion
233
234 %description -n bash-completion-git
235 This package provides bash-completion for git.
236
237 %description -n bash-completion-git -l pl.UTF-8
238 Pakiet ten dostarcza bashowe uzupełnianie nazw dla gita.
239
240 %package -n perl-Git
241 Summary:        Perl interface to the Git version control system
242 Summary(pl.UTF-8):      Perlowy interfejs do systemu kontroli wersji Git
243 Group:          Development/Languages/Perl
244 Requires:       %{name} = %{version}-%{release}
245 Obsoletes:      perl-git-core
246
247 %description -n perl-Git
248 This module provides Perl scripts easy way to interface the Git
249 version control system. The modules have an easy and well-tested way
250 to call arbitrary Git commands; in the future, the interface will also
251 provide specialized methods for doing easily operations which are not
252 totally trivial to do over the generic command interface.
253
254 %description -n perl-Git -l pl.UTF-8
255 Ten moduł umożliwia skryptom Perla współpracę z systemem kontroli
256 wersji Git. W łatwy i dobrze przetestowany sposób pozwala wywoływać
257 dowolne polecenia Gita; w przyszłości interfejs udostępni także
258 specjalne metody do łatwego wykonywania operacji nietrywialnych do
259 wykonania przy użyciu ogólnego interfejsu poleceń.
260
261 %package -n vim-syntax-gitcommit
262 Summary:        Vim syntax: gitcommit
263 Summary(pl.UTF-8):      Składnia dla Vima: gitcommit
264 Group:          Applications/Editors/Vim
265 # for _vimdatadir existence
266 Requires:       vim-rt >= 4:6.3.058-3
267
268 %description -n vim-syntax-gitcommit
269 This plugin provides syntax highlighting for git's commit messages.
270
271 %description -n vim-syntax-gitcommit -l pl.UTF-8
272 Ta 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
296 rm -rf $RPM_BUILD_ROOT
297 install -d $RPM_BUILD_ROOT{%{_includedir}/%{name}/xdiff,%{_localstatedir}/lib/git}
298 install -d $RPM_BUILD_ROOT{%{appdir},%{cgibindir},%{webappdir}}
299 install -d $RPM_BUILD_ROOT%{_datadir}/vim/vimfiles/syntax
300 install -d $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d
301 install -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
313 install *.h $RPM_BUILD_ROOT%{_includedir}/%{name}
314 install xdiff/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/xdiff
315 install libgit.a $RPM_BUILD_ROOT%{_libdir}
316 install xdiff/lib.a $RPM_BUILD_ROOT%{_libdir}/libgit_xdiff.a
317
318 # bash completion
319 install contrib/completion/git-completion.bash $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d
320
321 # vim syntax
322 cat > $RPM_BUILD_ROOT/%{_datadir}/vim/vimfiles/syntax/gitcommit.vim << 'EOF'
323 autocmd BufNewFile,BufRead *.git/COMMIT_EDITMSG    setf gitcommit
324 autocmd BufNewFile,BufRead *.git/config,.gitconfig setf gitconfig
325 autocmd BufNewFile,BufRead git-rebase-todo         setf gitrebase
326 autocmd BufNewFile,BufRead .msg.[0-9]*
327         \ if getline(1) =~ '^From.*# This line is ignored.$' |
328         \   setf gitsendemail |
329         \ endif
330 autocmd BufNewFile,BufRead *.git/**
331         \ if getline(1) =~ '^\x\{40\}\>\|^ref: ' |
332         \   setf git |
333         \ endif
334 EOF
335
336 # gitweb
337 install gitweb/*.css gitweb/*.png $RPM_BUILD_ROOT%{appdir}
338 install gitweb/gitweb.cgi $RPM_BUILD_ROOT%{cgibindir}
339 install %{SOURCE1} $RPM_BUILD_ROOT%{webappdir}/gitweb.conf
340 install %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/apache.conf
341 install %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/httpd.conf
342
343 # gitview
344 install contrib/gitview/gitview $RPM_BUILD_ROOT%{_bindir}
345
346 # git-daemon related files
347 install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/git-daemon
348 install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
349 install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
350
351 # paths cleanup
352 sed -e 's,@libdir@,%{_libdir},g' -i $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon 
353 sed -e 's,@libdir@,%{_libdir},g' -i $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
354
355 # remove unneeded files
356 rm -f $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
357 rm -f $RPM_BUILD_ROOT%{perl_vendorarch}/auto/Git/.packlist
358 rm -f $RPM_BUILD_ROOT%{perl_vendorlib}/Error.pm
359 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/private-Error.3*
360
361 %clean
362 rm -rf $RPM_BUILD_ROOT
363
364 %post daemon-inetd
365 %service -q rc-inetd reload
366
367 %postun daemon-inetd
368 if [ "$1" = "0" ]; then
369         %service -q rc-inetd reload
370 fi
371
372 %post daemon-standalone
373 /sbin/chkconfig --add git-daemon
374 %service git-daemon restart "git-daemon"
375
376 %preun daemon-standalone
377 if [ "$1" = "0" ]; then
378         %service git-daemon stop
379         /sbin/chkconfig --del git-daemon
380 fi
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(ru) %{_datadir}/gitk/lib/msgs/ru.msg
452 %lang(sv) %{_datadir}/gitk/lib/msgs/sv.msg
453
454 %files gitweb
455 %defattr(644,root,root,755)
456 %doc gitweb/{README,INSTALL}
457 %dir %{webappdir}
458 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitweb.conf
459 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/apache.conf
460 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/httpd.conf
461 %attr(755,root,root) %{cgibindir}/gitweb.cgi
462 %{appdir}
463
464 %files gitview
465 %defattr(644,root,root,755)
466 %doc contrib/gitview/gitview.txt
467 %attr(755,root,root) %{_bindir}/gitview
468
469 %files gui
470 %defattr(644,root,root,755)
471 %attr(755,root,root) %{_libdir}/%{name}/git-gui
472 %dir %{_datadir}/git-gui
473 %dir %{_datadir}/git-gui/lib
474 %dir %{_datadir}/git-gui/lib/msgs
475 %{_datadir}/git-gui/lib/git-gui.ico
476 %{_datadir}/git-gui/lib/tclIndex
477 %{_datadir}/git-gui/lib/*.js
478 %{_datadir}/git-gui/lib/*.tcl
479 %lang(de) %{_datadir}/git-gui/lib/msgs/de.msg
480 %lang(fr) %{_datadir}/git-gui/lib/msgs/fr.msg
481 %lang(hu) %{_datadir}/git-gui/lib/msgs/hu.msg
482 %lang(it) %{_datadir}/git-gui/lib/msgs/it.msg
483 %lang(ja) %{_datadir}/git-gui/lib/msgs/ja.msg
484 %lang(nb) %{_datadir}/git-gui/lib/msgs/nb.msg
485 %lang(ru) %{_datadir}/git-gui/lib/msgs/ru.msg
486 %lang(sv) %{_datadir}/git-gui/lib/msgs/sv.msg
487 %lang(zh_cn) %{_datadir}/git-gui/lib/msgs/zh_cn.msg
488
489 %files -n bash-completion-git
490 %defattr(644,root,root,755)
491 %{_sysconfdir}/bash_completion.d/*
492
493 %files -n perl-Git
494 %defattr(644,root,root,755)
495 %{perl_vendorlib}/Git.pm
496 %{_mandir}/man3/Git.3pm*
497
498 %files -n vim-syntax-gitcommit
499 %defattr(644,root,root,755)
500 %doc contrib/vim/README
501 %{_datadir}/vim/vimfiles/syntax/*
This page took 0.088572 seconds and 4 git commands to generate.