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