]> git.pld-linux.org Git - packages/git-core.git/blob - git-core.spec
- use cvs-client BR (1.12 to avoid nserver 1.11? - but it didn't fail for me)
[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.5.3.7
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:  a114cbf532ff627698a031a66d072173
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:  openssl-devel
27 BuildRequires:  perl-Error
28 BuildRequires:  perl-base
29 BuildRequires:  python
30 BuildRequires:  rpm-perlprov >= 4.1-13
31 BuildRequires:  rpmbuild(macros) >= 1.264
32 BuildRequires:  zlib-devel
33 %if %{with doc}
34 BuildRequires:  asciidoc >= 7.1.2-3
35 BuildRequires:  xmlto
36 %endif
37 %if %{with tests}
38 # tests failed sometimes when using nserver client 1.11(?)
39 BuildRequires:  cvs-client >= 1.12
40 BuildRequires:  pdksh >= 5.2.14-46
41 %endif
42 Requires:       coreutils
43 Requires:       cpio
44 Requires:       curl
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-daemon 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 daemon git korzystający z protokołu TCP do
112 udostępnienia repozytoriów git. Pakiet ten dostarcza potrzebnych
113 plików do uruchomienia git-daemon 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-daemon w trybie usługi standalone
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 daemon git korzystający z protokołu TCP do
131 udostępnienia repozytoriów git. Pakiet ten dostarcza potrzebnych
132 plików do uruchomienia git-daemon w trybie usługi standalone.
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 Displays changes in a repository or a selected set of commits. This
154 includes visualizing the commit graph, showing information related to
155 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 Wyświetla zmiany w repozytorium lub wybranym zbiorze commitów. Oznacza
163 to wizualizację grafu commitów, wyświetlanie informacji związanych z
164 każdym z commitów oraz listę plików dla każdej rewizji.
165
166 Z punktu widzenia historii, 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 -n bash-completion-git
202 Summary:        bash-completion for git
203 Summary(pl.UTF-8):      bashowe uzupełnianie nazw dla gita
204 Group:          Applications/Shells
205 Requires:       bash-completion
206
207 %description -n bash-completion-git
208 This package provides bash-completion for git.
209
210 %description -n bash-completion-git -l pl.UTF-8
211 Pakiet ten dostarcza bashowe uzupełnianie nazw dla gita.
212
213 %package -n perl-Git
214 Summary:        Perl interface to the Git version control system
215 Summary(pl.UTF-8):      Perlowy interfejs do systemu kontroli wersji Git
216 Group:          Development/Languages/Perl
217 Requires:       %{name} = %{version}-%{release}
218 Obsoletes:      perl-git-core
219
220 %description -n perl-Git
221 This module provides Perl scripts easy way to interface the Git
222 version control system. The modules have an easy and well-tested way
223 to call arbitrary Git commands; in the future, the interface will also
224 provide specialized methods for doing easily operations which are not
225 totally trivial to do over the generic command interface.
226
227 %description -n perl-Git -l pl.UTF-8
228 Ten moduł umożliwia skryptom Perla współpracę z systemem kontroli
229 wersji Git. W łatwy i dobrze przetestowany sposób pozwala wywoływać
230 dowolne polecenia Gita; w przyszłości interfejs udostępni także
231 specjalne metody do łatwego wykonywania operacji nietrywialnych do
232 wykonania przy użyciu ogólnego interfejsu poleceń.
233
234 %package -n vim-syntax-gitcommit
235 Summary:        Vim syntax: gitcommit
236 Summary(pl.UTF-8):      Składnia dla Vima: gitcommit
237 Group:          Applications/Editors/Vim
238 # for _vimdatadir existence
239 Requires:       vim >= 4:6.3.058-3
240
241 %description -n vim-syntax-gitcommit
242 This plugin provides syntax highlighting for git's commit messages.
243
244 %description -n vim-syntax-gitcommit -l pl.UTF-8
245 Ta wtyczka dostarcza podświetlanie składni dla treści commitów gita.
246
247 %prep
248 %setup -q -n git-%{version}
249
250 %build
251 %{__aclocal}
252 %{__autoconf}
253 %configure \
254         --with-openssl
255
256 %{__make} \
257         INSTALLDIRS=vendor \
258         GITWEB_CONFIG="%{webappdir}/gitweb.conf" \
259         GITWEB_PROJECTROOT="/var/lib/git" \
260         GITWEB_CSS="/gitweb/gitweb.css" \
261         GITWEB_LOGO="/gitweb/git-logo.png" \
262         GITWEB_FAVICON="/gitweb/git-favicon.png"
263
264 %{?with_doc:%{__make} -C Documentation}
265
266 %{?with_tests:%{__make} test}
267
268 %install
269 rm -rf $RPM_BUILD_ROOT
270 install -d $RPM_BUILD_ROOT{%{_includedir}/%{name}/xdiff,%{_sharedstatedir}/git}
271 install -d $RPM_BUILD_ROOT{%{appdir},%{cgibindir},%{webappdir}}
272 install -d $RPM_BUILD_ROOT%{_datadir}/vim/vimfiles/syntax
273 install -d $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d
274 install -d $RPM_BUILD_ROOT%{_sysconfdir}/{sysconfig/rc-inetd,rc.d/init.d}
275
276 %{__make} install \
277         INSTALLDIRS=vendor \
278         DESTDIR=$RPM_BUILD_ROOT
279
280 %if %{with doc}
281 %{__make} -C Documentation install \
282         DESTDIR=$RPM_BUILD_ROOT
283 %endif
284
285 # header files and lib
286 install *.h $RPM_BUILD_ROOT%{_includedir}/%{name}
287 install xdiff/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/xdiff
288 install libgit.a $RPM_BUILD_ROOT%{_libdir}
289
290 # bash completion
291 install contrib/completion/git-completion.bash $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d
292
293 # vim syntax
294 install contrib/vim/syntax/gitcommit.vim $RPM_BUILD_ROOT%{_datadir}/vim/vimfiles/syntax
295
296 # gitweb
297 install gitweb/*.css gitweb/*.png $RPM_BUILD_ROOT%{appdir}
298 install gitweb/gitweb.cgi $RPM_BUILD_ROOT%{cgibindir}
299 install %{SOURCE1} $RPM_BUILD_ROOT%{webappdir}/gitweb.conf
300 install %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/apache.conf
301 install %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/httpd.conf
302
303 # gitview
304 install contrib/gitview/gitview $RPM_BUILD_ROOT%{_bindir}
305
306 # git-daemon related files
307 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/git-daemon
308 install %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/rc-inetd/git-daemon
309 install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/git-daemon
310
311 # remove unneeded files
312 rm -f $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
313 rm -f $RPM_BUILD_ROOT%{perl_vendorarch}/auto/Git/.packlist
314 rm -f $RPM_BUILD_ROOT%{perl_vendorlib}/Error.pm
315 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/private-Error.3*
316
317 %clean
318 rm -rf $RPM_BUILD_ROOT
319
320 %post daemon-inetd
321 %service -q rc-inetd reload
322
323 %postun daemon-inetd
324 if [ "$1" = "0" ]; then
325         %service -q rc-inetd reload
326 fi
327
328 %post daemon-standalone
329 /sbin/chkconfig --add git-daemon
330 %service git-daemon restart "git-daemon"
331
332 %preun daemon-standalone
333 if [ "$1" = "0" ]; then
334         %service git-daemon stop
335         /sbin/chkconfig --del git-daemon
336 fi
337
338 %triggerin gitweb -- apache1 < 1.3.37-3, apache1-base
339 %webapp_register apache %{webapp}
340
341 %triggerun gitweb -- apache1 < 1.3.37-3, apache1-base
342 %webapp_unregister apache %{webapp}
343
344 %triggerin gitweb -- apache < 2.2.0, apache-base
345 %webapp_register httpd %{webapp}
346
347 %triggerun gitweb -- apache < 2.2.0, apache-base
348 %webapp_unregister httpd %{webapp}
349
350 %files
351 %defattr(644,root,root,755)
352 %doc README contrib
353 %if %{with doc}
354 %doc Documentation/{[!g]*,g[!i]*,git,git[!k]*}.html Documentation/howto Documentation/technical
355 %{_mandir}/man1/git-*.1*
356 %{_mandir}/man5/gitattributes.5*
357 %{_mandir}/man5/gitignore.5*
358 %{_mandir}/man5/gitmodules.5*
359 %{_mandir}/man7/git.7*
360 %endif
361 %attr(755,root,root) %{_bindir}/git
362 %attr(755,root,root) %{_bindir}/git-*
363 %{_datadir}/%{name}
364 %{_datadir}/git-gui
365 %{_sharedstatedir}/git
366
367 %files daemon-inetd
368 %defattr(644,root,root,755)
369 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/git-daemon
370
371 %files daemon-standalone
372 %defattr(644,root,root,755)
373 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/git-daemon
374 %attr(754,root, root) /etc/rc.d/init.d/git-daemon
375
376 %files devel
377 %defattr(644,root,root,755)
378 %{_includedir}/*
379 %{_libdir}/*.a
380
381 %files gitk
382 %defattr(644,root,root,755)
383 %if %{with doc}
384 %doc Documentation/gitk.html
385 %{_mandir}/man1/gitk.1*
386 %endif
387 %attr(755,root,root) %{_bindir}/gitk
388
389 %files gitweb
390 %defattr(644,root,root,755)
391 %doc gitweb/{README,INSTALL}
392 %dir %{webappdir}
393 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitweb.conf
394 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/apache.conf
395 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/httpd.conf
396 %attr(755,root,root) %{cgibindir}/gitweb.cgi
397 %{appdir}
398
399 %files gitview
400 %defattr(644,root,root,755)
401 %doc contrib/gitview/gitview.txt
402 %attr(755,root,root) %{_bindir}/gitview
403
404 %files -n bash-completion-git
405 %defattr(644,root,root,755)
406 %{_sysconfdir}/bash_completion.d/*
407
408 %files -n perl-Git
409 %defattr(644,root,root,755)
410 %{perl_vendorlib}/Git.pm
411 %{_mandir}/man3/Git.3pm*
412
413 %files -n vim-syntax-gitcommit
414 %defattr(644,root,root,755)
415 %doc contrib/vim/README
416 %{_datadir}/vim/vimfiles/syntax/*
This page took 0.057485 seconds and 4 git commands to generate.