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