]> git.pld-linux.org Git - packages/git-core.git/blob - git-core.spec
up to 2.12.2
[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.12.2
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:  ad5ae08664c40caf074392abc301cccd
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 URL:            http://git-scm.com/
35 BuildRequires:  autoconf >= 2.59
36 BuildRequires:  automake
37 BuildRequires:  curl-devel
38 BuildRequires:  expat-devel
39 %if "%{pld_release}" == "ac"
40 BuildRequires:  gettext-devel
41 %else
42 BuildRequires:  gettext-tools
43 %endif
44 %if %{with gnome_keyring}
45 BuildRequires:  libgnome-keyring-devel
46 BuildRequires:  pkgconfig
47 %endif
48 BuildRequires:  openssl-devel
49 %{?with_pcre:BuildRequires:     pcre-devel}
50 BuildRequires:  perl-Error > 0.15
51 BuildRequires:  perl-base
52 BuildRequires:  python-devel
53 BuildRequires:  rpm-perlprov >= 4.1-13
54 BuildRequires:  rpm-pythonprov
55 BuildRequires:  rpmbuild(macros) >= 1.673
56 %if %{with tk}
57 # wish
58 BuildRequires:  tk
59 %endif
60 BuildRequires:  zlib-devel
61 %if %{with doc}
62 BuildRequires:  asciidoc >= 7.1.2-3
63 BuildRequires:  docbook-dtd45-xml
64 BuildRequires:  xmlto
65 %endif
66 %if %{with tests}
67 %if %{with tests_cvs}
68 # tests failed sometimes when using nserver/cvsnt client so enforce pure cvs here
69 BuildRequires:  cvs-gnu-client < 1.13
70 BuildRequires:  cvs-gnu-client >= 1.12
71 %endif
72 %if %{with tests_svn}
73 BuildRequires:  perl-subversion
74 BuildRequires:  subversion
75 %endif
76 Conflicts:      pdksh < 5.2.14-46
77 %endif
78 # git-sh-setup: sane_grep
79 Requires:       grep
80 # git-pull: printf
81 Requires:       coreutils
82 Requires:       perl-Error
83 Requires:       perl-Git = %{version}-%{release}
84 Requires:       sed
85 Suggests:       git-core-bzr
86 Suggests:       git-core-cvs
87 Suggests:       git-core-hg
88 Suggests:       git-core-p4
89 Suggests:       git-core-svn
90 Suggests:       less
91 Suggests:       openssh-clients
92 Suggests:       rsync
93 Obsoletes:      git-core-gitview
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 gui
261 Summary:        Tcl/Tk interface to the Git version control system
262 Summary(pl.UTF-8):      Napisany w Tcl/Tk interfejs do systemu kontroli wersji Git
263 Group:          Development/Tools
264 Requires:       %{name} = %{version}-%{release}
265 Requires:       tk
266 Requires:       xdg-utils
267 Suggests:       meld
268 %if "%{_rpmversion}" >= "5"
269 BuildArch:      noarch
270 %endif
271
272 %description gui
273 Displays changes in a repository or a selected set of commits. This
274 includes visualizing the commit graph, showing information related to
275 each commit, and the files in the trees of each revision.
276
277 Historically, gitk was the first repository browser. It's written in
278 Tcl/Tk and started off in a separate repository but was later merged
279 into the main git repository.
280
281 %description gui -l pl.UTF-8
282 Wyświetla zmiany w repozytorium lub wybranym zbiorze commitów. Oznacza
283 to wizualizację grafu commitów, wyświetlanie informacji związanych z
284 każdym z commitów oraz listę plików dla każdej rewizji.
285
286 Z punktu widzenia historii, gitk był pierwszą przeglądarką
287 repozytorium git. Napisany jest w Tcl/Tk i początkowo był rozwijany w
288 osobnym repozytorium, ale z czasem został włączony do głównego
289 repozytorium gita.
290
291 %package arch
292 Summary:        Git tools for importing Arch repositories
293 Summary(pl.UTF-8):      Narzędzia Gita do importowania repozytoriów Archa
294 Group:          Development/Tools
295 Requires:       %{name} = %{version}-%{release}
296 Requires:       tla
297 %if "%{_rpmversion}" >= "5"
298 BuildArch:      noarch
299 %endif
300
301 %description arch
302 Git tools for importing Arch repositories.
303
304 %description arch -l pl.UTF-8
305 Narzędzia Gita do importowania repozytoriów Archa.
306
307 %package bzr
308 Summary:        Git tools for working with bzr repositories
309 Summary(pl.UTF-8):      Narzędzia Gita do pracy z repozytoriami bzr
310 Group:          Development/Tools
311 Requires:       %{name} = %{version}-%{release}
312 Requires:       bzr
313 %if "%{_rpmversion}" >= "5"
314 BuildArch:      noarch
315 %endif
316
317 %description bzr
318 Git tools for working with bzr repositories.
319
320 %description bzr -l pl.UTF-8
321 Narzędzia Gita do pracy z repozytoriami bzr.
322
323 %package cvs
324 Summary:        CVS support for Git
325 Summary(pl.UTF-8):      Obsługa CVS dla Gita
326 Group:          Development/Tools
327 Requires:       %{name} = %{version}-%{release}
328 Requires:       cvsps >= 2.1-2
329 Requires:       rcs
330 %if "%{_rpmversion}" >= "5"
331 BuildArch:      noarch
332 %endif
333
334 %description cvs
335 CVS support for Git.
336
337 %description cvs -l pl.UTF-8
338 Obsługa CVS dla Gita.
339
340 %package hg
341 Summary:        Git tools for working with mercurial repositories
342 Summary(pl.UTF-8):      Narzędzia Gita do pracy z repozytoriami mercuriala
343 Group:          Development/Tools
344 Requires:       %{name} = %{version}-%{release}
345 Requires:       mercurial >= 1.8
346 %if "%{_rpmversion}" >= "5"
347 BuildArch:      noarch
348 %endif
349
350 %description hg
351 Git tools for working with mercurial repositories.
352
353 %description hg -l pl.UTF-8
354 Narzędzia Gita do pracy z repozytoriami mercuriala.
355
356 %package p4
357 Summary:        Git tools for working with Perforce depots
358 Summary(pl.UTF-8):      Narzędzia Gita do pracy z magazynami Perforce'a
359 Group:          Development/Tools
360 Requires:       %{name} = %{version}-%{release}
361 %if "%{_rpmversion}" >= "5"
362 BuildArch:      noarch
363 %endif
364
365 %description p4
366 Git tools for working with Perforce depots.
367
368 %description p4 -l pl.UTF-8
369 Narzędzia Gita do pracy z magazynami Perforce'a.
370
371 %package svn
372 Summary:        Subversion support for Git
373 Summary(pl.UTF-8):      Obsługa Subversion dla Gita
374 Group:          Development/Tools
375 Requires:       %{name} = %{version}-%{release}
376 Requires:       perl-Encode
377 Requires:       perl-Term-ReadKey
378
379 %description svn
380 Subversion support for Git.
381
382 %description svn -l pl.UTF-8
383 Obsługa Subversion dla Gita.
384
385 %package email
386 Summary:        Git tools for sending email
387 Summary(pl.UTF-8):      Narzędzia Gita do wysyłania poczty
388 Group:          Development/Tools
389 Requires:       %{name} = %{version}-%{release}
390 Suggests:       perl-Net-SMTP-SSL
391
392 %description email
393 Git tools for sending email.
394
395 %description email -l pl.UTF-8
396 Narzędzia Gita do wysyłania poczty.
397
398 %package -n bash-completion-git
399 Summary:        bash-completion for git
400 Summary(pl.UTF-8):      bashowe uzupełnianie nazw dla gita
401 Group:          Applications/Shells
402 Requires:       %{name} = %{version}-%{release}
403 Requires:       bash-completion >= 2.0
404 %if "%{_rpmversion}" >= "5"
405 BuildArch:      noarch
406 %endif
407
408 %description -n bash-completion-git
409 This package provides bash-completion for git.
410
411 %description -n bash-completion-git -l pl.UTF-8
412 Pakiet ten dostarcza bashowe uzupełnianie nazw dla gita.
413
414 %package -n perl-Git
415 Summary:        Perl interface to the Git version control system
416 Summary(pl.UTF-8):      Perlowy interfejs do systemu kontroli wersji Git
417 Group:          Development/Languages/Perl
418 Obsoletes:      perl-git-core
419 %if "%{_rpmversion}" >= "5"
420 BuildArch:      noarch
421 %endif
422
423 %description -n perl-Git
424 This module provides Perl scripts easy way to interface the Git
425 version control system. The modules have an easy and well-tested way
426 to call arbitrary Git commands; in the future, the interface will also
427 provide specialized methods for doing easily operations which are not
428 totally trivial to do over the generic command interface.
429
430 %description -n perl-Git -l pl.UTF-8
431 Ten moduł umożliwia skryptom Perla współpracę z systemem kontroli
432 wersji Git. W łatwy i dobrze przetestowany sposób pozwala wywoływać
433 dowolne polecenia Gita; w przyszłości interfejs udostępni także
434 specjalne metody do łatwego wykonywania operacji nietrywialnych do
435 wykonania przy użyciu ogólnego interfejsu poleceń.
436
437 %package -n gnome-keyring-git-core
438 Summary:        GNOME Keyring authentication provider for Git
439 Summary(pl.UTF-8):      Moduł uwierzytelniający GNOME Keyring dla Git
440 Group:          X11/Applications
441 URL:            http://git-scm.com/docs/gitcredentials.html
442 Requires:       %{name} = %{version}-%{release}
443
444 %description -n gnome-keyring-git-core
445 Authentication provider module for Git which allows git client to
446 authenticate using GNOME Keyring.
447
448 You need to register it with:
449 - git config --global credential.helper gnome-keyring
450
451 %description -n gnome-keyring-git-core -l pl.UTF-8
452 Moduł uwierzytelniający dla Subversion pozwalający klientom git
453 uwierzytelniać się przy użyciu mechanizmu GNOME Keyring.
454
455 Moduł trzeba zarejestrować poleceniem:
456 - git config --global credential.helper gnome-keyring
457
458 %prep
459 %setup -q -n git-%{version}
460 %patch0 -p1
461 %patch1 -p0
462 %patch2 -p1
463 %patch3 -p1
464
465 %{__rm} {Documentation/technical,contrib/emacs,contrib/credential/gnome-keyring}/.gitignore
466
467 # we build things in contrib but want to have it clean for doc purporses, too
468 cp -a contrib contrib-doc
469
470 %build
471 %{__aclocal}
472 %{__autoconf}
473 %configure \
474         --sysconfdir=%{_sysconfdir}/git-core \
475         %{?with_pcre:--with-libpcre} \
476         --with-openssl
477
478 echo "BLK_SHA1=1" >> config.mak
479
480 %{__make} \
481         INSTALLDIRS=vendor \
482         GITWEB_CONFIG="%{webappdir}/gitweb.conf" \
483         GITWEB_PROJECTROOT="/var/lib/git" \
484         GITWEB_CSS="/gitweb/gitweb.css" \
485         GITWEB_LOGO="/gitweb/git-logo.png" \
486         GITWEB_FAVICON="/gitweb/git-favicon.png" \
487         V=1
488
489 %{__make} -C contrib/subtree
490
491 %if %{with gnome_keyring}
492 %{__make} -C contrib/credential/gnome-keyring
493 %endif
494
495 %if %{with doc}
496 %{__make} -C Documentation \
497         MAN_BASE_URL=file://%{_docdir}/%{name}-doc-%{version}/ \
498         V=1
499 %endif
500
501 %if %{with tests}
502 %if %{without tests_cvs}
503 %{__rm} t/t*cvs*.sh || :
504 %endif
505 %{!?with_tests_svn:GIT_SKIP_TESTS='t91??'} %{__make} test
506 %endif
507
508 %install
509 rm -rf $RPM_BUILD_ROOT
510 install -d $RPM_BUILD_ROOT{%{_includedir}/%{name}/xdiff,%{_localstatedir}/lib/git}
511 install -d $RPM_BUILD_ROOT{%{appdir},%{cgibindir},%{webappdir}}
512 install -d $RPM_BUILD_ROOT/etc/{sysconfig/rc-inetd,rc.d/init.d}
513 install -d $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
514 cat << EOF > $RPM_BUILD_ROOT%{_sysconfdir}/git-core/gitconfig
515 [init]
516         templatedir = %{_sysconfdir}/%{name}/templates
517 EOF
518
519 %{__make} install \
520         INSTALLDIRS=vendor \
521         DESTDIR=$RPM_BUILD_ROOT
522
523 %if %{with doc}
524 %{__make} -C Documentation install \
525         DESTDIR=$RPM_BUILD_ROOT
526 %endif
527
528 # copy templates except sample hooks
529 cp -a $RPM_BUILD_ROOT%{_datadir}/%{name}/templates $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
530 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/templates/hooks/*.sample
531
532 # header files and lib
533 cp -p *.h $RPM_BUILD_ROOT%{_includedir}/%{name}
534 cp -a compat $RPM_BUILD_ROOT%{_includedir}/%{name}
535 cp -p xdiff/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/xdiff
536 install -d $RPM_BUILD_ROOT%{_includedir}/%{name}/block-sha1
537 cp -p block-sha1/sha1.h $RPM_BUILD_ROOT%{_includedir}/%{name}/block-sha1
538 cp -p libgit.a $RPM_BUILD_ROOT%{_libdir}
539 cp -p xdiff/lib.a $RPM_BUILD_ROOT%{_libdir}/libgit_xdiff.a
540 cp -p {Makefile,config.mak,config.mak.autogen,config.mak.uname} $RPM_BUILD_ROOT%{_includedir}/%{name}
541
542 %{__make} -C contrib/subtree install \
543         libexecdir=%{gitcoredir} \
544         DESTDIR=$RPM_BUILD_ROOT
545
546 %if %{with doc}
547 %{__make} -C contrib/subtree install-man \
548         DESTDIR=$RPM_BUILD_ROOT
549 %endif
550
551 %if %{with gnome_keyring}
552 install -p contrib/credential/gnome-keyring/git-credential-gnome-keyring $RPM_BUILD_ROOT%{gitcoredir}
553 %endif
554
555 # bash completion
556 install -d $RPM_BUILD_ROOT%{bash_compdir}
557 cp -p contrib/completion/git-completion.bash $RPM_BUILD_ROOT%{bash_compdir}/git
558
559 # Install git-prompt.sh
560 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/completion
561 cp -p contrib/completion/git-prompt.sh $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/completion
562
563 # Install bzr and hg remote helpers from contrib
564 install -p contrib/remote-helpers/git-remote-{bzr,hg} $RPM_BUILD_ROOT%{gitcoredir}
565
566 # gitweb
567 mv $RPM_BUILD_ROOT{%{appdir},%{cgibindir}}/gitweb.cgi
568 ln -s %{cgibindir}/gitweb.cgi $RPM_BUILD_ROOT%{appdir}/gitweb.cgi
569 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{webappdir}/gitweb.conf
570 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{webappdir}/gitolite.pl
571 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/apache.conf
572 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/httpd.conf
573 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{webappdir}/lighttpd.conf
574
575 # git-daemon related files
576 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/git-daemon
577 cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
578 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
579
580 # paths cleanup
581 sed -e 's,@libdir@/git-core,%{gitcoredir},g' -i $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
582 sed -e 's,@libdir@/git-core,%{gitcoredir},g' -i $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
583
584 # same file, link
585 ln -sf git $RPM_BUILD_ROOT%{_bindir}/git-receive-pack
586 ln -sf git $RPM_BUILD_ROOT%{_bindir}/git-upload-archive
587 ln -sf ../..%{gitcoredir}/git-shell $RPM_BUILD_ROOT%{_bindir}/git-shell
588 ln -sf ../..%{gitcoredir}/git-upload-pack $RPM_BUILD_ROOT%{_bindir}/git-upload-pack
589 ln -sf ../..%{gitcoredir}/git $RPM_BUILD_ROOT%{_bindir}/git
590
591 # convert all hardlinks to symlinks, as rpm fails to calculate it properly
592 # requiring excessive free space when it may not be available
593 # https://bugs.launchpad.net/pld-linux/+bug/1176337
594 find $RPM_BUILD_ROOT%{gitcoredir} -samefile $RPM_BUILD_ROOT%{gitcoredir}/git > files
595 for f in $(cat files); do
596         f=${f#$RPM_BUILD_ROOT%{gitcoredir}/}
597         test $f = git && continue
598         ln -snf git $RPM_BUILD_ROOT%{gitcoredir}/$f
599 done
600
601 # few others
602 ln -snf git-gui $RPM_BUILD_ROOT%{gitcoredir}/git-citool
603 ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-https
604 ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-ftp
605 ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-ftps
606
607 # remove unneeded files
608 %{__rm} $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
609 %{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/auto/Git/.packlist
610 %py_postclean
611
612 mv $RPM_BUILD_ROOT%{_localedir}/pt{_PT,}
613 %find_lang git
614
615 %clean
616 rm -rf $RPM_BUILD_ROOT
617
618 %post daemon-inetd
619 %service -q rc-inetd reload
620
621 %postun daemon-inetd
622 if [ "$1" = "0" ]; then
623         %service -q rc-inetd reload
624 fi
625
626 %post daemon-standalone
627 /sbin/chkconfig --add git-daemon
628 %service git-daemon restart "git-daemon"
629
630 %preun daemon-standalone
631 if [ "$1" = "0" ]; then
632         %service git-daemon stop
633         /sbin/chkconfig --del git-daemon
634 fi
635
636 %triggerin gitweb -- apache1 < 1.3.37-3, apache1-base
637 %webapp_register apache %{webapp}
638
639 %triggerun gitweb -- apache1 < 1.3.37-3, apache1-base
640 %webapp_unregister apache %{webapp}
641
642 %triggerin gitweb -- apache < 2.2.0, apache-base
643 %webapp_register httpd %{webapp}
644
645 %triggerun gitweb -- apache < 2.2.0, apache-base
646 %webapp_unregister httpd %{webapp}
647
648 %triggerin gitweb -- lighttpd
649 %webapp_register lighttpd %{webapp}
650
651 %triggerun gitweb -- lighttpd
652 %webapp_unregister lighttpd %{webapp}
653
654 %files -f git.lang
655 %defattr(644,root,root,755)
656 %doc README.md contrib-doc
657 %attr(755,root,root) %{_bindir}/git
658 %attr(755,root,root) %{_bindir}/git-receive-pack
659 %attr(755,root,root) %{_bindir}/git-shell
660 %attr(755,root,root) %{_bindir}/git-upload-archive
661 %attr(755,root,root) %{_bindir}/git-upload-pack
662 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}
663
664 %if %{with doc}
665 %{_mandir}/man1/git-*.1*
666 %exclude %{_mandir}/man1/git-archimport.1*
667 %exclude %{_mandir}/man1/git-svn.1*
668 %exclude %{_mandir}/man1/git-cvs*.1*
669 %exclude %{_mandir}/man1/git-imap-send*.1*
670 %exclude %{_mandir}/man1/*email*.1*
671 %{_mandir}/man1/git.1*
672 %{_mandir}/man1/gitremote-helpers.1*
673 %{_mandir}/man5/gitattributes.5*
674 %{_mandir}/man5/githooks.5*
675 %{_mandir}/man5/gitignore.5*
676 %{_mandir}/man5/gitmodules.5*
677 %{_mandir}/man5/gitrepository-layout.5*
678 %{_mandir}/man7/gitcli.7*
679 %{_mandir}/man7/gitcore-tutorial.7*
680 %{_mandir}/man7/gitcredentials.7*
681 %{_mandir}/man7/gitdiffcore.7*
682 %{_mandir}/man7/giteveryday.7*
683 %{_mandir}/man7/gitglossary.7*
684 %{_mandir}/man7/gitnamespaces.7*
685 %{_mandir}/man7/gitrevisions.7*
686 %{_mandir}/man7/gittutorial-2.7*
687 %{_mandir}/man7/gittutorial.7*
688 %{_mandir}/man7/gitworkflows.7*
689 %endif
690
691 %dir %{gitcoredir}
692 %attr(755,root,root) %{gitcoredir}/*-*
693 %attr(755,root,root) %{gitcoredir}/git
694 %dir %{gitcoredir}/mergetools
695 %{gitcoredir}/mergetools/*
696
697 %{_datadir}/%{name}
698 %{_localstatedir}/lib/git
699
700 # subpackages
701 %exclude %{gitcoredir}/*email*
702 %exclude %{gitcoredir}/*p4*
703 %exclude %{gitcoredir}/git-archimport
704 %exclude %{gitcoredir}/git-cvs*
705 %exclude %{gitcoredir}/git-gui
706 %exclude %{gitcoredir}/git-imap-send
707 %exclude %{gitcoredir}/git-instaweb
708 %exclude %{gitcoredir}/git-remote-bzr
709 %exclude %{gitcoredir}/git-remote-hg
710 %exclude %{gitcoredir}/git-remote-testsvn
711 %exclude %{gitcoredir}/git-svn
712 %exclude %{gitcoredir}/mergetools/p4merge
713 %if %{with gnome_keyring}
714 %exclude %{gitcoredir}/git-credential-gnome-keyring
715 %endif
716
717 %if %{with doc}
718 %files doc
719 %defattr(644,root,root,755)
720 %doc Documentation/RelNotes*
721 %doc Documentation/*.html Documentation/howto Documentation/technical
722 %endif
723
724 %files daemon-inetd
725 %defattr(644,root,root,755)
726 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/git-daemon
727
728 %files daemon-standalone
729 %defattr(644,root,root,755)
730 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/git-daemon
731 %attr(754,root, root) /etc/rc.d/init.d/git-daemon
732
733 %files devel
734 %defattr(644,root,root,755)
735 %{_includedir}/%{name}
736 %{_libdir}/libgit.a
737 %{_libdir}/libgit_xdiff.a
738
739 %if %{with tk}
740 %files gitk
741 %defattr(644,root,root,755)
742 %if %{with doc}
743 %{_mandir}/man1/gitk.1*
744 %endif
745 %attr(755,root,root) %{_bindir}/gitk
746 %dir %{_datadir}/gitk
747 %dir %{_datadir}/gitk/lib
748 %dir %{_datadir}/gitk/lib/msgs
749 %lang(bg) %{_datadir}/gitk/lib/msgs/bg.msg
750 %lang(ca) %{_datadir}/gitk/lib/msgs/ca.msg
751 %lang(de) %{_datadir}/gitk/lib/msgs/de.msg
752 %lang(es) %{_datadir}/gitk/lib/msgs/es.msg
753 %lang(fr) %{_datadir}/gitk/lib/msgs/fr.msg
754 %lang(hu) %{_datadir}/gitk/lib/msgs/hu.msg
755 %lang(it) %{_datadir}/gitk/lib/msgs/it.msg
756 %lang(ja) %{_datadir}/gitk/lib/msgs/ja.msg
757 %lang(pt_BR) %{_datadir}/gitk/lib/msgs/pt_br.msg
758 %lang(pt_PT) %{_datadir}/gitk/lib/msgs/pt_pt.msg
759 %lang(ru) %{_datadir}/gitk/lib/msgs/ru.msg
760 %lang(sv) %{_datadir}/gitk/lib/msgs/sv.msg
761 %lang(vi) %{_datadir}/gitk/lib/msgs/vi.msg
762 %endif
763
764 %files gitweb
765 %defattr(644,root,root,755)
766 %doc gitweb/{README,INSTALL}
767 %dir %{webappdir}
768 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/apache.conf
769 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/httpd.conf
770 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/lighttpd.conf
771 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitweb.conf
772 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitolite.pl
773 %attr(755,root,root) %{cgibindir}/gitweb.cgi
774 %{appdir}
775 %attr(755,root,root) %{gitcoredir}/git-instaweb
776 %if %{with doc}
777 %{_mandir}/man1/gitweb.1*
778 %{_mandir}/man5/gitweb.conf.5*
779 %endif
780
781 %if %{with tk}
782 %files gui
783 %defattr(644,root,root,755)
784 %attr(755,root,root) %{gitcoredir}/git-gui
785 %dir %{_datadir}/git-gui
786 %dir %{_datadir}/git-gui/lib
787 %dir %{_datadir}/git-gui/lib/msgs
788 %{_datadir}/git-gui/lib/git-gui.ico
789 %{_datadir}/git-gui/lib/tclIndex
790 %{_datadir}/git-gui/lib/*.js
791 %{_datadir}/git-gui/lib/*.tcl
792 %lang(bg) %{_datadir}/git-gui/lib/msgs/bg.msg
793 %lang(de) %{_datadir}/git-gui/lib/msgs/de.msg
794 %lang(el) %{_datadir}/git-gui/lib/msgs/el.msg
795 %lang(fr) %{_datadir}/git-gui/lib/msgs/fr.msg
796 %lang(hu) %{_datadir}/git-gui/lib/msgs/hu.msg
797 %lang(it) %{_datadir}/git-gui/lib/msgs/it.msg
798 %lang(ja) %{_datadir}/git-gui/lib/msgs/ja.msg
799 %lang(nb) %{_datadir}/git-gui/lib/msgs/nb.msg
800 %lang(pt) %{_datadir}/git-gui/lib/msgs/pt_pt.msg
801 %lang(pt_BR) %{_datadir}/git-gui/lib/msgs/pt_br.msg
802 %lang(ru) %{_datadir}/git-gui/lib/msgs/ru.msg
803 %lang(sv) %{_datadir}/git-gui/lib/msgs/sv.msg
804 %lang(vi) %{_datadir}/git-gui/lib/msgs/vi.msg
805 %lang(zh_CN) %{_datadir}/git-gui/lib/msgs/zh_cn.msg
806 %endif
807
808 %files arch
809 %defattr(644,root,root,755)
810 %attr(755,root,root) %{gitcoredir}/git-archimport
811 %if %{with doc}
812 %{_mandir}/man1/git-archimport.1*
813 %endif
814
815 %files bzr
816 %defattr(644,root,root,755)
817 %attr(755,root,root) %{gitcoredir}/git-remote-bzr
818
819 %files cvs
820 %defattr(644,root,root,755)
821 %attr(755,root,root) %{_bindir}/git-cvsserver
822 %attr(755,root,root) %{gitcoredir}/git-cvs*
823 %if %{with doc}
824 %{_mandir}/man1/git-cvs*.1*
825 %{_mandir}/man7/gitcvs-migration.7*
826 %endif
827
828 %files hg
829 %defattr(644,root,root,755)
830 %attr(755,root,root) %{gitcoredir}/git-remote-hg
831
832 %files p4
833 %defattr(644,root,root,755)
834 %attr(755,root,root) %{gitcoredir}/git-p4
835 %attr(755,root,root) %{gitcoredir}/mergetools/p4merge
836
837 %files svn
838 %defattr(644,root,root,755)
839 %attr(755,root,root) %{gitcoredir}/git-svn
840 %attr(755,root,root) %{gitcoredir}/git-remote-testsvn
841 %{perl_vendorlib}/Git/SVN
842 %{perl_vendorlib}/Git/SVN.pm
843 %if %{with doc}
844 %{_mandir}/man1/git-svn.1*
845 %endif
846 %{_mandir}/man3/Git::SVN::Editor.3pm*
847 %{_mandir}/man3/Git::SVN::Fetcher.3pm*
848 %{_mandir}/man3/Git::SVN::Memoize::YAML.3pm*
849 %{_mandir}/man3/Git::SVN::Prompt.3pm*
850 %{_mandir}/man3/Git::SVN::Ra.3pm*
851 %{_mandir}/man3/Git::SVN::Utils.3pm*
852
853 %files email
854 %defattr(644,root,root,755)
855 %attr(755,root,root) %{gitcoredir}/git-imap-send
856 %attr(755,root,root) %{gitcoredir}/*email*
857 %if %{with doc}
858 %{_mandir}/man1/*email*.1*
859 %{_mandir}/man1/*imap-send*.1*
860 %endif
861
862 %files -n bash-completion-git
863 %defattr(644,root,root,755)
864 %{bash_compdir}/git
865
866 %files -n perl-Git
867 %defattr(644,root,root,755)
868 %{perl_vendorlib}/Git.pm
869 %dir %{perl_vendorlib}/Git
870 %{perl_vendorlib}/Git/I18N.pm
871 %{perl_vendorlib}/Git/IndexInfo.pm
872 %{_mandir}/man3/Git.3pm*
873 %{_mandir}/man3/Git::I18N.3pm*
874
875 %if %{with gnome_keyring}
876 %files -n gnome-keyring-git-core
877 %defattr(644,root,root,755)
878 %attr(755,root,root) %{gitcoredir}/git-credential-gnome-keyring
879 %endif
This page took 0.106953 seconds and 4 git commands to generate.