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