]> git.pld-linux.org Git - packages/git-core.git/blob - git-core.spec
- up to 1.6.4
[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
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:  d41e3d43c8f1d23024fb3d3fe6aa3858
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.12
42 BuildRequires:  cvs-gnu-client < 1.13
43 BuildRequires:  pdksh >= 5.2.14-46
44 %endif
45 Requires:       coreutils
46 Requires:       cvsps >= 2.1-2
47 Requires:       diffutils
48 Requires:       findutils
49 Requires:       grep
50 Requires:       openssh-clients
51 Requires:       perl-Error
52 Requires:       rcs
53 Requires:       sed
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 -n bash-completion-git
230 Summary:        bash-completion for git
231 Summary(pl.UTF-8):      bashowe uzupełnianie nazw dla gita
232 Group:          Applications/Shells
233 Requires:       bash-completion
234
235 %description -n bash-completion-git
236 This package provides bash-completion for git.
237
238 %description -n bash-completion-git -l pl.UTF-8
239 Pakiet ten dostarcza bashowe uzupełnianie nazw dla gita.
240
241 %package -n perl-Git
242 Summary:        Perl interface to the Git version control system
243 Summary(pl.UTF-8):      Perlowy interfejs do systemu kontroli wersji Git
244 Group:          Development/Languages/Perl
245 Requires:       %{name} = %{version}-%{release}
246 Obsoletes:      perl-git-core
247
248 %description -n perl-Git
249 This module provides Perl scripts easy way to interface the Git
250 version control system. The modules have an easy and well-tested way
251 to call arbitrary Git commands; in the future, the interface will also
252 provide specialized methods for doing easily operations which are not
253 totally trivial to do over the generic command interface.
254
255 %description -n perl-Git -l pl.UTF-8
256 Ten moduł umożliwia skryptom Perla współpracę z systemem kontroli
257 wersji Git. W łatwy i dobrze przetestowany sposób pozwala wywoływać
258 dowolne polecenia Gita; w przyszłości interfejs udostępni także
259 specjalne metody do łatwego wykonywania operacji nietrywialnych do
260 wykonania przy użyciu ogólnego interfejsu poleceń.
261
262 %package -n vim-syntax-gitcommit
263 Summary:        Vim syntax: gitcommit
264 Summary(pl.UTF-8):      Składnia dla Vima: gitcommit
265 Group:          Applications/Editors/Vim
266 # for _vimdatadir existence
267 Requires:       vim-rt >= 4:6.3.058-3
268
269 %description -n vim-syntax-gitcommit
270 This plugin provides syntax highlighting for git's commit messages.
271
272 %description -n vim-syntax-gitcommit -l pl.UTF-8
273 Ta wtyczka dostarcza podświetlanie składni dla treści commitów gita.
274
275 %prep
276 %setup -q -n git-%{version}
277
278 %build
279 %{__aclocal}
280 %{__autoconf}
281 %configure \
282         --with-openssl
283
284 %{__make} \
285         INSTALLDIRS=vendor \
286         GITWEB_CONFIG="%{webappdir}/gitweb.conf" \
287         GITWEB_PROJECTROOT="/var/lib/git" \
288         GITWEB_CSS="/gitweb/gitweb.css" \
289         GITWEB_LOGO="/gitweb/git-logo.png" \
290         GITWEB_FAVICON="/gitweb/git-favicon.png"
291
292 %{?with_doc:%{__make} -C Documentation}
293
294 %{?with_tests:%{__make} test}
295
296 %install
297 rm -rf $RPM_BUILD_ROOT
298 install -d $RPM_BUILD_ROOT{%{_includedir}/%{name}/xdiff,%{_localstatedir}/lib/git}
299 install -d $RPM_BUILD_ROOT{%{appdir},%{cgibindir},%{webappdir}}
300 install -d $RPM_BUILD_ROOT%{_datadir}/vim/vimfiles/syntax
301 install -d $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d
302 install -d $RPM_BUILD_ROOT/etc/{sysconfig/rc-inetd,rc.d/init.d}
303
304 %{__make} install \
305         INSTALLDIRS=vendor \
306         DESTDIR=$RPM_BUILD_ROOT
307
308 %if %{with doc}
309 %{__make} -C Documentation install \
310         DESTDIR=$RPM_BUILD_ROOT
311 %endif
312
313 # header files and lib
314 install *.h $RPM_BUILD_ROOT%{_includedir}/%{name}
315 install xdiff/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/xdiff
316 install libgit.a $RPM_BUILD_ROOT%{_libdir}
317 install xdiff/lib.a $RPM_BUILD_ROOT%{_libdir}/libgit_xdiff.a
318
319 # bash completion
320 install contrib/completion/git-completion.bash $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d
321
322 # vim syntax
323 cat > $RPM_BUILD_ROOT/%{_datadir}/vim/vimfiles/syntax/gitcommit.vim << 'EOF'
324 autocmd BufNewFile,BufRead *.git/COMMIT_EDITMSG    setf gitcommit
325 autocmd BufNewFile,BufRead *.git/config,.gitconfig setf gitconfig
326 autocmd BufNewFile,BufRead git-rebase-todo         setf gitrebase
327 autocmd BufNewFile,BufRead .msg.[0-9]*
328         \ if getline(1) =~ '^From.*# This line is ignored.$' |
329         \   setf gitsendemail |
330         \ endif
331 autocmd BufNewFile,BufRead *.git/**
332         \ if getline(1) =~ '^\x\{40\}\>\|^ref: ' |
333         \   setf git |
334         \ endif
335 EOF
336
337 # gitweb
338 install gitweb/*.css gitweb/*.png $RPM_BUILD_ROOT%{appdir}
339 install gitweb/gitweb.cgi $RPM_BUILD_ROOT%{cgibindir}
340 install %{SOURCE1} $RPM_BUILD_ROOT%{webappdir}/gitweb.conf
341 install %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/apache.conf
342 install %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/httpd.conf
343
344 # gitview
345 install contrib/gitview/gitview $RPM_BUILD_ROOT%{_bindir}
346
347 # git-daemon related files
348 install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/git-daemon
349 install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
350 install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
351
352 # paths cleanup
353 sed -e 's,@libdir@,%{_libdir},g' -i $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon 
354 sed -e 's,@libdir@,%{_libdir},g' -i $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
355
356 # remove unneeded files
357 rm -f $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
358 rm -f $RPM_BUILD_ROOT%{perl_vendorarch}/auto/Git/.packlist
359 rm -f $RPM_BUILD_ROOT%{perl_vendorlib}/Error.pm
360 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/private-Error.3*
361
362 %clean
363 rm -rf $RPM_BUILD_ROOT
364
365 %post daemon-inetd
366 %service -q rc-inetd reload
367
368 %postun daemon-inetd
369 if [ "$1" = "0" ]; then
370         %service -q rc-inetd reload
371 fi
372
373 %post daemon-standalone
374 /sbin/chkconfig --add git-daemon
375 %service git-daemon restart "git-daemon"
376
377 %preun daemon-standalone
378 if [ "$1" = "0" ]; then
379         %service git-daemon stop
380         /sbin/chkconfig --del git-daemon
381 fi
382
383 %triggerin gitweb -- apache1 < 1.3.37-3, apache1-base
384 %webapp_register apache %{webapp}
385
386 %triggerun gitweb -- apache1 < 1.3.37-3, apache1-base
387 %webapp_unregister apache %{webapp}
388
389 %triggerin gitweb -- apache < 2.2.0, apache-base
390 %webapp_register httpd %{webapp}
391
392 %triggerun gitweb -- apache < 2.2.0, apache-base
393 %webapp_unregister httpd %{webapp}
394
395 %files
396 %defattr(644,root,root,755)
397 %doc README contrib
398 %if %{with doc}
399 %doc Documentation/RelNotes*
400 %doc Documentation/*.html Documentation/howto Documentation/technical
401 %{_mandir}/man1/git-*.1*
402 %{_mandir}/man1/git.1*
403 %{_mandir}/man5/gitattributes.5*
404 %{_mandir}/man5/githooks.5*
405 %{_mandir}/man5/gitignore.5*
406 %{_mandir}/man5/gitmodules.5*
407 %{_mandir}/man5/gitrepository-layout.5*
408 %{_mandir}/man7/gitcli.7*
409 %{_mandir}/man7/gitcore-tutorial.7*
410 %{_mandir}/man7/gitcvs-migration.7*
411 %{_mandir}/man7/gitdiffcore.7*
412 %{_mandir}/man7/gitglossary.7*
413 %{_mandir}/man7/gittutorial-2.7*
414 %{_mandir}/man7/gittutorial.7*
415 %{_mandir}/man7/gitworkflows.7*
416 %endif
417 %attr(755,root,root) %{_bindir}/git
418 %attr(755,root,root) %{_bindir}/git-*
419 %dir %{_libdir}/%{name}
420 %attr(755,root,root) %{_libdir}/%{name}/*-*
421 %attr(755,root,root) %{_libdir}/%{name}/git
422 %exclude %{_libdir}/%{name}/git-gui
423 %{_datadir}/%{name}
424 %{_localstatedir}/lib/git
425
426 %files daemon-inetd
427 %defattr(644,root,root,755)
428 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/git-daemon
429
430 %files daemon-standalone
431 %defattr(644,root,root,755)
432 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/git-daemon
433 %attr(754,root, root) /etc/rc.d/init.d/git-daemon
434
435 %files devel
436 %defattr(644,root,root,755)
437 %{_includedir}/git-core
438 %{_libdir}/libgit.a
439 %{_libdir}/libgit_xdiff.a
440
441 %files gitk
442 %defattr(644,root,root,755)
443 %if %{with doc}
444 %{_mandir}/man1/gitk.1*
445 %endif
446 %attr(755,root,root) %{_bindir}/gitk
447 %dir %{_datadir}/gitk
448 %dir %{_datadir}/gitk/lib
449 %dir %{_datadir}/gitk/lib/msgs
450 %lang(de) %{_datadir}/gitk/lib/msgs/de.msg
451 %lang(es) %{_datadir}/gitk/lib/msgs/es.msg
452 %lang(it) %{_datadir}/gitk/lib/msgs/it.msg
453 %lang(ru) %{_datadir}/gitk/lib/msgs/ru.msg
454 %lang(sv) %{_datadir}/gitk/lib/msgs/sv.msg
455
456 %files gitweb
457 %defattr(644,root,root,755)
458 %doc gitweb/{README,INSTALL}
459 %dir %{webappdir}
460 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitweb.conf
461 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/apache.conf
462 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/httpd.conf
463 %attr(755,root,root) %{cgibindir}/gitweb.cgi
464 %{appdir}
465
466 %files gitview
467 %defattr(644,root,root,755)
468 %doc contrib/gitview/gitview.txt
469 %attr(755,root,root) %{_bindir}/gitview
470
471 %files gui
472 %defattr(644,root,root,755)
473 %attr(755,root,root) %{_libdir}/%{name}/git-gui
474 %dir %{_datadir}/git-gui
475 %dir %{_datadir}/git-gui/lib
476 %dir %{_datadir}/git-gui/lib/msgs
477 %{_datadir}/git-gui/lib/git-gui.ico
478 %{_datadir}/git-gui/lib/tclIndex
479 %{_datadir}/git-gui/lib/*.js
480 %{_datadir}/git-gui/lib/*.tcl
481 %lang(de) %{_datadir}/git-gui/lib/msgs/de.msg
482 %lang(fr) %{_datadir}/git-gui/lib/msgs/fr.msg
483 %lang(hu) %{_datadir}/git-gui/lib/msgs/hu.msg
484 %lang(it) %{_datadir}/git-gui/lib/msgs/it.msg
485 %lang(ja) %{_datadir}/git-gui/lib/msgs/ja.msg
486 %lang(nb) %{_datadir}/git-gui/lib/msgs/nb.msg
487 %lang(ru) %{_datadir}/git-gui/lib/msgs/ru.msg
488 %lang(sv) %{_datadir}/git-gui/lib/msgs/sv.msg
489 %lang(zh_cn) %{_datadir}/git-gui/lib/msgs/zh_cn.msg
490
491 %files -n bash-completion-git
492 %defattr(644,root,root,755)
493 %{_sysconfdir}/bash_completion.d/*
494
495 %files -n perl-Git
496 %defattr(644,root,root,755)
497 %{perl_vendorlib}/Git.pm
498 %{_mandir}/man3/Git.3pm*
499
500 %files -n vim-syntax-gitcommit
501 %defattr(644,root,root,755)
502 %doc contrib/vim/README
503 %{_datadir}/vim/vimfiles/syntax/*
This page took 0.085752 seconds and 4 git commands to generate.