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