]> git.pld-linux.org Git - packages/git-core.git/blob - git-core.spec
tk bcond added
[packages/git-core.git] / git-core.spec
1 #
2 # Conditional build:
3 %bcond_without  tests           # don't perform make test
4 %bcond_with     tests_cvs       # perform tests which use CVS
5 %bcond_without  tests_svn       # perform tests which use subversion
6 %bcond_without  doc             # skip building/packaging docs/manuals (takes some time)
7 %bcond_without  pcre            # perl-compatible regexes support
8 %bcond_without  gnome_keyring   # build without gnome keyring support
9 %bcond_without  tk              # build without the Tcl/Tk interface
10
11 # for AC: --without doc --without gnome_keyring --without tests
12
13 %include        /usr/lib/rpm/macros.perl
14 Summary:        Distributed version control system focused on speed, effectivity and usability
15 Summary(pl.UTF-8):      Rozproszony system śledzenia treści skupiony na szybkości, wydajności i użyteczności
16 Name:           git-core
17 Version:        2.10.0
18 Release:        1
19 License:        GPL v2
20 Group:          Development/Tools
21 Source0:        http://www.kernel.org/pub/software/scm/git/git-%{version}.tar.xz
22 # Source0-md5:  d99fdf256e7c7bc5d2cb428b48d4e038
23 Source1:        %{name}-gitweb.conf
24 Source2:        %{name}-gitweb-httpd.conf
25 Source3:        %{name}-gitweb-lighttpd.conf
26 Source4:        %{name}.sysconfig
27 Source5:        %{name}.inet
28 Source6:        %{name}.init
29 Source7:        gitolite.pl
30 Patch0:         %{name}-tests.patch
31 Patch1:         %{name}-key-bindings.patch
32 Patch2:         %{name}-sysconfdir.patch
33 Patch3:         cherry-picked-commitlog.patch
34 Patch4:         %{name}-svn-exit-errors.patch
35 URL:            http://git-scm.com/
36 BuildRequires:  autoconf >= 2.59
37 BuildRequires:  automake
38 BuildRequires:  curl-devel
39 BuildRequires:  expat-devel
40 %if "%{pld_release}" == "ac"
41 BuildRequires:  gettext-devel
42 %else
43 BuildRequires:  gettext-tools
44 %endif
45 %if %{with gnome_keyring}
46 BuildRequires:  libgnome-keyring-devel
47 BuildRequires:  pkgconfig
48 %endif
49 BuildRequires:  openssl-devel
50 %{?with_pcre:BuildRequires:     pcre-devel}
51 BuildRequires:  perl-Error > 0.15
52 BuildRequires:  perl-base
53 BuildRequires:  python-devel
54 BuildRequires:  rpm-perlprov >= 4.1-13
55 BuildRequires:  rpm-pythonprov
56 BuildRequires:  rpmbuild(macros) >= 1.673
57 %if %{with tk}
58 # wish
59 BuildRequires:  tk
60 %endif
61 BuildRequires:  zlib-devel
62 %if %{with doc}
63 BuildRequires:  asciidoc >= 7.1.2-3
64 BuildRequires:  docbook-dtd45-xml
65 BuildRequires:  xmlto
66 %endif
67 %if %{with tests}
68 %if %{with tests_cvs}
69 # tests failed sometimes when using nserver/cvsnt client so enforce pure cvs here
70 BuildRequires:  cvs-gnu-client < 1.13
71 BuildRequires:  cvs-gnu-client >= 1.12
72 %endif
73 %if %{with tests_svn}
74 BuildRequires:  perl-subversion
75 BuildRequires:  subversion
76 %endif
77 Conflicts:      pdksh < 5.2.14-46
78 %endif
79 # git-sh-setup: sane_grep
80 Requires:       grep
81 # git-pull: printf
82 Requires:       coreutils
83 Requires:       perl-Error
84 Requires:       perl-Git = %{version}-%{release}
85 Requires:       sed
86 Suggests:       git-core-bzr
87 Suggests:       git-core-cvs
88 Suggests:       git-core-hg
89 Suggests:       git-core-p4
90 Suggests:       git-core-svn
91 Suggests:       less
92 Suggests:       openssh-clients
93 Suggests:       rsync
94 Obsoletes:      python-Git
95 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
96
97 # html docs have links to txt files
98 %define         _noautocompressdoc      *.txt
99
100 %define         webapp          gitweb
101 %define         webappdir       %{_sysconfdir}/webapps/%{webapp}
102 %define         appdir          %{_datadir}/%{webapp}
103 %define         cgibindir       %{_prefix}/lib/cgi-bin
104 %define         gitcoredir      %{_prefix}/lib/%{name}
105 %define         _libexecdir     %{_prefix}/lib
106
107 %description
108 "git" can mean anything, depending on your mood.
109
110 - random three-letter combination that is pronounceable, and not
111   actually used by any common UNIX command. The fact that it is a
112   mispronunciation of "get" may or may not be relevant.
113 - stupid. contemptible and despicable. simple. Take your pick from the
114   dictionary of slang.
115 - "global information tracker": you're in a good mood, and it actually
116   works for you. Angels sing, and a light suddenly fills the room.
117 - "goddamn idiotic truckload of sh*t": when it breaks
118
119 This is a stupid (but extremely fast) directory content manager. It
120 doesn't do a whole lot, but what it 'does' do is track directory
121 contents efficiently.
122
123 %description -l pl.UTF-8
124 "git" może oznaczać cokolwiek, w zależności od nastroju.
125
126 - losową kombinację trzech liter, która jest wymawialna i właściwie
127   nie używana przez żadne popularne polecenie uniksowe. Fakt, że jest to
128   błędna pisownia słowa "get" może mieć lub nie mieć znaczenia.
129 - głupi, pogardliwy, prosty. Można wybrać ze słownika slangu.
130 - "global information tracker" (narzędzie do globalnego śledzenia
131   informacji) - jeśli jesteśmy w dobrym nastroju i git akurat działa.
132   Anioły śpiewają, a światło niespodziewanie wypełnia pokój.
133 - "goddamn idiotic truckload of sh*t" (przeklęty idiotyczny ładunek
134   g*) - kiedy się zepsuje.
135
136 Jest to prymitywny (ale bardzo szybki) zarządca treści słownikowej.
137 Nie robi wiele, ale to, co "robi", to wydajne śledzenie zawartości
138 katalogu.
139
140 %package doc
141 Summary:        Documentation for git-core
142 Summary(pl.UTF-8):      Dokumentacja do git-core
143 Group:          Documentation
144 %if "%{_rpmversion}" >= "5"
145 BuildArch:      noarch
146 %endif
147
148 %description doc
149 Documentation for git-core.
150
151 %description doc -l pl.UTF-8
152 Dokumentacja do git-core.
153
154 %package daemon-inetd
155 Summary:        Files necessary to run git-daemon as an inetd service
156 Summary(pl.UTF-8):      Pliki niezbędne do uruchomienia git-daemona w trybie usługi inetd
157 Group:          Networking/Daemons
158 Requires:       %{name} = %{version}-%{release}
159 Requires:       setup >= 2.4.11-1
160 Provides:       git-core-daemon
161 Obsoletes:      git-core-daemon
162 Obsoletes:      git-core-daemon-standalone
163 %if "%{_rpmversion}" >= "5"
164 BuildArch:      noarch
165 %endif
166
167 %description daemon-inetd
168 Git-daemon is a really simple TCP git daemon that can serve git
169 repositories. This package provides all necessarry files to run
170 git-daemon as an inetd service.
171
172 %description daemon-inetd -l pl.UTF-8
173 Git-daemon to prosty demon git korzystający z protokołu TCP do
174 udostępniania repozytoriów git. Ten pakiet dostarcza pliki potrzebne
175 do uruchomienia git-demona w trybie usługi inetd.
176
177 %package daemon-standalone
178 Summary:        Files necessary to run git-daemon as a standalone service
179 Summary(pl.UTF-8):      Pliki niezbędne do uruchomienia git-daemona w trybie usługi samodzielnej
180 Group:          Networking/Daemons
181 Requires:       %{name} = %{version}-%{release}
182 Provides:       git-core-daemon
183 Obsoletes:      git-core-daemon
184 Obsoletes:      git-core-daemon-inetd
185 %if "%{_rpmversion}" >= "5"
186 BuildArch:      noarch
187 %endif
188
189 %description daemon-standalone
190 Git-daemon is a really simple TCP git daemon that can serve git
191 repositories. This package provides all necessarry files to run
192 git-daemon as an standalone service.
193
194 %description daemon-standalone -l pl.UTF-8
195 Git-daemon to prosty demon git korzystający z protokołu TCP do
196 udostępniania repozytoriów git. Ten pakiet dostarcza pliki potrzebne
197 do uruchomienia git-daemona w trybie usługi samodzielnej.
198
199 %package devel
200 Summary:        Git library with header files
201 Summary(pl.UTF-8):      Biblioteka Gita oraz pliki nagłówkowe
202 Group:          Development/Libraries
203 Requires:       zlib-devel
204
205 %description devel
206 Git library with header files.
207
208 %description devel -l pl.UTF-8
209 Biblioteka Gita oraz pliki nagłówkowe.
210
211 %package gitk
212 Summary:        Tcl/Tk interface to the Git version control system
213 Summary(pl.UTF-8):      Napisany w Tcl/Tk interfejs do systemu kontroli wersji Git
214 Group:          Development/Tools
215 Requires:       %{name} = %{version}-%{release}
216 Requires:       tk
217 %if "%{_rpmversion}" >= "5"
218 BuildArch:      noarch
219 %endif
220
221 %description gitk
222 gitk displays changes in a repository or a selected set of commits.
223 This includes visualizing the commit graph, showing information
224 related to each commit, and the files in the trees of each revision.
225
226 Historically, gitk was the first repository browser. It's written in
227 Tcl/Tk and started off in a separate repository but was later merged
228 into the main git repository.
229
230 %description gitk -l pl.UTF-8
231 gitk wyświetla zmiany w repozytorium lub wybranym zbiorze commitów.
232 Oznacza to wizualizację grafu commitów, wyświetlanie informacji
233 związanych z każdym z commitów oraz listę plików dla każdej rewizji.
234
235 Z historycznego punktu widzenia gitk był pierwszą przeglądarką
236 repozytorium git. Napisany jest w Tcl/Tk i początkowo był rozwijany w
237 osobnym repozytorium, ale z czasem został włączony do głównego
238 repozytorium gita.
239
240 %package gitweb
241 Summary:        Web frontend to git
242 Summary(pl.UTF-8):      Frontend WWW do gita
243 Group:          Development/Tools
244 Requires:       %{name} = %{version}-%{release}
245 Requires:       webapps
246 Requires:       webserver(access)
247 Requires:       webserver(alias)
248 Requires:       webserver(cgi)
249 Suggests:       webserver(setenv)
250 %if "%{_rpmversion}" >= "5"
251 BuildArch:      noarch
252 %endif
253
254 %description gitweb
255 This package provides a web interface for browsing git repositories.
256
257 %description gitweb -l pl.UTF-8
258 Pakiet ten dostarcza interfejs WWW do przeglądania repozytoriów gita.
259
260 %package gitview
261 Summary:        A GTK+ based repository browser for git
262 Summary(pl.UTF-8):      Oparta na GTK+ przeglądarka repozytorium gita
263 Group:          Development/Tools
264 Requires:       %{name} = %{version}-%{release}
265 Requires:       python >= 1:2.4
266 Requires:       python-pycairo >= 1.0
267 Requires:       python-pygobject
268 Requires:       python-pygtk-gtk >= 2:2.8
269 Suggests:       python-gnome-desktop-gtksourceview
270 %if "%{_rpmversion}" >= "5"
271 BuildArch:      noarch
272 %endif
273
274 %description gitview
275 A GTK+ based repository browser for git.
276
277 %description gitview -l pl.UTF-8
278 Oparta na GTK+ przeglądarka repozytorium gita.
279
280 %package gui
281 Summary:        Tcl/Tk interface to the Git version control system
282 Summary(pl.UTF-8):      Napisany w Tcl/Tk interfejs do systemu kontroli wersji Git
283 Group:          Development/Tools
284 Requires:       %{name} = %{version}-%{release}
285 Requires:       tk
286 Requires:       xdg-utils
287 Suggests:       meld
288 %if "%{_rpmversion}" >= "5"
289 BuildArch:      noarch
290 %endif
291
292 %description gui
293 Displays changes in a repository or a selected set of commits. This
294 includes visualizing the commit graph, showing information related to
295 each commit, and the files in the trees of each revision.
296
297 Historically, gitk was the first repository browser. It's written in
298 Tcl/Tk and started off in a separate repository but was later merged
299 into the main git repository.
300
301 %description gui -l pl.UTF-8
302 Wyświetla zmiany w repozytorium lub wybranym zbiorze commitów. Oznacza
303 to wizualizację grafu commitów, wyświetlanie informacji związanych z
304 każdym z commitów oraz listę plików dla każdej rewizji.
305
306 Z punktu widzenia historii, gitk był pierwszą przeglądarką
307 repozytorium git. Napisany jest w Tcl/Tk i początkowo był rozwijany w
308 osobnym repozytorium, ale z czasem został włączony do głównego
309 repozytorium gita.
310
311 %package arch
312 Summary:        Git tools for importing Arch repositories
313 Summary(pl.UTF-8):      Narzędzia Gita do importowania repozytoriów Archa
314 Group:          Development/Tools
315 Requires:       %{name} = %{version}-%{release}
316 Requires:       tla
317 %if "%{_rpmversion}" >= "5"
318 BuildArch:      noarch
319 %endif
320
321 %description arch
322 Git tools for importing Arch repositories.
323
324 %description arch -l pl.UTF-8
325 Narzędzia Gita do importowania repozytoriów Archa.
326
327 %package bzr
328 Summary:        Git tools for working with bzr repositories
329 Summary(pl.UTF-8):      Narzędzia Gita do pracy z repozytoriami bzr
330 Group:          Development/Tools
331 Requires:       %{name} = %{version}-%{release}
332 Requires:       bzr
333 %if "%{_rpmversion}" >= "5"
334 BuildArch:      noarch
335 %endif
336
337 %description bzr
338 Git tools for working with bzr repositories.
339
340 %description bzr -l pl.UTF-8
341 Narzędzia Gita do pracy z repozytoriami bzr.
342
343 %package cvs
344 Summary:        CVS support for Git
345 Summary(pl.UTF-8):      Obsługa CVS dla Gita
346 Group:          Development/Tools
347 Requires:       %{name} = %{version}-%{release}
348 Requires:       cvsps >= 2.1-2
349 Requires:       rcs
350 %if "%{_rpmversion}" >= "5"
351 BuildArch:      noarch
352 %endif
353
354 %description cvs
355 CVS support for Git.
356
357 %description cvs -l pl.UTF-8
358 Obsługa CVS dla Gita.
359
360 %package hg
361 Summary:        Git tools for working with mercurial repositories
362 Summary(pl.UTF-8):      Narzędzia Gita do pracy z repozytoriami mercuriala
363 Group:          Development/Tools
364 Requires:       %{name} = %{version}-%{release}
365 Requires:       mercurial >= 1.8
366 %if "%{_rpmversion}" >= "5"
367 BuildArch:      noarch
368 %endif
369
370 %description hg
371 Git tools for working with mercurial repositories.
372
373 %description hg -l pl.UTF-8
374 Narzędzia Gita do pracy z repozytoriami mercuriala.
375
376 %package p4
377 Summary:        Git tools for working with Perforce depots
378 Summary(pl.UTF-8):      Narzędzia Gita do pracy z magazynami Perforce'a
379 Group:          Development/Tools
380 Requires:       %{name} = %{version}-%{release}
381 %if "%{_rpmversion}" >= "5"
382 BuildArch:      noarch
383 %endif
384
385 %description p4
386 Git tools for working with Perforce depots.
387
388 %description p4 -l pl.UTF-8
389 Narzędzia Gita do pracy z magazynami Perforce'a.
390
391 %package svn
392 Summary:        Subversion support for Git
393 Summary(pl.UTF-8):      Obsługa Subversion dla Gita
394 Group:          Development/Tools
395 Requires:       %{name} = %{version}-%{release}
396 Requires:       perl-Encode
397 Requires:       perl-Term-ReadKey
398
399 %description svn
400 Subversion support for Git.
401
402 %description svn -l pl.UTF-8
403 Obsługa Subversion dla Gita.
404
405 %package email
406 Summary:        Git tools for sending email
407 Summary(pl.UTF-8):      Narzędzia Gita do wysyłania poczty
408 Group:          Development/Tools
409 Requires:       %{name} = %{version}-%{release}
410 Suggests:       perl-Net-SMTP-SSL
411
412 %description email
413 Git tools for sending email.
414
415 %description email -l pl.UTF-8
416 Narzędzia Gita do wysyłania poczty.
417
418 %package -n bash-completion-git
419 Summary:        bash-completion for git
420 Summary(pl.UTF-8):      bashowe uzupełnianie nazw dla gita
421 Group:          Applications/Shells
422 Requires:       %{name} = %{version}-%{release}
423 Requires:       bash-completion >= 2.0
424 %if "%{_rpmversion}" >= "5"
425 BuildArch:      noarch
426 %endif
427
428 %description -n bash-completion-git
429 This package provides bash-completion for git.
430
431 %description -n bash-completion-git -l pl.UTF-8
432 Pakiet ten dostarcza bashowe uzupełnianie nazw dla gita.
433
434 %package -n perl-Git
435 Summary:        Perl interface to the Git version control system
436 Summary(pl.UTF-8):      Perlowy interfejs do systemu kontroli wersji Git
437 Group:          Development/Languages/Perl
438 Obsoletes:      perl-git-core
439 %if "%{_rpmversion}" >= "5"
440 BuildArch:      noarch
441 %endif
442
443 %description -n perl-Git
444 This module provides Perl scripts easy way to interface the Git
445 version control system. The modules have an easy and well-tested way
446 to call arbitrary Git commands; in the future, the interface will also
447 provide specialized methods for doing easily operations which are not
448 totally trivial to do over the generic command interface.
449
450 %description -n perl-Git -l pl.UTF-8
451 Ten moduł umożliwia skryptom Perla współpracę z systemem kontroli
452 wersji Git. W łatwy i dobrze przetestowany sposób pozwala wywoływać
453 dowolne polecenia Gita; w przyszłości interfejs udostępni także
454 specjalne metody do łatwego wykonywania operacji nietrywialnych do
455 wykonania przy użyciu ogólnego interfejsu poleceń.
456
457 %package -n gnome-keyring-git-core
458 Summary:        GNOME Keyring authentication provider for Git
459 Summary(pl.UTF-8):      Moduł uwierzytelniający GNOME Keyring dla Git
460 Group:          X11/Applications
461 URL:            http://git-scm.com/docs/gitcredentials.html
462 Requires:       %{name} = %{version}-%{release}
463
464 %description -n gnome-keyring-git-core
465 Authentication provider module for Git which allows git client to
466 authenticate using GNOME Keyring.
467
468 You need to register it with:
469 - git config --global credential.helper gnome-keyring
470
471 %description -n gnome-keyring-git-core -l pl.UTF-8
472 Moduł uwierzytelniający dla Subversion pozwalający klientom git
473 uwierzytelniać się przy użyciu mechanizmu GNOME Keyring.
474
475 Moduł trzeba zarejestrować poleceniem:
476 - git config --global credential.helper gnome-keyring
477
478 %prep
479 %setup -q -n git-%{version}
480 %patch0 -p1
481 %patch1 -p0
482 %patch2 -p1
483 %patch3 -p1
484 %patch4 -p1
485
486 %{__rm} {Documentation/technical,contrib/emacs,contrib/credential/gnome-keyring}/.gitignore
487
488 # we build things in contrib but want to have it clean for doc purporses, too
489 cp -a contrib contrib-doc
490
491 %build
492 %{__aclocal}
493 %{__autoconf}
494 %configure \
495         --sysconfdir=%{_sysconfdir}/git-core \
496         %{?with_pcre:--with-libpcre} \
497         --with-openssl
498
499 echo "BLK_SHA1=1" >> config.mak
500
501 %{__make} \
502         INSTALLDIRS=vendor \
503         GITWEB_CONFIG="%{webappdir}/gitweb.conf" \
504         GITWEB_PROJECTROOT="/var/lib/git" \
505         GITWEB_CSS="/gitweb/gitweb.css" \
506         GITWEB_LOGO="/gitweb/git-logo.png" \
507         GITWEB_FAVICON="/gitweb/git-favicon.png" \
508         V=1
509
510 %{__make} -C contrib/subtree
511
512 %if %{with gnome_keyring}
513 %{__make} -C contrib/credential/gnome-keyring
514 %endif
515
516 %if %{with doc}
517 %{__make} -C Documentation \
518         MAN_BASE_URL=file://%{_docdir}/%{name}-doc-%{version}/ \
519         V=1
520 %endif
521
522 %if %{with tests}
523 %if %{without tests_cvs}
524 %{__rm} t/t*cvs*.sh || :
525 %endif
526 %{!?with_tests_svn:GIT_SKIP_TESTS='t91??'} %{__make} test
527 %endif
528
529 %install
530 rm -rf $RPM_BUILD_ROOT
531 install -d $RPM_BUILD_ROOT{%{_includedir}/%{name}/xdiff,%{_localstatedir}/lib/git}
532 install -d $RPM_BUILD_ROOT{%{appdir},%{cgibindir},%{webappdir}}
533 install -d $RPM_BUILD_ROOT/etc/{sysconfig/rc-inetd,rc.d/init.d}
534 install -d $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
535 cat << EOF > $RPM_BUILD_ROOT%{_sysconfdir}/git-core/gitconfig
536 [init]
537         templatedir = %{_sysconfdir}/%{name}/templates
538 EOF
539
540 %{__make} install \
541         INSTALLDIRS=vendor \
542         DESTDIR=$RPM_BUILD_ROOT
543
544 %if %{with doc}
545 %{__make} -C Documentation install \
546         DESTDIR=$RPM_BUILD_ROOT
547 %endif
548
549 # copy templates except sample hooks
550 cp -a $RPM_BUILD_ROOT%{_datadir}/%{name}/templates $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
551 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/templates/hooks/*.sample
552
553 # header files and lib
554 cp -p *.h $RPM_BUILD_ROOT%{_includedir}/%{name}
555 cp -a compat $RPM_BUILD_ROOT%{_includedir}/%{name}
556 cp -p xdiff/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/xdiff
557 install -d $RPM_BUILD_ROOT%{_includedir}/%{name}/block-sha1
558 cp -p block-sha1/sha1.h $RPM_BUILD_ROOT%{_includedir}/%{name}/block-sha1
559 cp -p libgit.a $RPM_BUILD_ROOT%{_libdir}
560 cp -p xdiff/lib.a $RPM_BUILD_ROOT%{_libdir}/libgit_xdiff.a
561 cp -p {Makefile,config.mak,config.mak.autogen,config.mak.uname} $RPM_BUILD_ROOT%{_includedir}/%{name}
562
563 %{__make} -C contrib/subtree install \
564         libexecdir=%{gitcoredir} \
565         DESTDIR=$RPM_BUILD_ROOT
566
567 %if %{with doc}
568 %{__make} -C contrib/subtree install-man \
569         DESTDIR=$RPM_BUILD_ROOT
570 %endif
571
572 %if %{with gnome_keyring}
573 install -p contrib/credential/gnome-keyring/git-credential-gnome-keyring $RPM_BUILD_ROOT%{gitcoredir}
574 %endif
575
576 # bash completion
577 install -d $RPM_BUILD_ROOT%{bash_compdir}
578 cp -p contrib/completion/git-completion.bash $RPM_BUILD_ROOT%{bash_compdir}/git
579
580 # Install git-prompt.sh
581 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/completion
582 cp -p contrib/completion/git-prompt.sh $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/completion
583
584 # Install bzr and hg remote helpers from contrib
585 install -p contrib/remote-helpers/git-remote-{bzr,hg} $RPM_BUILD_ROOT%{gitcoredir}
586
587 # gitweb
588 mv $RPM_BUILD_ROOT{%{appdir},%{cgibindir}}/gitweb.cgi
589 ln -s %{cgibindir}/gitweb.cgi $RPM_BUILD_ROOT%{appdir}/gitweb.cgi
590 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{webappdir}/gitweb.conf
591 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{webappdir}/gitolite.pl
592 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/apache.conf
593 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/httpd.conf
594 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{webappdir}/lighttpd.conf
595
596 # gitview
597 install -p contrib/gitview/gitview $RPM_BUILD_ROOT%{_bindir}
598
599 # git-daemon related files
600 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/git-daemon
601 cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
602 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
603
604 # paths cleanup
605 sed -e 's,@libdir@/git-core,%{gitcoredir},g' -i $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
606 sed -e 's,@libdir@/git-core,%{gitcoredir},g' -i $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
607
608 # same file, link
609 ln -sf git $RPM_BUILD_ROOT%{_bindir}/git-receive-pack
610 ln -sf git $RPM_BUILD_ROOT%{_bindir}/git-upload-archive
611 ln -sf ../..%{gitcoredir}/git-shell $RPM_BUILD_ROOT%{_bindir}/git-shell
612 ln -sf ../..%{gitcoredir}/git-upload-pack $RPM_BUILD_ROOT%{_bindir}/git-upload-pack
613 ln -sf ../..%{gitcoredir}/git $RPM_BUILD_ROOT%{_bindir}/git
614
615 # convert all hardlinks to symlinks, as rpm fails to calculate it properly
616 # requiring excessive free space when it may not be available
617 # https://bugs.launchpad.net/pld-linux/+bug/1176337
618 find $RPM_BUILD_ROOT%{gitcoredir} -samefile $RPM_BUILD_ROOT%{gitcoredir}/git > files
619 for f in $(cat files); do
620         f=${f#$RPM_BUILD_ROOT%{gitcoredir}/}
621         test $f = git && continue
622         ln -snf git $RPM_BUILD_ROOT%{gitcoredir}/$f
623 done
624
625 # few others
626 ln -snf git-gui $RPM_BUILD_ROOT%{gitcoredir}/git-citool
627 ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-https
628 ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-ftp
629 ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-ftps
630
631 # remove unneeded files
632 %{__rm} $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
633 %{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/auto/Git/.packlist
634 %py_postclean
635
636 mv $RPM_BUILD_ROOT%{_localedir}/pt{_PT,}
637 %find_lang git
638
639 %clean
640 rm -rf $RPM_BUILD_ROOT
641
642 %post daemon-inetd
643 %service -q rc-inetd reload
644
645 %postun daemon-inetd
646 if [ "$1" = "0" ]; then
647         %service -q rc-inetd reload
648 fi
649
650 %post daemon-standalone
651 /sbin/chkconfig --add git-daemon
652 %service git-daemon restart "git-daemon"
653
654 %preun daemon-standalone
655 if [ "$1" = "0" ]; then
656         %service git-daemon stop
657         /sbin/chkconfig --del git-daemon
658 fi
659
660 %triggerin gitweb -- apache1 < 1.3.37-3, apache1-base
661 %webapp_register apache %{webapp}
662
663 %triggerun gitweb -- apache1 < 1.3.37-3, apache1-base
664 %webapp_unregister apache %{webapp}
665
666 %triggerin gitweb -- apache < 2.2.0, apache-base
667 %webapp_register httpd %{webapp}
668
669 %triggerun gitweb -- apache < 2.2.0, apache-base
670 %webapp_unregister httpd %{webapp}
671
672 %triggerin gitweb -- lighttpd
673 %webapp_register lighttpd %{webapp}
674
675 %triggerun gitweb -- lighttpd
676 %webapp_unregister lighttpd %{webapp}
677
678 %files -f git.lang
679 %defattr(644,root,root,755)
680 %doc README.md contrib-doc
681 %attr(755,root,root) %{_bindir}/git
682 %attr(755,root,root) %{_bindir}/git-receive-pack
683 %attr(755,root,root) %{_bindir}/git-shell
684 %attr(755,root,root) %{_bindir}/git-upload-archive
685 %attr(755,root,root) %{_bindir}/git-upload-pack
686 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}
687
688 %if %{with doc}
689 %{_mandir}/man1/git-*.1*
690 %exclude %{_mandir}/man1/git-archimport.1*
691 %exclude %{_mandir}/man1/git-svn.1*
692 %exclude %{_mandir}/man1/git-cvs*.1*
693 %exclude %{_mandir}/man1/git-imap-send*.1*
694 %exclude %{_mandir}/man1/*email*.1*
695 %{_mandir}/man1/git.1*
696 %{_mandir}/man1/gitremote-helpers.1*
697 %{_mandir}/man5/gitattributes.5*
698 %{_mandir}/man5/githooks.5*
699 %{_mandir}/man5/gitignore.5*
700 %{_mandir}/man5/gitmodules.5*
701 %{_mandir}/man5/gitrepository-layout.5*
702 %{_mandir}/man7/gitcli.7*
703 %{_mandir}/man7/gitcore-tutorial.7*
704 %{_mandir}/man7/gitcredentials.7*
705 %{_mandir}/man7/gitdiffcore.7*
706 %{_mandir}/man7/giteveryday.7*
707 %{_mandir}/man7/gitglossary.7*
708 %{_mandir}/man7/gitnamespaces.7*
709 %{_mandir}/man7/gitrevisions.7*
710 %{_mandir}/man7/gittutorial-2.7*
711 %{_mandir}/man7/gittutorial.7*
712 %{_mandir}/man7/gitworkflows.7*
713 %endif
714
715 %dir %{gitcoredir}
716 %attr(755,root,root) %{gitcoredir}/*-*
717 %attr(755,root,root) %{gitcoredir}/git
718 %dir %{gitcoredir}/mergetools
719 %{gitcoredir}/mergetools/*
720
721 %{_datadir}/%{name}
722 %{_localstatedir}/lib/git
723
724 # subpackages
725 %exclude %{gitcoredir}/*email*
726 %exclude %{gitcoredir}/*p4*
727 %exclude %{gitcoredir}/git-archimport
728 %exclude %{gitcoredir}/git-cvs*
729 %exclude %{gitcoredir}/git-gui
730 %exclude %{gitcoredir}/git-imap-send
731 %exclude %{gitcoredir}/git-instaweb
732 %exclude %{gitcoredir}/git-remote-bzr
733 %exclude %{gitcoredir}/git-remote-hg
734 %exclude %{gitcoredir}/git-remote-testsvn
735 %exclude %{gitcoredir}/git-svn
736 %exclude %{gitcoredir}/mergetools/p4merge
737 %if %{with gnome_keyring}
738 %exclude %{gitcoredir}/git-credential-gnome-keyring
739 %endif
740
741 %if %{with doc}
742 %files doc
743 %defattr(644,root,root,755)
744 %doc Documentation/RelNotes*
745 %doc Documentation/*.html Documentation/howto Documentation/technical
746 %endif
747
748 %files daemon-inetd
749 %defattr(644,root,root,755)
750 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/git-daemon
751
752 %files daemon-standalone
753 %defattr(644,root,root,755)
754 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/git-daemon
755 %attr(754,root, root) /etc/rc.d/init.d/git-daemon
756
757 %files devel
758 %defattr(644,root,root,755)
759 %{_includedir}/%{name}
760 %{_libdir}/libgit.a
761 %{_libdir}/libgit_xdiff.a
762
763 %if %{with tk}
764 %files gitk
765 %defattr(644,root,root,755)
766 %if %{with doc}
767 %{_mandir}/man1/gitk.1*
768 %endif
769 %attr(755,root,root) %{_bindir}/gitk
770 %dir %{_datadir}/gitk
771 %dir %{_datadir}/gitk/lib
772 %dir %{_datadir}/gitk/lib/msgs
773 %lang(bg) %{_datadir}/gitk/lib/msgs/bg.msg
774 %lang(ca) %{_datadir}/gitk/lib/msgs/ca.msg
775 %lang(de) %{_datadir}/gitk/lib/msgs/de.msg
776 %lang(es) %{_datadir}/gitk/lib/msgs/es.msg
777 %lang(fr) %{_datadir}/gitk/lib/msgs/fr.msg
778 %lang(hu) %{_datadir}/gitk/lib/msgs/hu.msg
779 %lang(it) %{_datadir}/gitk/lib/msgs/it.msg
780 %lang(ja) %{_datadir}/gitk/lib/msgs/ja.msg
781 %lang(pt_BR) %{_datadir}/gitk/lib/msgs/pt_br.msg
782 %lang(ru) %{_datadir}/gitk/lib/msgs/ru.msg
783 %lang(sv) %{_datadir}/gitk/lib/msgs/sv.msg
784 %lang(vi) %{_datadir}/gitk/lib/msgs/vi.msg
785 %endif
786
787 %files gitweb
788 %defattr(644,root,root,755)
789 %doc gitweb/{README,INSTALL}
790 %dir %{webappdir}
791 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/apache.conf
792 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/httpd.conf
793 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/lighttpd.conf
794 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitweb.conf
795 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitolite.pl
796 %attr(755,root,root) %{cgibindir}/gitweb.cgi
797 %{appdir}
798 %attr(755,root,root) %{gitcoredir}/git-instaweb
799 %if %{with doc}
800 %{_mandir}/man1/gitweb.1*
801 %{_mandir}/man5/gitweb.conf.5*
802 %endif
803
804 %files gitview
805 %defattr(644,root,root,755)
806 %doc contrib/gitview/gitview.txt
807 %attr(755,root,root) %{_bindir}/gitview
808
809 %if %{with tk}
810 %files gui
811 %defattr(644,root,root,755)
812 %attr(755,root,root) %{gitcoredir}/git-gui
813 %dir %{_datadir}/git-gui
814 %dir %{_datadir}/git-gui/lib
815 %dir %{_datadir}/git-gui/lib/msgs
816 %{_datadir}/git-gui/lib/git-gui.ico
817 %{_datadir}/git-gui/lib/tclIndex
818 %{_datadir}/git-gui/lib/*.js
819 %{_datadir}/git-gui/lib/*.tcl
820 %lang(bg) %{_datadir}/git-gui/lib/msgs/bg.msg
821 %lang(de) %{_datadir}/git-gui/lib/msgs/de.msg
822 %lang(el) %{_datadir}/git-gui/lib/msgs/el.msg
823 %lang(fr) %{_datadir}/git-gui/lib/msgs/fr.msg
824 %lang(hu) %{_datadir}/git-gui/lib/msgs/hu.msg
825 %lang(it) %{_datadir}/git-gui/lib/msgs/it.msg
826 %lang(ja) %{_datadir}/git-gui/lib/msgs/ja.msg
827 %lang(nb) %{_datadir}/git-gui/lib/msgs/nb.msg
828 %lang(pt_br) %{_datadir}/git-gui/lib/msgs/pt_br.msg
829 %lang(ru) %{_datadir}/git-gui/lib/msgs/ru.msg
830 %lang(sv) %{_datadir}/git-gui/lib/msgs/sv.msg
831 %lang(vi) %{_datadir}/git-gui/lib/msgs/vi.msg
832 %lang(zh_CN) %{_datadir}/git-gui/lib/msgs/zh_cn.msg
833 %endif
834
835 %files arch
836 %defattr(644,root,root,755)
837 %attr(755,root,root) %{gitcoredir}/git-archimport
838 %if %{with doc}
839 %{_mandir}/man1/git-archimport.1*
840 %endif
841
842 %files bzr
843 %defattr(644,root,root,755)
844 %attr(755,root,root) %{gitcoredir}/git-remote-bzr
845
846 %files cvs
847 %defattr(644,root,root,755)
848 %attr(755,root,root) %{_bindir}/git-cvsserver
849 %attr(755,root,root) %{gitcoredir}/git-cvs*
850 %if %{with doc}
851 %{_mandir}/man1/git-cvs*.1*
852 %{_mandir}/man7/gitcvs-migration.7*
853 %endif
854
855 %files hg
856 %defattr(644,root,root,755)
857 %attr(755,root,root) %{gitcoredir}/git-remote-hg
858
859 %files p4
860 %defattr(644,root,root,755)
861 %attr(755,root,root) %{gitcoredir}/git-p4
862 %attr(755,root,root) %{gitcoredir}/mergetools/p4merge
863
864 %files svn
865 %defattr(644,root,root,755)
866 %attr(755,root,root) %{gitcoredir}/git-svn
867 %attr(755,root,root) %{gitcoredir}/git-remote-testsvn
868 %{perl_vendorlib}/Git/SVN
869 %{perl_vendorlib}/Git/SVN.pm
870 %if %{with doc}
871 %{_mandir}/man1/git-svn.1*
872 %endif
873 %{_mandir}/man3/Git::SVN::Editor.3pm*
874 %{_mandir}/man3/Git::SVN::Fetcher.3pm*
875 %{_mandir}/man3/Git::SVN::Memoize::YAML.3pm*
876 %{_mandir}/man3/Git::SVN::Prompt.3pm*
877 %{_mandir}/man3/Git::SVN::Ra.3pm*
878 %{_mandir}/man3/Git::SVN::Utils.3pm*
879
880 %files email
881 %defattr(644,root,root,755)
882 %attr(755,root,root) %{gitcoredir}/git-imap-send
883 %attr(755,root,root) %{gitcoredir}/*email*
884 %if %{with doc}
885 %{_mandir}/man1/*email*.1*
886 %{_mandir}/man1/*imap-send*.1*
887 %endif
888
889 %files -n bash-completion-git
890 %defattr(644,root,root,755)
891 %{bash_compdir}/git
892
893 %files -n perl-Git
894 %defattr(644,root,root,755)
895 %{perl_vendorlib}/Git.pm
896 %dir %{perl_vendorlib}/Git
897 %{perl_vendorlib}/Git/I18N.pm
898 %{perl_vendorlib}/Git/IndexInfo.pm
899 %{_mandir}/man3/Git.3pm*
900 %{_mandir}/man3/Git::I18N.3pm*
901
902 %if %{with gnome_keyring}
903 %files -n gnome-keyring-git-core
904 %defattr(644,root,root,755)
905 %attr(755,root,root) %{gitcoredir}/git-credential-gnome-keyring
906 %endif
This page took 0.12529 seconds and 4 git commands to generate.