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