]> git.pld-linux.org Git - packages/git-core.git/blob - git-core.spec
perl-Git: force upgrade if main package updated
[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.2
18 Release:        2
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:  13a715b3f0b2088839079eed2f8902ad
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 Conflicts:      %{name} < %{version}
393 %if "%{_rpmversion}" >= "5"
394 BuildArch:      noarch
395 %endif
396
397 %description -n perl-Git
398 This module provides Perl scripts easy way to interface the Git
399 version control system. The modules have an easy and well-tested way
400 to call arbitrary Git commands; in the future, the interface will also
401 provide specialized methods for doing easily operations which are not
402 totally trivial to do over the generic command interface.
403
404 %description -n perl-Git -l pl.UTF-8
405 Ten moduł umożliwia skryptom Perla współpracę z systemem kontroli
406 wersji Git. W łatwy i dobrze przetestowany sposób pozwala wywoływać
407 dowolne polecenia Gita; w przyszłości interfejs udostępni także
408 specjalne metody do łatwego wykonywania operacji nietrywialnych do
409 wykonania przy użyciu ogólnego interfejsu poleceń.
410
411 %package -n gnome-keyring-git-core
412 Summary:        GNOME Keyring authentication provider for Git
413 Summary(pl.UTF-8):      Moduł uwierzytelniający GNOME Keyring dla Git
414 Group:          X11/Applications
415 URL:            http://git-scm.com/docs/gitcredentials.html
416 Requires:       %{name} = %{version}-%{release}
417
418 %description -n gnome-keyring-git-core
419 Authentication provider module for Git which allows git client to
420 authenticate using GNOME Keyring.
421
422 You need to register it with:
423 - git config --global credential.helper gnome-keyring
424
425 %description -n gnome-keyring-git-core -l pl.UTF-8
426 Moduł uwierzytelniający dla Subversion pozwalający klientom git
427 uwierzytelniać się przy użyciu mechanizmu GNOME Keyring.
428
429 Moduł trzeba zarejestrować poleceniem:
430 - git config --global credential.helper gnome-keyring
431
432 %prep
433 %setup -q -n git-%{version}
434 %patch0 -p0
435 %patch1 -p1
436 %patch2 -p1
437
438 %{__rm} {Documentation/technical,contrib/emacs,contrib/credential/gnome-keyring}/.gitignore
439
440 # we build things in contrib but want to have it clean for doc purporses, too
441 cp -a contrib contrib-doc
442
443 %build
444 %{__aclocal}
445 %{__autoconf}
446 %configure \
447         --sysconfdir=%{_sysconfdir}/git-core \
448         %{?with_pcre:--with-libpcre2} \
449         --with-openssl
450
451 echo "BLK_SHA1=1" >> config.mak
452
453 %{__make} \
454         INSTALLDIRS=vendor \
455         GITWEB_CONFIG="%{webappdir}/gitweb.conf" \
456         GITWEB_PROJECTROOT="/var/lib/git" \
457         GITWEB_CSS="/gitweb/gitweb.css" \
458         GITWEB_LOGO="/gitweb/git-logo.png" \
459         GITWEB_FAVICON="/gitweb/git-favicon.png" \
460         V=1
461
462 %{__make} -C contrib/subtree
463
464 %if %{with gnome_keyring}
465 %{__make} -C contrib/credential/gnome-keyring
466 %endif
467
468 %if %{with doc}
469 %{__make} -C Documentation \
470         MAN_BASE_URL=file://%{_docdir}/%{name}-doc-%{version}/ \
471         V=1
472 %endif
473
474 %if %{with tests}
475 %if %{without tests_cvs}
476 %{__rm} t/t*cvs*.sh || :
477 %endif
478 %{!?with_tests_svn:GIT_SKIP_TESTS='t91??'} %{__make} test
479 %endif
480
481 %install
482 rm -rf $RPM_BUILD_ROOT
483 install -d $RPM_BUILD_ROOT{%{_includedir}/%{name}/xdiff,%{_localstatedir}/lib/git}
484 install -d $RPM_BUILD_ROOT{%{appdir},%{cgibindir},%{webappdir}}
485 install -d $RPM_BUILD_ROOT/etc/{sysconfig/rc-inetd,rc.d/init.d}
486 install -d $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
487 cat << EOF > $RPM_BUILD_ROOT%{_sysconfdir}/git-core/gitconfig
488 [init]
489         templatedir = %{_sysconfdir}/%{name}/templates
490 EOF
491
492 %{__make} install \
493         INSTALLDIRS=vendor \
494         DESTDIR=$RPM_BUILD_ROOT
495
496 %if %{with doc}
497 %{__make} -C Documentation install \
498         DESTDIR=$RPM_BUILD_ROOT
499 %endif
500
501 # copy templates except sample hooks
502 cp -a $RPM_BUILD_ROOT%{_datadir}/%{name}/templates $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
503 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/templates/hooks/*.sample
504
505 # header files and lib
506 cp -p *.h $RPM_BUILD_ROOT%{_includedir}/%{name}
507 cp -a compat $RPM_BUILD_ROOT%{_includedir}/%{name}
508 cp -p xdiff/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/xdiff
509 install -d $RPM_BUILD_ROOT%{_includedir}/%{name}/block-sha1
510 cp -p block-sha1/sha1.h $RPM_BUILD_ROOT%{_includedir}/%{name}/block-sha1
511 cp -p libgit.a $RPM_BUILD_ROOT%{_libdir}
512 cp -p xdiff/lib.a $RPM_BUILD_ROOT%{_libdir}/libgit_xdiff.a
513 cp -p {Makefile,config.mak,config.mak.autogen,config.mak.uname} $RPM_BUILD_ROOT%{_includedir}/%{name}
514
515 %{__make} -C contrib/subtree install \
516         libexecdir=%{gitcoredir} \
517         DESTDIR=$RPM_BUILD_ROOT
518
519 %if %{with doc}
520 %{__make} -C contrib/subtree install-man \
521         DESTDIR=$RPM_BUILD_ROOT
522 %endif
523
524 %if %{with gnome_keyring}
525 install -p contrib/credential/gnome-keyring/git-credential-gnome-keyring $RPM_BUILD_ROOT%{gitcoredir}
526 %endif
527
528 # bash completion
529 install -d $RPM_BUILD_ROOT%{bash_compdir}
530 cp -p contrib/completion/git-completion.bash $RPM_BUILD_ROOT%{bash_compdir}/git
531
532 # Install git-prompt.sh
533 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/completion
534 cp -p contrib/completion/git-prompt.sh $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/completion
535
536 # Install bzr and hg remote helpers from contrib
537 install -p contrib/remote-helpers/git-remote-{bzr,hg} $RPM_BUILD_ROOT%{gitcoredir}
538
539 # gitweb
540 mv $RPM_BUILD_ROOT{%{appdir},%{cgibindir}}/gitweb.cgi
541 ln -s %{cgibindir}/gitweb.cgi $RPM_BUILD_ROOT%{appdir}/gitweb.cgi
542 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{webappdir}/gitweb.conf
543 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{webappdir}/gitolite.pl
544 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/apache.conf
545 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/httpd.conf
546 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{webappdir}/lighttpd.conf
547
548 # git-daemon related files
549 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/git-daemon
550 cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
551 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
552
553 # paths cleanup
554 sed -e 's,@libdir@/git-core,%{gitcoredir},g' -i $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
555 sed -e 's,@libdir@/git-core,%{gitcoredir},g' -i $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
556
557 # same file, link
558 ln -sf git $RPM_BUILD_ROOT%{_bindir}/git-receive-pack
559 ln -sf git $RPM_BUILD_ROOT%{_bindir}/git-upload-archive
560 ln -sf ../..%{gitcoredir}/git-shell $RPM_BUILD_ROOT%{_bindir}/git-shell
561 ln -sf ../..%{gitcoredir}/git-upload-pack $RPM_BUILD_ROOT%{_bindir}/git-upload-pack
562 ln -sf ../..%{gitcoredir}/git $RPM_BUILD_ROOT%{_bindir}/git
563
564 # convert all hardlinks to symlinks, as rpm fails to calculate it properly
565 # requiring excessive free space when it may not be available
566 # https://bugs.launchpad.net/pld-linux/+bug/1176337
567 find $RPM_BUILD_ROOT%{gitcoredir} -samefile $RPM_BUILD_ROOT%{gitcoredir}/git > files
568 for f in $(cat files); do
569         f=${f#$RPM_BUILD_ROOT%{gitcoredir}/}
570         test $f = git && continue
571         ln -snf git $RPM_BUILD_ROOT%{gitcoredir}/$f
572 done
573
574 # few others
575 ln -snf git-gui $RPM_BUILD_ROOT%{gitcoredir}/git-citool
576 ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-https
577 ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-ftp
578 ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-ftps
579
580 # remove unneeded files
581 %{__rm} $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
582 %{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/auto/Git/.packlist
583 %py_postclean
584
585 mv $RPM_BUILD_ROOT%{_localedir}/pt{_PT,}
586 %find_lang git
587
588 %clean
589 rm -rf $RPM_BUILD_ROOT
590
591 %post daemon-inetd
592 %service -q rc-inetd reload
593
594 %postun daemon-inetd
595 if [ "$1" = "0" ]; then
596         %service -q rc-inetd reload
597 fi
598
599 %post daemon-standalone
600 /sbin/chkconfig --add git-daemon
601 %service git-daemon restart "git-daemon"
602
603 %preun daemon-standalone
604 if [ "$1" = "0" ]; then
605         %service git-daemon stop
606         /sbin/chkconfig --del git-daemon
607 fi
608
609 %triggerin gitweb -- apache1 < 1.3.37-3, apache1-base
610 %webapp_register apache %{webapp}
611
612 %triggerun gitweb -- apache1 < 1.3.37-3, apache1-base
613 %webapp_unregister apache %{webapp}
614
615 %triggerin gitweb -- apache < 2.2.0, apache-base
616 %webapp_register httpd %{webapp}
617
618 %triggerun gitweb -- apache < 2.2.0, apache-base
619 %webapp_unregister httpd %{webapp}
620
621 %triggerin gitweb -- lighttpd
622 %webapp_register lighttpd %{webapp}
623
624 %triggerun gitweb -- lighttpd
625 %webapp_unregister lighttpd %{webapp}
626
627 %files -f git.lang
628 %defattr(644,root,root,755)
629 %doc README.md contrib-doc
630 %attr(755,root,root) %{_bindir}/git
631 %attr(755,root,root) %{_bindir}/git-receive-pack
632 %attr(755,root,root) %{_bindir}/git-shell
633 %attr(755,root,root) %{_bindir}/git-upload-archive
634 %attr(755,root,root) %{_bindir}/git-upload-pack
635 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}
636
637 %if %{with doc}
638 %{_mandir}/man1/git-*.1*
639 %exclude %{_mandir}/man1/git-archimport.1*
640 %exclude %{_mandir}/man1/git-svn.1*
641 %exclude %{_mandir}/man1/git-cvs*.1*
642 %exclude %{_mandir}/man1/git-imap-send*.1*
643 %exclude %{_mandir}/man1/*email*.1*
644 %{_mandir}/man1/git.1*
645 %{_mandir}/man1/gitremote-helpers.1*
646 %{_mandir}/man5/gitattributes.5*
647 %{_mandir}/man5/githooks.5*
648 %{_mandir}/man5/gitignore.5*
649 %{_mandir}/man5/gitmodules.5*
650 %{_mandir}/man5/gitrepository-layout.5*
651 %{_mandir}/man7/gitcli.7*
652 %{_mandir}/man7/gitcore-tutorial.7*
653 %{_mandir}/man7/gitcredentials.7*
654 %{_mandir}/man7/gitdiffcore.7*
655 %{_mandir}/man7/giteveryday.7*
656 %{_mandir}/man7/gitglossary.7*
657 %{_mandir}/man7/gitnamespaces.7*
658 %{_mandir}/man7/gitrevisions.7*
659 %{_mandir}/man7/gitsubmodules.7*
660 %{_mandir}/man7/gittutorial-2.7*
661 %{_mandir}/man7/gittutorial.7*
662 %{_mandir}/man7/gitworkflows.7*
663 %endif
664
665 %dir %{gitcoredir}
666 %attr(755,root,root) %{gitcoredir}/*-*
667 %attr(755,root,root) %{gitcoredir}/git
668 %dir %{gitcoredir}/mergetools
669 %{gitcoredir}/mergetools/*
670
671 %{_datadir}/%{name}
672 %{_localstatedir}/lib/git
673
674 # subpackages
675 %exclude %{gitcoredir}/*email*
676 %exclude %{gitcoredir}/*p4*
677 %exclude %{gitcoredir}/git-archimport
678 %exclude %{gitcoredir}/git-cvs*
679 %exclude %{gitcoredir}/git-gui
680 %exclude %{gitcoredir}/git-imap-send
681 %exclude %{gitcoredir}/git-instaweb
682 %exclude %{gitcoredir}/git-remote-bzr
683 %exclude %{gitcoredir}/git-remote-hg
684 %exclude %{gitcoredir}/git-remote-testsvn
685 %exclude %{gitcoredir}/git-svn
686 %exclude %{gitcoredir}/mergetools/p4merge
687 %if %{with gnome_keyring}
688 %exclude %{gitcoredir}/git-credential-gnome-keyring
689 %endif
690
691 %if %{with doc}
692 %files doc
693 %defattr(644,root,root,755)
694 %doc Documentation/RelNotes*
695 %doc Documentation/*.html Documentation/howto Documentation/technical
696 %endif
697
698 %files daemon-inetd
699 %defattr(644,root,root,755)
700 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/git-daemon
701
702 %files daemon-standalone
703 %defattr(644,root,root,755)
704 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/git-daemon
705 %attr(754,root, root) /etc/rc.d/init.d/git-daemon
706
707 %files devel
708 %defattr(644,root,root,755)
709 %{_includedir}/%{name}
710 %{_libdir}/libgit.a
711 %{_libdir}/libgit_xdiff.a
712
713 %if %{with tk}
714 %files gitk
715 %defattr(644,root,root,755)
716 %if %{with doc}
717 %{_mandir}/man1/gitk.1*
718 %endif
719 %attr(755,root,root) %{_bindir}/gitk
720 %dir %{_datadir}/gitk
721 %dir %{_datadir}/gitk/lib
722 %dir %{_datadir}/gitk/lib/msgs
723 %lang(bg) %{_datadir}/gitk/lib/msgs/bg.msg
724 %lang(ca) %{_datadir}/gitk/lib/msgs/ca.msg
725 %lang(de) %{_datadir}/gitk/lib/msgs/de.msg
726 %lang(es) %{_datadir}/gitk/lib/msgs/es.msg
727 %lang(fr) %{_datadir}/gitk/lib/msgs/fr.msg
728 %lang(hu) %{_datadir}/gitk/lib/msgs/hu.msg
729 %lang(it) %{_datadir}/gitk/lib/msgs/it.msg
730 %lang(ja) %{_datadir}/gitk/lib/msgs/ja.msg
731 %lang(pt_BR) %{_datadir}/gitk/lib/msgs/pt_br.msg
732 %lang(pt_PT) %{_datadir}/gitk/lib/msgs/pt_pt.msg
733 %lang(ru) %{_datadir}/gitk/lib/msgs/ru.msg
734 %lang(sv) %{_datadir}/gitk/lib/msgs/sv.msg
735 %lang(vi) %{_datadir}/gitk/lib/msgs/vi.msg
736 %endif
737
738 %files gitweb
739 %defattr(644,root,root,755)
740 %doc gitweb/{README,INSTALL}
741 %dir %{webappdir}
742 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/apache.conf
743 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/httpd.conf
744 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/lighttpd.conf
745 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitweb.conf
746 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitolite.pl
747 %attr(755,root,root) %{cgibindir}/gitweb.cgi
748 %{appdir}
749 %attr(755,root,root) %{gitcoredir}/git-instaweb
750 %if %{with doc}
751 %{_mandir}/man1/gitweb.1*
752 %{_mandir}/man5/gitweb.conf.5*
753 %endif
754
755 %if %{with tk}
756 %files gui
757 %defattr(644,root,root,755)
758 %attr(755,root,root) %{gitcoredir}/git-gui
759 %dir %{_datadir}/git-gui
760 %dir %{_datadir}/git-gui/lib
761 %dir %{_datadir}/git-gui/lib/msgs
762 %{_datadir}/git-gui/lib/git-gui.ico
763 %{_datadir}/git-gui/lib/tclIndex
764 %{_datadir}/git-gui/lib/*.js
765 %{_datadir}/git-gui/lib/*.tcl
766 %lang(bg) %{_datadir}/git-gui/lib/msgs/bg.msg
767 %lang(de) %{_datadir}/git-gui/lib/msgs/de.msg
768 %lang(el) %{_datadir}/git-gui/lib/msgs/el.msg
769 %lang(fr) %{_datadir}/git-gui/lib/msgs/fr.msg
770 %lang(hu) %{_datadir}/git-gui/lib/msgs/hu.msg
771 %lang(it) %{_datadir}/git-gui/lib/msgs/it.msg
772 %lang(ja) %{_datadir}/git-gui/lib/msgs/ja.msg
773 %lang(nb) %{_datadir}/git-gui/lib/msgs/nb.msg
774 %lang(pt) %{_datadir}/git-gui/lib/msgs/pt_pt.msg
775 %lang(pt_BR) %{_datadir}/git-gui/lib/msgs/pt_br.msg
776 %lang(ru) %{_datadir}/git-gui/lib/msgs/ru.msg
777 %lang(sv) %{_datadir}/git-gui/lib/msgs/sv.msg
778 %lang(vi) %{_datadir}/git-gui/lib/msgs/vi.msg
779 %lang(zh_CN) %{_datadir}/git-gui/lib/msgs/zh_cn.msg
780 %endif
781
782 %files arch
783 %defattr(644,root,root,755)
784 %attr(755,root,root) %{gitcoredir}/git-archimport
785 %if %{with doc}
786 %{_mandir}/man1/git-archimport.1*
787 %endif
788
789 %files bzr
790 %defattr(644,root,root,755)
791 %attr(755,root,root) %{gitcoredir}/git-remote-bzr
792
793 %files cvs
794 %defattr(644,root,root,755)
795 %attr(755,root,root) %{_bindir}/git-cvsserver
796 %attr(755,root,root) %{gitcoredir}/git-cvs*
797 %if %{with doc}
798 %{_mandir}/man1/git-cvs*.1*
799 %{_mandir}/man7/gitcvs-migration.7*
800 %endif
801
802 %files hg
803 %defattr(644,root,root,755)
804 %attr(755,root,root) %{gitcoredir}/git-remote-hg
805
806 %files p4
807 %defattr(644,root,root,755)
808 %attr(755,root,root) %{gitcoredir}/git-p4
809 %attr(755,root,root) %{gitcoredir}/mergetools/p4merge
810
811 %files svn
812 %defattr(644,root,root,755)
813 %attr(755,root,root) %{gitcoredir}/git-svn
814 %attr(755,root,root) %{gitcoredir}/git-remote-testsvn
815 %{perl_vendorlib}/Git/SVN
816 %{perl_vendorlib}/Git/SVN.pm
817 %if %{with doc}
818 %{_mandir}/man1/git-svn.1*
819 %endif
820 %{_mandir}/man3/Git::SVN::Editor.3pm*
821 %{_mandir}/man3/Git::SVN::Fetcher.3pm*
822 %{_mandir}/man3/Git::SVN::Memoize::YAML.3pm*
823 %{_mandir}/man3/Git::SVN::Prompt.3pm*
824 %{_mandir}/man3/Git::SVN::Ra.3pm*
825 %{_mandir}/man3/Git::SVN::Utils.3pm*
826
827 %files email
828 %defattr(644,root,root,755)
829 %attr(755,root,root) %{gitcoredir}/git-imap-send
830 %attr(755,root,root) %{gitcoredir}/*email*
831 %if %{with doc}
832 %{_mandir}/man1/*email*.1*
833 %{_mandir}/man1/*imap-send*.1*
834 %endif
835
836 %files -n bash-completion-git
837 %defattr(644,root,root,755)
838 %{bash_compdir}/git
839
840 %files -n perl-Git
841 %defattr(644,root,root,755)
842 %{perl_vendorlib}/Git.pm
843 %dir %{perl_vendorlib}/Git
844 %{perl_vendorlib}/Git/I18N.pm
845 %{perl_vendorlib}/Git/IndexInfo.pm
846 %{perl_vendorlib}/Git/Packet.pm
847 %{_mandir}/man3/Git.3pm*
848 %{_mandir}/man3/Git::I18N.3pm*
849
850 %if %{with gnome_keyring}
851 %files -n gnome-keyring-git-core
852 %defattr(644,root,root,755)
853 %attr(755,root,root) %{gitcoredir}/git-credential-gnome-keyring
854 %endif
This page took 0.145911 seconds and 3 git commands to generate.